/* Shared theme layer. Scoped to screen: printed documents retain their own palette. */
@media screen {
    html[data-surface] { --accent:#386653; --accent-dark:#234536; --red:#386653; --dark:#234536; --pale:#edf2e9; --accent-soft:#e2ebdc; --accent-pale:#f0f4eb; }
    html[data-surface="admin"] body { background:#f6f3ee; }
    html[data-surface] :is(input,select,textarea):focus { border-color:#648971; box-shadow:0 0 0 3px #38665322; }
    html[data-surface] .btn.light { border-color:#d0decb; }
    html[data-surface] .btn.red { background:#b91c1c!important; color:#fff!important; }
    html[data-surface="public"] { --soft:#eee9e1; --line:#e4ddd4; --ink:#34312f; --muted:#716961; }
    html[data-surface="public"] body { background:#f6f3ee; }
    html[data-surface="public"] .header { background:rgba(246,243,238,.96); }
    .side .nav-icon { width:36px; height:36px; flex:0 0 36px; border-radius:11px; background:#eaf0e9!important; color:#386653!important; border:1px solid #d5e1d5; }
    .side .nav-icon svg { width:21px; height:21px; display:block; }
    .side nav a:hover .nav-icon { background:#dce8db!important; }
    .side nav a[aria-current="page"] .nav-icon { background:#386653!important; color:#fff!important; border-color:#386653; }
    html[data-theme="dark"] { color-scheme:dark; --ink:var(--ui-ink,#eee9e3)!important; --muted:var(--ui-muted,#bcb3ad)!important; --line:var(--ui-border,#464147)!important; --soft:#302d32!important; --pale:#293d33!important; --white:#28262b!important; --accent-soft:#30483a!important; --accent-pale:#26382e!important; --success:#90d7b2!important; --shadow:0 18px 48px #0003!important; }
    html[data-theme="dark"] body { background:var(--ui-bg,#211f24)!important; color:var(--ink)!important; }
    html[data-theme="dark"] :is(.header,.admin-top,.quick-chips,.mobile-tabs,.mobile-menu,.nav-about-menu,.mobile-about-menu) { background:#28262bf5!important; border-color:var(--line)!important; color:var(--ink)!important; }
    html[data-theme="dark"] :is(.panel,.card,.filters,.overview-stat,.overview-chart,.overview-ring-center,.payment-edit-box,.shareholder-document-form,.shareholder-documents,.share-ledger,.process-card,.trust-strip,.easy-actions>a,.upload,.preview) { background:var(--ui-surface,#2b282e)!important; border-color:var(--line)!important; color:var(--ink)!important; }
    html[data-theme="dark"] :is(input,select,textarea,option) { background:var(--ui-subtle,#343037)!important; color:var(--ink)!important; border-color:var(--ui-border,#60565e)!important; }
    html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder { color:#b7acb4; opacity:1; }
    html[data-theme="dark"] :is(th,.section.soft,.stat,.spec,.value,.payment-state) { background:var(--ui-subtle,#343037)!important; color:var(--ink)!important; border-color:var(--line)!important; }
    html[data-theme="dark"] :is(.price,.brand,.metric,.eyebrow,.mobile-tab.active,.btn.light,.badge) { color:#9bcbb0!important; }
    html[data-theme="dark"] :is(.btn.light,.badge,.quick-chip.active) { background:#2d4236!important; border-color:#506f5d!important; }
    html[data-theme="dark"] :is(.overview-stat small,.overview-stat span,.overview-note,.overview-intro p,.overview-ring-center small,.order-status label,.order-status small) { color:var(--ui-muted,#bcb3ad)!important; }
    html[data-theme="dark"] .overview { --ov-green:#9bdfbc; --ov-blue:#b2c6ff; }
    html[data-theme="dark"] .overview-stat.green { background:#263b33!important; }
    html[data-theme="dark"] .overview-stat.blue { background:#2b3348!important; }
    html[data-theme="dark"] .overview-stat.total { background:#393248!important; }
    html[data-theme="dark"] .overview-chart { --ring-color:#b2c6ff!important; }
    html[data-theme="dark"] .overview-chart:first-child { --ring-color:#9bdfbc!important; }
    html[data-theme="dark"] .overview-ring { background:conic-gradient(var(--ring-color) calc(var(--progress)*1%),var(--ui-border,#464147) 0); }
    html[data-theme="dark"] .overview-tag { background:#453b27; color:#f2d493; }
    html[data-theme="dark"] .order-state-pending { --state-ink:#f2d493; --state-bg:#453b27; --state-line:#756440; }
    html[data-theme="dark"] .order-state-confirmed { --state-ink:#9bdfbc; --state-bg:#263b33; --state-line:#476d59; }
    html[data-theme="dark"] .order-state-cancelled { --state-ink:#ffb4bd; --state-bg:#472e35; --state-line:#825360; }
    html[data-theme="dark"] .order-state-completed { --state-ink:#b2c6ff; --state-bg:#2b3348; --state-line:#53638c; }
    html[data-theme="dark"] :is(.order-status select,.status-filter select) { background:var(--state-bg,var(--ui-subtle,#343037))!important; color:var(--state-ink,var(--ui-ink,#eee9e3))!important; }
    html[data-theme="dark"] .alert { background:#263b33; color:#9bdfbc; border-color:#476d59; }
    html[data-theme="dark"] .errors { background:#472e35; color:#ffb4bd; border-color:#825360; }
    html[data-theme="dark"] :is(.usage-guide,.settings-section,.admin-mobile-tabs,.admin-mobile-menu,.admin-mobile-actions a,.admin-mobile-actions button) { background:var(--ui-surface,#2b282e)!important; color:var(--ink)!important; border-color:var(--line)!important; }
    html[data-theme="dark"] :is(.usage-guide a,.easy-actions span,.admin-mobile-tab.active,.admin-mobile-link.active) { color:#9bcbb0!important; }
    html[data-theme="dark"] .admin-mobile-link.active { background:#2d4236!important; }
    html[data-theme="dark"] .side { background:#28232a!important; border-color:var(--line)!important; }
    html[data-theme="dark"] .side-main-nav a[aria-current=page] { color:#9bcbb0!important; border-left-color:#9bcbb0!important; }
    html[data-theme="dark"] .side .nav-icon { background:#2d3932!important; color:#b3ccbd!important; border-color:#435b4c; }
    html[data-theme="dark"] .side nav a:hover .nav-icon { background:#354c3e!important; }
    html[data-theme="dark"] .side nav a[aria-current="page"] { background:#304338!important; color:#d5eddd!important; }
    html[data-theme="dark"] .side nav a[aria-current="page"] .nav-icon { background:#41644f!important; color:#d5eddd!important; border-color:#5d866c; }
    @media(max-width:850px) { .header-row>.theme-toggle { order:1; } .admin-top { flex-wrap:wrap; height:auto!important; gap:10px; padding-top:10px!important; padding-bottom:10px!important; } .admin-top .theme-toggle { margin-left:auto; } }
}
/* Desktop navigation: only the menu scrolls; brand and utility links stay visible. */
@media screen and (min-width:981px) {
    html[data-surface="admin"] .side { height:100dvh; padding:22px 14px 14px; overflow:hidden; box-shadow:none!important; background:#faf8f6!important; }
    html[data-surface="admin"] .side .admin-brand { flex-shrink:0; padding:4px 12px 20px; margin-bottom:12px; }
    html[data-surface="admin"] .side .side-main-nav { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:0 5px 12px 0; scrollbar-width:thin; scrollbar-color:#c9d4c8 transparent; }
    html[data-surface="admin"] .side .nav-group { display:flex; align-items:center; gap:10px; padding:22px 12px 9px; font-size:10px; letter-spacing:.11em; color:#6c7d70!important; }
    html[data-surface="admin"] .side .nav-group:first-child { padding-top:9px; }
    html[data-surface="admin"] .side nav a,html[data-surface="admin"] .side nav button { font-weight:700!important; }
    html[data-surface="admin"] .side .nav-group { font-weight:800!important; }
    html[data-surface="admin"] .side .nav-group:after { content:""; height:1px; flex:1; background:var(--line); }
    html[data-surface="admin"] .side nav a,html[data-surface="admin"] .side nav button { position:relative; min-height:45px; padding:8px 11px; gap:11px; margin-bottom:3px; border:1px solid transparent; border-radius:12px; font-size:13px; line-height:1.35; opacity:1; text-align:left; transition:background .15s,color .15s; }
    html[data-surface="admin"] .side .nav-icon { width:30px; height:30px; flex-basis:30px; border:0; border-radius:9px; background:transparent!important; color:#657e6b!important; }
    html[data-surface="admin"] .side .nav-icon svg { width:20px; height:20px; }
    html[data-surface="admin"] .side nav a:hover,html[data-surface="admin"] .side nav button:hover { background:#e6ece2!important; color:#35563f!important; }
    html[data-surface="admin"] .side .side-main-nav a[aria-current="page"] { border:1px solid #cbdcc8; background:#e3eddd!important; color:#2e593e!important; font-weight:800!important; }
    html[data-surface="admin"] .side .side-main-nav a[aria-current="page"] .nav-icon { background:#386653!important; color:#fff!important; }
    html[data-surface="admin"] .side .side-foot { flex-shrink:0; margin:0; padding:12px 0 0; }
    html[data-surface="admin"] .side .side-foot nav { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
    html[data-surface="admin"] .side .side-foot form { margin:0; }
    html[data-surface="admin"] .side .side-foot :is(a,button) { gap:5px; padding:7px; font-size:12px; }
    html[data-surface="admin"] .side nav :is(a,button):focus-visible { outline:2px solid #648971; outline-offset:-2px; }
    html[data-surface="admin"][data-theme="dark"] .side { background:#28232a!important; }
    html[data-surface="admin"][data-theme="dark"] .side .side-main-nav { scrollbar-color:#425449 transparent; }
    html[data-surface="admin"][data-theme="dark"] .side .nav-group { color:#a8bbae!important; }
    html[data-surface="admin"][data-theme="dark"] .side .nav-icon { color:#afc5b6!important; }
    html[data-surface="admin"][data-theme="dark"] .side nav a:hover,html[data-surface="admin"][data-theme="dark"] .side nav button:hover { background:#2e3d33!important; color:#cbe3d1!important; }
    html[data-surface="admin"][data-theme="dark"] .side .side-main-nav a[aria-current="page"] { background:#304738!important; border-color:#4c6d56; color:#d5eddd!important; }
    html[data-surface="admin"][data-theme="dark"] .side .side-main-nav a[aria-current="page"] .nav-icon { background:#41644f!important; color:#d5eddd!important; }
}
@media(prefers-reduced-motion:reduce) { html[data-surface="admin"] .side nav :is(a,button) { transition:none; } }
/* Compact mobile header: brand and theme share one row; search stays below. */
@media screen and (max-width:850px) {
    html[data-surface="public"] .header .header-row { justify-content:space-between; gap:8px 12px; padding:10px 0 12px; }
    html[data-surface="public"] .header .header-row>.brand { order:0; flex:1 1 0; width:auto; min-width:0; min-height:44px; justify-content:flex-start; }
    html[data-surface="public"] .header .brand img { max-width:100%; max-height:40px; object-position:left center; }
    html[data-surface="public"] .header .header-search { order:2; flex:0 0 100%; }
    html[data-surface="public"] .header-row>.theme-toggle { order:1; margin-left:auto; }
}
/* Icon-only switch follows the current surface brand without recoloring the panel. */
@media screen {
    .theme-toggle { --toggle-brand:var(--site-primary,var(--red,#245c43)); position:relative; flex:0 0 61.2px; width:61.2px; height:37.4px; min-height:37.4px; padding:0; border:1px solid color-mix(in srgb,var(--toggle-brand) 45%,#fff); border-radius:999px; background:color-mix(in srgb,var(--toggle-brand) 20%,#fff); cursor:pointer; box-shadow:none; -webkit-tap-highlight-color:transparent; }
    .theme-toggle::before { display:none; }
    .theme-toggle::after { content:""; position:absolute; left:3.4px; top:3.4px; width:28.9px; height:28.9px; box-sizing:border-box; border-radius:50%; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23946912' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4' fill='%23ffe9a6'/%3E%3Cpath d='M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.4 1.4m11.2 11.2L19 19M5 19l1.4-1.4M17.6 6.4L19 5'/%3E%3C/svg%3E") center/19.55px no-repeat; box-shadow:0 1px 4px #0002; transition:transform .2s ease; }
    .theme-toggle[aria-pressed="true"] { background:var(--toggle-brand); }
    .theme-toggle[aria-pressed="true"]::after { transform:translateX(23.8px); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23607f72' d='M20.5 14.1A8.6 8.6 0 019.9 3.5a9 9 0 1010.6 10.6z'/%3E%3C/svg%3E"); }
    .theme-toggle:focus-visible { outline:3px solid var(--ui-primary,#386653); outline-offset:4px; }
    @media(max-width:850px) {
        .theme-toggle { flex-basis:57.8px; width:57.8px; }
        .theme-toggle[aria-pressed="true"]::after { transform:translateX(20.4px); }
    }
    @media(prefers-reduced-motion:reduce) { .theme-toggle::after { transition:none; } }
}
@media print { .theme-toggle { display:none!important; } }
