.public-theme-toggle {
    align-items: center;
    background: var(--surface, #ffffff);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 10px;
    color: var(--text, #0f172a);
    cursor: pointer;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
    width: 36px;
}

.public-theme-toggle:hover {
    background: var(--blue-dim, rgba(37, 99, 235, .08));
    border-color: var(--border-h, rgba(79, 130, 210, .38));
    color: var(--blue, #2563eb);
}

.public-theme-toggle svg {
    height: 17px;
    width: 17px;
}

.nav-link,
.lang-btn,
.public-theme-toggle {
    box-sizing: border-box;
    min-height: 36px;
}

.lang-btn,
.public-theme-toggle {
    height: 36px;
}

.public-theme-toggle .theme-icon-moon {
    display: none;
}

[data-bs-theme="dark"] .public-theme-toggle .theme-icon-sun {
    display: none;
}

[data-bs-theme="dark"] .public-theme-toggle .theme-icon-moon {
    display: block;
}

.public-theme-toggle-floating {
    position: fixed;
    right: 18px;
    top: 18px;
    z-index: 1100;
}

[data-bs-theme="dark"] {
    color-scheme: dark;
    --bg: #0f172a;
    --surface: #111827;
    --border: rgba(148, 163, 184, .18);
    --border-h: rgba(147, 197, 253, .38);
    --blue: #93c5fd;
    --cyan: #67e8f9;
    --blue-dim: rgba(96, 165, 250, .14);
    --text: #e2e8f0;
    --muted: #94a3b8;
    --green: #86efac;
    --shadow: 0 2px 14px rgba(0, 0, 0, .24);
    --shadow-lg: 0 10px 36px rgba(0, 0, 0, .34);
}

[data-bs-theme="dark"] body {
    background: #0f172a;
    color: #e2e8f0;
}

[data-bs-theme="dark"] body::after {
    background-image:
        linear-gradient(rgba(148, 163, 184, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, .04) 1px, transparent 1px);
}

[data-bs-theme="dark"] .itc-nav {
    background: rgba(15, 23, 42, .86);
    border-bottom-color: rgba(148, 163, 184, .16);
    box-shadow: 0 2px 20px rgba(0, 0, 0, .22);
}

[data-bs-theme="dark"] .nav-brand img {
    content: url("/images/logos/dark-mode.svg");
}

[data-bs-theme="dark"] .nav-link,
[data-bs-theme="dark"] .lang-btn,
[data-bs-theme="dark"] .lang-item {
    color: #cbd5e1;
}

[data-bs-theme="dark"] .nav-link:hover,
[data-bs-theme="dark"] .nav-link.active,
[data-bs-theme="dark"] .lang-btn:hover,
[data-bs-theme="dark"] .lang-item:hover {
    background: rgba(96, 165, 250, .14);
    color: #bfdbfe;
}

[data-bs-theme="dark"] .lang-menu {
    background: #111827;
    border-color: rgba(148, 163, 184, .18);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .32);
}

[data-bs-theme="dark"] .hero h1,
[data-bs-theme="dark"] .guest-home h1,
[data-bs-theme="dark"] .hs-num,
[data-bs-theme="dark"] .card-title,
[data-bs-theme="dark"] .mon-card h3,
[data-bs-theme="dark"] .team-card strong,
[data-bs-theme="dark"] .guest-audience-card strong {
    color: #f8fafc;
}

[data-bs-theme="dark"] .hero p,
[data-bs-theme="dark"] .guest-home p,
[data-bs-theme="dark"] .hs-lbl,
[data-bs-theme="dark"] .card-desc,
[data-bs-theme="dark"] .guest-audience-card p {
    color: #94a3b8;
}

[data-bs-theme="dark"] .hero-stats,
[data-bs-theme="dark"] .qa-btn,
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .mon-card,
[data-bs-theme="dark"] .tl-body,
[data-bs-theme="dark"] .team-card,
[data-bs-theme="dark"] .log-wrap,
[data-bs-theme="dark"] .guest-panel,
[data-bs-theme="dark"] .guest-mini-feature,
[data-bs-theme="dark"] .guest-audience-card,
[data-bs-theme="dark"] .guest-flow-step,
[data-bs-theme="dark"] .guest-dashboard-mockup,
[data-bs-theme="dark"] .guest-login-card,
[data-bs-theme="dark"] .guest-trust-bar span,
[data-bs-theme="dark"] .guest-secure-note {
    background: #111827;
    border-color: rgba(148, 163, 184, .18);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .24);
}

[data-bs-theme="dark"] .cs-item,
[data-bs-theme="dark"] .guest-flow-step {
    background: #0f172a;
}

[data-bs-theme="dark"] .c-prog,
[data-bs-theme="dark"] .mon-bar,
[data-bs-theme="dark"] .tl-prog,
[data-bs-theme="dark"] .guest-mockup-progress div {
    background: rgba(148, 163, 184, .16);
}

[data-bs-theme="dark"] .sh h2,
[data-bs-theme="dark"] .c-title,
[data-bs-theme="dark"] .sparkline-lbl strong,
[data-bs-theme="dark"] .cs-val,
[data-bs-theme="dark"] .mon-val,
[data-bs-theme="dark"] .tl-title,
[data-bs-theme="dark"] .team-name,
[data-bs-theme="dark"] .ts-v,
[data-bs-theme="dark"] .guest-panel-title,
[data-bs-theme="dark"] .guest-mini-feature strong,
[data-bs-theme="dark"] .guest-flow-step strong,
[data-bs-theme="dark"] .guest-section-head h2,
[data-bs-theme="dark"] .guest-mockup-head strong,
[data-bs-theme="dark"] .guest-mockup-progress small,
[data-bs-theme="dark"] .guest-footer strong,
[data-bs-theme="dark"] .guest-secure-note strong,
[data-bs-theme="dark"] .guest-feature strong {
    color: #f8fafc;
}

[data-bs-theme="dark"] .c-desc,
[data-bs-theme="dark"] .sparkline-lbl span,
[data-bs-theme="dark"] .cs-key,
[data-bs-theme="dark"] .cm-item,
[data-bs-theme="dark"] .mon-lbl,
[data-bs-theme="dark"] .mon-val small,
[data-bs-theme="dark"] .tl-time,
[data-bs-theme="dark"] .tl-desc,
[data-bs-theme="dark"] .team-role,
[data-bs-theme="dark"] .ts-k,
[data-bs-theme="dark"] .log-time,
[data-bs-theme="dark"] .guest-panel-text,
[data-bs-theme="dark"] .guest-mini-feature p,
[data-bs-theme="dark"] .guest-flow-step p,
[data-bs-theme="dark"] .guest-mockup-head p,
[data-bs-theme="dark"] .guest-mockup-list div,
[data-bs-theme="dark"] .guest-footer,
[data-bs-theme="dark"] .guest-secure-note span,
[data-bs-theme="dark"] .guest-feature span {
    color: #94a3b8;
}

[data-bs-theme="dark"] .guest-trust-bar span {
    color: #cbd5e1;
}

[data-bs-theme="dark"] .log-item,
[data-bs-theme="dark"] .guest-feature,
[data-bs-theme="dark"] .guest-footer {
    border-color: rgba(148, 163, 184, .16);
}

[data-bs-theme="dark"] .guest-mockup-top span {
    background: #475569;
}

[data-bs-theme="dark"] .guest-kicker {
    background: rgba(96, 165, 250, .14);
    border-color: rgba(96, 165, 250, .28);
    color: #bfdbfe;
}

[data-bs-theme="dark"] .guest-btn:not(.primary) {
    background: #111827;
    border-color: rgba(148, 163, 184, .24);
    color: #bfdbfe;
}

[data-bs-theme="dark"] .guest-btn:not(.primary):hover {
    background: rgba(96, 165, 250, .14);
    border-color: rgba(96, 165, 250, .38);
    color: #dbeafe;
}

[data-bs-theme="dark"] .auth-page {
    background: #0f172a;
    color: #e2e8f0;
}

[data-bs-theme="dark"] .auth-shell,
[data-bs-theme="dark"] .auth-card {
    background: #111827;
    border-color: rgba(148, 163, 184, .18);
}

[data-bs-theme="dark"] .auth-info {
    background: #0b1220;
}

[data-bs-theme="dark"] .auth-info h1,
[data-bs-theme="dark"] .auth-card h2,
[data-bs-theme="dark"] .auth-card .form-label,
[data-bs-theme="dark"] .auth-card .form-check-label {
    color: #f8fafc;
}

[data-bs-theme="dark"] .auth-info p,
[data-bs-theme="dark"] .auth-card .auth-sub {
    color: #94a3b8;
}

[data-bs-theme="dark"] .auth-card .form-control {
    background: #0f172a;
    border-color: rgba(148, 163, 184, .24);
    color: #e2e8f0;
}

[data-bs-theme="dark"] .auth-card .form-control::placeholder {
    color: #64748b;
}
