[hidden]{display:none!important}
:root{
  color-scheme: light;
  --navy:#13203a; --navy-2:#1d2d4d; --navy-3:#2a3c60;
  --gold:#c9a063; --gold-2:#e5bb73; --gold-soft:#f7efe1;
  --ink:#16223a; --ink-2:#3b4660; --muted:#6c7489; --faint:#9aa1b2;
  --line:#e6e8ee; --line-2:#eef0f4;
  --bg:#f3f4f7; --card:#ffffff; --hover:#f7f8fb;
  --red:#c8413b; --red-bg:#fcebea; --amber:#b7791f; --amber-bg:#fdf3e1;
  --green:#2f7d52; --green-bg:#e5f3eb; --blue:#2b64a8; --blue-bg:#e8f0fa;
  --purple:#6a46b8; --purple-bg:#efe9fa; --grey:#5f6778; --grey-bg:#eef0f3;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:"Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
  --r:10px; --r-sm:7px;
  --shadow:0 1px 2px rgba(19,32,58,.05), 0 1px 1px rgba(19,32,58,.03);
  --shadow-lg:0 20px 50px rgba(19,32,58,.22);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}

/* ---------- Shell ---------- */
.app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100%}
.side{background:var(--navy);color:#cfd6e4;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px 16px;z-index:40}
.brand{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 0 22px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:14px}
.brand img{width:92px;height:auto}
.brand .one{font-family:var(--serif);font-weight:600;letter-spacing:.32em;font-size:12.5px;color:var(--gold-2);padding-left:.32em}
.nav{display:flex;flex-direction:column;gap:3px;flex:1;overflow:auto}
.nav button{display:flex;align-items:center;gap:13px;width:100%;background:none;border:0;color:#cfd6e4;padding:11px 14px;border-radius:9px;font-size:15px;text-align:left;position:relative}
.nav button svg{width:20px;height:20px;flex:none;opacity:.85}
.nav button:hover{background:rgba(255,255,255,.05);color:#fff}
.nav button.on{background:var(--navy-3);color:var(--gold-2);box-shadow:inset 3px 0 0 var(--gold)}
.nav .count{margin-left:auto;background:var(--gold);color:var(--navy);font-size:11.5px;font-weight:700;border-radius:20px;padding:1px 7px}
.nav .sec{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#7482a0;padding:14px 14px 5px}

.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(243,244,247,.92);backdrop-filter:blur(8px);display:flex;align-items:center;gap:14px;padding:12px 28px;border-bottom:1px solid var(--line)}
.top .burger{display:none}
.search{position:relative;flex:1;max-width:520px}
.search input{width:100%;height:40px;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:0 14px 0 40px}
.search svg{position:absolute;left:13px;top:11px;width:18px;height:18px;color:var(--muted)}
.results{position:absolute;top:46px;left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);max-height:380px;overflow:auto;padding:6px}
.results .grp{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);padding:8px 10px 4px}
.results button{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;padding:8px 10px;border-radius:7px;text-align:left}
.results button:hover{background:var(--hover)}
.top .spacer{flex:1}
.iconbtn{position:relative;width:40px;height:40px;border-radius:9px;border:1px solid transparent;background:none;display:grid;place-items:center;color:var(--ink-2)}
.iconbtn:hover{background:var(--card);border-color:var(--line)}
.iconbtn svg{width:21px;height:21px}
.dot{position:absolute;top:6px;right:6px;min-width:16px;height:16px;border-radius:10px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px;border:2px solid var(--bg)}
.me{display:flex;align-items:center;gap:10px;background:none;border:0;padding:4px 6px;border-radius:10px}
.me:hover{background:var(--card)}
.me b{font-family:var(--serif);font-size:16px;font-weight:600;display:block;line-height:1.1;text-align:left}
.me small{color:var(--muted);font-size:12px;display:block;text-align:left}
.pop{position:fixed;top:calc(58px + env(safe-area-inset-top,0px));right:24px;width:320px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;z-index:64;max-height:70vh;overflow:auto}
.pop h4{margin:6px 10px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);font-weight:600}
.pop .row{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;padding:8px 10px;border-radius:8px;text-align:left}
.pop .row:hover{background:var(--hover)}
.pop .row.on{background:var(--gold-soft)}
.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}

.page{padding:26px 28px 40px;display:flex;flex-direction:column;gap:20px;max-width:1560px;width:100%}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.head h1{font-family:var(--serif);font-weight:700;font-size:34px;line-height:1.1;margin:0;letter-spacing:-.01em;text-wrap:balance}
.head p{margin:4px 0 0;color:var(--ink-2);font-size:16px}
.head .tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---------- Cards & KPIs ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 10px;flex-wrap:wrap}
.card-h h2{font-family:var(--serif);font-weight:700;font-size:21px;margin:0}
.card-h h3{font-family:var(--serif);font-weight:600;font-size:18px;margin:0}
.card-b{padding:6px 20px 20px}
.link{background:none;border:0;color:var(--blue);font-weight:600;padding:0;font-size:13.5px}
.link:hover{text-decoration:underline}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kpi{display:flex;gap:16px;align-items:flex-start;padding:18px 20px}
.kpi .ic{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;flex:none}
.kpi .ic svg{width:26px;height:26px}
.kpi .lbl{font-size:15px;color:var(--ink-2)}
.kpi .val{font-family:var(--serif);font-weight:700;font-size:34px;line-height:1.05;margin-top:2px}
.kpi .val small{font-size:20px;margin-left:3px}
.kpi .delta{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;margin-top:3px;flex-wrap:wrap}
.up{color:var(--green);font-weight:600}.down{color:var(--red);font-weight:600}
.ic.blue{background:var(--blue-bg);color:var(--blue)}.ic.amber{background:var(--amber-bg);color:var(--amber)}
.ic.green{background:var(--green-bg);color:var(--green)}.ic.red{background:var(--red-bg);color:var(--red)}
.ic.purple{background:var(--purple-bg);color:var(--purple)}.ic.gold{background:var(--gold-soft);color:#9a7336}

.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.stack{display:flex;flex-direction:column;gap:20px}

/* ---------- Controls ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap}
.btn:hover{border-color:#cfd4df;background:var(--hover)}
.btn svg{width:17px;height:17px}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.primary:hover{background:var(--navy-2)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.btn.ok{background:var(--green);border-color:var(--green);color:#fff}
.btn.bad{background:var(--card);border-color:#efc2bf;color:var(--red)}
.btn.bad.solid{background:var(--red);border-color:var(--red);color:#fff}
.btn.sm{height:30px;padding:0 10px;font-size:13px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.inp,.sel,.ta{height:38px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:0 12px;min-width:0;width:100%}
.ta{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:1.45}
.sel{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c7489' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}
.inp:focus,.sel:focus,.ta:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,160,99,.18)}
.filters{display:grid;grid-template-columns:minmax(200px,1.6fr) repeat(4,minmax(130px,1fr));gap:10px;padding:4px 20px 14px}
.inp-ic{position:relative}.inp-ic svg{position:absolute;left:12px;top:10px;width:18px;height:18px;color:var(--muted)}.inp-ic .inp{padding-left:38px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:3px;gap:2px}
.seg button{border:0;background:none;height:30px;padding:0 13px;border-radius:6px;font-weight:600;font-size:13.5px;color:var(--ink-2)}
.seg button.on{background:var(--navy);color:#fff}

/* ---------- Pills ---------- */
.pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:6px;font-size:12.5px;font-weight:600;white-space:nowrap}
.p-red{background:var(--red-bg);color:var(--red)}.p-amber{background:var(--amber-bg);color:var(--amber)}
.p-green{background:var(--green-bg);color:var(--green)}.p-blue{background:var(--blue-bg);color:var(--blue)}
.p-purple{background:var(--purple-bg);color:var(--purple)}.p-grey{background:var(--grey-bg);color:var(--grey)}
.p-navy{background:var(--navy);color:var(--gold-2)}.p-gold{background:var(--gold-soft);color:#8a6630}
.p-urgent{background:var(--red);color:#fff}

/* ---------- Table ---------- */
.tbl-wrap{overflow-x:auto;padding:0 12px}
table.tbl{width:100%;border-collapse:collapse;min-width:900px}
.tbl th{text-align:left;font-weight:600;font-size:13.5px;color:var(--ink);background:#f6f7fa;padding:11px 10px;white-space:nowrap;border-bottom:1px solid var(--line)}
.tbl th:first-child{border-radius:8px 0 0 8px}.tbl th:last-child{border-radius:0 8px 8px 0}
.tbl th button{border:0;background:none;padding:0;font-weight:600;display:inline-flex;gap:4px;align-items:center}
.tbl th button svg{width:13px;height:13px;color:var(--muted)}
.tbl td.ttl{min-width:210px}
.tbl td{padding:10px;border-bottom:1px solid var(--line-2);vertical-align:middle;font-size:14px}
.tbl tr.rowlink:hover td{background:var(--hover);cursor:pointer}
.tbl .id{font-weight:600;color:var(--ink-2);white-space:nowrap}
.tbl .dt{white-space:nowrap;color:var(--ink-2);font-size:13.5px}
.tbl .dt small{display:block;color:var(--muted)}
.who{display:flex;align-items:center;gap:10px;min-width:170px}
.who b{font-weight:600;display:block;line-height:1.2}
.who small{color:var(--muted);font-size:12.5px}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;flex:none;letter-spacing:.02em}
.av.sm{width:28px;height:28px;font-size:11px}.av.xs{width:22px;height:22px;font-size:9.5px}
.acts{display:flex;gap:6px}
.act{height:28px;padding:0 10px;border-radius:6px;border:0;font-size:12.5px;font-weight:600}
.act.o{background:var(--blue-bg);color:var(--blue)}.act.r{background:var(--green-bg);color:var(--green)}
.act.d{background:var(--red-bg);color:var(--red)}.act.d.confirm{background:var(--red);color:#fff}
.act.a{background:var(--grey-bg);color:var(--grey)}
.act:hover{filter:brightness(.96)}
.act[disabled]{opacity:.4;cursor:default}
.overdue-flag{white-space:nowrap;display:flex;align-items:center;gap:4px;color:var(--red);font-size:12px;font-weight:600;margin-top:2px}
.overdue-flag svg{width:12px;height:12px}
.tfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px 18px;color:var(--ink-2);flex-wrap:wrap}
.pager{display:flex;gap:6px}
.pager button{min-width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-weight:600}
.pager button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pager button[disabled]{opacity:.4}
.empty{padding:40px 20px;text-align:center;color:var(--muted)}
.empty b{display:block;color:var(--ink);font-family:var(--serif);font-size:18px;margin-bottom:4px}

/* ---------- Donut & lists ---------- */
.donut{display:flex;align-items:center;gap:18px;padding:4px 20px 20px;flex-wrap:wrap}
.donut svg{width:170px;height:170px;flex:none}
.legend{display:flex;flex-direction:column;gap:12px;flex:1;min-width:130px}
.legend div{display:flex;align-items:center;gap:10px;font-size:14.5px}
.legend i{width:13px;height:13px;border-radius:50%;flex:none}
.legend b{margin-left:auto;font-variant-numeric:tabular-nums}
.feed{display:flex;flex-direction:column}
.feed .it{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.feed .it:last-child{border-bottom:0}
.feed .fi{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none}
.feed .fi svg{width:16px;height:16px}
.feed .tx{flex:1;font-size:13.5px;line-height:1.35;min-width:0}
.feed .tx q{display:block;color:var(--muted);quotes:"\201C" "\201D"}
.feed time{font-size:12px;color:var(--muted);white-space:nowrap}
.sla{background:#fdf1f0;border-color:#f6d5d2}
.sla .card-h h3{color:#7c211c}
.sla .big{display:flex;align-items:center;gap:16px;padding:4px 20px 18px}
.sla .big .ic{width:54px;height:54px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--red);border:1px solid #f3cfcb}
.sla .big .n{font-family:var(--serif);font-weight:700;font-size:40px;color:var(--red);line-height:1}
.sla ul{list-style:none;margin:0;padding:0 20px 16px;display:flex;flex-direction:column;gap:8px}
.sla li button{width:100%;display:flex;justify-content:space-between;gap:10px;background:#fff;border:1px solid #f3dcd9;border-radius:8px;padding:8px 10px;text-align:left;font-size:13px}
.sla li button span:last-child{color:var(--red);font-weight:600;white-space:nowrap}

/* ---------- Drawer & modal ---------- */
.scrim{position:fixed;inset:0;background:rgba(19,32,58,.38);z-index:60;animation:fade .15s ease}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(640px,100%);background:var(--bg);z-index:61;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slide .2s ease}
.drawer-h{background:var(--card);border-bottom:1px solid var(--line);padding:18px 22px;padding-top:calc(18px + env(safe-area-inset-top,0px));display:flex;gap:14px;align-items:flex-start}
.drawer-h .t{flex:1;min-width:0}
.drawer-h .eyebrow{font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:.04em}
.drawer-h h2{font-family:var(--serif);font-size:24px;margin:2px 0 8px;line-height:1.2;text-wrap:balance}
.drawer-h .pills{display:flex;gap:6px;flex-wrap:wrap}
.drawer-b{flex:1;overflow:auto;padding:18px 22px 30px;display:flex;flex-direction:column;gap:16px}
.drawer-f{background:var(--card);border-top:1px solid var(--line);padding:14px 22px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.close{width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;flex:none}
.close svg{width:18px;height:18px}
.meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:16px 18px}
.meta .k{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.meta .v{font-size:14.5px}
.section-t{font-family:var(--serif);font-weight:600;font-size:17px;margin:0 0 8px}
.desc{white-space:pre-wrap;padding:16px 18px;margin:0;font-size:14.5px}
.thread{display:flex;flex-direction:column;gap:12px}
.msg{display:flex;gap:10px}
.msg .bub{flex:1;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 13px;min-width:0}
.msg.mine .bub{background:#fbf6ec;border-color:#efe0c4}
.msg .bub header{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted);margin-bottom:4px}
.msg .bub header b{color:var(--ink);font-size:13.5px}
.msg .bub p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.sys{justify-content:center;font-size:12.5px;color:var(--muted)}
.files{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.files img{width:110px;height:78px;object-fit:cover;border-radius:7px;border:1px solid var(--line);cursor:zoom-in}
.chipfile{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;padding:4px 9px;font-size:12.5px;background:var(--card)}
.composer{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.composer .ta{border:0;box-shadow:none;padding:4px 2px;min-height:60px}
.composer .bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.composer .bar .grow{flex:1}
.attach-l{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-weight:600;font-size:13px;cursor:pointer;padding:6px 8px;border-radius:7px}
.attach-l:hover{background:var(--hover)}
.attach-l svg{width:16px;height:16px}
.attach-l input{display:none}
.pending-files{display:flex;gap:6px;flex-wrap:wrap}
.modal{position:fixed;inset:0;z-index:62;display:grid;place-items:center;padding:16px;pointer-events:none}
.modal .box{pointer-events:auto;background:var(--card);border-radius:14px;box-shadow:var(--shadow-lg);width:min(620px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;animation:pop .18s ease}
.modal .box-h{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.modal .box-h h2{font-family:var(--serif);font-size:22px;margin:0}
.modal .box-b{padding:18px 22px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.modal .box-b .full{grid-column:1/-1}
.modal .box-f{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}
.err{color:var(--red);font-size:13px}
.lightbox{position:fixed;inset:0;background:rgba(10,16,30,.85);z-index:70;display:grid;place-items:center;padding:20px}
.lightbox img{max-width:100%;max-height:90vh;border-radius:8px}
.toast{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:11px 18px;border-radius:10px;z-index:80;font-weight:600;box-shadow:var(--shadow-lg);display:flex;gap:8px;align-items:center;animation:pop .18s ease}
.toast svg{width:18px;height:18px;color:var(--gold-2)}
@keyframes fade{from{opacity:0}}
@keyframes slide{from{transform:translateX(30px);opacity:.4}}
@keyframes pop{from{transform:translateY(6px) scale(.98);opacity:.5}}

/* ---------- Calendar ---------- */
.cal-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 20px 12px}
.cal-bar h2{font-family:var(--serif);font-size:23px;margin:0 8px 0 0;min-width:170px}
.cal-bar .grow{flex:1}
.cal-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:10px;padding:0 20px 14px;align-items:end}
.legend-row{display:flex;gap:14px;flex-wrap:wrap;padding:0 20px 14px;font-size:12.5px;color:var(--ink-2)}
.legend-row span{display:inline-flex;align-items:center;gap:6px}
.legend-row i{width:10px;height:10px;border-radius:3px}
.cal-wrap{overflow-x:auto;padding:0 20px 20px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:840px}
.cal .dow{background:#f6f7fa;padding:9px 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line)}
.cal .day{min-height:122px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:6px 6px 8px;display:flex;flex-direction:column;gap:4px;background:var(--card);cursor:pointer;position:relative;text-align:left}
.cal .day:nth-child(7n){border-right:0}
.cal .day:hover{background:#fbfbfd}
.cal .day.out{background:#fafbfc}.cal .day.out .dn{color:var(--faint)}
.cal .day.sel{box-shadow:inset 0 0 0 2px var(--gold)}
.cal .day.drop{background:var(--gold-soft)}
.cal .dn{font-weight:700;font-size:13.5px;display:flex;justify-content:space-between;align-items:center;padding:0 2px 2px}
.cal .day.today .dn span{background:var(--navy);color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;margin:-2px}
.cal .dn em{font-style:normal;font-weight:600;font-size:11px;color:var(--muted)}
.chip{display:flex;align-items:center;gap:6px;border:0;border-radius:5px;padding:3px 7px;font-size:12px;font-weight:600;text-align:left;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid;line-height:1.35}
.chip .s{width:7px;height:7px;border-radius:50%;flex:none}
.chip .tt{overflow:hidden;text-overflow:ellipsis}
.chip:hover{filter:brightness(.97)}
.more{font-size:12px;color:var(--blue);font-weight:600;background:none;border:0;padding:1px 4px;text-align:left}
.week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;min-width:1080px}
.week .col{background:var(--card);border:1px solid var(--line);border-radius:10px;min-height:340px;display:flex;flex-direction:column}
.week .col.today{border-color:var(--gold)}
.week .col header{padding:10px 12px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:baseline}
.week .col header b{font-family:var(--serif);font-size:22px}
.week .col header span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.week .col .list{padding:8px;display:flex;flex-direction:column;gap:6px;flex:1}
.wcard{border:1px solid var(--line);border-left:3px solid;border-radius:8px;padding:8px 9px;background:var(--card);text-align:left;width:100%;display:flex;flex-direction:column;gap:5px}
.wcard b{font-size:13px;line-height:1.3}
.wcard .m{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.agenda{display:flex;flex-direction:column;gap:8px}
.agenda .it{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-left:3px solid;border-radius:9px;padding:10px 12px;width:100%;text-align:left}
.agenda .it:hover{background:var(--hover)}
.agenda .it .when{font-size:12.5px;color:var(--muted);width:56px;flex:none;font-weight:600}
.agenda .it .tx{flex:1;min-width:0}
.agenda .it .tx b{display:block;font-size:14px}
.agenda .it .tx small{color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:3px}

.list-day{font-family:var(--serif);font-weight:600;font-size:16px;margin:14px 0 4px;display:flex;gap:10px;align-items:baseline}
.list-day small{font-family:var(--sans);color:var(--muted);font-size:12.5px;font-weight:600}

/* ---------- Submissions (comments/photos/links) ---------- */
.subs{display:flex;flex-direction:column;gap:12px}
.sub{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.sub.approved{border-color:#bfe0cc}.sub.rejected{border-color:#f0c9c6}
.sub header{display:flex;gap:10px;align-items:center}
.sub header .n{flex:1;min-width:0;font-size:13px;color:var(--muted)}
.sub header .n b{color:var(--ink);font-size:14px}
.sub .body{white-space:pre-wrap;overflow-wrap:anywhere}
.sub .ph{width:100%;max-height:300px;object-fit:cover;border-radius:9px;border:1px solid var(--line);cursor:zoom-in}
.sub .lnk{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:10px 12px;color:var(--blue);text-decoration:none;font-weight:600;overflow-wrap:anywhere}
.sub .lnk svg{width:18px;height:18px;flex:none}
.sub .dec{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sub .reason{font-size:13px;background:var(--red-bg);color:#7c211c;border-radius:7px;padding:7px 10px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:2px}
.tabs button{border:0;background:none;padding:9px 12px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;gap:6px;align-items:center}
.tabs button.on{color:var(--ink);border-color:var(--gold)}
.tabs button svg{width:16px;height:16px}
.add-row{display:flex;gap:8px;flex-wrap:wrap}
.add-row .inp{flex:1;min-width:180px}
.workflow{display:flex;gap:0;overflow-x:auto;padding:14px 16px}
.workflow .st{flex:1;min-width:92px;text-align:center;font-size:11.5px;font-weight:600;color:var(--faint);position:relative;padding-top:22px}
.workflow .st:before{content:"";position:absolute;top:7px;left:0;right:0;height:2px;background:var(--line)}
.workflow .st:first-child:before{left:50%}.workflow .st:last-child:before{right:50%}
.workflow .st i{position:absolute;top:1px;left:50%;margin-left:-7px;width:14px;height:14px;border-radius:50%;background:var(--card);border:2px solid var(--line)}
.workflow .st.done{color:var(--ink-2)}.workflow .st.done i{background:var(--gold);border-color:var(--gold)}.workflow .st.done:before{background:var(--gold)}
.workflow .st.cur{color:var(--ink)}.workflow .st.cur i{background:var(--navy);border-color:var(--navy);box-shadow:0 0 0 4px rgba(201,160,99,.3)}
.workflow .st.rej i{background:var(--red);border-color:var(--red)}.workflow .st.rej{color:var(--red)}

/* ---------- Projects & misc ---------- */
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.proj{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border:1px solid var(--line);background:var(--card);border-radius:14px;box-shadow:var(--shadow)}
.proj:hover{border-color:#cdd2dd}
.proj .cover{height:112px;position:relative;display:flex;align-items:flex-end;padding:14px 16px;color:#fff}
.proj .cover .dev{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-weight:600}
.proj .cover h3{font-family:var(--serif);font-size:21px;margin:2px 0 0;line-height:1.15}
.proj .pb{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px}
.proj .row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.prog{height:6px;border-radius:4px;background:var(--line-2);overflow:hidden}
.prog i{display:block;height:100%;background:var(--gold);border-radius:4px}
.stack-av{display:flex}.stack-av .av{border:2px solid var(--card);margin-left:-8px}.stack-av .av:first-child{margin-left:0}
.hbars{display:flex;flex-direction:column;gap:12px}
.hbar{display:grid;grid-template-columns:150px minmax(0,1fr) 44px;gap:12px;align-items:center;font-size:13.5px}
.hbar .t{height:12px;background:var(--line-2);border-radius:6px;overflow:hidden}
.hbar .t i{display:block;height:100%;border-radius:6px}
.hbar b{text-align:right;font-variant-numeric:tabular-nums}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.mini{display:flex;flex-direction:column;gap:8px}
.mini button{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:9px 11px;text-align:left;width:100%}
.mini button:hover{background:var(--hover)}
.mini .tx{flex:1;min-width:0}
.mini .tx b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini .tx small{color:var(--muted);font-size:12px}
.hello{background:var(--navy);color:#fff;border-radius:14px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;position:relative;overflow:hidden}
.hello h1{font-family:var(--serif);font-size:30px;margin:0;font-weight:600}
.hello p{margin:4px 0 0;color:#c4ccdc}
.hello .tag{color:var(--gold-2);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.set-row{display:grid;grid-template-columns:1fr 140px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-2)}
.tagl{display:flex;gap:8px;flex-wrap:wrap}
.tagl span{display:inline-flex;gap:6px;align-items:center;background:var(--grey-bg);border-radius:6px;padding:4px 6px 4px 10px;font-size:13px;font-weight:600}
.tagl span button{border:0;background:none;color:var(--muted);padding:0 3px}
.note{font-size:12.5px;color:var(--muted)}
.demo-note{display:flex;gap:10px;align-items:center;background:var(--gold-soft);border:1px solid #ecdcbf;color:#6d5125;border-radius:10px;padding:10px 14px;font-size:13.5px}
.demo-note svg{width:18px;height:18px;flex:none}

/* ---------- Responsive ---------- */
@media (max-width:1700px){.grid-main{grid-template-columns:minmax(0,1fr)}.grid-main>.stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.filters,.cal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters>:first-child{grid-column:1/-1}.three{grid-template-columns:1fr}}
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;bottom:0;width:260px;height:100%;transform:translateX(-100%);transition:transform .2s ease;padding-top:calc(22px + env(safe-area-inset-top,0px))}
  .side.open{transform:none;box-shadow:var(--shadow-lg)}
  .top .burger{display:grid}
  .top{padding:10px 16px}
  .page{padding:18px 16px 32px}
  .two{grid-template-columns:1fr}
  .me .nm{display:none}
}
@media (max-width:600px){
  .kpis{grid-template-columns:1fr 1fr;gap:10px}
  .kpi{padding:14px}
  .kpi .ic{display:none}
  .kpi .val{font-size:28px}
  .head h1{font-size:27px}
  .filters,.cal-filters{grid-template-columns:1fr}
  .meta{grid-template-columns:1fr}
  .modal .box-b{grid-template-columns:1fr}
  .search{max-width:none}
  .pop{right:8px;left:8px;width:auto}
  .hbar{grid-template-columns:100px minmax(0,1fr) 36px}
  .tbl-wrap{padding:0 8px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Server app additions ---------- */
a{color:var(--blue)}
.nav a{display:flex;align-items:center;gap:13px;width:100%;color:#cfd6e4;padding:11px 14px;border-radius:9px;font-size:15px;text-decoration:none;position:relative}
.nav a svg{width:20px;height:20px;flex:none;opacity:.85}
.nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.nav a.on{background:var(--navy-3);color:var(--gold-2);box-shadow:inset 3px 0 0 var(--gold)}
a.btn{text-decoration:none}
.btn.link-btn{border:0;background:none;color:var(--blue);padding:0;height:auto}
.flashes{display:flex;flex-direction:column;gap:8px}
.flash{display:flex;gap:10px;align-items:flex-start;border-radius:10px;padding:11px 14px;font-size:14px;border:1px solid}
.flash svg{width:18px;height:18px;flex:none;margin-top:1px}
.flash.success{background:var(--green-bg);border-color:#bfe0cc;color:#1f5a3a}
.flash.error{background:var(--red-bg);border-color:#f0c9c6;color:#7c211c}
.flash.info{background:var(--gold-soft);border-color:#ecdcbf;color:#6d5125}
.menu{position:relative}
.menu>.pop{position:absolute;top:calc(100% + 8px);right:0}
.menu .pop[hidden]{display:none}
.pop a.row,.pop button.row{color:var(--ink);text-decoration:none;font-size:14px}
.pop form{margin:0}
.results a{display:flex;gap:10px;align-items:center;width:100%;padding:8px 10px;border-radius:7px;color:var(--ink);text-decoration:none}
.results a:hover,.results a.on{background:var(--hover)}
.feed q a{color:inherit}
.empty-sm{color:var(--muted);font-size:13.5px;padding:6px 0}
.who a{color:inherit;text-decoration:none}
.tbl td a.tlink{color:var(--ink);text-decoration:none;font-weight:500}
.tbl td a.tlink:hover{text-decoration:underline}
form.inline{display:inline}
.acts form{display:inline}
.act{cursor:pointer}
a.act{display:inline-flex;align-items:center;text-decoration:none}
.chip,.wcard,.agenda .it,.mini a{text-decoration:none;color:var(--ink)}
.mini a{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:9px 11px;text-align:left;width:100%}
.mini a:hover{background:var(--hover)}
.cal .day{cursor:default}
.cal .day a.dn{text-decoration:none;color:var(--ink)}
.cal .day a.fill{position:absolute;inset:0;z-index:0}
.cal .day>*:not(.fill){position:relative;z-index:1}
.more{text-decoration:none}
.proj{text-decoration:none;color:var(--ink)}
.page-narrow{max-width:860px}
.detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.detail-h{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.detail-h .eyebrow{font-size:12.5px;color:var(--muted);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.detail-h h1{font-family:var(--serif);font-size:30px;margin:4px 0 10px;line-height:1.15;text-wrap:balance}
.detail-h .pills{display:flex;gap:6px;flex-wrap:wrap}
.crumb{font-size:13.5px;color:var(--muted);text-decoration:none;display:inline-flex;gap:4px;align-items:center}
.crumb svg{width:15px;height:15px}
.side-card .card-b{display:flex;flex-direction:column;gap:14px}
.kv .k{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:1/-1}
.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:6px}
.help{font-size:12.5px;color:var(--muted)}
.drop-zone{border:1px dashed #cfd4df;border-radius:10px;padding:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fafbfc}
.drop-zone input[type=file]{font-size:13px;max-width:100%}
.reject-box{display:flex;flex-direction:column;gap:8px;border:1px solid #f0c9c6;background:#fff;border-radius:10px;padding:12px}
details.reject>summary{list-style:none;cursor:pointer}
details.reject>summary::-webkit-details-marker{display:none}
details.reject[open]>summary{display:none}
.confirm-del[data-armed]{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}
.files a.zoom{display:block}
.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;background:#f6f7fa;border:1px solid var(--line);border-radius:10px;padding:14px}
.qr{width:200px;height:200px;background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;padding:8px}
.qr svg,.qr img,.qr canvas{width:100%;height:auto}
.secret{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;background:#f6f7fa;border:1px solid var(--line);border-radius:8px;padding:8px 10px;word-break:break-all}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.tag-sec{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:600;color:var(--green)}
.tag-sec svg{width:15px;height:15px}
.donut-n{font-family:"Source Serif 4",Georgia,serif;font-size:26px;font-weight:700;fill:#16223a}
/* Auth pages */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 600px at 20% -10%,#2a3c60 0%,var(--navy) 55%,#0b1426 100%)}
.auth-card{width:min(420px,100%);background:var(--card);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:30px 30px 26px;display:flex;flex-direction:column;gap:16px}
.auth-card .brandbar{background:var(--navy);margin:-30px -30px 6px;padding:22px 20px 16px;border-radius:16px 16px 0 0;display:flex;flex-direction:column;align-items:center;gap:6px}
.auth-card .brandbar img{width:96px}
.auth-card .brandbar span{font-family:var(--serif);letter-spacing:.32em;color:var(--gold-2);font-size:12.5px;font-weight:600;padding-left:.32em}
.auth-logo{width:96px;align-self:center;background:var(--navy);border-radius:12px;padding:10px}
.auth-card h1{font-family:var(--serif);font-size:26px;margin:0}
.auth-card p{margin:0;color:var(--ink-2)}
.auth-card form{display:flex;flex-direction:column;gap:14px}
.auth-card .btn{justify-content:center;height:42px}
.auth-foot{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.auth-foot a{color:var(--muted)}
.code-inp{font-size:22px;letter-spacing:.3em;text-align:center;height:50px;font-variant-numeric:tabular-nums}
@media (max-width:1100px){.detail{grid-template-columns:1fr}}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}.detail-h h1{font-size:24px}.codes{grid-template-columns:1fr}}
.seg .segbtn{display:inline-flex;align-items:center;height:30px;padding:0 13px;border-radius:6px;font-weight:600;font-size:13.5px;color:var(--ink-2);text-decoration:none;cursor:pointer}
.seg .segbtn.on{background:var(--navy);color:#fff}
.seg label.segbtn input{position:absolute;opacity:0;width:1px;height:1px}
.seg label.segbtn:focus-within{outline:2px solid var(--gold);outline-offset:1px}
.tabs a{padding:9px 12px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;gap:6px;align-items:center;text-decoration:none}
.tabs a.on{color:var(--ink);border-color:var(--gold)}
.tabs a svg{width:16px;height:16px}
.tbl th a.th-sort{color:var(--ink);text-decoration:none;display:inline-flex;gap:4px;align-items:center}
.tbl th a.th-sort svg{width:13px;height:13px;color:var(--muted)}
.sla li a.sla-row{width:100%;display:flex;justify-content:space-between;gap:10px;background:#fff;border:1px solid #f3dcd9;border-radius:8px;padding:8px 10px;text-align:left;font-size:13px;color:var(--ink);text-decoration:none}
.sla li a.sla-row span:last-child{color:var(--red);font-weight:600;white-space:nowrap}
.stack .agenda .it .when{display:block;width:44px}
.pager{align-items:center;flex-wrap:wrap}
.toast{gap:0}
.sub .files img{width:100%;height:auto;max-height:340px;object-fit:cover}
.sub .files{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.dec{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.dec details.reject{flex:1;min-width:220px}
.dec details.reject[open]>summary{display:none}
.chipfile{text-decoration:none;color:var(--ink)}
.chipfile svg{width:14px;height:14px}
.chipfile small{color:var(--muted)}
.kpi .val{word-break:break-word}
.two>section,.three>section{min-width:0}

.mini .tx b{white-space:normal;overflow:visible;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mini a>.pill{flex:none}
/* ===== Dialer ===== */
.dl-tabs{flex-wrap:wrap;margin-top:-6px}
.dl-lead{padding:22px}
.dl-lead-h{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:flex-start}
.dl-lead-h h2{font-family:var(--serif);font-size:28px;margin:2px 0 4px}
.dl-lead-h .eyebrow{font-size:12.5px;color:var(--muted);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.dl-phone{font-size:22px;font-weight:700;letter-spacing:.02em;color:var(--ink)}
.dl-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.btn.dl-call{height:48px;padding:0 26px;font-size:17px;border-radius:10px}
.btn.dl-call svg{width:20px;height:20px}
.btn[aria-busy=true]{opacity:.6}
.dl-timer{display:inline-flex;gap:8px;align-items:center;margin-top:14px;background:var(--green-bg);color:var(--green);border-radius:8px;padding:6px 12px;font-weight:600}
.dot-live{width:9px;height:9px;border-radius:50%;background:var(--green);animation:pulse 1.2s infinite}
@keyframes pulse{50%{opacity:.3}}
.dl-outcome{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.dl-disps{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.dl-disp{position:relative;display:flex;align-items:center;min-height:46px;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:9px;padding:8px 12px;cursor:pointer;font-weight:600;font-size:14px;background:var(--card)}
.dl-disp input{position:absolute;opacity:0;width:1px;height:1px}
.dl-disp:hover{background:var(--hover)}
.dl-disp.on,.dl-disp:has(input:checked){background:color-mix(in srgb,var(--c) 14%,#fff);border-color:var(--c)}
.dl-disp:focus-within{outline:2px solid var(--gold);outline-offset:1px}
.dl-extra{margin-top:16px;font-size:13.5px}
.dl-extra summary{cursor:pointer;color:var(--blue);font-weight:600}
.dl-extra dl,.dl-kv{display:grid;grid-template-columns:minmax(90px,max-content) 1fr;gap:4px 14px;margin:10px 0 0}
.dl-extra dt,.dl-kv dt{color:var(--muted);font-weight:600}
.dl-extra dd,.dl-kv dd{margin:0;overflow-wrap:anywhere}
.dl-tl .it{align-items:flex-start}
.ic.grey-ic{background:var(--grey-bg);color:var(--grey)}
.dl-audio{display:block;margin-top:6px;height:34px;max-width:100%}
.dl-rec{margin-top:4px}
.dl-hours{display:grid;grid-template-columns:repeat(13,1fr);gap:6px;height:170px;align-items:end}
.dl-hours .h{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.dl-hours .h i{display:block;width:100%;background:var(--navy);border-radius:4px 4px 0 0;min-height:2px}
.dl-hours .h span{font-size:11px;color:var(--ink-2)}
.dl-hours .h small{font-size:11px;color:var(--muted)}
.dl-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dl-mini-stats a{border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.dl-mini-stats a:hover{background:var(--hover)}
.dl-mini-stats b{font-family:var(--serif);font-size:24px}
.dl-mini-stats span{font-size:12.5px;color:var(--muted)}
.dl-bulk{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 20px 12px}
.dl-checks{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px}
.dl-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dl-choice label{display:flex;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer;align-items:flex-start}
.dl-choice label:has(input:checked){border-color:var(--gold);background:var(--gold-soft)}
.dl-choice span{display:flex;flex-direction:column;gap:3px}
.dl-choice small{color:var(--muted)}
.dl-cb-row{display:flex;gap:8px;align-items:center}
.dl-cb-row>a{flex:1}
.toast.bad{background:var(--red)}
@media (max-width:600px){.dl-choice{grid-template-columns:1fr}.dl-lead{padding:16px}.dl-lead-h h2{font-size:23px}.dl-actions{width:100%}.btn.dl-call{flex:1;justify-content:center}.dl-disps{grid-template-columns:1fr 1fr}}
/* Live updates */
.live-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--blue-bg);border:1px solid #c9dbf2;color:#1d4a80;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600}
.live-bar .live-text{flex:1;min-width:180px}
.live-bar.quiet{background:var(--card);border-color:var(--line);color:var(--ink-2);font-weight:400}
.live-bar.quiet .live-dot{display:none}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--blue);animation:pulse 1.2s infinite;flex:none}
.tkt-tabs{margin:0 20px 12px;flex-wrap:wrap}
.tkt-tabs .pill{height:20px;padding:0 7px;font-size:11.5px}
/* Finance */
.fin-months{grid-template-columns:repeat(12,1fr)}
.fin-subtabs{margin:0 20px 12px;padding-top:6px;flex-wrap:wrap}
.fin-filters{grid-template-columns:minmax(200px,1.6fr) repeat(6,minmax(120px,1fr))}
.tbl th.r,.tbl td.r{text-align:right}
.fin-tbl td{vertical-align:top}
.fin-tbl tfoot td{border-top:2px solid var(--line);background:var(--bg,#f7f8fa)}
.fin-calc{display:flex;flex-direction:column;gap:8px;max-width:760px}
.fc-row{display:grid;grid-template-columns:minmax(160px,1fr) 130px minmax(140px,190px);gap:10px;align-items:center}
.fc-row>label,.fc-row>span{font-weight:600;font-size:13.5px;color:var(--ink-2)}
.fc-row .inp{text-align:right}
.fc-row .pct{position:relative}
.fc-row .pct .inp{padding-right:26px}
.fc-row .pct span{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px}
.fc-row.total{border-top:1px dashed var(--line);padding-top:8px}
.fc-row.total b{text-align:right;font-size:15px;padding-right:12px}
.linkbtn{border:0;background:none;padding:0;color:var(--blue);text-decoration:underline;cursor:pointer;font:inherit}
.fin-figs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.fin-fig{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.fin-fig span{font-size:12px;color:var(--muted);font-weight:600}
.fin-fig b{font-family:var(--serif);font-size:19px}
.fin-fig small{font-size:12px;color:var(--ink-2)}
.fin-fig.hl{background:var(--gold-soft);border-color:#ecdcbd}
.fin-fig.due{background:var(--amber-bg)}
.fin-payform{display:grid;grid-template-columns:150px 150px 130px 1fr 1fr auto;gap:8px;border-top:1px solid var(--line-2)}
.fin-docs{display:flex;flex-direction:column;gap:8px}
.fin-docs .fd{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line-2);padding-bottom:8px}
.fin-docs .fd .sel{width:auto;min-width:140px}
.fin-hist{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto}
.fin-hist>div{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--line);padding-left:10px}
.fin-hist s{color:var(--muted)}
.fin-agentpct{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px}
.fin-agentpct label{display:grid;grid-template-columns:1fr 80px 14px;gap:6px;align-items:center;font-size:13.5px}
.fin-agentpct .inp{text-align:right;padding:6px 8px}
.fin-lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.fin-mapgrid{display:flex;flex-direction:column;gap:4px;max-height:720px;overflow:auto}
.fin-errors{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;max-height:320px;overflow:auto;font-size:13.5px}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
@media (max-width:1100px){.fin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-payform{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.fc-row{grid-template-columns:1fr 1fr}.fc-row>label,.fc-row>span{grid-column:1/-1}.fc-row>div:empty{display:none}.fc-row.total b{text-align:left}.fin-payform{grid-template-columns:1fr}.fin-filters{grid-template-columns:1fr}}
/* Printable invoice */
.inv-body{background:#eef0f4;margin:0;padding:24px 16px;color:#1b2233}
.inv-tools{max-width:820px;margin:0 auto 14px;display:flex;gap:8px}
.inv{max-width:820px;margin:0 auto;background:#fff;padding:44px 48px;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.08);font-size:14px;line-height:1.5}
.inv-h{display:flex;justify-content:space-between;gap:24px;border-bottom:3px solid var(--gold);padding-bottom:22px;flex-wrap:wrap}
.inv-logo{height:64px;width:auto;background:var(--navy);padding:10px 14px;border-radius:6px}
.inv-co{margin-top:12px;color:#4a5263;font-size:13px}
.inv-title h1{font-family:var(--serif);font-size:30px;margin:0 0 10px;color:var(--navy);text-align:right}
.inv-title table{border-collapse:collapse;margin-left:auto}
.inv-title th{text-align:left;color:#6c7489;font-weight:600;padding:2px 14px 2px 0;font-size:13px}
.inv-title td{text-align:right;font-weight:700}
.inv-to{margin:24px 0}
.inv .k{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#6c7489;font-weight:700;margin-bottom:4px}
.inv-lines{width:100%;border-collapse:collapse}
.inv-lines th{background:var(--navy);color:#fff;text-align:left;padding:10px 12px;font-size:13px}
.inv-lines td{padding:12px;border-bottom:1px solid #e6e8ee;vertical-align:top}
.inv-lines .r{text-align:right}
.inv-lines tfoot td{border:0;padding:6px 12px}
.inv-lines tfoot tr.grand td{font-weight:700;font-size:16px;border-top:2px solid var(--navy)}
.inv-bank{margin-top:28px;padding:14px 16px;background:#f7f8fa;border-radius:6px;font-size:13px}
.inv-f{margin-top:30px;text-align:center;color:#6c7489;font-size:12.5px}
@media print{.inv-body{background:#fff;padding:0}.inv-tools{display:none}.inv{box-shadow:none;border-radius:0;padding:0;max-width:none}.inv-logo,.inv-lines th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Briefings & Events, Content Center, Admin */
.mini .fi{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none}
.mini .fi svg{width:16px;height:16px}
.evd{width:44px;height:46px;border-radius:9px;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1}
.evd b{font-family:var(--serif);font-size:19px}
.evd small{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-2);margin-top:2px}
.ev-list{display:flex;flex-direction:column;gap:14px}
.ev{display:flex;gap:14px;align-items:flex-start}
.ev-b{display:flex;flex-direction:column;gap:3px;min-width:0}
.ev-b small{color:var(--ink-2);display:inline-flex;gap:5px;align-items:center}
.ev-b small svg{width:14px;height:14px}
.ev-card .evd{width:56px;height:58px}.ev-card .evd b{font-size:24px}
.rsvp{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}
.rsvp .on-yes{background:var(--green-bg);color:var(--green);border-color:#bfe0cc}
.rsvp .on-maybe{background:var(--amber-bg);color:var(--amber);border-color:#f0d9a8}
.rsvp .on-no{background:var(--grey-bg);color:var(--grey)}
.br-list{display:flex;flex-direction:column;gap:10px}
.br{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.br:hover{background:var(--hover)}
.br.unread{border-left:3px solid var(--gold)}
.br-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.br-h b{font-size:15px}
.br-x{color:var(--ink-2);font-size:14px}
.av-row{display:flex;flex-wrap:wrap;gap:4px}
.cc-kinds{flex-wrap:wrap;margin-bottom:6px}
.cc-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr);gap:10px;max-width:640px}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.cc-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:var(--ink);transition:box-shadow .15s}
.cc-card:hover{box-shadow:0 6px 20px rgba(19,32,58,.12)}
.cc-thumb{position:relative;aspect-ratio:4/3;background:var(--line-2);display:grid;place-items:center;color:var(--muted);overflow:hidden}
.cc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cc-thumb>svg{width:44px;height:44px}
.cc-thumb.k-video{background:linear-gradient(135deg,#1d2d4d,#13203a);color:var(--gold-2)}
.cc-thumb.k-article{background:var(--green-bg);color:var(--green)}
.cc-thumb.k-document{background:var(--gold-soft);color:#9a7336}
.cc-count{position:absolute;right:8px;bottom:8px;background:rgba(19,32,58,.8);color:#fff;font-size:12px;padding:3px 8px;border-radius:6px}
.cc-pin{position:absolute;left:8px;top:8px;background:var(--gold);color:#fff;border-radius:50%;width:26px;height:26px;display:grid;place-items:center}
.cc-pin svg{width:14px;height:14px}
.cc-body{display:flex;flex-direction:column;gap:5px;padding:12px 14px 14px}
.cc-body b{font-size:15px;line-height:1.3}
.cc-body small{font-size:12.5px;color:var(--ink-2);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cc-video{width:100%;max-height:70vh;background:#000;border-radius:8px;display:block}
.cc-fileline{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.cc-fileline>span{display:inline-flex;gap:8px;align-items:center;min-width:0;overflow-wrap:anywhere}
.cc-fileline svg{width:16px;height:16px;flex:none}
.cc-fileline audio{height:34px;max-width:100%}
.cc-files{display:flex;flex-direction:column}
.cc-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.cc-photos figure{margin:0;display:flex;flex-direction:column;gap:6px}
.cc-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}
.cc-photos figcaption{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:var(--ink-2)}
.cc-photos figcaption span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-photos figcaption svg{width:16px;height:16px}
.cc-article{font-size:15.5px;line-height:1.7;max-width:780px}
.cc-article p,.cc-text p{margin:0 0 14px}
.cc-article a,.cc-text a{overflow-wrap:anywhere}
.adm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.adm-card{display:flex;gap:16px;padding:20px;text-decoration:none;color:var(--ink);align-items:flex-start}
.adm-card:hover{box-shadow:0 6px 20px rgba(19,32,58,.1)}
.adm-card .ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex:none}
.adm-card .ic svg{width:24px;height:24px}
.adm-card>span:last-child{display:flex;flex-direction:column;gap:5px}
.adm-card b{font-family:var(--serif);font-size:19px}
.adm-card small{color:var(--ink-2);font-size:13.5px}
.adm-card em{font-style:normal;font-size:12.5px;color:var(--muted);font-weight:600}
@media (max-width:600px){.cc-filters{grid-template-columns:1fr}.cc-grid{grid-template-columns:1fr 1fr;gap:10px}.cc-body{padding:10px}.cc-body b{font-size:14px}}
