:root{--bg:#f4f6fa;--card:#fff;--ink:#1b2333;--muted:#667085;--line:#e4e7ec;--brand:#1f4e79;--brand2:#2e75b6;--ok:#12805c;--warn:#b54708;--bad:#c4320a;--chip:#eef2f8;--side:#13294b}
@media (prefers-color-scheme:dark){:root:not([data-mode=light]){--bg:#0f1420;--card:#171e2d;--ink:#e6eaf2;--muted:#98a2b3;--line:#2a3347;--chip:#222c40;--side:#0b1322;--brand2:#5b9bd5}}:root[data-mode=dark]{--bg:#0f1420;--card:#171e2d;--ink:#e6eaf2;--muted:#98a2b3;--line:#2a3347;--chip:#222c40;--side:#0b1322;--brand2:#5b9bd5}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.hidden{display:none!important}
#app{display:flex;min-height:100vh}
#side{width:228px;background:var(--side);color:#cfd8e8;flex-shrink:0;position:sticky;top:0;height:100vh;overflow:auto}
.brand{padding:18px 18px 14px;font-weight:700;font-size:17px;color:#fff;border-bottom:1px solid #ffffff1a}.brand span,.brand-lg span{display:block;font-weight:400;font-size:12px;opacity:.7}
.brand-lg{font-size:24px;font-weight:700;color:var(--brand2);margin-bottom:18px}
#nav a{display:flex;gap:10px;padding:9px 18px;color:inherit;text-decoration:none;border-left:3px solid transparent}
#nav a:hover{background:#ffffff10}#nav a.on{background:#ffffff18;color:#fff;border-left-color:#5b9bd5}
#nav .sec{padding:14px 18px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.5}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.grow{flex:1}#menuBtn{display:none}
.icon-btn{background:none;border:0;font-size:18px;cursor:pointer;position:relative;color:var(--ink)}
#bellCount{position:absolute;top:-4px;right:-8px;background:var(--bad);color:#fff;font-size:10px;border-radius:9px;padding:0 5px}
#bellCount:empty{display:none}
#view{padding:20px;max-width:1400px;width:100%}
h1{font-size:20px;margin:0 0 14px}h2{font-size:15px;margin:0 0 10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px}
.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}
.kpi .v{font-size:24px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.kpi .l{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.kpi.bad .v{color:var(--bad)}.kpi.warn .v{color:var(--warn)}.kpi.ok .v{color:var(--ok)}
.bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);min-width:0}
textarea{width:100%;min-height:90px}
.btn{font:inherit;padding:7px 13px;border-radius:7px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--brand2)}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.sm{padding:4px 9px;font-size:12px}.btn.danger{color:var(--bad)}
.btn.wa{background:#128c4a;color:#fff;border-color:#128c4a}
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--card)}
table{border-collapse:collapse;width:100%}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:var(--chip);font-size:12px;color:var(--muted);font-weight:600;position:sticky;top:0;white-space:nowrap}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}tr:hover td{background:#2e75b60a}
.chip{display:inline-block;padding:1px 8px;border-radius:10px;background:var(--chip);font-size:12px;white-space:nowrap}
.s-Pending,.s-Unpaid,.s-Queued,.s-Manual{background:#fef0c7;color:#93370d}.s-In.Progress,.s-Partly{background:#d1e9ff;color:#175cd3}
.s-Filed,.s-Completed,.s-Paid,.s-Sent,.s-Delivered,.s-Read,.s-OK{background:#d1fadf;color:#05603a}.s-Overdue,.s-Failed,.s-ERROR{background:#fee4e2;color:#b42318}
.muted{color:var(--muted)}.small{font-size:12px}.err{color:var(--bad)}
.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:min(380px,100%);display:grid;gap:12px}
label{display:grid;gap:4px;font-size:12px;color:var(--muted)}label input,label select,label textarea{color:var(--ink);font-size:14px}
.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.form .wide{grid-column:1/-1}
.chk{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:14px}
.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;z-index:20;padding:16px}
.modal-box{background:var(--card);border-radius:12px;padding:20px;width:min(820px,100%);max-height:90vh;overflow:auto}
.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
#toast{position:fixed;bottom:18px;right:18px;z-index:30;display:grid;gap:6px}
#toast div{background:var(--ink);color:var(--bg);padding:9px 14px;border-radius:8px;box-shadow:0 4px 14px #0003}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}
.tabs a{padding:8px 14px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}.tabs a.on{color:var(--brand2);border-bottom-color:var(--brand2);font-weight:600}
.chart{display:flex;align-items:flex-end;gap:14px;height:180px;padding-top:10px}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}
.chart .bars{display:flex;gap:3px;align-items:flex-end;height:100%;width:100%;justify-content:center}
.chart .b{width:40%;max-width:22px;border-radius:4px 4px 0 0;min-height:2px}.b1{background:var(--brand2)}.b2{background:#12a06e}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.hbar{height:8px;background:var(--chip);border-radius:4px;overflow:hidden;display:flex}.hbar span{display:block;height:100%}
code,pre{font-family:ui-monospace,Consolas,monospace;font-size:12px}pre{background:var(--chip);padding:10px;border-radius:8px;overflow:auto;white-space:pre-wrap}
.notif{padding:10px 0;border-bottom:1px solid var(--line)}.notif.unread b{color:var(--brand2)}
@media (max-width:820px){#side{position:fixed;left:-240px;z-index:15;transition:left .2s}#side.open{left:0}#menuBtn{display:block}#view{padding:14px 16px}#who{display:none}.g2{grid-template-columns:1fr}#firmSel{max-width:150px}}

/* Review workflow */
.s-Under,.s-Submitted,.s-Forwarded{background:#ebe9fe;color:#5925dc}.s-Rework,.s-Returned,.s-Reassigned{background:#fee4e2;color:#b42318}.s-Approved{background:#d1fadf;color:#05603a}
.s-Open,.s-Hearing{background:#fef0c7;color:#93370d}.s-Partner,.s-Appeal{background:#ebe9fe;color:#5925dc}.s-Responded,.s-Note,.s-Document,.s-Assigned,.s-Received{background:#d1e9ff;color:#175cd3}.s-Resolved{background:#d1fadf;color:#05603a}.s-Dropped{background:var(--chip);color:var(--muted)}
.kpi.sel{outline:2px solid var(--brand2)}.warn-t{color:var(--warn)}
#timerBar{position:fixed;left:16px;bottom:16px;z-index:60;background:var(--card);border:2px solid var(--brand2);border-radius:10px;padding:6px 10px;display:flex;gap:8px;align-items:center;box-shadow:0 4px 16px #0003;max-width:calc(100vw - 32px);font-size:13px}#timerBar span{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.grid>*{min-width:0}
/* ---------- App shell: dark side menu with sections & badges, white top bar with search / + New / timer / user ---------- */
:root{--side:#10292a;--side-ink:#c6d5d2;--side-mute:#7f9a96;--side-hi:#1c4541;--accent:#0f766e;--accent2:#14b8a6;--accent-soft:#e0f2ef;--brand2:#0f766e;--brand:#10292a;--bg:#f4f6f5;--top:#fff;--badge:#2b6d65}
@media (prefers-color-scheme:dark){:root:not([data-mode=light]){--side:#0a1818;--side-hi:#173a37;--accent:#2dd4bf;--accent2:#2dd4bf;--accent-soft:#12302d;--brand2:#2dd4bf;--brand:#2b4f86;--bg:#0f1515;--card:#152020;--chip:#1d2b2b;--line:#263636;--top:#121c1c}}:root[data-mode=dark]{--side:#0a1818;--side-hi:#173a37;--accent:#2dd4bf;--accent2:#2dd4bf;--accent-soft:#12302d;--brand2:#2dd4bf;--brand:#2b4f86;--bg:#0f1515;--card:#152020;--chip:#1d2b2b;--line:#263636;--top:#121c1c}
body{background:var(--bg)}
#side{width:240px;background:var(--side);color:var(--side-ink);border-right:0;transition:width .18s ease;overflow-x:hidden;display:flex;flex-direction:column}
.brand{height:64px;display:flex;align-items:center;gap:11px;padding:0 16px;border-bottom:1px solid #ffffff12;flex-shrink:0}
.logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent2),#0e7490);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:.5px;flex-shrink:0}
.brand-txt{min-width:0;display:flex;flex-direction:column}.brand-txt b{color:#fff;font-size:16px;line-height:1.1}
.brand-txt #firmSel{background:transparent;border:0;color:var(--side-mute);font-size:11.5px;padding:2px 0;max-width:170px;text-overflow:ellipsis}
.brand-txt #firmSel:disabled{appearance:none;-webkit-appearance:none;opacity:1}.brand-txt #firmSel option{color:#1b2333}
#nav{padding:6px 10px 12px;overflow-y:auto;flex:1}
#nav .sec{padding:16px 12px 6px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--side-mute);white-space:nowrap}
#nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;margin:1px 0;color:var(--side-ink);text-decoration:none;border-radius:8px;white-space:nowrap;font-size:14px;border-left:0}
#nav a:hover{background:#ffffff0d;color:#fff}#nav a.on{background:var(--side-hi);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--accent2)}
#nav .ico{width:19px;height:19px;flex-shrink:0;opacity:.85}#nav a.on .ico{color:var(--accent2);opacity:1}
.badge{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;min-width:20px;text-align:center;padding:1px 6px;border-radius:10px;background:var(--badge);color:#fff}.badge.red{background:#e5484d}
.collapse-btn{display:flex;align-items:center;gap:10px;margin:8px 10px 12px;padding:9px 12px;border:0;border-radius:8px;background:#ffffff0a;color:var(--side-mute);cursor:pointer;font:inherit;font-size:13px}
.collapse-btn:hover{background:#ffffff14;color:#fff}.collapse-btn svg{transition:transform .18s}
body.nav-mini #side{width:72px}body.nav-mini .brand{justify-content:center;padding:0}body.nav-mini .brand-txt{display:none}
body.nav-mini #nav .lbl,body.nav-mini .collapse-btn .lbl{display:none}body.nav-mini #nav a{justify-content:center;padding:11px 0;position:relative}
body.nav-mini #nav .sec{font-size:0;padding:0;margin:10px 14px;height:1px;background:#ffffff14}
body.nav-mini .badge{position:absolute;top:3px;right:6px;padding:0 4px;min-width:16px;font-size:9.5px}
body.nav-mini .collapse-btn{justify-content:center}body.nav-mini .collapse-btn svg{transform:rotate(180deg)}
.top{height:64px;background:var(--top);color:var(--ink);border-bottom:1px solid var(--line);padding:0 20px;gap:10px;z-index:12;box-shadow:none}
.top .icon-btn{color:var(--ink)}
.search-box{position:relative;display:flex;align-items:center;gap:8px;flex:1;max-width:560px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--muted)}
.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #14b8a62e;background:var(--card)}
.search-box input{border:0;background:transparent;flex:1;padding:10px 0;outline:0}
.gresults{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #0003;max-height:420px;overflow:auto;z-index:50;padding:4px}
.gresults a{display:grid;grid-template-columns:70px 1fr;column-gap:10px;padding:8px 10px;border-radius:7px;text-decoration:none;color:var(--ink)}
.gresults a small{grid-column:2;color:var(--muted);font-size:12px}.gresults a .chip{grid-row:span 2;align-self:center;text-align:center}
.gresults a:hover,.gresults a.on{background:var(--accent-soft)}
#timerSlot.on{display:flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent);border:1px solid #14b8a655;border-radius:10px;padding:5px 6px 5px 10px;font-size:13px}
#timerSlot span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
#timerBar{display:none}
.bell{position:relative;width:40px;height:40px;border-radius:10px;display:grid;place-items:center}.bell:hover{background:var(--chip)}
#bellCount{display:block;position:absolute;top:4px;right:4px;background:#e5484d;color:#fff;font-size:10px;border-radius:9px;padding:0 5px}#bellCount:empty{display:none}
.dd{position:relative}.dd-btn{cursor:pointer}
.avatar-btn{background:none;border:0;padding:0}.avatar{width:38px;height:38px;border-radius:50%;background:var(--side);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:.5px}
.dd-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #0003;padding:6px;z-index:40}
.dd.open .dd-menu{display:block}.dd-menu a{display:block;padding:8px 12px;color:var(--ink);text-decoration:none;font-size:14px;border-radius:7px}
.dd-menu a:hover{background:var(--accent-soft);color:var(--accent)}.dd-head{padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.dd-head b{display:block}.dd-head span{font-size:12px;color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.07)}
.tabs a.on{color:var(--accent);border-bottom-color:var(--accent)}
h1{font-size:21px;font-weight:650}
.card{border-radius:12px;box-shadow:0 1px 2px #10182808;border-color:var(--line)}.tbl-wrap{border-radius:12px}
th{background:var(--card);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}
tr:hover td{background:var(--accent-soft)!important}
.kpi{border-top:3px solid var(--accent2)}.kpi.bad{border-top-color:#e5484d}.kpi.warn{border-top-color:#f5a524}.kpi.ok{border-top-color:#30a46c}.kpi .v{color:var(--ink)}
.hello{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.hello-actions{display:flex;gap:8px;flex-wrap:wrap}
.myday h2{margin-bottom:8px}.md-row{display:grid;grid-template-columns:80px 1fr auto;column-gap:10px;padding:8px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);align-items:center}
.md-row small{grid-column:2;color:var(--muted)}.md-row .chip{grid-row:1/span 2;grid-column:3}.md-row>span:first-child{grid-row:1/span 2;font-size:12px;font-weight:600}.md-row:hover{background:var(--accent-soft)}
.cal{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cal-h,.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-h div{padding:8px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--line)}
.cal-cell{min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0}
.cal-cell:nth-child(7n){border-right:0}.cal-cell.out{background:var(--bg);cursor:default}.cal-cell:hover:not(.out){background:var(--accent-soft)}
.cal-d{font-size:12.5px;font-weight:600;display:flex;justify-content:space-between}.cal-n{font-size:10.5px;color:var(--muted);font-weight:500}
.cal-cell.today .cal-d{color:var(--accent)}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--accent2)}.cal-cell.late .cal-d{color:#e5484d}
.cal-ev{display:block;font-size:11.5px;padding:2px 6px;border-radius:5px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid}
.cal-ev.task{background:#e0f2ef;color:#0f5a54;border-color:#14b8a6}.cal-ev.notice{background:#fdecec;color:#9f1d22;border-color:#e5484d}.cal-ev.hearing{background:#fff4dc;color:#8a5a00;border-color:#f5a524}
.cal-ev.done{opacity:.5;text-decoration:line-through}.cal-more{font-size:11px;color:var(--muted)}
.cal-key{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.cal-key.task{background:#14b8a6}.cal-key.notice{background:#e5484d}.cal-key.hearing{background:#f5a524}
@media (prefers-color-scheme:dark){:root:not([data-mode=light]) .cal-ev.task{background:#12302d;color:#7ee0d2}:root:not([data-mode=light]) .cal-ev.notice{background:#3a1416;color:#ff9da0}:root:not([data-mode=light]) .cal-ev.hearing{background:#3a2a0d;color:#ffcf7a}}:root[data-mode=dark] .cal-ev.task{background:#12302d;color:#7ee0d2}:root[data-mode=dark] .cal-ev.notice{background:#3a1416;color:#ff9da0}:root[data-mode=dark] .cal-ev.hearing{background:#3a2a0d;color:#ffcf7a}
@media (max-width:1100px){#timerSlot span{display:none}}
@media (max-width:820px){#side{width:260px;left:-270px}body.nav-mini #side{width:260px}body.nav-mini #nav .lbl,body.nav-mini .brand-txt,body.nav-mini .collapse-btn .lbl{display:revert}
  body.nav-mini #nav a{justify-content:flex-start;padding:9px 12px}.collapse-btn{display:none}.top{padding:0 10px;gap:6px}.search-box input::placeholder{font-size:12px}
  #newDd .dd-btn{padding:7px 10px}.cal-cell{min-height:64px;padding:3px}.cal-ev{font-size:0;padding:0;height:6px;border-left-width:0}.cal-h div{padding:6px 2px;font-size:10px}.md-row{grid-template-columns:64px 1fr}.md-row .chip{display:none}}
.brand .logo{display:grid;font-size:14px;font-weight:800;opacity:1}a.btn{text-decoration:none;display:inline-flex;align-items:center}
.search-box{min-width:0}.search-box input{min-width:0;width:100%}
@media (max-width:820px){.search-box{max-width:none}.top .bell{width:34px}.avatar{width:34px;height:34px}.hello h1{font-size:19px}}
@media (max-width:480px){#newDd .dd-btn{font-size:0;padding:8px 12px}#newDd .dd-btn::before{content:'+';font-size:18px;line-height:1}}
/* ---------- v3 shell: light side menu (daily work) + teal top bar (search, Communication / Office / Settings menus, + New, user) ---------- */
:root{--side:#ffffff;--side-ink:#2b3a38;--side-mute:#8a9a97;--side-hi:#e3f3f0;--topA:#0f4c47;--topB:#0d6b63}
@media (prefers-color-scheme:dark){:root:not([data-mode=light]){--side:#121c1c;--side-ink:#d3dedc;--side-mute:#7f9a96;--side-hi:#173a37;--topA:#0b2e2b;--topB:#0e423d}}:root[data-mode=dark]{--side:#121c1c;--side-ink:#d3dedc;--side-mute:#7f9a96;--side-hi:#173a37;--topA:#0b2e2b;--topB:#0e423d}
#side{background:var(--side);color:var(--side-ink);border-right:1px solid var(--line);width:236px}
.brand{height:64px;border-bottom:1px solid var(--line)}
.brand-txt b{color:var(--side-ink)}.brand-txt #firmSel{color:var(--side-mute)}
#nav{padding:12px 12px}
#nav a{gap:12px;padding:7px 10px;margin:3px 0;border-radius:12px;color:var(--side-ink);font-size:14.5px;font-weight:500}
#nav a:hover{background:var(--bg);color:var(--side-ink)}
#nav a.on{background:var(--side-hi);color:var(--accent);box-shadow:none;font-weight:650}
.ico-box{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--bg);flex-shrink:0;transition:background .15s}
#nav .ico{width:18px;height:18px;opacity:1;color:var(--side-mute)}
#nav a:hover .ico-box{background:var(--card);box-shadow:0 1px 3px #0001}
#nav a.on .ico-box{background:var(--accent);box-shadow:0 3px 8px #0f766e40}#nav a.on .ico{color:#fff}
.nav-more{display:none}.nav-more .sec{padding:14px 10px 4px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--side-mute)}
.nav-more a{padding:8px 10px 8px 56px!important;font-size:13.5px!important;margin:0!important}
.collapse-btn{background:var(--bg);color:var(--side-mute);margin:8px 12px 14px}.collapse-btn:hover{background:var(--side-hi);color:var(--accent)}
body.nav-mini #side{width:76px}body.nav-mini #nav a{padding:6px 0;justify-content:center}body.nav-mini .badge{top:0;right:4px}
.top{background:linear-gradient(90deg,var(--topA),var(--topB));color:#fff;border-bottom:0;box-shadow:0 2px 8px #0f4c4730}
.top .icon-btn,.top .bell{color:#fff}.top .bell:hover{background:#ffffff1f}
.top .search-box{background:#ffffff1a;border-color:#ffffff30;color:#d8efec;max-width:380px}.top .search-box input{color:#fff}.top .search-box input::placeholder{color:#cfe7e3}
.top .search-box:focus-within{background:#fff;border-color:#fff;color:var(--muted)}.top .search-box:focus-within input{color:#1b2333}.top .search-box:focus-within input::placeholder{color:#8a9a97}
.tmenus{display:flex;gap:2px;margin-left:6px}
.tm{display:flex;align-items:center;gap:7px;background:none;border:0;color:#e6f4f2;font:inherit;font-size:14px;font-weight:600;padding:8px 11px;border-radius:9px;white-space:nowrap}
.tm .ico{width:17px;height:17px;opacity:.9}.tm:hover,.dd.open .tm,.tm.on{background:#ffffff1f;color:#fff}.tm .caret{font-size:10px;opacity:.7}.tm .badge{margin-left:0}
.dd-menu a{display:flex;align-items:center;justify-content:space-between;gap:10px}
#newDd .dd-btn{background:#fff;color:var(--topA);border-color:#fff;font-weight:700}#newDd .dd-btn:hover{filter:none;background:#e6f4f2}
.avatar{background:#ffffff26;color:#fff;border:2px solid #ffffff55}
#timerSlot.on{background:#ffffff1f;border-color:#ffffff40;color:#fff}#timerSlot span{color:#e6f4f2}#timerSlot .btn{border-color:#ffffff55}
#timerSlot .btn.primary{background:#fff;color:var(--topA)}#timerSlot .btn:not(.primary){background:transparent;color:#fff}
@media (max-width:1240px){.tm span:not(.caret){display:none}.tm{padding:8px 9px}}
@media (max-width:1000px){.tmenus{display:none}.nav-more{display:block}}
@media (max-width:820px){.nav-more{display:block}.top .search-box{max-width:none}}

/* ---------- Themes: colours come from --accent / --topA / --topB … set by applyTheme() ---------- */
.logo{background:linear-gradient(135deg,var(--accent2),var(--topB))}
#nav a.on .ico-box{box-shadow:0 3px 8px color-mix(in srgb,var(--accent) 35%,transparent)}
.search-box:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent2) 25%,transparent)}
.top{box-shadow:0 2px 8px color-mix(in srgb,var(--topA) 25%,transparent)}
.badge{background:var(--accent)}.badge.red{background:#e5484d}
body.side-colour #side{background:linear-gradient(180deg,var(--topA),color-mix(in srgb,var(--topA) 85%,#000));border-right:0;color:#e8f0ef}
body.side-colour .brand{border-bottom-color:#ffffff1a}body.side-colour .brand-txt b{color:#fff}body.side-colour .brand-txt #firmSel{color:#ffffffaa}
body.side-colour #nav a{color:#e4ecea}body.side-colour #nav a:hover{background:#ffffff14;color:#fff}
body.side-colour #nav a.on{background:#ffffff22;color:#fff}body.side-colour .ico-box{background:#ffffff14}body.side-colour #nav .ico{color:#ffffffcc}
body.side-colour #nav a.on .ico-box{background:#fff}body.side-colour #nav a.on .ico{color:var(--topA)}
body.side-colour .collapse-btn{background:#ffffff14;color:#ffffffbb}body.side-colour .nav-more .sec{color:#ffffff88}
body.compact th,body.compact td{padding:5px 8px}body.compact #nav a{padding:4px 10px;margin:1px 0}body.compact .ico-box{width:30px;height:30px}
body.compact .card{padding:12px}body.compact #view{padding:14px 18px}body.compact .kpi .v{font-size:21px}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.swatch{border:2px solid var(--line);border-radius:12px;background:var(--card);padding:0 0 8px;cursor:pointer;overflow:hidden;text-align:center;color:var(--ink);font:inherit}
.swatch.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.sw-top{display:block;height:20px}.sw-body{display:flex;align-items:center;gap:6px;padding:10px 10px 6px}.sw-dot{width:18px;height:18px;border-radius:6px;flex-shrink:0}.sw-bar{flex:1;height:10px;border-radius:5px}
.swatch b{font-size:13px;font-weight:600}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex-wrap:wrap}.seg button{border:0;background:var(--card);color:var(--ink);padding:8px 12px;font:inherit;font-size:13px;cursor:pointer;border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}.seg button.on{background:var(--accent);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-mode=light]){--bg:#111418;--card:#181c22;--chip:#222831;--line:#2b323c;--side:#15191f;--top:#15191f}}
:root[data-mode=dark]{--bg:#111418;--card:#181c22;--chip:#222831;--line:#2b323c;--side:#15191f;--top:#15191f;--ink:#e6eaf2;--muted:#98a2b3}
