/* GT PRO - theme system (build 2026.11.05.126)
   Light = deep sand / parchment, deep-teal ink, bronze-gold accents.
   Dark  = emerald-black, warm cream text, bright gold accents.
   data-theme is set on <html> by /theme-init.js before first paint (stored choice, else prefers-color-scheme).
   Section 1: semantic tokens. Section 2: logo colours. Section 3: component rules. Section 4: generated long-tail palette
   (every former hard-coded colour in style.css / ui-extras.css became a --bg-/--tx-/--bd-<original hex> token). */

/* ---------- 1. semantic tokens ---------- */
:root{
 color-scheme:light;
 --paper:#e8dbbf;--surface:#f8f2e3;--white:#f8f2e3;--surface-2:#f1e8d2;--surface-3:#e9ddc2;--overlay:#0d1528cc;
 --ink:#1b2438;--ink-2:#38435c;--muted:#555c6e;--line:#d6c7a3;--line-2:#c7b58c;
 --green:#d2b374;--green-dark:#b8934b;--green-ink:#7a5714;--mint:#efe3c4;--on-green:#1b2438;--btn-edge:#8f6a1c;--ok-bg:#dfead6;--ok-ink:#1f6b45;--ok-bd:#a9d8bf;
 --gold:#b08a3e;--gold-ink:#715110;--gold-soft:#e7d3a0;
 --red:#b23a33;--red-ink:#a3322b;--red-bg:#f5d9d3;
 --amber:#8f5a0a;--amber-ink:#7f4e06;--amber-bg:#f3e0b3;
 --focus:#8a6410;--field-edge:#8a8068;--shadow:0 12px 34px #5a431b24;--shadow-lg:0 24px 60px #3d2b0f33;
 --scroll-thumb:#b8a577;--sel-bg:#d9b861;--sel-fg:#1b2438;
 --tl-green:#2a7a52;--tl-green-d:#1f6b45;--tl-orange:#ac500a;--tl-red:#c62f2f;--tl-grey:#d9ccb0;
 --splash-bg:radial-gradient(circle at 50% 42%,#f3e8cd 0,#e7d8b8 52%,#d5c196 100%);--splash-fg:#3a2c12;--splash-fg-2:#5b4a29;
 --theme-color:#e8dbbf;
}
html[data-theme=dark]{
 color-scheme:dark;
 --paper:#0a1020;--surface:#101a2e;--white:#101a2e;--surface-2:#16233b;--surface-3:#1d2d4a;--overlay:#050a14cc;
 --ink:#f0e7d2;--ink-2:#d8ceb8;--muted:#b3ab97;--line:#243352;--line-2:#34466b;
 --green:#c9a24a;--green-dark:#a9852f;--green-ink:#e6c98a;--mint:#1a2744;--on-green:#101828;--btn-edge:#a9852f;--ok-bg:#12301f;--ok-ink:#7fe0ae;--ok-bd:#2f5a3e;
 --gold:#d6ab4e;--gold-ink:#e6c46f;--gold-soft:#4a3b17;
 --red:#d85f58;--red-ink:#ff9b92;--red-bg:#3a1b19;
 --amber:#d49a2d;--amber-ink:#f1c36a;--amber-bg:#35270e;
 --field-edge:#566890;--focus:#e0b95c;--shadow:0 12px 34px #00000066;--shadow-lg:0 24px 60px #000000aa;
 --scroll-thumb:#34466b;--sel-bg:#a98631;--sel-fg:#fff7dc;
 --tl-green:#25825a;--tl-green-d:#7fe0ae;--tl-orange:#e8812a;--tl-red:#e45050;--tl-grey:#27365a;
 --splash-bg:radial-gradient(circle at 50% 42%,#1c2c4d 0,#0f1830 50%,#060b18 100%);--splash-fg:#f1e6cc;--splash-fg-2:#c9bf9f;
 --theme-color:#0a1020;
}

/* ---------- 2. logo colours (used by the inline SVG sprite) ---------- */
:root{--lg-bg1:#eee1c5;--lg-bg2:#dcc7a0;--lg-frame:#8f6a1c;--lg-rose:#8f6a1c;--lg-g1:#b8841f;--lg-g2:#94620f;--lg-g3:#6b4107;--lg-edge:#3f2605;--lg-hi:#fff3cd;--lg-sh:#2e1d04;--lg-seal1:#f7edd3;--lg-seal2:#e3d1a4;--lg-ring:#d2aa52;--lg-gt:#0b5a43;--lg-tag:#33260f;--lg-div:#8f6a1c;}
html[data-theme=dark]{--lg-bg1:#16233b;--lg-bg2:#070c18;--lg-frame:#c9a24a;--lg-rose:#c9a24a;--lg-g1:#f7e2a6;--lg-g2:#dcb256;--lg-g3:#a97a29;--lg-edge:#8c6420;--lg-hi:#fff7dc;--lg-sh:#000000;--lg-seal1:#1f3159;--lg-seal2:#0a1020;--lg-ring:#dab55e;--lg-gt:#f2d992;--lg-tag:#ecdfc3;--lg-div:#c9a24a;}

/* ---------- 3. components ---------- */
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--sel-bg);color:var(--sel-fg)}
*{scrollbar-color:var(--scroll-thumb) transparent}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px;border:3px solid transparent;background-clip:content-box}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
::placeholder{color:var(--muted);opacity:.75}
input,select,textarea{color:var(--ink);caret-color:var(--gold-ink)}
input:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 100px var(--surface-2) inset}
option,optgroup{background:var(--surface);color:var(--ink)}
input[type=file]::file-selector-button{margin-inline-end:10px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);border-radius:8px;padding:7px 12px;font:inherit;cursor:pointer}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--green)}
.panel,.metric,.task-card,.transaction-card,.auth-card,.modal,.metric-card,.notification-panel{background-color:var(--surface);color:var(--ink)}
.toast{background:#0b1222;color:#f7efdb;border:1px solid #d8bd7a55}
.modal-back{background:var(--overlay)}
.table th{color:var(--muted)}
.btn.primary,.btn.primary:hover{color:var(--on-green)}
html[data-theme=dark] .btn.primary{border-color:#a9852f}
html[data-theme=dark] .btn.danger{border-color:#6b2a27}
html[data-theme=dark] .btn,html[data-theme=dark] .soft-btn,html[data-theme=dark] .icon-btn{color:var(--ink-2)}
html[data-theme=dark] .btn.primary{color:var(--on-green)}
html[data-theme=dark] img.dark-dim,html[data-theme=dark] .maintenance-art{filter:brightness(.9) contrast(1.05)}
html[data-theme=dark] .pdf-viewer,html[data-theme=dark] .attachment-viewer{background:#03050a}
.theme-anim,.theme-anim *,.theme-anim *::before,.theme-anim *::after{transition:background-color .2s ease,color .2s ease,border-color .2s ease,fill .2s ease,stroke .2s ease,box-shadow .2s ease!important}
@media(prefers-reduced-motion:reduce){.theme-anim,.theme-anim *,.theme-anim *::before,.theme-anim *::after{transition:none!important}}

/* theme toggle: round sun <-> moon button, 44px hit area */
.theme-toggle{position:relative;flex:none;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;cursor:pointer;
 border:1px solid var(--line-2);background:linear-gradient(145deg,var(--surface),var(--surface-3));color:var(--gold-ink);
 box-shadow:0 2px 8px #3d2b0f1f,inset 0 1px 0 #ffffff55;-webkit-tap-highlight-color:transparent;transition:border-color .2s,box-shadow .2s,transform .2s}
.theme-toggle svg{width:24px;height:24px;overflow:visible}
.theme-toggle .tt-sun,.theme-toggle .tt-moon{transform-origin:12px 12px;transition:transform .55s cubic-bezier(.4,0,.2,1),opacity .35s ease}
.theme-toggle .tt-moon{opacity:0;transform:rotate(-100deg) scale(.3)}
html[data-theme=dark] .theme-toggle{background:linear-gradient(145deg,#101a31,#0a0f1c);box-shadow:0 2px 10px #000000aa,inset 0 1px 0 #ffffff14;color:#f0cf7d}
html[data-theme=dark] .theme-toggle .tt-sun{opacity:0;transform:rotate(100deg) scale(.3)}
html[data-theme=dark] .theme-toggle .tt-moon{opacity:1;transform:none}
@media(hover:hover){.theme-toggle:hover{border-color:var(--gold);box-shadow:0 4px 14px #b08a3e44}.theme-toggle:active{transform:scale(.94)}}
@media(prefers-reduced-motion:reduce){.theme-toggle .tt-sun,.theme-toggle .tt-moon{transition:none}}
.auth-theme{position:absolute;top:calc(14px + env(safe-area-inset-top));inset-inline-start:calc(14px + env(safe-area-inset-left));z-index:2}

/* brand lockups (inline SVG sprite, see index.html) */
.brand-logo{display:block;height:auto;flex:none}
.brand-logo.compact{width:min(176px,100%);aspect-ratio:164/64}
.brand-logo.full{width:clamp(132px,34vw,200px);aspect-ratio:1}
.splash-logo{width:min(74vw,320px);aspect-ratio:1;margin-bottom:-8px;animation:splashRise .7s ease both}
.crumb-logo{display:inline-block;width:46px;height:16px;vertical-align:-3px}
.wl-logo-svg{display:block;width:min(240px,70%);aspect-ratio:164/64;margin:0 auto}
.maintenance-brand .brand-logo{width:150px}
.brand .brand-logo{width:150px;margin-block:-4px}
html[data-theme=light] .mobile-splash{color:var(--splash-fg)}
.mobile-splash{background:var(--splash-bg)}
html[data-theme=light] .mobile-splash p{color:var(--splash-fg-2)}
html[data-theme=light] .mobile-splash strong{color:#7a5611}
html[data-theme=light] .mobile-splash small{color:#6a5a38}
html[data-theme=light] .mobile-splash:before,html[data-theme=light] .mobile-splash:after{border-color:#8f6a1c55}

/* ---------- 4. generated long-tail palette ---------- */
:root{ --bd-246542:#2e3b5b; --bd-a9d8bf:#cfc5b2; --bd-b7d4c4:#cec8bd; --bd-b9a06f:#b9a06f; --bd-b9d7c7:#d1cbbf; --bd-c4a66a:#c4a66a; --bd-cb716c:#cb716c; --bd-cdd5da:#d9d5ce; --bd-d7c79e:#d7c79e; --bd-d8bd7a:#d8bd7a; --bd-d8e5e2:#d3c4a6; --bd-d9c78f:#d9c78f; --bd-d9cba5:#d9cba5; --bd-d9e3de:#d3c4a6; --bd-dce8e2:#d5c6a9; --bd-dce9e1:#d5c7aa; --bd-dfe8e5:#d5c7ab; --bd-e1e7e0:#d5c7ab; --bd-e4e9e6:#d7c9ad; --bd-e5b3ae:#e5b3ae; --bd-e6ece8:#d8caaf; --bd-e7b8b4:#e7b8b4; --bd-e7d7b3:#e7d7b3; --bd-e8d8b6:#e8d8b6; --bd-e8e0cf:#e8e0cf; --bd-e9b7b4:#e9b7b4; --bd-eadfca:#eadfca; --bd-edf0ed:#dacdb4; --bd-efc68f:#efc68f; --bd-efce92:#efce92; --bd-eff2f0:#dbceb5; --bd-f0dfbd:#f0dfbd; --bd-f0f3f1:#dbcfb6; --bd-f1b5b1:#f1b5b1; --bd-f2b3b0:#f2b3b0; --bd-f2cbc8:#f2cbc8; --bd-f6cf9f:#f6cf9f; --bd-ffffff:#e1d6c1; --bg-15272f:#111b33; --bg-173d32:#15223f; --bg-1b3038:#15213e; --bg-203e46:#262e40; --bg-246542:#2e3b5b; --bg-d3dbe0:#e5d9c2; --bg-d5ddd8:#e5d9c1; --bg-d8dde3:#e6dbc5; --bg-d9ecec:#e8deca; --bg-dfede4:#e9e0cd; --bg-e4eee9:#ebe1cf; --bg-e5f0e9:#ebe2d1; --bg-e5f4ec:#ece3d2; --bg-e7eee8:#ebe2d1; --bg-e8f1ed:#ece3d2; --bg-e8f1f0:#ece3d2; --bg-eaf2fa:#efe7d6; --bg-edf2ef:#eee5d4; --bg-edf8f7:#efe7d6; --bg-eef3ee:#efe6d5; --bg-eef4f0:#efe6d5; --bg-f0e4c9:#f0e4c9; --bg-f1ead8:#f1ead8; --bg-f1f5f2:#efe7d7; --bg-f3e7c9:#f3e7c9; --bg-f3f7f6:#f0e8d9; --bg-f3f8f4:#f0e9d9; --bg-f3f8f5:#f0e9d9; --bg-f3faf6:#f1e9da; --bg-f4e2b7:#f4e2b7; --bg-f5f2e9:#f5f2e9; --bg-f5f8f6:#f1e9da; --bg-f5f8f7:#f1e9da; --bg-f5fbf7:#f1eadb; --bg-f6f8f6:#f1e9da; --bg-f6faf7:#f1eadb; --bg-f7f1e2:#f7f1e2; --bg-f7f2e8:#f7f2e8; --bg-f7f7f2:#f7f7f2; --bg-f7faf8:#f1eadc; --bg-f8f4ea:#f8f4ea; --bg-f8faf8:#f1eadc; --bg-f8faf8ed:#f1eadced; --bg-f9fbf9:#f2ebdd; --bg-f9fbfa:#f2ebdd; --bg-fae5e3:#fae5e3; --bg-fafcfb:#f2ebde; --bg-fbf8f0:#fbf8f0; --bg-fbfaf5:#fbfaf5; --bg-fcfdfc:#f3ecdf; --bg-fdeceb:#fdeceb; --bg-ffebe9:#ffebe9; --bg-fff1de:#fff1de; --bg-fff1e3:#fff1e3; --bg-fff2f0:#fff2f0; --bg-fff3e3:#fff3e3; --bg-fff3f1:#fff3f1; --bg-fff7f6:#fff7f6; --bg-fff8e9:#fff8e9; --bg-fff8eb:#fff8eb; --bg-fff9e9:#fff9e9; --bg-fff9f8:#fff9f8; --bg-fffaf0:#fffaf0; --bg-fffaf8:#fffaf8; --bg-fffdf7:#fffdf7; --bg-fffdf9:#fffdf9; --tx-102c36:#101a31; --tx-15272f:#10192f; --tx-17372f:#121d36; --tx-17382f:#121d37; --tx-193c38:#14203b; --tx-1b3038:#131e39; --tx-1f6b45:#273658; --tx-20372e:#14203c; --tx-243f43:#182647; --tx-263d3b:#172444; --tx-263d48:#19284c; --tx-284e59:#29344e; --tx-2e5552:#29344f; --tx-304a3c:#27314a; --tx-315f67:#2f3d5c; --tx-34454d:#29344e; --tx-395b4c:#2e3b5a; --tx-40574b:#2f3d5c; --tx-41584d:#2d3444; --tx-435a52:#2f3646; --tx-465f52:#313849; --tx-49655c:#343b4d; --tx-4a6859:#353d4f; --tx-4f645a:#353d4f; --tx-50645a:#353d50; --tx-507398:#434e68; --tx-52665b:#363f52; --tx-52685d:#373f53; --tx-527d82:#3f485e; --tx-546a5f:#384054; --tx-55421c:#55421c; --tx-596b62:#3a4357; --tx-5c7166:#3d465b; --tx-5d6b73:#3e475c; --tx-5d7166:#3d465c; --tx-5e7168:#3e475c; --tx-5e7467:#3e485e; --tx-62766c:#404a60; --tx-64748b:#525f7c; --tx-647771:#414b61; --tx-66796e:#424c63; --tx-667971:#424c63; --tx-687a70:#434d64; --tx-687b71:#434d65; --tx-697c73:#444e66; --tx-6e7e77:#465068; --tx-705f3b:#605233; --tx-712a26:#712a26; --tx-71817b:#48526b; --tx-718278:#48536c; --tx-71827c:#48536c; --tx-728278:#48536c; --tx-733a04:#733a04; --tx-735d36:#63502e; --tx-765813:#765813; --tx-796a4f:#685b44; --tx-79828c:#4d5974; --tx-7e8e86:#505c77; --tx-7f1a1a:#6d1616; --tx-805d22:#6e501d; --tx-813833:#6f302c; --tx-82928b:#525e7a; --tx-82938a:#525e7b; --tx-83938b:#525f7c; --tx-84601f:#72531b; --tx-86938b:#626e68; --tx-87918c:#636c68; --tx-87968f:#54617e; --tx-89978f:#556280; --tx-8a4505:#8a4505; --tx-8a9891:#566280; --tx-8c9b93:#586583; --tx-8f7042:#7b6039; --tx-966965:#815a57; --tx-9aa69f:#5f6d8e; --tx-9aa7a0:#5f6d8f; --tx-9b783b:#856733; --tx-9c1f1f:#861b1b; --tx-a13f35:#8a362e; --tx-a27c42:#8b6b39; --tx-a33e38:#8c3530; --tx-a46a20:#8d5b1c; --tx-a77c34:#906b2d; --tx-b6c0bb:#7381a2; --tx-bc4f49:#a4423c; --tx-c3a365:#b79147; --tx-d8ae5b:#d09d38; }
html[data-theme=dark]{ --bd-246542:#444f67; --bd-a9d8bf:#2b3241; --bd-b7d4c4:#2a303f; --bd-b9a06f:#5a4c31; --bd-b9d7c7:#292f3e; --bd-c4a66a:#594b30; --bd-cb716c:#57312f; --bd-cdd5da:#182647; --bd-d7c79e:#494028; --bd-d8bd7a:#51462c; --bd-d8e5e2:#162342; --bd-d9c78f:#4c4429; --bd-d9cba5:#473f26; --bd-d9e3de:#162443; --bd-dce8e2:#162240; --bd-dce9e1:#152240; --bd-dfe8e5:#152240; --bd-e1e7e0:#152240; --bd-e4e9e6:#15213e; --bd-e5b3ae:#432724; --bd-e6ece8:#14213d; --bd-e7b8b4:#412523; --bd-e7d7b3:#413823; --bd-e8d8b6:#403723; --bd-e8e0cf:#3b3220; --bd-e9b7b4:#412423; --bd-eadfca:#3b3220; --bd-edf0ed:#131f3a; --bd-efc68f:#473926; --bd-efce92:#473b26; --bd-eff2f0:#131e39; --bd-f0dfbd:#3d3421; --bd-f0f3f1:#131e38; --bd-f1b5b1:#3f2422; --bd-f2b3b0:#3f2322; --bd-f2cbc8:#3a211f; --bd-f6cf9f:#423524; --bd-ffffff:#101a31; --bg-15272f:#0d1527; --bg-173d32:#10192e; --bg-1b3038:#10192e; --bg-203e46:#121e37; --bg-246542:#182647; --bg-d3dbe0:#121e37; --bg-d5ddd8:#131e38; --bg-d8dde3:#121c35; --bg-d9ecec:#111b33; --bg-dfede4:#101a31; --bg-e4eee9:#10192f; --bg-e5f0e9:#10192e; --bg-e5f4ec:#0f182d; --bg-e7eee8:#10192e; --bg-e8f1ed:#0f182d; --bg-e8f1f0:#0f182d; --bg-eaf2fa:#0e162a; --bg-edf2ef:#0e172b; --bg-edf8f7:#0e1629; --bg-eef3ee:#0e172b; --bg-eef4f0:#0e172b; --bg-f0e4c9:#141e34; --bg-f1ead8:#121b30; --bg-f1f5f2:#0e1629; --bg-f3e7c9:#141d33; --bg-f3f7f6:#0e1629; --bg-f3f8f4:#0e1629; --bg-f3f8f5:#0e1629; --bg-f3faf6:#0d1527; --bg-f4e2b7:#152038; --bg-f5f2e9:#0e172c; --bg-f5f8f6:#0d1527; --bg-f5f8f7:#0d1527; --bg-f5fbf7:#0d1426; --bg-f6f8f6:#0d1527; --bg-f6faf7:#0d1426; --bg-f7f1e2:#0f182d; --bg-f7f2e8:#0f172c; --bg-f7f7f2:#0e1629; --bg-f7faf8:#0d1426; --bg-f8f4ea:#0e162a; --bg-f8faf8:#0d1426; --bg-f8faf8ed:#0d1426ed; --bg-f9fbf9:#0c1425; --bg-f9fbfa:#0c1425; --bg-fae5e3:#2c110f; --bg-fafcfb:#0c1425; --bg-fbf8f0:#0d1528; --bg-fbfaf5:#0d1527; --bg-fcfdfc:#0c1324; --bg-fdeceb:#290f0e; --bg-ffebe9:#29100e; --bg-fff1de:#0f182c; --bg-fff1e3:#0e162a; --bg-fff2f0:#27100d; --bg-fff3e3:#0e162a; --bg-fff3f1:#26100d; --bg-fff7f6:#250f0c; --bg-fff8e9:#0e1629; --bg-fff8eb:#0d1528; --bg-fff9e9:#0e1629; --bg-fff9f8:#24100c; --bg-fffaf0:#0d1527; --bg-fffaf8:#24130c; --bg-fffdf7:#0c1425; --bg-fffdf9:#0c1324; --tx-102c36:#ede9df; --tx-15272f:#ede9e0; --tx-17372f:#ebe6db; --tx-17382f:#ebe6db; --tx-193c38:#e9e4d8; --tx-1b3038:#e9e4d9; --tx-1f6b45:#dbd3bf; --tx-20372e:#e8e3d7; --tx-243f43:#e4ded0; --tx-263d3b:#e5dfd1; --tx-263d48:#e2dccc; --tx-284e59:#ded6c4; --tx-2e5552:#ddd5c3; --tx-304a3c:#dfd8c7; --tx-315f67:#d8ceb9; --tx-34454d:#ded6c4; --tx-395b4c:#d9d0bb; --tx-40574b:#d8cfb9; --tx-41584d:#d7ceb8; --tx-435a52:#d6cdb7; --tx-465f52:#d4cab3; --tx-49655c:#d2c7af; --tx-4a6859:#d1c6ad; --tx-4f645a:#d1c6ad; --tx-50645a:#d0c5ac; --tx-507398:#c3b594; --tx-52665b:#cfc4aa; --tx-52685d:#cfc4a9; --tx-527d82:#c8bb9d; --tx-546a5f:#cec2a7; --tx-55421c:#ebddc2; --tx-596b62:#ccc0a5; --tx-5c7166:#cabda1; --tx-5d6b73:#c9bd9f; --tx-5d7166:#cabda0; --tx-5e7168:#c9bda0; --tx-5e7467:#c9bc9e; --tx-62766c:#c7ba9b; --tx-64748b:#b7b1a4; --tx-647771:#c6b99a; --tx-66796e:#c5b898; --tx-667971:#c5b898; --tx-687a70:#c4b797; --tx-687b71:#c4b696; --tx-697c73:#c4b695; --tx-6e7e77:#c2b492; --tx-705f3b:#d5c8ae; --tx-712a26:#e4b1ae; --tx-71817b:#c0b28f; --tx-718278:#c0b18f; --tx-71827c:#c0b18f; --tx-728278:#c0b18f; --tx-733a04:#fcd3ac; --tx-735d36:#d8c8ac; --tx-765813:#f1dcaa; --tx-796a4f:#c6bba8; --tx-79828c:#bbac87; --tx-7e8e86:#baa984; --tx-7f1a1a:#eca4a4; --tx-805d22:#e7cda3; --tx-813833:#daa6a2; --tx-82928b:#b7a780; --tx-82938a:#b7a67f; --tx-83938b:#b7a67f; --tx-84601f:#e9cfa0; --tx-86938b:#b6a57e; --tx-87918c:#b6a57e; --tx-87968f:#b5a47c; --tx-89978f:#b4a37a; --tx-8a4505:#fbca9c; --tx-8a9891:#b4a279; --tx-8c9b93:#b3a177; --tx-8f7042:#cfb998; --tx-966965:#bda09d; --tx-9aa69f:#b2a076; --tx-9aa7a0:#b2a076; --tx-9b783b:#d5bb8f; --tx-9c1f1f:#e98f8f; --tx-a13f35:#d9928b; --tx-a27c42:#d0b58b; --tx-a33e38:#d78e8a; --tx-a46a20:#e8be89; --tx-a77c34:#dabb87; --tx-b6c0bb:#e5dfd1; --tx-bc4f49:#d38c88; --tx-c3a365:#d1b98a; --tx-d8ae5b:#e0be7b; }

/* ---------- 5. refinement layer (luxury polish: gold hairlines, layered shadows, calm motion; no layout changes) ---------- */
:root{
 --gold-hair:#b08a3e44;--gold-glow:#d6ab4e38;
 --shadow:0 1px 2px #5a431b14,0 6px 14px #5a431b10,0 18px 38px #5a431b12;
 --shadow-lg:0 2px 4px #3d2b0f1a,0 14px 30px #3d2b0f22,0 30px 70px #3d2b0f26;
 --r-card:16px;--r-ctl:11px;--ease:cubic-bezier(.3,.7,.3,1);
}
html[data-theme=dark]{
 --gold-hair:#d6ab4e30;--gold-glow:#e0b95c40;
 --shadow:0 1px 0 #ffffff08 inset,0 2px 4px #00000050,0 14px 34px #00000066;
 --shadow-lg:0 2px 6px #00000070,0 20px 50px #000000a0;
}
.panel,.metric,.task-card,.transaction-card,.metric-card,.request-metric,.notification-panel{border-color:var(--gold-hair);border-radius:var(--r-card)}
.metric,.request-metric,.task-card,.transaction-card{box-shadow:var(--shadow)}
html[data-theme=dark] .panel,html[data-theme=dark] .metric,html[data-theme=dark] .task-card,html[data-theme=dark] .transaction-card,html[data-theme=dark] .request-metric{background-image:linear-gradient(180deg,#ffffff07,transparent 46%)}
.panel-head,.modal-head{border-bottom-color:transparent;background-image:linear-gradient(90deg,transparent,var(--gold-hair) 14%,var(--gold-hair) 86%,transparent);background-size:100% 1px;background-position:bottom;background-repeat:no-repeat}
.modal-head{padding-bottom:14px}
.table th,.table td{border-bottom-color:var(--line)}
.table tbody tr{transition:background-color .18s var(--ease)}
@media(hover:hover){.table tbody tr:hover{background:var(--surface-2)}}

/* controls */
.btn,.soft-btn,.icon-btn,.top-logout{border-radius:var(--r-ctl);border-color:var(--line-2);transition:background-color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}
.btn,.soft-btn{box-shadow:0 1px 2px #5a431b12}
html[data-theme=dark] .btn,html[data-theme=dark] .soft-btn{box-shadow:none}
@media(hover:hover){.btn:hover,.soft-btn:hover,.icon-btn:hover{border-color:var(--gold);box-shadow:0 4px 14px var(--gold-glow)}}
.btn:active,.soft-btn:active,.icon-btn:active{transform:translateY(1px)}
.btn.primary{background-image:linear-gradient(180deg,#ffffff1f,#ffffff00 55%);box-shadow:inset 0 0 0 1px #e3bd6255,0 6px 16px #252f4833;border-color:var(--btn-edge,var(--green-dark));letter-spacing:0}
@media(hover:hover){.btn.primary:hover{box-shadow:inset 0 0 0 1px #e3bd6288,0 8px 22px #252f483d}}
.btn.danger{border-radius:var(--r-ctl)}
input,select,textarea,.field input,.field select,.field textarea{border-color:var(--line-2);border-radius:var(--r-ctl);transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease)}
input:hover,select:hover,textarea:hover{border-color:var(--gold)}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-glow)}
.searchbox input{border-radius:999px}
.tag{letter-spacing:0}

/* navigation */
.mobile-nav{background:color-mix(in srgb,var(--surface) 97%,transparent);border-top:1px solid var(--gold-hair);box-shadow:0 -10px 30px #3d2b0f12}
html[data-theme=dark] .mobile-nav{box-shadow:0 -10px 30px #00000066}
.mobile-nav button{font-size:max(.72rem,11.5px);transition:color .18s var(--ease)}
.mobile-nav button.active{color:var(--gold-ink)}
.mobile-nav button span{font-size:1.15rem}
.nav-item{transition:background-color .18s var(--ease),color .18s var(--ease)}

/* dialogs and toast */
.modal-back{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.modal{border:1px solid var(--gold-hair);border-radius:20px;box-shadow:var(--shadow-lg)}
.toast{border-radius:14px;border-color:var(--gold-hair);box-shadow:var(--shadow-lg)}

/* typography rhythm */
.topbar h1{font-weight:700;letter-spacing:0;line-height:1.3}
.section-title h2{letter-spacing:0;line-height:1.35}
.section-title p,.form-help,.hint{line-height:1.7}
.view>*+*{margin-top:0}
@media(max-width:700px){
 .field input,.field select,.field textarea,.searchbox input,.auth-card input,.auth-card select{font-size:1rem}
}

/* one icon style: 1.8 stroke line icons inside buttons */
.ui-ico{display:block;width:20px;height:20px;flex:none}
.soft-btn>span{display:inline-grid;place-items:center}
html[dir=rtl] .ico-out .ui-ico{transform:scaleX(-1)}

/* contrast: dim helper text on sand */
.metric-note,.mobile-splash small{color:var(--muted)}

@media(prefers-reduced-motion:reduce){
 .btn,.soft-btn,.icon-btn,input,select,textarea,.table tbody tr,.nav-item,.mobile-nav button{transition:none!important}
 .btn:active,.soft-btn:active,.icon-btn:active{transform:none}
}
.mobile-nav button:not(.active):not(.mobile-home){color:var(--muted)}
/* contrast fixes (WCAG AA) */
.auth-foot,.form-help,.searchbox span,.crumb{color:var(--muted)}
.crumb>span{color:var(--muted);opacity:.8}
html[data-theme=dark] .tl-circle{color:var(--muted)}
html[data-theme=dark] .tl-step.is-done .tl-circle,html[data-theme=dark] .tl-step.is-requester .tl-circle{color:#fff}
html[data-theme=dark] .tl-step.is-manager .tl-circle,html[data-theme=dark] .tl-home-alert.is-manager i{color:#1c1204}
html[data-theme=dark] .tl-step.is-requester .tl-circle,html[data-theme=dark] .tl-nav-dot{background:#c93a3a}
.gicon{display:block;width:1em;height:1em;flex:none}
.nav-item>span,.mobile-nav button>span,.mobile-home>span{display:inline-grid;place-items:center}
.nav-item svg{width:20px;height:20px}
.mobile-nav svg{width:22px;height:22px}
.mobile-nav .mobile-home svg{width:24px;height:24px}
.metric-icon svg{width:22px;height:22px}
.notice-icon svg{width:18px;height:18px}
.nav-item.active svg,.nav-item:hover svg{color:#e0b95c}
.mobile-nav button.active svg{color:var(--gold-ink)}
.mobile-nav .mobile-home svg{color:var(--gold-ink)}

/* ---------- 6. accessibility: input borders (3:1), skip link ---------- */
.select,.input,.status-select,.searchbox input,.field input,.field select,.field textarea,
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=button]):not([type=submit]):not([type=hidden]),select,textarea{border-color:var(--field-edge)}
.select:hover,.input:hover,.status-select:hover,.searchbox input:hover,.field input:hover,.field select:hover,.field textarea:hover,
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=button]):not([type=submit]):not([type=hidden]):hover,select:hover,textarea:hover,
.select:focus,.input:focus,.status-select:focus,.searchbox input:focus,.field input:focus,.field select:focus,.field textarea:focus,
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=button]):not([type=submit]):not([type=hidden]):focus,select:focus,textarea:focus{border-color:var(--gold)}
.skip-link{position:fixed;top:8px;inset-inline-start:8px;z-index:1000;padding:10px 16px;border-radius:var(--r-ctl,11px);background:var(--surface);color:var(--ink);border:2px solid var(--focus);font-weight:700;text-decoration:none;transform:translateY(-200%)}
.skip-link:focus,.skip-link:focus-visible{transform:none;outline:3px solid var(--focus);outline-offset:2px}
#view:focus{outline:none}
