/* Chavkhane V7.4 — unified auth/dashboard language + dark theme */

/* ---------- Theme toggle ---------- */
.theme-toggle{width:58px;height:44px;min-width:58px;border:0;background:transparent;padding:7px 3px;display:inline-grid;place-items:center;border-radius:12px;color:var(--color-text);position:relative;z-index:25}
.theme-toggle-track{width:52px;height:28px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-2);display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;box-shadow:inset 0 1px 2px rgba(31,39,39,.05);transition:background-color .24s var(--ease),border-color .24s var(--ease),box-shadow .24s var(--ease)}
.theme-icon{display:grid;place-items:center;z-index:2;transition:color .22s var(--ease),opacity .22s var(--ease),transform .22s var(--ease)}
.theme-icon .v7-icon{width:14px;height:14px}.theme-toggle-knob{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:var(--color-surface);box-shadow:0 2px 8px rgba(30,36,36,.18);transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .22s var(--ease)}
.theme-toggle[data-theme-state="dark"] .theme-toggle-knob{transform:translateX(-24px)}
.theme-toggle[data-theme-state="light"] .theme-sun{color:#d17300}.theme-toggle[data-theme-state="light"] .theme-moon{opacity:.45}
.theme-toggle[data-theme-state="dark"] .theme-sun{opacity:.45}.theme-toggle[data-theme-state="dark"] .theme-moon{color:#dfe8ff}
.theme-toggle:hover .theme-toggle-track{border-color:var(--color-border-strong);box-shadow:0 4px 16px rgba(30,36,36,.08)}
.theme-toggle:focus-visible{outline:3px solid rgba(244,87,93,.22);outline-offset:1px}
.theme-toggle-floating{position:fixed;top:18px;left:18px;z-index:3000;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-1)}
html.theme-transition body,html.theme-transition .site-header,html.theme-transition .admin-topbar,html.theme-transition .panel,html.theme-transition .section-card,html.theme-transition .detail-card,html.theme-transition .login-card,html.theme-transition .user-menu,html.theme-transition .admin-sidebar,html.theme-transition .control,html.theme-transition .filter-control,html.theme-transition .top-search{transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}

/* ---------- Premium shared login ---------- */
.auth-page{overflow-x:hidden;background:var(--color-shell)}
.auth-shell{min-height:100svh;grid-template-columns:minmax(430px,.95fr) minmax(520px,1.05fr);background:var(--color-shell)}
.auth-visual{position:relative;isolation:isolate;overflow:hidden;padding:48px 54px;background:linear-gradient(145deg,#202526 0%,#282e2f 58%,#34282a 100%);color:#fff}
.auth-visual:before,.auth-visual:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(0);pointer-events:none}
.auth-visual:before{width:460px;height:460px;right:-180px;top:-160px;background:radial-gradient(circle,rgba(244,87,93,.36),rgba(244,87,93,0) 68%)}
.auth-visual:after{width:330px;height:330px;left:-140px;bottom:-120px;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.018)}
.auth-brand-row{display:flex;align-items:center;justify-content:space-between;gap:22px}.auth-brand-row img{width:142px}.auth-role-badge{min-height:32px;display:inline-flex;align-items:center;padding:5px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);font-size:11.5px;font-weight:750;color:#fff;backdrop-filter:blur(8px)}
.auth-visual-copy{max-width:620px;margin:auto 0}.auth-eyebrow{color:#ffb0b3}.auth-eyebrow:before{background:currentColor}.auth-visual h1{max-width:610px;font-size:clamp(2.8rem,4.4vw,4.8rem);line-height:1.28;color:#fff;margin-bottom:18px}.auth-visual-copy>p{max-width:560px;color:#d1d7d7!important;font-size:15px;line-height:2;margin-bottom:28px}
.auth-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.auth-feature-grid>div{min-height:116px;padding:15px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:14px;backdrop-filter:blur(8px)}.auth-feature-grid b,.auth-feature-grid span{display:block}.auth-feature-grid b{font-size:13.5px;color:#fff;margin-bottom:5px}.auth-feature-grid span{font-size:11.5px;color:#adb7b7;line-height:1.8}.auth-back{display:inline-flex;align-items:center;gap:7px;color:#bfc6c6;font-size:12.5px;font-weight:700}.auth-back:hover{color:#fff}
.auth-form-zone{position:relative;padding:48px;background:radial-gradient(circle at 85% 10%,rgba(244,87,93,.08),transparent 28%),linear-gradient(160deg,var(--color-bg),var(--color-shell))}
.auth-card{width:min(500px,100%);padding:34px;border-radius:20px;box-shadow:0 18px 55px rgba(31,39,39,.08);position:relative}.auth-card-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--color-primary),#ff777b);color:#fff;font-family:var(--font-display);font-size:24px;font-weight:900;box-shadow:0 10px 24px rgba(244,87,93,.2);margin-bottom:18px}.auth-card h2{font-size:31px;margin-bottom:5px}.auth-lead{font-size:13.5px;margin:0 0 16px}.auth-role-note{min-height:42px;display:flex;align-items:center;padding:9px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2);font-size:12px;color:var(--color-text-2);margin-bottom:2px}.auth-field{gap:7px}.auth-field label{font-size:12.5px;font-weight:800;color:var(--color-text-2)}.auth-card .control{min-height:48px;border-radius:11px;background:var(--color-surface);font-size:14px}.auth-card .control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(244,87,93,.12)}.auth-password{position:relative}.auth-password .control{padding-left:76px}.password-visibility{position:absolute;left:6px;top:6px;min-width:62px;height:36px;border:0;border-radius:8px;background:var(--color-surface-2);color:var(--color-text-2);font-size:11.5px;font-weight:750}.password-visibility:hover{background:var(--color-primary-soft);color:var(--color-primary)}.auth-error{min-height:20px;margin:0;color:var(--color-error);font-size:12px}.auth-submit{width:100%;height:48px;font-size:14px}.auth-help{margin:2px 0 0!important;background:transparent!important;border:1px dashed var(--color-border)!important;color:var(--color-muted)!important;text-align:center;line-height:1.7}

/* ---------- Shared portal/admin visual language ---------- */
.admin-sidebar,.user-menu{background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;box-shadow:var(--shadow-1)!important}
.admin-brand,.customer-brand{border-bottom-color:var(--color-border)!important}.admin-brand img,.customer-brand img{width:122px;filter:none!important}.admin-brand small,.customer-brand small,.nav-section,.customer-nav-section,.admin-user span,.customer-user-card span{color:var(--color-muted)!important}
.admin-nav a,.user-menu>a{min-height:44px;color:var(--color-text-2)!important;border-radius:10px}.admin-nav a:hover,.user-menu>a:hover{background:var(--color-surface-2)!important;color:var(--color-text)!important}.admin-nav a.active,.user-menu>a.active{background:var(--color-primary-soft)!important;color:var(--color-primary)!important}.admin-user,.customer-user-card{border-top-color:var(--color-border)!important}
.admin-topbar,.portal-topbar-v6{background:color-mix(in srgb,var(--color-shell) 88%,transparent)!important;border-color:var(--color-border)!important;backdrop-filter:blur(14px) saturate(140%);box-shadow:none}.portal-topbar-v6{min-height:62px;border-radius:14px}.top-actions,.portal-top-actions{gap:5px}.admin-ui .panel,.admin-ui .detail-card,.admin-ui .invoice-editor,.admin-ui .summary-card,.admin-ui .relation-panel,.admin-ui .security-panel,.portal-ui .section-card,.portal-ui .security-card,.portal-ui .dashboard-welcome{border-radius:14px;background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-1)}
.page-title-actions,.invoice-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.invoice-page-actions .btn{min-height:44px}.invoice-page-actions .print-action{min-width:132px}.invoice-view-title{align-items:center}.existing-invoice-action{border-color:rgba(244,87,93,.28)!important;background:var(--color-primary-soft)!important;color:var(--color-primary)!important}
.request-invoice-card{margin-bottom:16px}.request-invoice-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-border)}.request-invoice-row:last-child{border-bottom:0}.request-invoice-row>div span,.request-invoice-row>div b{display:block}.request-invoice-row>div span{font-size:12px;color:var(--color-muted)}.request-invoice-row>div b{font-size:13.5px}.request-invoice-row>.btn{grid-column:1/-1;justify-self:stretch}.request-invoice-empty{padding:14px!important;background:var(--color-surface-2);border-radius:10px}.request-status-card{margin-top:0!important}

/* ---------- Dark theme variables ---------- */
html[data-theme="dark"]{
 color-scheme:dark;
 --color-bg:#0e1415;--color-shell:#0b1112;--color-surface:#151c1d;--color-surface-2:#1a2223;
 --color-text:#f2f4f4;--color-text-2:#c3caca;--color-muted:#8f9a9a;--color-border:#2a3536;--color-border-strong:#3c4a4b;
 --color-primary-soft:#3b2426;--color-primary-faint:#21191a;--color-secondary-soft:#12302d;
 --color-success:#62c993;--color-success-soft:#153126;--color-warning:#e2a54c;--color-warning-soft:#352a17;--color-error:#ef7c69;--color-error-soft:#39221e;--color-info:#79b6de;--color-info-soft:#172c3b;
 --shadow-1:0 1px 2px rgba(0,0,0,.22),0 8px 24px rgba(0,0,0,.16);--shadow-2:0 10px 30px rgba(0,0,0,.26);--shadow-3:0 18px 54px rgba(0,0,0,.42)
}
html[data-theme="dark"],html[data-theme="dark"] body{background:var(--color-bg);color:var(--color-text)}
html[data-theme="dark"] body,html[data-theme="dark"] .public-ui,html[data-theme="dark"] .admin-ui,html[data-theme="dark"] .portal-ui{background:var(--color-bg)}
html[data-theme="dark"] p{color:var(--color-text-2)}
html[data-theme="dark"] .btn.secondary,html[data-theme="dark"] .btn.soft,html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .control,html[data-theme="dark"] .top-search,html[data-theme="dark"] .filter-control,html[data-theme="dark"] .search input{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}
html[data-theme="dark"] .btn.secondary:hover,html[data-theme="dark"] .btn.soft:hover,html[data-theme="dark"] .icon-btn:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}
html[data-theme="dark"] .panel,html[data-theme="dark"] .section-card,html[data-theme="dark"] .detail-card,html[data-theme="dark"] .security-card,html[data-theme="dark"] .login-card,html[data-theme="dark"] .access-card,html[data-theme="dark"] .summary-card,html[data-theme="dark"] .relation-panel,html[data-theme="dark"] .invoice-editor{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-1)}
html[data-theme="dark"] .table-wrap{background:var(--color-surface);border-color:var(--color-border)}html[data-theme="dark"] .data-table th{background:#111819;color:#9ba6a6;border-color:var(--color-border)}html[data-theme="dark"] .data-table td{border-color:var(--color-border)}html[data-theme="dark"] .data-table tbody tr:hover{background:#1b2021}
html[data-theme="dark"] .preloader,html[data-theme="dark"] .portal-loader,html[data-theme="dark"] .admin-loader{background:rgba(11,17,18,.98)}

/* Public dark surfaces */
html[data-theme="dark"] .site-header{background:rgba(14,20,21,.92);border-bottom-color:rgba(55,68,69,.86)}html[data-theme="dark"] .site-header.scrolled{background:rgba(14,20,21,.98)}
html[data-theme="dark"] .nav-link{color:var(--color-text-2)}html[data-theme="dark"] .mega-menu,html[data-theme="dark"] .design-menu,html[data-theme="dark"] .mobile-menu,html[data-theme="dark"] .mobile-drawer{background:var(--color-surface);border-color:var(--color-border)}html[data-theme="dark"] .mega-intro{background:linear-gradient(145deg,var(--color-primary-faint),var(--color-surface))}html[data-theme="dark"] .mega-column b{color:var(--color-text)}
html[data-theme="dark"] .hero{background:linear-gradient(180deg,#0e1415 0%,#151112 100%)}html[data-theme="dark"] .hero-copy p{color:var(--color-text-2)}html[data-theme="dark"] .hero-canvas{background:linear-gradient(145deg,#171e1f,#111718)}html[data-theme="dark"] .paper,html[data-theme="dark"] .trust-item,html[data-theme="dark"] .service-card,html[data-theme="dark"] .stat,html[data-theme="dark"] .article-card,html[data-theme="dark"] .blog-tile,html[data-theme="dark"] .benefit{background:var(--color-surface)}html[data-theme="dark"] .card-art{background:linear-gradient(145deg,#1a2223,#241c1d)}html[data-theme="dark"] .line-art{stroke:#c6cece}html[data-theme="dark"] .service-card .num{background:var(--color-surface)}
html[data-theme="dark"] .inner-hero,html[data-theme="dark"] .blog-hero{background:linear-gradient(180deg,#0e1415,#12191a)}html[data-theme="dark"] .art-stage,html[data-theme="dark"] .visual-placeholder{background:linear-gradient(145deg,#241c1d,#151d1e)}html[data-theme="dark"] .blog-filter button{background:var(--color-surface);color:var(--color-text)}html[data-theme="dark"] .blog-filter button.active{background:var(--color-text);color:#151919;border-color:var(--color-text)}
html[data-theme="dark"] .request-dialog,html[data-theme="dark"] .request-box{background:var(--color-surface);border-color:var(--color-border)}html[data-theme="dark"] .request-dialog form input,html[data-theme="dark"] .request-dialog form select,html[data-theme="dark"] .request-dialog form textarea,html[data-theme="dark"] .request-box form input,html[data-theme="dark"] .request-box form select,html[data-theme="dark"] .request-box form textarea,html[data-theme="dark"] .portal-ui .modal-form input,html[data-theme="dark"] .portal-ui .modal-form select,html[data-theme="dark"] .portal-ui .modal-form textarea{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}html[data-theme="dark"] .modal-close{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}
html[data-theme="dark"] .mobile-bottom-nav,html[data-theme="dark"] .portal-mobile-nav,html[data-theme="dark"] .mobile-admin-nav,html[data-theme="dark"] .mobile-bottom{background:rgba(21,28,29,.96);border-color:var(--color-border)}

/* Admin/customer dark surfaces */
html[data-theme="dark"] .admin-sidebar,html[data-theme="dark"] .user-menu{background:#111718!important}html[data-theme="dark"] .admin-brand img,html[data-theme="dark"] .customer-brand img{filter:brightness(1.1)!important}html[data-theme="dark"] .admin-topbar,html[data-theme="dark"] .portal-topbar-v6{background:rgba(11,17,18,.92)!important}
html[data-theme="dark"] .dashboard-welcome{background:linear-gradient(145deg,#171e1f,#1e1819);border-color:var(--color-border)}html[data-theme="dark"] .user-summary>*,html[data-theme="dark"] .quick-link,html[data-theme="dark"] .contact-box{background:var(--color-surface);border-color:var(--color-border)}html[data-theme="dark"] .v5-prototype-note,html[data-theme="dark"] .account-note,html[data-theme="dark"] .subtle-note{background:var(--color-info-soft);color:#a9cee6;border-color:#26465a}
html[data-theme="dark"] .relation-item,html[data-theme="dark"] .request-invoice-row{border-color:var(--color-border)}html[data-theme="dark"] .password-meter{background:#273132}html[data-theme="dark"] .input-affix button,html[data-theme="dark"] .password-visibility{background:var(--color-surface-2);color:var(--color-text-2)}

/* Invoice stays readable on screen in dark mode; print remains white */
html[data-theme="dark"] .invoice-paper{background:#fdfdfc;color:#202424;border-color:#cfd4d4;box-shadow:0 14px 34px rgba(0,0,0,.28)}html[data-theme="dark"] .invoice-paper h1,html[data-theme="dark"] .invoice-paper h2,html[data-theme="dark"] .invoice-paper h3,html[data-theme="dark"] .invoice-paper p,html[data-theme="dark"] .invoice-paper span,html[data-theme="dark"] .invoice-paper b,html[data-theme="dark"] .invoice-paper td,html[data-theme="dark"] .invoice-paper th{color:#202424}html[data-theme="dark"] .invoice-paper .invoice-table th{background:#f3f5f5}

/* Auth dark */
html[data-theme="dark"] .auth-form-zone{background:radial-gradient(circle at 85% 10%,rgba(244,87,93,.12),transparent 28%),linear-gradient(160deg,#0e1415,#101718)}html[data-theme="dark"] .auth-card{background:#151c1d}html[data-theme="dark"] .auth-card .control{background:#101718}html[data-theme="dark"] .auth-role-note{background:#111819}

@media(max-width:820px){
 .auth-shell{grid-template-columns:1fr}.auth-visual{min-height:300px;padding:28px 24px}.auth-visual-copy{margin:40px 0 12px}.auth-visual h1{font-size:clamp(2.25rem,9vw,3.4rem);max-width:560px}.auth-feature-grid{grid-template-columns:repeat(3,1fr)}.auth-feature-grid>div{min-height:94px;padding:12px}.auth-form-zone{padding:26px 18px 34px}.auth-card{width:min(520px,100%);padding:26px}.theme-toggle-floating{top:12px;left:12px}
 .invoice-page-actions,.page-title-actions{width:100%;justify-content:flex-start;margin-top:12px}.invoice-page-actions .btn,.page-title-actions .btn{flex:1 1 auto}.invoice-view-title{display:block}
 html[data-theme="dark"] .data-table tr{background:var(--color-surface);border-color:var(--color-border)}html[data-theme="dark"] .data-table td{border-color:var(--color-border)}
}
@media(max-width:560px){
 .auth-visual{min-height:250px}.auth-brand-row{align-items:flex-start}.auth-role-badge{font-size:10.5px}.auth-visual-copy{margin-top:30px}.auth-visual-copy>p{font-size:13.5px;margin-bottom:0}.auth-feature-grid{display:none}.auth-card{padding:23px 18px;border-radius:16px}.auth-card h2{font-size:26px}.theme-toggle-floating{width:54px;height:42px}.theme-toggle-track{width:48px}.theme-toggle[data-theme-state="dark"] .theme-toggle-knob{transform:translateX(-20px)}
 .request-invoice-row{grid-template-columns:1fr}.request-invoice-row>.badge{justify-self:start}.invoice-page-actions .btn,.page-title-actions .btn{width:100%;flex-basis:100%}
}
@media print{
 html,html[data-theme="dark"],html[data-theme="dark"] body{background:#fff!important;color:#111!important;color-scheme:light!important}.theme-toggle{display:none!important}.invoice-paper{background:#fff!important;color:#111!important;box-shadow:none!important}.invoice-paper *{color:#111!important}
}
@media(prefers-reduced-motion:reduce){.theme-toggle-knob,.theme-icon,.theme-toggle-track{transition:none!important}}

/* Customer portal uses the same application shell language as admin. */
.portal-ui:not(.auth-page) .top-ribbon,.portal-ui:not(.auth-page) .site-header,.portal-ui:not(.auth-page) .site-footer,.portal-ui:not(.auth-page) .mobile-drawer,.portal-ui:not(.auth-page)>.scrim{display:none!important}
.portal-ui:not(.auth-page) main{min-height:100vh;background:var(--color-shell)}
.portal-ui:not(.auth-page) main>.container{width:100%;max-width:1480px;margin:0 auto;padding:0 24px 40px!important}
.portal-ui:not(.auth-page) .portal-topbar-v6{position:sticky;top:0;z-index:220;margin:0 -24px 20px;padding:9px 24px;border-radius:0;border-width:0 0 1px;min-height:66px}
.portal-ui:not(.auth-page) .page-title{margin-top:6px}.portal-ui:not(.auth-page) .user-shell{grid-template-columns:248px minmax(0,1fr);gap:20px}.portal-ui:not(.auth-page) .user-menu{top:86px;min-height:calc(100vh - 110px);border-radius:14px}
@media(max-width:820px){.portal-ui:not(.auth-page) main>.container{padding:0 16px calc(86px + env(safe-area-inset-bottom))!important}.portal-ui:not(.auth-page) .portal-topbar-v6{top:0;margin:0 -16px 18px;padding:8px 16px;border-radius:0}.portal-ui:not(.auth-page) .user-menu{top:0;min-height:100vh;border-radius:0}}

/* V7.4 dark consistency — remove remaining light islands in admin/forms. */
html[data-theme="dark"] .admin-ui .kpi,html[data-theme="dark"] .admin-ui .v5-kpi,html[data-theme="dark"] .admin-ui .filters,html[data-theme="dark"] .admin-ui .report-toolbar,html[data-theme="dark"] .admin-ui .report-subnav a,html[data-theme="dark"] .admin-ui .period-tabs button,html[data-theme="dark"] .admin-ui .profit-strip>div,html[data-theme="dark"] .admin-ui .upload-box,html[data-theme="dark"] .admin-ui .report-links a,html[data-theme="dark"] .admin-ui .activity>div{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}
html[data-theme="dark"] .admin-ui .kpi:after,html[data-theme="dark"] .admin-ui .v5-kpi:after{border-color:#293435}
html[data-theme="dark"] .admin-ui .bar,html[data-theme="dark"] .admin-ui .status-segment .track{background:#273132}
html[data-theme="dark"] .admin-ui .status-list>div,html[data-theme="dark"] .admin-ui .kv,html[data-theme="dark"] .admin-ui .form-section,html[data-theme="dark"] .admin-ui .sum-row,html[data-theme="dark"] .admin-ui .v5-chart{border-color:var(--color-border)}
html[data-theme="dark"] .admin-ui .line-item{background:var(--color-surface-2);border-color:var(--color-border)}
html[data-theme="dark"] .admin-ui .invoice-editor input.control,html[data-theme="dark"] .admin-ui .invoice-editor select.control,html[data-theme="dark"] .admin-ui .invoice-editor textarea.control,html[data-theme="dark"] .admin-ui .settings-grid input,html[data-theme="dark"] .admin-ui .settings-grid select,html[data-theme="dark"] .admin-ui .settings-grid textarea,html[data-theme="dark"] .admin-ui .profile-form-grid input,html[data-theme="dark"] .admin-ui .profile-form-grid select,html[data-theme="dark"] .admin-ui .profile-form-grid textarea{background:var(--color-surface-2)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;-webkit-text-fill-color:var(--color-text)}
html[data-theme="dark"] .admin-ui .line-item .remove{background:#21191a;border-color:#593034;color:var(--color-error)}
html[data-theme="dark"] .admin-ui .data-table .row-actions a{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}
html[data-theme="dark"] .admin-ui .data-table .row-actions a:hover{background:var(--color-primary-soft);color:var(--color-primary);border-color:#5a3034}
html[data-theme="dark"] .admin-ui .data-table .row-actions button{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}
html[data-theme="dark"] .admin-ui .data-table .row-actions .invoice-delete-btn{background:#321f21;color:#ff969d;border-color:#65343a}
html[data-theme="dark"] .admin-ui .data-table .row-actions .invoice-delete-btn:hover{background:#452529;color:#ffb3b8;border-color:#82434a}
html[data-theme="dark"] .admin-ui .report-subnav a.active,html[data-theme="dark"] .admin-ui .period-tabs button.active{background:var(--color-primary-soft);color:var(--color-primary);border-color:#5a3034}
html[data-theme="dark"] .admin-ui .activity>div{border-right-color:var(--color-primary)}

/* Browser autofill must respect the selected dark theme. */
html[data-theme="dark"] input:-webkit-autofill,html[data-theme="dark"] input:-webkit-autofill:hover,html[data-theme="dark"] input:-webkit-autofill:focus,html[data-theme="dark"] textarea:-webkit-autofill,html[data-theme="dark"] select:-webkit-autofill{-webkit-text-fill-color:var(--color-text)!important;-webkit-box-shadow:0 0 0 1000px var(--color-surface-2) inset!important;box-shadow:0 0 0 1000px var(--color-surface-2) inset!important;caret-color:var(--color-text)!important}

/* Public dark contrast hardening. */
html[data-theme="dark"] .quote h2,html[data-theme="dark"] .consult h2,html[data-theme="dark"] .request-visual h2,html[data-theme="dark"] .modal-side h2{color:#fff}html[data-theme="dark"] .quote p{color:#d0d7d7}html[data-theme="dark"] .stat span{color:var(--color-text-2)}html[data-theme="dark"] .footer-brand button:hover{background:rgba(255,255,255,.10);color:#fff}
/* V7.4 QA hardening — authentication touch target */
.password-visibility{height:40px;top:4px;min-width:64px}
/* Auth controls must stay dark despite the high-specificity global form selectors. */
html[data-theme="dark"] .auth-card form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html[data-theme="dark"] .auth-card form select,
html[data-theme="dark"] .auth-card form textarea{
 background:#101718!important;color:var(--color-text)!important;border-color:var(--color-border)!important;-webkit-text-fill-color:var(--color-text)!important;
}
html[data-theme="dark"] .auth-card form input:focus,
html[data-theme="dark"] .auth-card form select:focus,
html[data-theme="dark"] .auth-card form textarea:focus{background:#111a1b!important;border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(244,87,93,.14)!important}
html[data-theme="dark"] form.auth-card input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html[data-theme="dark"] form.auth-card select,
html[data-theme="dark"] form.auth-card textarea{background:#101718!important;color:var(--color-text)!important;border-color:var(--color-border)!important;-webkit-text-fill-color:var(--color-text)!important}
html[data-theme="dark"] form.auth-card input:focus,html[data-theme="dark"] form.auth-card select:focus,html[data-theme="dark"] form.auth-card textarea:focus{background:#111a1b!important;border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(244,87,93,.14)!important}

/* =========================================================
   V7.5 polish — theme switch + compact auth presentation
   ========================================================= */
.theme-toggle,
.theme-toggle-floating{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.theme-toggle{padding:6px 2px!important;width:56px;height:40px;min-width:56px;border-radius:999px!important}
.theme-toggle-track{width:50px;height:27px;box-shadow:none!important}
.theme-toggle:hover .theme-toggle-track{box-shadow:none!important;border-color:var(--color-border-strong)}
.theme-toggle-floating{top:16px;left:16px;padding:0!important}

/* Login should feel like a contained product screen, not two full half-pages. */
body.auth-page{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 88% 10%,rgba(244,87,93,.08),transparent 26%),
    var(--color-shell);
}
.auth-shell{
  width:min(1180px,100%);
  min-height:min(690px,calc(100svh - 48px));
  height:auto;
  margin:0 auto;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:26px;
  box-shadow:0 26px 80px rgba(31,39,39,.13);
  grid-template-columns:minmax(440px,1.04fr) minmax(420px,.96fr);
  background:var(--color-surface);
}
.auth-visual{padding:44px 48px;min-height:0}
.auth-visual h1{font-size:clamp(2.65rem,4vw,4.25rem);line-height:1.27}
.auth-form-zone{padding:38px 42px;min-width:0}
.auth-card{width:min(470px,100%);padding:30px}
.auth-feature-grid>div{min-height:104px}

@media(max-width:900px){
  body.auth-page{padding:14px}
  .auth-shell{width:min(620px,100%);min-height:auto;grid-template-columns:1fr;border-radius:20px}
  .auth-visual{min-height:185px;padding:24px 26px}
  .auth-visual-copy{margin:24px 0 0}.auth-visual h1{font-size:2rem;margin-bottom:8px}
  .auth-visual-copy>p{font-size:13px;line-height:1.8;margin-bottom:0}
  .auth-feature-grid{display:none}.auth-back{display:none}
  .auth-form-zone{padding:22px}.auth-card{padding:24px}
}
@media(max-width:560px){
  body.auth-page{padding:0;display:block}.auth-shell{width:100%;border:0;border-radius:0;box-shadow:none;min-height:100svh}
  .auth-visual{min-height:150px;padding:20px}.auth-brand-row img{width:116px}.auth-role-badge{min-height:28px;font-size:10.5px}
  .auth-visual-copy{margin:15px 0 0}.auth-visual h1{font-size:1.65rem}.auth-visual-copy>p{display:none}
  .auth-form-zone{padding:18px 14px 26px}.auth-card{padding:22px;border-radius:16px;box-shadow:none}
  .theme-toggle-floating{top:10px;left:10px}
}
@media(max-width:560px){.auth-brand-row{padding-left:66px}.auth-role-badge{white-space:nowrap}}

html[data-theme="dark"] .chav-jalali-picker,body.dark .chav-jalali-picker{background:#1f2528;border-color:#343c40;color:#f3f5f5}html[data-theme="dark"] .chav-jalali-head button,html[data-theme="dark"] .chav-jalali-foot button,html[data-theme="dark"] .jalali-picker-btn,body.dark .chav-jalali-head button,body.dark .chav-jalali-foot button,body.dark .jalali-picker-btn{background:#252c30;border-color:#3a4449;color:#f3f5f5}html[data-theme="dark"] .chav-jalali-calendar td button,body.dark .chav-jalali-calendar td button{color:#f3f5f5}html[data-theme="dark"] .chav-jalali-calendar td button:hover,body.dark .chav-jalali-calendar td button:hover{background:#30383c}

/* v1.6.0 */
html[data-theme="dark"] .request-box.request-box-v16{background:var(--color-surface);border-color:var(--color-border)}
html[data-theme="dark"] .request-form-grid .control{background:var(--color-surface-2)!important}
html[data-theme="dark"] .request-modal-actions{border-color:var(--color-border)}

/* v1.17.0 public process / mobile nav dark mode */
html[data-theme="dark"] .order-process-section>.container,html[data-theme="dark"] .order-process-section .container{background:radial-gradient(circle at 12% 20%,rgba(244,87,93,.09),transparent 31%),linear-gradient(135deg,#171c1d,#111718);border-color:rgba(244,87,93,.16)}
html[data-theme="dark"] .process.order-process>.order-process-card{background:#182021;border-color:#2b3637;box-shadow:none}
html[data-theme="dark"] .process.order-process .process-index{background:#111718;border-color:rgba(244,87,93,.38)}
html[data-theme="dark"] .contact-visit-card{background:linear-gradient(145deg,#182021,#21191a);border-color:var(--color-border)}
html[data-theme="dark"] .mobile-bottom-nav .mobile-bottom-item{color:#b2baba}
html[data-theme="dark"] .mobile-bottom-nav .mobile-bottom-item.is-active,html[data-theme="dark"] .mobile-bottom-nav .mobile-bottom-item[aria-current=page]{background:rgba(244,87,93,.13);color:#ff7e82}


/* v1.18.6 — full dark-mode component audit
   Root cause: several migrated/newer components used literal light colors instead
   of theme tokens. Keep printable invoice/document canvases intentionally white. */
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder,
html[data-theme="dark"] .control::placeholder,
html[data-theme="dark"] .top-search::placeholder,
html[data-theme="dark"] .filter-control::placeholder{color:#8f9a9a;opacity:1}

/* Forms and shared interactive controls */
html[data-theme="dark"] form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html[data-theme="dark"] form select,
html[data-theme="dark"] form textarea,
html[data-theme="dark"] .control,
html[data-theme="dark"] .filter-control,
html[data-theme="dark"] .top-search,
html[data-theme="dark"] .note-area,
html[data-theme="dark"] .select-status{
  background:var(--color-surface-2)!important;
  color:var(--color-text)!important;
  border-color:var(--color-border)!important;
  -webkit-text-fill-color:var(--color-text)!important;
}
html[data-theme="dark"] form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
html[data-theme="dark"] form select:focus,
html[data-theme="dark"] form textarea:focus,
html[data-theme="dark"] .control:focus,
html[data-theme="dark"] .filter-control:focus,
html[data-theme="dark"] .top-search:focus{
  background:#111a1b!important;
  color:var(--color-text)!important;
  border-color:var(--color-secondary)!important;
  box-shadow:0 0 0 3px rgba(51,184,173,.13)!important;
}
html[data-theme="dark"] form input:disabled,
html[data-theme="dark"] form select:disabled,
html[data-theme="dark"] form textarea:disabled,
html[data-theme="dark"] .control:disabled,
html[data-theme="dark"] .control[readonly]{background:#101718!important;color:var(--color-muted)!important;-webkit-text-fill-color:var(--color-muted)!important}
html[data-theme="dark"] .form-group>label,
html[data-theme="dark"] .field>label,
html[data-theme="dark"] label.field-label{color:var(--color-text-2)}
html[data-theme="dark"] .auth-tabs button.active{background:var(--color-surface);color:var(--color-text);box-shadow:0 3px 12px rgba(0,0,0,.22)}
html[data-theme="dark"] .captcha-error{background:var(--color-error-soft);color:#ff9b9f;border:1px solid rgba(255,112,118,.25)}

/* Receipt archive / preview shell — the embedded PDF/image canvas remains untouched. */
html[data-theme="dark"] .receipt-file{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .receipt-file:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}
html[data-theme="dark"] .receipt-delete{background:var(--color-error-soft);border-color:rgba(255,112,118,.28);color:#ff9b9f}
html[data-theme="dark"] .receipt-delete:hover{background:rgba(255,96,103,.16);border-color:rgba(255,112,118,.42)}
html[data-theme="dark"] .receipt-preview-dialog,
html[data-theme="dark"] .receipt-preview-head,
html[data-theme="dark"] .receipt-preview-close{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .receipt-preview-body{background:var(--color-shell)}

/* Public chrome, account/request surfaces */
html[data-theme="dark"] .menu-trigger,
html[data-theme="dark"] .account-modal-card,
html[data-theme="dark"] .account-modal-close,
html[data-theme="dark"] .contact-card{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .article-cta{border-color:var(--color-border)}
html[data-theme="dark"] .request-files-label{color:var(--color-text-2)}
html[data-theme="dark"] .request-file-drop{background:var(--color-surface-2);border-color:var(--color-border-strong);color:var(--color-text)}
html[data-theme="dark"] .request-file-drop:hover,
html[data-theme="dark"] .request-file-drop.is-dragover{background:rgba(51,184,173,.08);border-color:var(--color-secondary)}
html[data-theme="dark"] .request-file-drop-icon,
html[data-theme="dark"] .request-file-chip{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .request-file-chip small,
html[data-theme="dark"] .large-file-card p{color:var(--color-text-2)}
html[data-theme="dark"] .request-file-oversize,
html[data-theme="dark"] .large-file-card{background:var(--color-warning-soft);border-color:rgba(245,185,73,.25);color:#f4ce84}
html[data-theme="dark"] .request-file-invalid{background:var(--color-error-soft);border-color:rgba(255,112,118,.25);color:#ff9b9f}
html[data-theme="dark"] .large-file-names span,
html[data-theme="dark"] .large-file-contacts>div,
html[data-theme="dark"] .inquiry-file-preview{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .inquiry-file-preview:hover{background:var(--color-surface-2)}

/* Customer portal */
html[data-theme="dark"] .profile-completion-card,
html[data-theme="dark"] .receipt-file-picker{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .receipt-file-picker:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}

/* Admin customer matching/detail */
html[data-theme="dark"] .customer-suggestions,
html[data-theme="dark"] .customer-suggestion,
html[data-theme="dark"] .customer-count-strip article,
html[data-theme="dark"] .customer-record-card,
html[data-theme="dark"] .customer-record-dialog{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .customer-suggestion:hover,
html[data-theme="dark"] .customer-suggestion:focus{background:var(--color-primary-soft)}
html[data-theme="dark"] .customer-match-note{background:var(--color-success-soft);color:#8edbd3;border:1px solid rgba(78,197,184,.2)}
html[data-theme="dark"] .settings-print-note{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .settings-print-note p{color:var(--color-text-2)}

/* Blog/archive/article */
html[data-theme="dark"] .chav-blog-count,
html[data-theme="dark"] .chav-blog-pagination .page-numbers,
html[data-theme="dark"] .chav-article-toc{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .chav-blog-card__media,
html[data-theme="dark"] .chav-article-cover{background:var(--color-surface-2)}
html[data-theme="dark"] .chav-blog-card__fallback{background:linear-gradient(145deg,#251a1b,#152221)}
html[data-theme="dark"] .chav-article-page{background:linear-gradient(180deg,var(--color-bg) 0,var(--color-bg) 70%,var(--color-shell) 100%)}
html[data-theme="dark"] .chav-article-content,
html[data-theme="dark"] .chav-article-content p,
html[data-theme="dark"] .chav-blog-card p{color:var(--color-text-2)}
html[data-theme="dark"] .chav-article-content th{background:var(--color-surface-2);color:var(--color-text)}
html[data-theme="dark"] .chav-article-content td{color:var(--color-text-2)}
html[data-theme="dark"] .chav-article-help{background:linear-gradient(145deg,rgba(244,87,93,.09),var(--color-surface));border-color:rgba(244,87,93,.22);color:var(--color-text)}
html[data-theme="dark"] .chav-related-posts{background:var(--color-shell);border-color:var(--color-border)}

/* Footer v1100 — migrated footer previously used literal white cards. */
html[data-theme="dark"] .site-footer-v1100{color:var(--color-text)}
html[data-theme="dark"] .footer-v1100-surface{
  background:radial-gradient(circle at 13% 18%,rgba(244,87,93,.08),transparent 31%),radial-gradient(circle at 88% 78%,rgba(51,184,173,.07),transparent 28%),linear-gradient(180deg,#12191a 0%,#0d1314 100%);
}
html[data-theme="dark"] .footer-v1100-about,
html[data-theme="dark"] .footer-v1100-contact,
html[data-theme="dark"] .footer-v1100-trust{background:rgba(21,28,29,.94);border-color:var(--color-border);box-shadow:0 16px 44px rgba(0,0,0,.18)}
html[data-theme="dark"] .footer-v1100-about{background:linear-gradient(145deg,#171f20,#20191a)}
html[data-theme="dark"] .footer-v1100-trust{background:linear-gradient(145deg,#171e1f,#121819)}
html[data-theme="dark"] .footer-v1100-heading h2,
html[data-theme="dark"] .footer-v1100-about-link,
html[data-theme="dark"] .footer-v1100-phone-meta>a,
html[data-theme="dark"] .footer-v1100-office>a b,
html[data-theme="dark"] .footer-v1100-credit a{color:var(--color-text)}
html[data-theme="dark"] .footer-v1100-about>p,
html[data-theme="dark"] .footer-v1100-office>p,
html[data-theme="dark"] .footer-v1100-phone-meta small,
html[data-theme="dark"] .footer-v1100-office>a span,
html[data-theme="dark"] .footer-bottom-v1100{color:var(--color-text-2)}
html[data-theme="dark"] .footer-v1100-about-link,
html[data-theme="dark"] .footer-v1100-office,
html[data-theme="dark"] .footer-v1100-office>a,
html[data-theme="dark"] .footer-bottom-v1100{border-color:var(--color-border)}
html[data-theme="dark"] .footer-v1100-phone-card,
html[data-theme="dark"] .enamad-slot-v1100{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}

/* Contact page + floating contact widget */
html[data-theme="dark"] .contact-hero-phone,
html[data-theme="dark"] .contact-method-card:not(.contact-method-card--office),
html[data-theme="dark"] .contact-address-panel,
html[data-theme="dark"] .contact-widget-panel,
html[data-theme="dark"] .contact-widget-card,
html[data-theme="dark"] .prefooter-request-bar{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:none}
html[data-theme="dark"] .contact-hero-phone b,
html[data-theme="dark"] .contact-method-number>a,
html[data-theme="dark"] .contact-address-panel h2,
html[data-theme="dark"] .contact-widget-phone>a{color:var(--color-text)}
html[data-theme="dark"] .contact-method-card>p,
html[data-theme="dark"] .contact-address-panel p,
html[data-theme="dark"] .contact-widget-card p{color:var(--color-text-2)}
html[data-theme="dark"] .contact-social::after,
html[data-theme="dark"] .contact-widget-label{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .contact-social::before{background:var(--color-surface)}

/* Native browser surfaces */
html[data-theme="dark"] select option{background:#151c1d;color:#f2f4f4}
html[data-theme="dark"] input[type="date"],
html[data-theme="dark"] input[type="time"],
html[data-theme="dark"] input[type="datetime-local"]{color-scheme:dark}

/* v1.18.6 — residual literal-color cleanup found by static audit */
html[data-theme="dark"] .main-nav>a:hover,
html[data-theme="dark"] .nav-trigger:hover,
html[data-theme="dark"] .panel-access:hover,
html[data-theme="dark"] .mobile-menu-head button,
html[data-theme="dark"] .chav-blog-categories a{
  background:var(--color-surface-2);
  border-color:var(--color-border);
  color:var(--color-text);
}
html[data-theme="dark"] .mobile-menu-head button svg{stroke:currentColor}
html[data-theme="dark"] .chav-blog-categories a:hover{border-color:var(--color-primary);color:var(--color-primary)}
html[data-theme="dark"] .request-modal-close{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:0 5px 16px rgba(0,0,0,.24)}
html[data-theme="dark"] .article-img,
html[data-theme="dark"] .blog-art,
html[data-theme="dark"] .article-cover{background:var(--color-surface-2);border-color:var(--color-border)}
html[data-theme="dark"] .inquiry-file-count.has-files{background:var(--color-success-soft);color:#8edbd3;border-color:rgba(78,197,184,.25)}

/* v1.18.7 — dark mode readability + scrollbar palette */
html[data-theme="dark"]{--scrollbar-track:rgba(255,255,255,.06);--scrollbar-thumb:#5d6667;--scrollbar-thumb-hover:#f4585d}
html[data-theme="dark"] *::-webkit-scrollbar-thumb{border-color:rgba(18,24,24,.9)}
html[data-theme="dark"] .request-dialog form>label,
html[data-theme="dark"] .request-box form>label,
html[data-theme="dark"] .request-box .form-group>label,
html[data-theme="dark"] .request-dialog .request-files-label,
html[data-theme="dark"] .request-box .request-files-label{color:var(--color-text)!important}
html[data-theme="dark"] .request-dialog .form-note,
html[data-theme="dark"] .request-box .form-note,
html[data-theme="dark"] .request-form-help,
html[data-theme="dark"] .optional-label,
html[data-theme="dark"] .request-file-drop small,
html[data-theme="dark"] .request-large-file-note,
html[data-theme="dark"] .request-file-chip small,
html[data-theme="dark"] .large-file-card p,
html[data-theme="dark"] .large-file-contacts small{color:var(--color-text-2)!important;opacity:.95}
html[data-theme="dark"] .request-dialog form input::placeholder,
html[data-theme="dark"] .request-dialog form textarea::placeholder,
html[data-theme="dark"] .request-box form input::placeholder,
html[data-theme="dark"] .request-box form textarea::placeholder{color:#a6afaf;opacity:1}
html[data-theme="dark"] .request-dialog form input,
html[data-theme="dark"] .request-dialog form select,
html[data-theme="dark"] .request-dialog form textarea,
html[data-theme="dark"] .request-box form input,
html[data-theme="dark"] .request-box form select,
html[data-theme="dark"] .request-box form textarea{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .request-file-drop{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.16)}
html[data-theme="dark"] .request-file-drop:hover,html[data-theme="dark"] .request-file-drop.is-dragging{background:rgba(7,135,127,.08);border-color:var(--color-secondary)}
html[data-theme="dark"] .request-file-drop-icon{background:var(--color-surface);border-color:var(--color-border)}

/* v1.19.0 — custom request select / file cards in dark mode */
html[data-theme="dark"] .request-service-trigger{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}
html[data-theme="dark"] .request-service-trigger:hover{background:var(--color-surface-3,var(--color-surface));border-color:var(--color-border-strong)}
html[data-theme="dark"] .request-service-menu{background:#141c1d;border-color:var(--color-border);box-shadow:0 20px 46px rgba(0,0,0,.34)}
html[data-theme="dark"] .request-service-option{color:var(--color-text-2)}
html[data-theme="dark"] .request-service-option:hover,html[data-theme="dark"] .request-service-option:focus-visible{background:rgba(255,255,255,.055);color:var(--color-text)}
html[data-theme="dark"] .request-service-option.is-selected{background:var(--color-primary-soft);color:var(--color-primary)}
html[data-theme="dark"] .request-file-chip{background:var(--color-surface);border-color:var(--color-border)}
html[data-theme="dark"] .request-file-remove{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text-2)}
html[data-theme="dark"] .request-file-remove:hover,html[data-theme="dark"] .request-file-remove:focus-visible{background:#3a2225;border-color:#6a363b;color:#ff9ca0}

/* v1.19.1 — request success modal dark mode */
html[data-theme="dark"] .request-success-dialog{background:var(--color-surface);border-color:var(--color-border);box-shadow:0 30px 90px rgba(0,0,0,.42)}
html[data-theme="dark"] .request-success-close{background:var(--color-surface-2);color:var(--color-text-2);border-color:var(--color-border)}
html[data-theme="dark"] .request-success-title{color:var(--color-text)}
html[data-theme="dark"] .request-success-text{color:var(--color-text-2)}

/* v1.19.2 — unified portal select dark theme */
html[data-theme="dark"] .chav-select-trigger{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}
html[data-theme="dark"] .chav-select-trigger:hover{background:#172021;border-color:var(--color-border-strong)}
html[data-theme="dark"] .chav-select-menu{background:var(--color-surface);border-color:var(--color-border);box-shadow:0 18px 46px rgba(0,0,0,.34)}
html[data-theme="dark"] .chav-select-option{color:var(--color-text-2)}
html[data-theme="dark"] .chav-select-option:hover,html[data-theme="dark"] .chav-select-option:focus-visible{background:var(--color-surface-2);color:var(--color-text)}
html[data-theme="dark"] .chav-select-option.is-selected{background:var(--color-primary-soft);color:var(--color-primary)}

/* v1.19.3 — minimal management login */
body.management-login-page{min-height:100svh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 80% 14%,rgba(244,87,93,.08),transparent 28%),var(--color-shell)}
.management-login-page .theme-toggle-floating{display:none!important}
.management-login-shell{width:min(520px,100%);display:grid;gap:16px;justify-items:stretch}
.management-login-shell .admin-auth-card{width:100%;margin:0;padding:32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:22px;box-shadow:0 24px 70px rgba(31,39,39,.14)}
.management-login-shell .admin-auth-card h2{font-size:clamp(1.75rem,3vw,2.15rem);margin:0 0 14px;text-align:center}
.management-login-shell .auth-tabs{margin:0 0 18px}
.management-login-shell .chav-captcha-host{margin:12px 0 4px;min-height:0}
.management-login-shell .auth-submit{margin-top:4px}
.management-login-back{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-text-2);font-size:12.5px;font-weight:750;box-shadow:var(--shadow-1)}
.management-login-back:hover{background:var(--color-surface-2);color:var(--color-primary);border-color:var(--color-border-strong)}
html[data-theme="dark"] .management-login-shell .admin-auth-card,html[data-theme="dark"] .management-login-back{background:#151c1d;border-color:var(--color-border)}
html[data-theme="dark"] .management-login-shell .auth-tabs button.active{background:#20292a;color:var(--color-text)}
@media(max-width:560px){body.management-login-page{padding:16px}.management-login-shell .admin-auth-card{padding:24px 18px;border-radius:18px;box-shadow:none}.management-login-shell{gap:12px}}
html[data-theme="dark"] .inquiry-file-entry{background:var(--color-surface);border-color:var(--color-border)}
html[data-theme="dark"] .inquiry-file-copy b{color:var(--color-text)}
html[data-theme="dark"] .inquiry-file-copy small{color:var(--color-text-2)}

/* v1.19.4 — management login password eye + dual CAPTCHA spacing */
.management-login-shell .auth-password .control{padding-left:48px}
.management-login-shell .password-visibility--icon{position:absolute;left:6px;top:4px;width:40px;min-width:40px;height:40px;padding:0;border:0;border-radius:9px;display:grid;place-items:center;background:transparent;color:var(--color-muted)}
.management-login-shell .password-visibility--icon:hover,.management-login-shell .password-visibility--icon:focus-visible{background:var(--color-surface-2);color:var(--color-primary)}
.management-login-shell .password-visibility--icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.management-login-shell .password-eye-slash{opacity:0;transition:opacity .15s ease}
.management-login-shell .password-visibility--icon.is-visible .password-eye-slash{opacity:1}
.management-login-shell .password-visibility--icon.is-visible .password-eye-shape,.management-login-shell .password-visibility--icon.is-visible .password-eye-pupil{opacity:.55}
.management-login-shell .auth-pane.active .chav-captcha-host{display:block;margin:12px 0 6px}
.management-login-shell .auth-pane:not(.active) .chav-captcha-host{display:none}

/* v1.19.7 — searchable expense relation selector */
html[data-theme="dark"] .expense-relation-searchbox .control{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}
html[data-theme="dark"] .expense-relation-menu{background:var(--color-surface);border-color:var(--color-border)}
html[data-theme="dark"] .expense-relation-option small,html[data-theme="dark"] .expense-relation-loading,html[data-theme="dark"] .expense-relation-empty{color:var(--color-text-2)}
