/* DGE CMMS – styles carried over from the approved V18 prototype */

:root{
  --navy:#063660; --navy2:#0A2A4D; --royal:#215A9E; --steel:#7DA1C4; --mist:#EEF3F8; --ink:#101828; --black:#010309;
  --red:#EF3F43; --red-soft:#FDEDED; --green:#1E8E5A; --green-soft:#E5F4EC; --amber:#B7791F; --amber-soft:#FCF3E2;
  --muted:#667085; --line:#E7ECF2; --bg:#F6F8FB; --card:#FFFFFF; --r:14px;
  --accent:var(--royal); --brandline:var(--red);
  --pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.06' stroke-width='1'%3E%3Crect x='18' y='18' width='36' height='36'/%3E%3Crect x='18' y='18' width='36' height='36' transform='rotate(45 36 36)'/%3E%3Ccircle cx='36' cy='36' r='9'/%3E%3C/g%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"IBM Plex Sans","IBM Plex Sans Arabic",system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
[dir=rtl] body{font-family:"IBM Plex Sans Arabic","IBM Plex Sans",system-ui,sans-serif}
[dir=rtl] .h1,[dir=rtl] .h2{font-family:"Noto Kufi Arabic","IBM Plex Sans Arabic",sans-serif}
button{font:inherit;cursor:pointer;color:inherit}
svg.i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ── type scale ── */
.h1{font-size:24px;font-weight:700;color:var(--navy);line-height:1.25}
.h2{font-size:18px;font-weight:600;color:var(--navy)}
.h3{font-size:15px;font-weight:600;color:var(--ink)}
.meta{font-size:12px;color:var(--muted)}

/* ── header ── */
.top{position:sticky;top:0;z-index:20;background:#fff;display:flex;align-items:center;gap:12px;padding:0 24px;height:68px;border-bottom:1px solid var(--line)}
.top::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--brandline)}
.logo-slot{display:flex;align-items:center;min-width:190px;margin-inline-end:8px}
.logo-slot img{height:40px;display:block}
.ph-logo{display:none;align-items:center;gap:10px}
.ph-logo .mark{width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px}
.ph-logo b{font-size:13px;max-width:160px;line-height:1.25}
.entity{position:relative}
.ghost-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font-size:13px;white-space:nowrap}
.ghost-btn:hover{background:var(--mist)}
.ghost-btn svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:1.8}
.menu{position:absolute;top:46px;inset-inline-start:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(16,24,40,.12);padding:8px;display:none;z-index:30}
.menu.open{display:block}
.menu.end{inset-inline-start:auto;inset-inline-end:0}
.menu input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;margin-bottom:6px}
.mi{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13px;width:100%;border:0;background:none;text-align:start}
.mi:hover,.mi.on{background:var(--mist)}
.mi i{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#fff;font-style:normal;font-size:10px;font-weight:700;flex:none}
.mi small{display:block;color:var(--muted);font-size:11px}
.menu-note{font-size:11px;color:var(--muted);padding:8px 10px 4px;border-top:1px solid var(--line);margin-top:6px;line-height:1.5}
.search{flex:1;max-width:520px;display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 8px 8px 12px;color:var(--muted)}
[dir=rtl] .search{padding:8px 12px 8px 8px}
.search:focus-within{background:#fff;border-color:var(--steel)}
.search input{border:0;background:transparent;outline:0;flex:1;font:inherit;color:var(--ink);min-width:0}
.ask{border:0;background:var(--navy);color:#fff;border-radius:7px;padding:4px 10px;font-size:11.5px;font-weight:600;display:flex;gap:5px;align-items:center}
.ask svg{width:13px;height:13px}
.spacer{flex:1}
.iconbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;position:relative;flex:none}
.iconbtn:hover{background:var(--mist)}
.badge{position:absolute;top:-4px;inset-inline-end:-4px;background:var(--red);color:#fff;font-size:10px;font-weight:700;border-radius:20px;padding:0 5px;border:2px solid #fff}
.lang{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font-weight:600;font-size:13px}
.user{position:relative}
.user>button{display:flex;align-items:center;gap:9px;border:0;background:none;padding:4px;border-radius:10px}
.user>button:hover{background:var(--mist)}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.user b{font-size:13px;font-weight:600}
.clear{font-size:10px;font-weight:700;color:var(--red);background:var(--red-soft);border-radius:4px;padding:1px 5px}

/* ── layout ── */
.layout{display:grid;grid-template-columns:220px minmax(0,1fr) 336px;min-height:calc(100vh - 68px)}
.side{background:var(--navy) var(--pattern);color:#C5D3E4;padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:68px;height:calc(100vh - 68px)}
.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:#C5D3E4;text-decoration:none;font-size:13.5px}
.nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.nav a.on{background:#fff;color:var(--navy);font-weight:600}
.nav a.on svg{stroke:var(--red)}
.nav hr{border:0;border-top:1px solid rgba(255,255,255,.12);margin:10px 8px}
.sidefoot{margin-top:auto;font-size:11px;color:#9FB4CC;padding:10px 12px;line-height:1.6}
.sidefoot b{color:#fff;font-weight:600}
main{padding:28px 32px 40px;min-width:0}

/* ── page head ── */
.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;flex-wrap:wrap}
.page-head .lft{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.role-sel{position:relative}
.role-sel .ghost-btn{font-size:12.5px;color:var(--muted)}
.role-sel .ghost-btn b{color:var(--ink);font-weight:600}
.newb{position:relative}
.btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 15px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.btn:hover{background:var(--mist)}
.btn.primary{background:var(--black);color:#fff;border-color:var(--black)}
.btn.primary:hover{background:#1d2433}
.btn.text{border:0;background:none;color:var(--royal);padding:4px 0;font-size:12.5px}
.btn.text:hover{text-decoration:underline;background:none}

/* ── sections ── */
section{margin-bottom:32px}
.sec-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px;flex-wrap:wrap}
.sec-h .h2{display:flex;align-items:center;gap:8px}
.info{width:18px;height:18px;border-radius:50%;border:1px solid var(--line);color:var(--muted);font-size:11px;display:inline-grid;place-items:center;cursor:help;font-weight:600}
.period{display:flex;background:#fff;border:1px solid var(--line);border-radius:9px;padding:2px}
.period button{border:0;background:transparent;padding:5px 11px;border-radius:7px;font-size:12px;color:var(--muted)}
.period button.on{background:var(--navy);color:#fff;font-weight:600}

/* ── KPI ── */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 16px;text-align:start;display:flex;flex-direction:column;gap:4px;transition:box-shadow .2s,border-color .2s}
.kpi:hover{border-color:#D3DCE6;box-shadow:0 8px 20px rgba(16,24,40,.06)}
.kpi .lbl{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:500}
.kpi .lbl svg{width:16px;height:16px;color:var(--steel)}
.kpi .val{font-size:32px;font-weight:700;color:var(--navy);line-height:1.1;margin-top:6px}
.kpi.alert .val{color:var(--red)}
.kpi.alert .lbl svg{color:var(--red)}

/* ── meeting ── */
.mtg{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mtg-top{background:var(--pattern),linear-gradient(120deg,var(--navy2),var(--navy) 60%,#0F4C86);color:#fff;padding:20px 22px 4px}
[dir=rtl] .mtg-top{background:var(--pattern),linear-gradient(-120deg,var(--navy2),var(--navy) 60%,#0F4C86)}
.mtg-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.mtg-head .t{font-size:17px;font-weight:600;line-height:1.35}
.mtg-sub{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:12.5px;color:#B9CCE2}
.pill{font-size:11px;font-weight:600;border-radius:20px;padding:2px 9px;background:rgba(255,255,255,.14);color:#fff}
.carousel{display:flex;align-items:center;gap:4px;flex:none}
.carousel button{width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-weight:700}
.carousel button:hover{background:rgba(255,255,255,.12)}
.carousel span{font-size:12px;color:#B9CCE2;min-width:40px;text-align:center}
[dir=rtl] .flip{transform:scaleX(-1);display:inline-block}
.stages{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0 12px}
.stg{position:relative;text-align:center;font-size:12px;color:#8FA9C6}
.stg::before{content:"";position:absolute;top:11px;inset-inline-start:-50%;width:100%;height:2px;background:rgba(255,255,255,.18)}
.stg:first-child::before{display:none}
.stg .d{width:24px;height:24px;border-radius:50%;margin:0 auto 6px;background:var(--navy);border:2px solid rgba(255,255,255,.3);display:grid;place-items:center;font-size:10.5px;font-weight:700;position:relative;z-index:1}
.stg.done{color:#DCE7F3}.stg.done .d{background:#fff;border-color:#fff;color:var(--navy)}
.stg.done::before,.stg.now::before{background:#fff}
.stg.now{color:#fff;font-weight:600}.stg.now .d{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 0 5px rgba(239,63,67,.25)}
.mtg-body{padding:20px 22px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.fact{display:flex;gap:12px;align-items:flex-start}
.fact .fi{width:34px;height:34px;border-radius:9px;background:var(--mist);color:var(--navy);display:grid;place-items:center;flex:none}
.fact .fi svg{width:17px;height:17px}
.fact .fl{font-size:12px;color:var(--muted)}
.fact .fv{font-size:13.5px;font-weight:500;color:var(--ink);margin-top:1px}
.fact .warn{color:var(--amber)}.fact .ok{color:var(--green)}
.ai{margin-top:18px;background:var(--mist);border-radius:10px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start}
.aitag{background:var(--navy);color:#fff;border-radius:5px;padding:1px 6px;font-size:10.5px;font-weight:700;flex:none;margin-top:2px}
.ai .txt{flex:1;font-size:13px;line-height:1.6;color:var(--ink)}
.ai .txt p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ai.open .txt p{-webkit-line-clamp:unset}
.ai .links{display:flex;gap:14px;margin-top:4px;align-items:center}
.ai .note{font-size:11px;color:var(--muted)}
.cite{white-space:nowrap;font-size:10.5px;color:var(--royal);background:#fff;border:1px solid #D5E1EE;border-radius:4px;padding:0 5px;margin-inline-start:4px;font-weight:600}
.mtg-actions{display:flex;gap:8px;margin-top:18px;align-items:center}
.dots{display:flex;gap:6px;margin-inline-start:auto}
.dots i{width:7px;height:7px;border-radius:50%;background:#D5DDE6;cursor:pointer;transition:width .2s}
.dots i.on{background:var(--navy);width:20px;border-radius:4px}

/* ── committees ── */
.comms{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:6px 22px 14px}
.stg-head,.pipe{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.stg-head{padding:12px 0;border-bottom:1px solid var(--line)}
.stg-head span{font-size:11.5px;font-weight:500;color:var(--muted);text-align:center;position:relative}
.stg-head span:not(:last-child)::after{content:"›";position:absolute;inset-inline-end:-8px;color:#B9C4D2}
[dir=rtl] .stg-head span:not(:last-child)::after{content:"‹"}
.comm{padding:16px 0;border-bottom:1px solid var(--line)}
.comm:last-child{border-bottom:0}
.comm-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.cname{display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;text-align:start}
.cname:hover .h3{text-decoration:underline}
.cav{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:10.5px;font-weight:700;color:var(--navy);background:var(--mist);flex:none}
.role-t{font-size:11.5px;color:var(--muted);margin-inline-start:8px;font-weight:400}
.bneck{font-size:12px;color:var(--red);font-weight:500;display:flex;gap:5px;align-items:center}
.seg{border:0;border-radius:9px;padding:9px 4px;color:#fff;font-size:17px;font-weight:600;transition:transform .15s,box-shadow .15s}
.seg:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(6,54,96,.2)}
.seg.zero{background:#F2F5F9!important;color:#B3BDC9;font-weight:400}
.seg.hot{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--red)}

/* ── tasks ── */
.tasks{background:#fff;border-inline-start:1px solid var(--line);position:sticky;top:68px;height:calc(100vh - 68px);display:flex;flex-direction:column}
.thead{background:var(--pattern),linear-gradient(135deg,var(--navy2),var(--navy) 60%,#0F4C86);color:#fff;padding:22px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.thead .h2{color:#fff}
.thead .meta{color:#B9CCE2;margin-top:4px}
.ring{position:relative;width:58px;height:58px;flex:none}
.ring svg{width:58px;height:58px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:5}
.ring .rbg{stroke:rgba(255,255,255,.18)}
.ring .rfg{stroke:#4FD18B;stroke-linecap:round;transition:stroke-dasharray .4s}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:12.5px;font-weight:600}
.tbody{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}
.arrow{border:1px solid var(--line);background:#fff;border-radius:8px;height:26px;font-size:10px;color:var(--muted)}
.arrow:hover{background:var(--mist)}
.tlist{flex:1;overflow-y:auto;scroll-snap-type:y mandatory;display:flex;flex-direction:column;gap:10px;padding:4px 0;scrollbar-width:none;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 30px),transparent)}
.tlist::-webkit-scrollbar{display:none}
.task{scroll-snap-align:start;border:1px solid var(--line);border-inline-start:3px solid var(--tc);border-radius:10px;padding:13px 14px;background:#fff}
.task .tt{font-size:13.5px;font-weight:600;line-height:1.4}
.task .meta{margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task .row2{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:8px}
.due{font-size:11.5px;font-weight:600}
.d-over{color:var(--red)}.d-soon{color:var(--amber)}.d-ok{color:var(--muted)}
.task .act{background:var(--black);color:#fff;border:0;border-radius:8px;padding:7px 14px;font-weight:600;font-size:12px}
.task.done{opacity:.5}.task.done .tt{text-decoration:line-through}
.task.done .act{background:var(--green-soft);color:var(--green)}

/* ── drawer ── */
.shade{position:fixed;inset:0;background:rgba(16,24,40,.3);display:none;z-index:40}
.shade.open{display:block}
.drawer{position:fixed;inset-block:0;inset-inline-end:0;width:420px;max-width:94vw;background:#fff;box-shadow:-14px 0 40px rgba(16,24,40,.18);transform:translateX(105%);transition:transform .25s ease;z-index:50;display:flex;flex-direction:column}
[dir=rtl] .drawer{transform:translateX(-105%)}
.drawer.open{transform:none!important}
.dhead{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#fff;background:var(--pattern),linear-gradient(135deg,var(--navy2),var(--navy))}
.dhead h3{font-size:15px;font-weight:600}
.dhead .iconbtn{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.dbody{padding:16px 20px;flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.item{border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:#fff}
.item b{font-size:13.5px;font-weight:600;display:block}
.item span{font-size:12px;color:var(--muted)}
.ihead{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.tag{font-size:11px;font-weight:600;border-radius:20px;padding:2px 8px;white-space:nowrap}
.t-over{background:var(--red-soft);color:var(--red)}.t-ok{background:var(--green-soft);color:var(--green)}
.wait{margin-top:8px;font-size:12px;background:var(--bg);border-radius:8px;padding:8px 10px;color:var(--muted)}
.item .wait b{display:inline;font-size:12px;color:var(--ink)}
.tl{list-style:none;margin-top:10px;border-inline-start:2px solid var(--line);padding-inline-start:12px;display:flex;flex-direction:column;gap:5px}
.tl li{font-size:12px;color:#A3ADBA;position:relative}
.tl li::before{content:"";position:absolute;inset-inline-start:-19px;top:3px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--line)}
.tl li.d{color:var(--ink)}.tl li.d::before{background:var(--navy);border-color:var(--navy)}
.tl li.n{color:var(--ink);font-weight:600}.tl li.n::before{border-color:var(--royal);box-shadow:0 0 0 3px var(--mist)}
.tl li.n.late::before{border-color:var(--red)}
.tl small{font-weight:400;color:var(--muted)}
.kv{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px solid var(--line)}
.kv:last-child{border-bottom:0}
.kv span{color:var(--muted)}
.msg{border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.55}
.msg.u{background:#fff;border:1px solid var(--line);align-self:flex-end;max-width:85%}
.msg.a{background:var(--mist)}
.dfoot{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:8px;background:#fff}
.dfoot input{flex:1;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font:inherit}
footer{font-size:11px;color:#98A2B3;text-align:center;margin-top:8px}
@media (max-width:1280px){.layout{grid-template-columns:200px minmax(0,1fr)}.tasks{grid-column:1/-1;position:static;height:auto;border-inline-start:0;border-top:1px solid var(--line)}.tlist{max-height:420px}}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.facts{grid-template-columns:1fr}}
@media (max-width:820px){.layout{grid-template-columns:1fr}.side{display:none}.top{height:auto;flex-wrap:wrap;padding:10px 16px}.user b{display:none}main{padding:18px}}

/* ═════════ V5 additions ═════════ */
.nav a{cursor:pointer}
.ph{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.ph .sub{font-size:13px;color:var(--muted);margin-top:4px}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 12px;font-size:12.5px;color:var(--muted)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
.chip b{font-weight:700;margin-inline-start:4px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:start;font-size:11.5px;font-weight:600;color:var(--muted);padding:12px 16px;background:#FAFBFD;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{cursor:pointer;transition:background .12s}
.tbl tbody tr:hover{background:#F8FAFD}
.tbl .ref{font-size:12px;color:var(--muted);white-space:nowrap}
.tbl .ttl{font-weight:600}
.stage{font-size:11.5px;font-weight:600;border-radius:20px;padding:3px 9px;white-space:nowrap;background:var(--mist);color:var(--navy)}
.st-ok{color:var(--green);font-weight:600;font-size:12px}.st-over{color:var(--red);font-weight:600;font-size:12px}.st-soon{color:var(--amber);font-weight:600;font-size:12px}
.pbar{height:6px;border-radius:6px;background:var(--line);overflow:hidden;width:90px;display:inline-block;vertical-align:middle}
.pbar i{display:block;height:100%;background:var(--navy);border-radius:6px}
.pbar.red i{background:var(--red)}.pbar.green i{background:var(--green)}
.pct{font-size:12px;color:var(--muted);margin-inline-start:8px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:12px;text-align:start;transition:box-shadow .2s,border-color .2s}
.ccard:hover{border-color:#D3DCE6;box-shadow:0 8px 20px rgba(16,24,40,.06)}
.ccard .top-r{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ccard .row-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ccard .row-kv div{font-size:12px;color:var(--muted)}
.ccard .row-kv b{display:block;font-size:13.5px;color:var(--ink);font-weight:600;margin-top:2px}
.type{font-size:11px;font-weight:600;border-radius:6px;padding:2px 8px;background:var(--mist);color:var(--navy);white-space:nowrap}
.type.joint{background:#EAF5F1;color:#0E7C5B}.type.temp{background:var(--amber-soft);color:var(--amber)}.type.priv{background:#F1EEFA;color:#5B3E96}
.avs{display:flex}
.avs span{width:28px;height:28px;border-radius:50%;background:var(--steel);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid #fff;margin-inline-start:-8px}
.avs span:first-child{margin-inline-start:0}
.avs span.more{background:var(--mist);color:var(--navy)}
.mrow{display:grid;grid-template-columns:58px 1fr auto;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.mrow:last-child{border-bottom:0}
.dt{text-align:center;border-radius:10px;background:var(--mist);padding:6px 0;color:var(--navy)}
.dt b{display:block;font-size:20px;line-height:1.1}.dt small{font-size:11px;text-transform:uppercase}
.mrow .h3{margin-bottom:3px}
.mrow .acts{display:flex;gap:8px}
.subh{font-size:13px;font-weight:600;color:var(--muted);margin:22px 0 10px;text-transform:uppercase;letter-spacing:.05em}
[dir=rtl] .subh{letter-spacing:0}
.vote{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.vbar{display:flex;height:8px;border-radius:8px;overflow:hidden;background:var(--line);margin:12px 0 8px}
.vbar i:nth-child(1){background:var(--green)}.vbar i:nth-child(2){background:var(--red)}.vbar i:nth-child(3){background:#B8C3D0}
.vleg{display:flex;gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.vleg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-inline-end:5px}
.out{font-size:11.5px;font-weight:600;border-radius:20px;padding:3px 9px;white-space:nowrap}
.o-app{background:var(--green-soft);color:var(--green)}.o-cond{background:var(--amber-soft);color:var(--amber)}.o-rej{background:var(--red-soft);color:var(--red)}.o-pend{background:var(--mist);color:var(--navy)}.o-na{background:#F2F4F7;color:var(--muted)}
.placeholder{background:#fff;border:1px dashed #CBD5E1;border-radius:var(--r);padding:60px 20px;text-align:center;color:var(--muted)}
.rat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px}
.rat .acts{display:flex;gap:8px;margin-top:4px}
.btn.ghost-red{color:var(--red);border-color:#F6C9CA}
/* ── modal / wizard ── */
.modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;background:rgba(16,24,40,.45);padding:20px}
.modal.open{display:flex}
.mbox{background:#fff;border-radius:18px;width:760px;max-width:100%;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 60px rgba(16,24,40,.25)}
.mhead{padding:18px 22px;background:var(--pattern),linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;display:flex;justify-content:space-between;align-items:center}
.mhead h3{font-size:16px;font-weight:600}
.mhead .iconbtn{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.steps{display:grid;grid-template-columns:repeat(4,1fr);padding:16px 22px;border-bottom:1px solid var(--line);gap:8px}
.step{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.step i{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;flex:none}
.step.done i{background:var(--navy);border-color:var(--navy);color:#fff}
.step.on{color:var(--navy);font-weight:600}.step.on i{border-color:var(--red);color:var(--red)}
.mbody{padding:20px 22px;overflow:auto;flex:1}
.mfoot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.full{grid-column:1/-1}
.fld label{font-size:12px;font-weight:600;color:var(--muted)}
.fld input,.fld select{border:1px solid var(--line);border-radius:9px;padding:9px 11px;font:inherit;background:#fff;color:var(--ink)}
.seg3{display:flex;border:1px solid var(--line);border-radius:9px;padding:2px;gap:2px}
.seg3 button{flex:1;border:0;background:transparent;border-radius:7px;padding:7px;font-size:12.5px;color:var(--muted)}
.seg3 button.on{background:var(--navy);color:#fff;font-weight:600}
.hint{font-size:12px;color:var(--muted);background:var(--bg);border-radius:9px;padding:10px 12px;display:flex;gap:8px;align-items:flex-start}
.hint.ok{background:var(--green-soft);color:#14663F}.hint.warn{background:var(--amber-soft);color:#8A5A10}
.plist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.prow{display:grid;grid-template-columns:34px 1fr auto auto;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}
.prow:last-child{border-bottom:0}
.pav{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}
.av-ok{color:var(--green);font-size:12px;font-weight:600}.av-busy{color:var(--red);font-size:12px;font-weight:600}.av-tent{color:var(--amber);font-size:12px;font-weight:600}
.agi{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line);font-size:13px;cursor:pointer}
.agi:last-child{border-bottom:0}
.agi input{width:16px;height:16px;accent-color:var(--navy)}
.sum{display:grid;grid-template-columns:150px 1fr;gap:10px 14px;font-size:13px}
.sum span{color:var(--muted)}
.tog{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.tog:last-child{border-bottom:0}
.sw{width:36px;height:20px;border-radius:20px;background:var(--navy);position:relative;flex:none}
.sw::after{content:"";position:absolute;top:2px;inset-inline-end:2px;width:16px;height:16px;border-radius:50%;background:#fff}
.toast{position:fixed;bottom:24px;inset-inline-start:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;border-radius:12px;padding:12px 18px;font-size:13px;opacity:0;transition:all .3s;z-index:80;display:flex;gap:10px;align-items:center;box-shadow:0 14px 30px rgba(0,0,0,.25)}
[dir=rtl] .toast{transform:translateX(50%) translateY(20px)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
[dir=rtl] .toast.show{transform:translateX(50%) translateY(0)}
.toast b{color:#4FD18B}
/* ── meeting room ── */
.room{position:fixed;inset:0;z-index:70;background:#0B1422;color:#E8EEF6;display:none;flex-direction:column}
.room.open{display:flex}
.rtop{display:flex;align-items:center;gap:14px;padding:12px 20px;background:#0F1B2E;border-bottom:1px solid rgba(255,255,255,.08)}
.rtop .t{font-size:15px;font-weight:600}
.rtop .s{font-size:12px;color:#8EA3BD}
.live{display:inline-flex;align-items:center;gap:6px;background:rgba(239,63,67,.15);color:#FF7A7D;font-size:12px;font-weight:700;border-radius:20px;padding:4px 10px}
.live::before{content:"";width:8px;height:8px;border-radius:50%;background:#EF3F43;animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.3}}
.rchip{font-size:12px;border-radius:20px;padding:4px 10px;background:rgba(255,255,255,.07);color:#C9D6E6;white-space:nowrap}
.rchip.ok{background:rgba(79,209,139,.14);color:#6FE0A4}
.rbody{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:0}
.stagev{display:flex;flex-direction:column;padding:16px;gap:12px;min-height:0}
.vgrid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:10px;min-height:0}
.tile{position:relative;border-radius:14px;background:linear-gradient(160deg,#1A2B45,#122036);display:grid;place-items:center;overflow:hidden;border:2px solid transparent}
.tile.speak{border-color:#4FD18B;box-shadow:0 0 0 4px rgba(79,209,139,.15)}
.tile .face{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:700;color:#fff}
.tile .nm{position:absolute;bottom:10px;inset-inline-start:12px;font-size:12.5px;font-weight:600;background:rgba(0,0,0,.45);border-radius:6px;padding:3px 8px;display:flex;gap:6px;align-items:center}
.tile .loc{position:absolute;top:10px;inset-inline-start:12px;font-size:11px;background:rgba(255,255,255,.1);border-radius:6px;padding:2px 7px;color:#C9D6E6}
.tile .mute{position:absolute;top:10px;inset-inline-end:12px;width:26px;height:26px;border-radius:50%;background:rgba(239,63,67,.85);display:grid;place-items:center;font-size:12px}
.tile.roomcam{background:linear-gradient(160deg,#20324F,#16243B)}
.tile.roomcam .face{width:auto;height:auto;font-size:13px;font-weight:500;color:#C9D6E6;text-align:center;line-height:1.6}
.vc{display:flex;justify-content:space-between;align-items:center;gap:10px}
.vc .lbl{font-size:11.5px;color:#8EA3BD}
.ctrls{display:flex;gap:10px;justify-content:center}
.cb{width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.09);color:#fff;display:grid;place-items:center;font-size:17px}
.cb:hover{background:rgba(255,255,255,.16)}
.cb.off{background:#EF3F43}
.cb.end{width:auto;border-radius:24px;padding:0 20px;background:#EF3F43;font-size:13px;font-weight:600}
.rside{background:#0F1B2E;border-inline-start:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;min-height:0}
.rtabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08)}
.rtabs button{flex:1;border:0;background:none;color:#8EA3BD;padding:13px 6px;font-size:12.5px;border-bottom:2px solid transparent}
.rtabs button.on{color:#fff;border-bottom-color:#EF3F43;font-weight:600}
.rpane{flex:1;overflow:auto;padding:16px}
.ag{display:flex;gap:12px;padding:12px;border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.03)}
.ag .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;background:rgba(255,255,255,.08);flex:none}
.ag.done{opacity:.55}.ag.done .n{background:#4FD18B;color:#0B1422}
.ag.now{background:rgba(91,155,230,.14);border:1px solid rgba(91,155,230,.35)}
.ag.now .n{background:#EF3F43;color:#fff}
.ag b{font-size:13px;font-weight:600;display:block}
.ag small{font-size:11.5px;color:#8EA3BD}
.ag .tm{font-size:11.5px;color:#FFB4B5;margin-top:4px}
.ag .cf{display:inline-block;margin-top:5px;font-size:11px;background:rgba(242,184,91,.15);color:#F2B85B;border-radius:5px;padding:1px 6px}
.rnote{font-size:13px;line-height:1.65;color:#DCE5F0}
.rnote li{margin:0 0 8px 18px}
[dir=rtl] .rnote li{margin:0 18px 8px 0}
.rbtn{border:0;border-radius:9px;padding:9px 14px;font-weight:600;font-size:12.5px;background:#fff;color:var(--navy)}
.rbtn.sec{background:rgba(255,255,255,.08);color:#E8EEF6}
.aiw{font-size:11px;color:#8EA3BD;margin:12px 0;padding-top:10px;border-top:1px dashed rgba(255,255,255,.12)}
.motion{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px}
.motion b{font-size:13.5px;display:block;margin-bottom:4px}
.motion small{font-size:12px;color:#8EA3BD}
.tally{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.tally div{background:rgba(255,255,255,.05);border-radius:10px;padding:10px;text-align:center}
.tally b{font-size:22px;display:block}
.tally small{font-size:11px;color:#8EA3BD}
.att{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}
.att .pav{width:30px;height:30px;font-size:10.5px}
.att .st{margin-inline-start:auto;font-size:11.5px;color:#8EA3BD}
.att .st.in{color:#6FE0A4}.att .st.cf{color:#F2B85B}.att .st.ab{color:#FF8A8C}
@media (max-width:1100px){.grid3{grid-template-columns:repeat(2,1fr)}.rbody{grid-template-columns:1fr}.rside{display:none}}

.ccard{min-width:0}.ccard .top-r{flex-direction:column-reverse;align-items:flex-start;gap:8px}
.panel{overflow-x:auto}
.st-ok,.st-over,.st-soon,.out,.stage{white-space:nowrap}
.layout.wide{grid-template-columns:220px minmax(0,1fr)}
.layout.wide .tasks{display:none}
.avs span{font-size:9.5px}

/* ═════════ V6 ═════════ */
/* compact task cards — no side border; identity via icon tile + due pill */
.task{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);border-inline-start:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;transition:box-shadow .15s,border-color .15s}
.task:hover{border-color:#D3DCE6;box-shadow:0 6px 16px rgba(16,24,40,.07)}
.task .tic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--mist);color:var(--navy)}
.task .tic svg{width:15px;height:15px}
.task.over .tic{background:var(--red-soft);color:var(--red)}
.task.soon .tic{background:var(--amber-soft);color:var(--amber)}
.task.done .tic{background:var(--green-soft);color:var(--green)}
.task .tb{min-width:0;display:flex;flex-direction:column;height:100%}
.task .tt{font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.task .meta{font-size:11.5px;margin-top:2px}
.task .row2{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.due{font-size:11px;font-weight:600;border-radius:20px;padding:2px 8px;background:var(--bg);color:var(--muted);white-space:nowrap}
.due.d-over{background:var(--red-soft);color:var(--red)}
.due.d-soon{background:var(--amber-soft);color:var(--amber)}
.due.d-done{background:var(--green-soft);color:var(--green)}
.task .act{background:#fff;color:var(--navy);border:1px solid #CBD6E2;border-radius:7px;padding:3px 10px;font-size:11.5px;font-weight:600;white-space:nowrap}
.task .act:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.task.done .act{background:#fff;color:var(--muted)}
.tgrp{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 2px 0}
.tgrp b{background:var(--bg);border-radius:10px;padding:0 7px;font-size:11px}
/* side panel (option A) */
.tchips{display:flex;gap:6px;padding:12px 16px 0;flex-wrap:wrap}
.tchip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:4px 10px;font-size:12px;color:var(--muted)}
.tchip.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
.tchip b{margin-inline-start:3px}
.tbody{padding:6px 16px 0;gap:0}
.tlist{gap:8px}
.tfoot{display:flex;align-items:center;gap:6px;padding:10px 16px;border-top:1px solid var(--line)}
.tfoot .arrow{width:30px;height:26px}
/* navy task band (option B) */
.band{border-radius:16px;background:var(--pattern),linear-gradient(135deg,var(--navy2),var(--navy) 60%,#0F4C86);color:#fff;padding:18px 20px 20px;margin-bottom:30px}
.band-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.band .h2{color:#fff}.band .meta{color:#B9CCE2;margin-top:2px}
.band .ring{width:50px;height:50px}.band .ring svg{width:50px;height:50px}
.bchips{display:flex;gap:6px}
.bchip{border:1px solid rgba(255,255,255,.25);background:transparent;color:#DCE7F3;border-radius:20px;padding:4px 11px;font-size:12px}
.bchip.on{background:#fff;border-color:#fff;color:var(--navy);font-weight:600}
.bchip b{margin-inline-start:3px}
.bctr{font-size:12px;color:#B9CCE2;min-width:64px;text-align:center}
.barr{width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-size:16px}
.barr:hover{background:rgba(255,255,255,.16)}
.bstrip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.bstrip::-webkit-scrollbar{display:none}
.bstrip .task{flex:0 0 calc((100% - 36px)/4);min-width:220px;scroll-snap-align:start;border-color:transparent;min-height:116px}
/* live meeting bar */
.livebar{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:26px;flex-wrap:wrap}
.pulse{width:10px;height:10px;border-radius:50%;background:var(--red);flex:none;animation:pl 1.6s infinite}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(239,63,67,.5)}70%{box-shadow:0 0 0 9px rgba(239,63,67,0)}100%{box-shadow:0 0 0 0 rgba(239,63,67,0)}}
.lvt{flex:1;min-width:240px;display:flex;flex-direction:column;gap:1px}
.lvt .lv{font-size:11px;font-weight:700;color:var(--red);letter-spacing:.05em;text-transform:uppercase}
.lvt b{font-size:14px;font-weight:600}
/* tooltip */
.tip{position:fixed;z-index:200;background:var(--ink);color:#fff;font-size:12px;padding:6px 9px;border-radius:7px;pointer-events:none;display:none;white-space:nowrap;box-shadow:0 6px 16px rgba(16,24,40,.2)}
/* dashboards */
.dfil{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.dseg{display:flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px}
.dseg button{border:0;background:none;border-radius:7px;padding:6px 12px;font-size:12.5px;color:var(--muted)}
.dseg button.on{background:var(--navy);color:#fff;font-weight:600}
.dsel{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 12px;font-size:12.5px;color:var(--ink)}
.stiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.stile .l{font-size:13px;color:var(--muted);font-weight:500}
.stile .v{font-size:30px;font-weight:700;color:var(--navy);line-height:1.15}
.stile .v small{font-size:14px;font-weight:600;color:var(--muted);margin-inline-start:4px}
.stile .f{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:4px;flex-wrap:wrap}
.sts{font-size:11px;font-weight:600;border-radius:20px;padding:2px 8px;white-space:nowrap}
.sts.ok{background:var(--green-soft);color:var(--green)}.sts.warn{background:var(--amber-soft);color:var(--amber)}.sts.bad{background:var(--red-soft);color:var(--red)}
.drow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;margin-top:16px}
.dcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;min-width:0}
.dcard .sub{font-size:12px;color:var(--muted);margin:2px 0 14px}
.bars{display:flex;align-items:flex-end;gap:10px;height:190px;margin:8px 0 26px;border-bottom:1px solid #D3DCE6;background:repeating-linear-gradient(to top,transparent 0 calc(25% - 1px),var(--line) calc(25% - 1px) 25%)}
.bars .b{position:relative;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;cursor:default}
.bars .b i{width:100%;max-width:30px;background:var(--royal);border-radius:4px 4px 0 0}
.bars .b:hover i{background:var(--navy)}
.bars .b.part i{background:#A9BFD6}
.bars .bv{font-size:11.5px;font-weight:600;color:var(--ink);margin-bottom:4px;min-height:16px}
.bars .bl{position:absolute;bottom:-21px;font-size:11px;color:var(--muted);white-space:nowrap}
.sr{display:grid;grid-template-columns:118px minmax(0,1fr) 92px;gap:10px;align-items:center;padding:6px 0;font-size:12.5px;cursor:default}
.sr .st2{position:relative;height:12px;background:var(--bg);border-radius:6px}
.sr .st2 i{position:absolute;inset-block:0;inset-inline-start:0;background:var(--royal);border-radius:6px}
.sr .st2 i.ov{background:var(--red)}
.sr .st2 em{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);opacity:.45}
.sr .sv{font-size:12px;color:var(--muted);white-space:nowrap;text-align:end}
.sr .sv.ov{color:var(--red);font-weight:600}
.slegend,.alegend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:12px}
.slegend span{display:flex;align-items:center;gap:6px}
.slegend i{width:12px;height:8px;border-radius:3px;background:var(--royal)}.slegend i.ov{background:var(--red)}
.slegend em{width:2px;height:12px;background:var(--ink);opacity:.45}
.hero{display:flex;align-items:baseline;gap:8px}.hero b{font-size:30px;color:var(--navy)}.hero span{font-size:13px;color:var(--muted)}
.sbar{display:flex;gap:2px;height:14px;border-radius:7px;overflow:hidden;margin:12px 0 4px}
.alegend{flex-direction:column;gap:8px}
.alegend div{display:grid;grid-template-columns:12px 1fr auto 44px;gap:8px;align-items:center}
.alegend i{width:10px;height:10px;border-radius:3px}
.alegend b{color:var(--ink)}.alegend small{text-align:end}
.ins{list-style:none;display:flex;flex-direction:column;gap:10px}
.ins li{background:var(--mist);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}
.ins li b{color:var(--navy)}
.mbar{display:inline-block;width:70px;height:6px;background:var(--bg);border-radius:4px;vertical-align:middle;margin-inline-end:8px;position:relative;overflow:hidden}
.mbar i{position:absolute;inset-block:0;inset-inline-start:0;background:var(--royal);border-radius:4px}.mbar i.ov{background:var(--red)}
@media (max-width:1100px){.stiles{grid-template-columns:repeat(2,1fr)}.drow{grid-template-columns:1fr}.bstrip .task{flex-basis:calc((100% - 12px)/2)}}
.band .task{color:var(--ink)}.band .task .meta{color:var(--muted);margin-top:2px}
.drawer{visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}.drawer.open{visibility:visible;transition:transform .25s ease}

/* ═════════ V7 ═════════ */
:root{--ai1:#13A594;--ai-grad:linear-gradient(135deg,#04332D,#0B6B5E 55%,#20B8A8);--ai-soft:#E9FAF7;--ai-line:#BDEDE6;--ai-ink:#0A6457}
/* AI identity */
.ask,.aitag,.aibtn{background:var(--ai-grad)!important;color:#fff!important;border:0!important}
.aitag{padding:1px 7px}
.aimini{font-size:10px;font-weight:700;color:var(--ai-ink);background:var(--ai-soft);border:1px solid var(--ai-line);border-radius:4px;padding:0 4px;white-space:nowrap}
.ai{background:var(--ai-soft);border:1px solid var(--ai-line)}
.ai .links .btn.text,.aitxt{color:var(--ai-ink)!important}
.ai .cite{border-color:var(--ai-line);color:var(--ai-ink)}
.hint.aih{background:var(--ai-soft);color:#0A4F45;border:1px solid var(--ai-line)}
.ins li{background:var(--ai-soft);border:1px solid var(--ai-line)}.ins li b{color:var(--ai-ink)}
.drawer.aid .dhead{background:var(--pattern),var(--ai-grad)}
.msg.a{background:var(--ai-soft);border:1px solid var(--ai-line)}
.aihead{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--ai-ink);margin-bottom:6px}.aihead svg{width:14px;height:14px}
.msg .cite{border-color:var(--ai-line);color:var(--ai-ink)}
/* live = green */
.livebar{background:#ECF8F1;border-color:#BFE5CF}
.pulse{background:#1E8E5A;animation:plg 1.6s infinite}
@keyframes plg{0%{box-shadow:0 0 0 0 rgba(30,142,90,.5)}70%{box-shadow:0 0 0 9px rgba(30,142,90,0)}100%{box-shadow:0 0 0 0 rgba(30,142,90,0)}}
.lvt .lv{color:#14663F}
.livebar .avs span{border-color:#ECF8F1}
.live{background:rgba(79,209,139,.15);color:#6FE0A4}.live::before{background:#4FD18B}
.live.sm{font-size:11px;padding:3px 8px}
/* search */
.sbox{position:relative;flex:1;max-width:540px}
.sbox .search{max-width:none;width:100%}
.sbox.on .search{background:#fff;border-color:var(--ai1);box-shadow:0 0 0 3px rgba(19,165,148,.12)}
#sInput::placeholder{transition:opacity .25s}#sInput.phfade::placeholder{opacity:0}
.kbd{font:600 10.5px/1 inherit;color:var(--muted);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:3px 5px;background:#fff;white-space:nowrap}
.sdrop{position:absolute;top:calc(100% + 6px);inset-inline:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(16,24,40,.14);padding:8px;display:none;z-index:35;max-height:70vh;overflow:auto}
.sdrop.open{display:block}
.sgh{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}
.srow{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;border-radius:9px;padding:8px 10px;text-align:start;font-size:13px;color:var(--ink)}
.srow:hover{background:var(--bg)}.srow svg{width:16px;height:16px;color:var(--muted);flex:none}
.srow span{flex:1;min-width:0}.srow small{font-size:11px;color:var(--muted);white-space:nowrap}
.srow.sai svg{color:var(--ai1)}.srow.sai:hover{background:var(--ai-soft)}
.srow.askrow{background:var(--ai-soft);border:1px solid var(--ai-line);color:#0A4F45;font-weight:600;margin-bottom:4px}
.schips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 8px}
.schip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:4px 10px;font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:5px}
.schip svg{width:13px;height:13px;color:var(--ai1)}
.snone{font-size:12.5px;color:var(--muted);padding:10px}
/* navy task panel */
.tasks{background:var(--pattern),linear-gradient(180deg,var(--navy2),var(--navy) 55%,#0C3D6E);border-inline-start:0;color:#fff}
.tasks .thead{background:transparent;padding:22px 18px 14px}
.tbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 16px 12px}
.tasks .tchips{padding:0;gap:5px}
.tasks .tchip{border:1px solid rgba(255,255,255,.25);background:transparent;color:#DCE7F3;padding:4px 9px}
.tasks .tchip.on{background:#fff;border-color:#fff;color:var(--navy)}
.tmode{display:flex;background:rgba(255,255,255,.08);border-radius:8px;padding:2px;flex:none}
.tmode button{border:0;background:none;color:#B9CCE2;width:28px;height:26px;border-radius:6px;display:grid;place-items:center}
.tmode button svg{width:15px;height:15px}.tmode button.on{background:#fff;color:var(--navy)}
.tasks .tbody{padding:0 16px}
.tasks .task{color:var(--ink);border-color:transparent}
.tlist.car{overflow:hidden;-webkit-mask-image:none;mask-image:none}
.tpage{display:flex;flex-direction:column;gap:8px}
.tpage.up{animation:tpu .32s ease}.tpage.down{animation:tpd .32s ease}
@keyframes tpu{from{transform:translateY(30px);opacity:0}}@keyframes tpd{from{transform:translateY(-30px);opacity:0}}
.tasks .tgrp{color:#9FB4CC}.tasks .tgrp b{background:rgba(255,255,255,.12);color:#fff}
.tasks .tfoot{border-top:1px solid rgba(255,255,255,.12);padding:12px 16px}
.tall{border:0;background:none;color:#fff;font-weight:600;font-size:12.5px;text-decoration:underline;text-underline-offset:3px}
.tarr{width:30px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-size:10px}
.tarr:hover:not(:disabled){background:rgba(255,255,255,.16)}.tarr:disabled{opacity:.35;cursor:default}
.tctr{font-size:12px;color:#B9CCE2;min-width:60px;text-align:center}
/* room */
.rtop{gap:10px}.rtt{min-width:0}
.ib{width:32px;height:32px;border-radius:9px;border:0;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;flex:none}
.ib:hover{background:rgba(255,255,255,.16)}.ib svg{width:16px;height:16px}
.rchip.rec{color:#FF9C9E;background:rgba(239,63,67,.12)}.rchip.rec.paused{color:#F2B85B;background:rgba(242,184,91,.12)}
.rchip.role{background:rgba(255,255,255,.1);color:#fff}
.rmodes{display:flex;background:rgba(255,255,255,.06);border-radius:9px;padding:3px}
.rmodes button{border:0;background:none;color:#8EA3BD;width:32px;height:28px;border-radius:7px;display:grid;place-items:center}
.rmodes button svg{width:16px;height:16px}.rmodes button.on{background:rgba(255,255,255,.16);color:#fff}
.rb2{border:1px solid rgba(255,255,255,.18);background:transparent;color:#E8EEF6;border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.rb2 svg{width:14px;height:14px}.rb2:hover{background:rgba(255,255,255,.08)}
.rb2.pri{background:#fff;color:var(--navy);border-color:#fff}
.rb2.on{background:#F2B85B;color:#3A2600;border-color:#F2B85B}.rb2:disabled{opacity:.6;cursor:default}
.rbanner{display:none;background:#4A3510;color:#FFE2A8;font-size:12.5px;padding:8px 20px;align-items:center;gap:8px}
.rbanner.on{display:flex}.rbanner svg{width:15px;height:15px}
.rbody{grid-template-columns:minmax(0,1fr) 74px 360px}
.rstage{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;gap:10px}
.rstage .vgrid{flex:1}
.tile .face svg{width:20px;height:20px}.tile .mute svg{width:13px;height:13px}
.cb svg{width:20px;height:20px}.cb.on{background:#F2B85B;color:#2A1C00}.cb.act{background:#fff;color:var(--navy)}
.cb.end{display:inline-flex;align-items:center;gap:6px}.cb.end svg{width:17px;height:17px}
.rrail{background:#0D1829;border-inline-start:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:2px;padding:8px 6px;overflow:auto}
.rrail button{border:0;background:none;color:#8EA3BD;border-radius:10px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;line-height:1.2;position:relative;text-align:center}
.rrail button svg{width:19px;height:19px}.rrail button:hover{color:#fff}
.rrail button.on{background:rgba(255,255,255,.09);color:#fff}
.rrail button.isai{color:#7FE3D6}.rrail button.isai.on{background:rgba(19,165,148,.28);color:#fff}
.rrail .bdg{position:absolute;top:4px;inset-inline-end:12px;background:var(--red);color:#fff;font-style:normal;font-size:9.5px;font-weight:700;border-radius:10px;min-width:16px;height:16px;display:grid;place-items:center}
.rph{padding:14px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;gap:8px;align-items:center}.rph b{font-size:14px}
.rph .aimini{background:rgba(19,165,148,.3);border-color:rgba(127,227,214,.4);color:#D2F7F1}
.ccbar{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);max-width:80%;background:rgba(0,0,0,.75);border-radius:10px;padding:10px 16px;font-size:14px;line-height:1.5;text-align:center;z-index:2}
.ccbar small{display:block;font-size:11px;color:#9FB4CC;margin-top:2px}
.pstrip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;height:92px;flex:none}
.pstrip .tile .face{width:38px;height:38px;font-size:12px}.pstrip .tile .nm{font-size:10px;bottom:4px;inset-inline-start:6px;padding:1px 5px;max-width:90%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pstrip .tile.roomcam .face{font-size:11px}
.docv{flex:1;min-height:0;background:#1A2638;border-radius:14px;display:flex;flex-direction:column;overflow:hidden}
.dtool{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;color:#C9D6E6;border-bottom:1px solid rgba(255,255,255,.08)}.dtool svg{width:16px;height:16px}
.pagew{flex:1;overflow:auto;display:flex;justify-content:center;padding:20px}
.pg{width:min(600px,100%);background:#fff;color:#101828;border-radius:4px;padding:30px 38px;box-shadow:0 10px 30px rgba(0,0,0,.4);font-size:12px;line-height:1.6;position:relative;align-self:flex-start}
.pgh{display:flex;justify-content:space-between;font-size:10px;color:#667085;border-bottom:2px solid var(--red);padding-bottom:6px;margin-bottom:14px}
.pg h4{font-size:15px;color:var(--navy);margin-bottom:6px}.pg .ln{height:8px;background:#E7ECF2;border-radius:4px;margin:9px 0}
.pg table{width:100%;border-collapse:collapse;margin:14px 0;font-size:11.5px}.pg td,.pg th{border:1px solid #E1E7EF;padding:6px 8px;text-align:start}.pg th{background:#F3F6FA}.pg mark{background:#FFF1B8}
.anno{position:absolute;inset-inline-end:-16px;top:118px;background:#FFE58A;color:#5B4500;font-size:11px;border-radius:8px;padding:7px 9px;width:160px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.rnote2{font-size:12px;color:#8EA3BD;background:rgba(255,255,255,.04);border-radius:10px;padding:9px 11px;margin-bottom:12px;display:flex;gap:6px;align-items:center}.rnote2 svg{width:14px;height:14px;flex:none}
.rdoc{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;background:rgba(255,255,255,.03);margin-bottom:8px;border:1px solid transparent}
.rdoc.on{border-color:rgba(91,155,230,.5);background:rgba(91,155,230,.1)}
.rdoc .di{width:30px;height:36px;border-radius:5px;background:rgba(255,255,255,.08);display:grid;place-items:center;flex:none}.rdoc .di svg{width:15px;height:15px}
.rdoc b{font-size:12.5px;display:block;font-weight:600}.rdoc small{font-size:11px;color:#8EA3BD}
.rdoc .acts{margin-inline-start:auto;display:flex;gap:6px;flex:none}
.conf{font-size:10.5px;color:#FF9C9E;background:rgba(239,63,67,.15);border-radius:5px;padding:0 5px}
.ipb{height:4px;background:rgba(255,255,255,.1);border-radius:3px;margin-top:6px;overflow:hidden}.ipb i{display:block;height:100%;background:#4FD18B;transition:width .5s}
.lateT{color:#F2B85B}
.rsh{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:#8EA3BD;margin:16px 0 8px;font-weight:700}
.spk-now{display:flex;gap:12px;align-items:center;background:rgba(79,209,139,.1);border:1px solid rgba(79,209,139,.3);border-radius:12px;padding:12px}
.spk-now b{font-size:13px;display:block}.spk-now small{font-size:11px;color:#8EA3BD}
.pav.sm{width:26px;height:26px;font-size:9.5px}
.qrow{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}
.qrow small{color:#8EA3BD;font-size:11px}.qrow small svg{width:12px;height:12px;vertical-align:-2px}
.qn{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:11px;flex:none}
.rbtn svg{width:14px;height:14px;vertical-align:-2px}
.rchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.tally.t4{grid-template-columns:repeat(4,1fr)}
.vbtns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.vbtns button{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff;border-radius:10px;padding:11px 6px;font-weight:600;font-size:13px}
.vbtns .f.on,.vbtns .f:hover{background:rgba(79,209,139,.25);border-color:#4FD18B}
.vbtns .a.on,.vbtns .a:hover{background:rgba(239,63,67,.25);border-color:#EF3F43}
.vbtns .b.on,.vbtns .b:hover{background:rgba(255,255,255,.14);border-color:#C9D6E6}
.vbtns.sm button{padding:8px 4px;font-size:12px}
.dli{background:rgba(255,255,255,.04);border-radius:10px;padding:9px 11px;font-size:12.5px;margin-bottom:6px;line-height:1.5}
.dli.new{border:1px solid rgba(79,209,139,.4);animation:pop .35s}.dli small{color:#8EA3BD}
.aiw2{display:flex;align-items:center;gap:6px;font-size:11px;color:#9BEBDF;margin-bottom:6px}.aiw2 svg{width:13px;height:13px}
.rta{width:100%;min-height:96px;background:rgba(19,165,148,.12);border:1px solid rgba(127,227,214,.35);color:#fff;border-radius:10px;padding:10px;font:inherit;font-size:12.5px;line-height:1.55;resize:vertical}
.rin{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:8px;padding:8px 10px;font:inherit;font-size:12px;width:100%;min-width:0}
.rin option{color:#101828}.rin.ai{border-color:rgba(127,227,214,.45);background:rgba(19,165,148,.1)}
.aform{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.aform input:first-child{grid-column:1/-1}
.rseg{display:flex;background:rgba(255,255,255,.06);border-radius:9px;padding:3px;margin-bottom:12px}
.rseg button{flex:1;border:0;background:none;color:#8EA3BD;border-radius:7px;padding:6px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.rseg button svg{width:13px;height:13px}.rseg button.on{background:rgba(255,255,255,.12);color:#fff;font-weight:600}
.tgl{display:flex;align-items:center;gap:8px;font-size:12px;color:#B9CCE2;margin-bottom:8px;cursor:pointer}
.tr{display:grid;grid-template-columns:40px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12.5px;line-height:1.55}
.tr time{font-size:11px;color:#6F86A3;padding-top:2px}.tr b{font-size:11.5px;color:#B9CCE2;display:block;font-weight:600}
.tr .orig{font-size:11.5px;color:#8EA3BD;font-style:italic;margin-top:3px}
.trchip{font-size:9.5px;font-weight:600;color:#9BEBDF;background:rgba(19,165,148,.22);border-radius:4px;padding:0 4px;margin-inline-start:6px}
.aibox{background:linear-gradient(135deg,rgba(19,165,148,.2),rgba(33,90,158,.2));border:1px solid rgba(127,227,214,.32);border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.6}
.aibox.sm{padding:10px 12px;font-size:12px}
.aihead2{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#9BEBDF;margin-bottom:4px}.aihead2 svg{width:13px;height:13px}
.qm{background:rgba(255,255,255,.08);border-radius:10px;padding:9px 11px;font-size:12.5px;margin:10px 0 6px;margin-inline-start:34px}
.am{margin-inline-end:8px}
.rcite{font-size:10.5px;color:#B9F1E8;border:1px solid rgba(127,227,214,.45);border-radius:4px;padding:0 5px;margin-inline-start:4px;white-space:nowrap}
.schips.dark{padding:12px 0 0}.schips.dark .schip{background:rgba(19,165,148,.12);border-color:rgba(127,227,214,.3);color:#D2F7F1}.schips.dark .schip svg{color:#9BEBDF}
.rin-row{display:flex;gap:6px;margin-top:12px}.rin-row .rbtn{flex:none;display:grid;place-items:center;padding:8px 12px}
.rbtn.aib{background:var(--ai-grad);color:#fff}
.cm{margin:10px 0;font-size:12.5px}.cm b{font-size:11px;color:#9FB4CC;display:block;font-weight:600}
.cm p{background:rgba(255,255,255,.07);border-radius:10px;padding:8px 11px;margin-top:3px;display:inline-block}
.cm.me{text-align:end}.cm.me p{background:#215A9E}
.qc{display:flex;justify-content:space-between;align-items:center;background:rgba(79,209,139,.1);border:1px solid rgba(79,209,139,.3);border-radius:12px;padding:12px 14px;font-size:13px;margin-bottom:12px}
.qc small{font-size:11px;color:#8EA3BD}.qc b{font-size:22px;color:#6FE0A4}
.lobby{background:rgba(242,184,91,.1);border:1px solid rgba(242,184,91,.3);border-radius:12px;padding:12px;font-size:12.5px;margin-bottom:12px}
.lobby>b{font-size:11px;color:#F2B85B;text-transform:uppercase;letter-spacing:.04em}
.lrow{display:flex;align-items:center;gap:8px;margin-top:8px}
.rmodal{position:absolute;inset:0;background:rgba(5,10,20,.62);display:none;place-items:center;z-index:5}.rmodal.open{display:grid}
.rmbox{width:min(540px,92vw);background:#111D31;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:22px 24px;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.rmbox h3{font-size:16px;margin-bottom:8px}
.chk{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}
.chk i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.chk i.ok{background:rgba(79,209,139,.2);color:#6FE0A4}.chk i.w{background:rgba(242,184,91,.2);color:#F2B85B}
@keyframes pop{from{transform:scale(.96);opacity:0}}
/* docked & floating */
.dock{position:fixed;top:68px;bottom:0;inset-inline-end:0;width:380px;background:#0B1422;color:#E8EEF6;z-index:60;display:none;flex-direction:column;box-shadow:-12px 0 30px rgba(0,0,0,.25)}
.dock.open{display:flex}
body.docked .layout{grid-template-columns:220px minmax(0,1fr);margin-inline-end:380px}body.docked .tasks{display:none}
.dk-h,.ph2{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#0F1B2E}
.dk-h .t,.ph2 .t{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-b{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px}
.vid{position:relative;aspect-ratio:16/9;border-radius:12px;background:linear-gradient(160deg,#1A2B45,#122036);display:grid;place-items:center;border:2px solid #4FD18B;flex:none;overflow:hidden}
.vid .face{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff}
.vid .nm{position:absolute;bottom:8px;inset-inline-start:10px;font-size:12px;font-weight:600;background:rgba(0,0,0,.45);border-radius:6px;padding:2px 7px}
.vid .ccbar{font-size:11.5px;padding:6px 10px;bottom:34px;max-width:92%}
.mini-tiles{display:flex;gap:6px;align-items:center}.mini-tiles span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:700;color:#fff}
.mini-tiles em{font-style:normal;font-size:11.5px;color:#8EA3BD;margin-inline-start:4px}
.cur{background:rgba(255,255,255,.04);border-radius:12px;padding:12px}.cur small{font-size:11px;color:#8EA3BD}.cur b{display:block;font-size:13.5px;margin:2px 0 4px}
.vpop{background:linear-gradient(135deg,#1F6B47,#165238);border:1px solid rgba(111,224,164,.4);border-radius:12px;padding:12px;animation:pop .35s}
.vph{display:flex;align-items:center;gap:6px;font-size:12.5px}.vph svg{width:16px;height:16px}
.vpt{font-size:12.5px;color:#D7F5E5;margin-top:6px}.vpop .vbtns{margin-top:10px}.vpop .rb2{margin-top:8px}
.nx{display:flex;gap:10px;align-items:center;font-size:12.5px;color:#C9D6E6;padding:6px 0}.nx span{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:11px;flex:none}
.dk-c{display:flex;justify-content:center;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08)}
.dk-c .cb{width:40px;height:40px}.dk-c .cb svg{width:18px;height:18px}.dk-c .cb.end{width:auto;padding:0 14px}
.pip{position:fixed;bottom:24px;inset-inline-end:24px;width:320px;background:#0B1422;color:#E8EEF6;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.45);z-index:65;display:none;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.pip.open{display:block;animation:pop .25s}.pip.drag{opacity:.92}
.ph2{cursor:grab;padding:9px 10px}.ph2 .ib{width:28px;height:28px}
.pip .vid{border-radius:0;border:0;border-bottom:2px solid #4FD18B}
.pcur{padding:9px 12px;font-size:12px;color:#B9CCE2;border-bottom:1px solid rgba(255,255,255,.06)}
.pip .dk-c{padding:9px}.pip .dk-c .cb{width:36px;height:36px}
/* dashboard outlook */
.outlook{margin-top:18px;background:linear-gradient(180deg,var(--ai-soft),#fff 70%);border:1px solid var(--ai-line);border-radius:var(--r);padding:18px 20px}
.oh{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.orow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}
.fct{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fi{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--mist);color:var(--navy);flex:none}.fi svg{width:16px;height:16px}
.fi.bad{background:var(--red-soft);color:var(--red)}.fi.warn{background:var(--amber-soft);color:var(--amber)}.fi.ok{background:var(--green-soft);color:var(--green)}
.aic{font-size:10.5px;font-weight:600;color:var(--ai-ink);background:var(--ai-soft);border:1px solid var(--ai-line);border-radius:20px;padding:1px 8px;white-space:nowrap}
.fn{font-size:26px;font-weight:700;color:var(--navy);line-height:1.2;margin-top:6px}
.ft{font-size:13px;color:var(--ink);line-height:1.4}.fw{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}.fw b{color:var(--ai-ink);font-weight:600}
.wlb{position:relative;display:flex;align-items:flex-end;gap:14px;height:170px;margin:14px 0 26px;border-bottom:1px solid #D3DCE6}
.wlb .b{position:relative;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.wlb .b i{width:100%;max-width:34px;border-radius:4px 4px 0 0;background:repeating-linear-gradient(135deg,#13A594 0 6px,#5FD6C8 6px 12px)}
.wlb .b.ov i{background:repeating-linear-gradient(135deg,#EF3F43 0 6px,#F47A7D 6px 12px)}
.wlb .bv{font-size:11.5px;font-weight:600;margin-bottom:4px}.wlb .bl{position:absolute;bottom:-21px;font-size:11px;color:var(--muted);white-space:nowrap}
.wlb em{position:absolute;inset-inline:0;border-top:2px dashed var(--ink);opacity:.55;font-style:normal}
.wlb em span{position:absolute;inset-inline-end:0;top:-18px;font-size:11px;font-weight:600}
.fnote{font-size:11.5px;color:var(--muted);margin-top:12px}
/* library */
.prebox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:16px}
.prebox label{font-size:13px;font-weight:600;color:var(--navy)}
.prein{display:flex;align-items:center;gap:10px;margin-top:8px;border:1px solid var(--ai-line);background:var(--ai-soft);border-radius:10px;padding:6px 6px 6px 12px}
[dir=rtl] .prein{padding:6px 12px 6px 6px}
.prein svg{width:17px;height:17px;color:var(--ai1);flex:none}.prein input{flex:1;border:0;background:transparent;outline:0;font:inherit;min-width:0}
.pfil{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pre{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.pre-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.pre .ref{font-size:11.5px;font-weight:600;color:var(--royal)}
.sim{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:10px}.sim b{color:var(--ai-ink)}
.simb{width:120px;height:6px;border-radius:4px;background:var(--ai-soft);overflow:hidden}.simb i{display:block;height:100%;background:var(--ai-grad)}
.pc{font-size:12.5px;margin-top:8px}.pacts{display:flex;gap:8px;margin-top:10px}
.aicard{background:var(--ai-soft);border-color:var(--ai-line)}
.wlist{margin:0;padding-inline-start:18px;font-size:13px;line-height:1.6;display:flex;flex-direction:column;gap:6px}
.refc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.refh{display:flex;gap:10px;align-items:center}
.refd{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:10px}
.refd svg{width:16px;height:16px;color:var(--steel);flex:none}.refd b{font-size:12.5px;font-weight:600;display:block}.refd small{font-size:11px;color:var(--muted)}
@media (max-width:1100px){.orow{grid-template-columns:1fr}.rbody{grid-template-columns:1fr}.rrail,.rside{display:none}}
.toast{pointer-events:none}
.pstrip .tile.roomcam .face{font-size:10.5px;line-height:1.35}.pip{user-select:none}
/* V8 captions */
.ccbar{bottom:16px;width:min(720px,86%);max-width:none;text-align:start;padding:10px 16px 12px;background:rgba(5,10,20,.82);border:1px solid rgba(255,255,255,.08);transition:opacity .22s}
.ccbar.fade{opacity:0}
.cch{display:flex;align-items:center;gap:8px;margin-bottom:3px}.cch b{font-size:12px;color:#9FC3FF}
.ccchip{font-size:10px;font-weight:600;border-radius:4px;padding:1px 6px;background:rgba(255,255,255,.1);color:#C9D6E6}
.ccchip.tr{background:rgba(19,165,148,.35);color:#D2F7F1}
.cct{font-size:16px;line-height:1.55;color:#fff}
.cco{font-size:12.5px;color:#9FB4CC;font-style:italic;margin-top:4px;border-top:1px dashed rgba(255,255,255,.15);padding-top:4px}
.ccbar.mini{bottom:8px;width:94%;padding:6px 10px}.ccbar.mini .cct{font-size:12px;line-height:1.45}.ccbar.mini .cch b{font-size:10.5px}.ccbar.mini .cco{font-size:10.5px}
.vid .ccbar.mini{bottom:30px}
.ccgrp{position:relative;display:flex;align-items:center}
.ccgrp .cb{border-start-end-radius:8px;border-end-end-radius:8px}
.cbc{height:46px;width:22px;border:0;margin-inline-start:2px;border-start-end-radius:23px;border-end-end-radius:23px;background:rgba(255,255,255,.09);color:#fff;font-size:11px}
.cbc:hover,.cbc.on{background:rgba(255,255,255,.18)}
.ccmenu{position:absolute;bottom:58px;inset-inline-start:-110px;width:320px;background:#111D31;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;box-shadow:0 20px 40px rgba(0,0,0,.5);z-index:6;text-align:start;cursor:default}
.cmh{display:flex;align-items:center;gap:8px;font-size:13.5px;margin-bottom:8px}.cmh svg{width:17px;height:17px}
.cmr{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:#DCE5F0;padding:8px 0;cursor:pointer}
.cmr input{width:16px;height:16px;accent-color:#13A594;flex:none}
.cml{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8EA3BD;margin:6px 0 4px}
.cmo{display:flex;gap:10px;align-items:flex-start;width:100%;border:0;background:none;color:#E8EEF6;text-align:start;padding:7px 8px;border-radius:9px}
.cmo:hover{background:rgba(255,255,255,.06)}.cmo.on{background:rgba(19,165,148,.22)}
.cmo i{width:14px;height:14px;border-radius:50%;border:2px solid #8EA3BD;flex:none;margin-top:2px}.cmo.on i{border-color:#7FE3D6;box-shadow:inset 0 0 0 3px #111D31;background:#7FE3D6}
.cmo b{display:block;font-size:12.5px}.cmo small{font-size:11px;color:#8EA3BD;line-height:1.4}
.cmn{font-size:11px;color:#8EA3BD;border-top:1px solid rgba(255,255,255,.08);margin-top:8px;padding-top:8px}
.rchip.cc{display:inline-flex;align-items:center;gap:5px;background:rgba(19,165,148,.25);color:#D2F7F1}.rchip.cc svg{width:13px;height:13px}
.ccchip{white-space:nowrap}
.ccbar.mini .cco{display:none}.ccbar.mini .cct{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px}.vid .ccbar.mini{bottom:6px}.vid:has(.ccbar) .nm{display:none}
.vid:has(.ccbar){place-items:start center;padding-top:12px}.vid:has(.ccbar) .face{width:48px;height:48px;font-size:16px}
/* ═════════ V9 ═════════ */
.mpill{display:none;align-items:center;gap:8px;background:#0B1422;color:#fff;border-radius:22px;padding:5px 6px 5px 12px;font-size:12.5px;box-shadow:0 6px 16px rgba(11,20,34,.25);animation:pop .25s}
[dir=rtl] .mpill{padding:5px 12px 5px 6px}
.mpill.open{display:flex}.mpill b{font-variant-numeric:tabular-nums;font-weight:600}.mpill .pt{color:#B9CCE2;white-space:nowrap}
.pdot{width:9px;height:9px;border-radius:50%;background:#4FD18B;flex:none;animation:plg 1.6s infinite}
.pb{width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center}.pb svg{width:15px;height:15px}
.pb:hover{background:rgba(255,255,255,.22)}.pb.off{background:#EF3F43}.pb.end{background:#EF3F43}
.pvote{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:16px;background:#1E8E5A;color:#fff;font-size:11.5px;font-weight:600;padding:5px 10px;animation:pop .3s}.pvote svg{width:13px;height:13px}
.btn.wide{width:100%;justify-content:center}.btn:disabled{opacity:.45;cursor:not-allowed}
/* minutes */
.momg{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:18px;align-items:start}
.mlist{display:flex;flex-direction:column;gap:8px;position:sticky;top:88px}
.mli{display:flex;gap:10px;text-align:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;width:100%}
.mli:hover{border-color:#D3DCE6}.mli.on{border-color:var(--royal);box-shadow:0 0 0 3px rgba(33,90,158,.1)}
.mli b{display:block;font-size:13px;color:var(--ink)}.mli small{display:block;font-size:11.5px;color:var(--muted);margin:2px 0 6px}
.mli.live{background:#ECF8F1;border-color:#BFE5CF;align-items:flex-start}.mli.live .pdot{margin-top:4px}
.mstat{font-size:10.5px;font-weight:600;border-radius:20px;padding:1px 8px;display:inline-block}
.mstat.s0{background:var(--ai-soft);color:var(--ai-ink)}.mstat.s1{background:var(--amber-soft);color:var(--amber)}.mstat.s2{background:#E8EFF8;color:var(--royal)}.mstat.s3{background:var(--green-soft);color:var(--green)}
.mfl{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:var(--ai-ink);margin-inline-start:6px}.mfl svg{width:12px;height:12px}
.momdoc{background:#fff;border:1px solid var(--line);border-radius:6px;padding:30px 34px;box-shadow:0 8px 24px rgba(16,24,40,.06);font-size:13px;line-height:1.6}
.mdh{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-bottom:2px solid var(--red);padding-bottom:8px;margin-bottom:16px}
.momdoc h2{font-size:19px;color:var(--navy);margin-bottom:12px}.momdoc h3{font-size:13.5px;color:var(--navy);margin:20px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.mdm{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;background:var(--bg);border-radius:8px;padding:12px 14px}
.mdm small,.kvg small{display:block;font-size:11px;color:var(--muted)}.mdm b,.kvg b{font-size:13px;font-weight:600}
.matt{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px}.matt span{display:inline-flex;align-items:center;gap:6px}.matt i{width:20px;height:20px;border-radius:50%;color:#fff;font-size:8.5px;font-weight:700;font-style:normal;display:grid;place-items:center}.matt small{color:var(--muted)}
.mq{margin-top:8px;font-size:12.5px;color:var(--green);font-weight:600}
.mit{padding:12px 0;border-bottom:1px dashed var(--line)}.mit:last-of-type{border-bottom:0}
.mith{display:flex;align-items:center;gap:8px}.mith .n{width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;flex:none}.mith b{font-size:14px}
.mby{font-size:12px;color:var(--muted);margin:2px 0 0 30px}[dir=rtl] .mby{margin:2px 30px 0 0}
.mit ul{margin:6px 0 0;padding-inline-start:48px}.mit li{margin-bottom:3px}
.mnote{margin:6px 0 0;margin-inline-start:30px;font-size:12.5px;color:var(--muted);font-style:italic}
.mdec{margin:10px 0 0;margin-inline-start:30px;border:1px solid #D5E1EE;background:#F7FAFD;border-radius:8px;padding:10px 12px}
.mdech{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--royal);flex-wrap:wrap}.mdec p{margin:4px 0;font-weight:500}
.mrat{font-size:10.5px;font-weight:600;color:var(--amber);background:var(--amber-soft);border-radius:4px;padding:0 6px}
.mvote{font-size:12.5px}
mark.flag{background:#FDE7C8;color:#7A4A06;border-bottom:2px dashed #E0A43A;padding:0 3px;border-radius:2px}
.mflag{display:flex;align-items:center;gap:8px;margin-top:8px;background:var(--ai-soft);border:1px solid var(--ai-line);border-radius:8px;padding:8px 10px;font-size:12px;color:#0A4F45}
.mflag svg{width:15px;height:15px;flex:none;color:var(--ai1)}.mflag span{flex:1}.mflag .btn{padding:5px 10px;font-size:11.5px}
.mact{width:calc(100% - 30px);margin:10px 0 0;margin-inline-start:30px;border-collapse:collapse;font-size:12px}
.mact th{text-align:start;font-size:11px;color:var(--muted);font-weight:600;background:var(--bg);padding:6px 8px}.mact td{padding:6px 8px;border-top:1px solid var(--line);vertical-align:top}
.mcm{display:flex;gap:8px;margin:8px 0 0;margin-inline-start:30px;background:var(--amber-soft);border-radius:8px;padding:8px 10px;font-size:12px}
.conf2{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:var(--red);background:var(--red-soft);border-radius:4px;padding:0 6px}.conf2 svg{width:11px;height:11px}
.msig{display:grid;grid-template-columns:1fr 1fr;gap:14px}.msig>div{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.msig small{font-size:11px;color:var(--muted)}.msig span{align-self:flex-start}
.sigx{font-family:"Brush Script MT","Segoe Script",cursive;font-size:20px;color:var(--navy);font-weight:400}.sigx.big{font-size:30px;margin:6px 0}
.momdoc.gen{min-height:520px}.genh{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:30px 0 24px;color:var(--ai-ink)}.genh svg{width:30px;height:30px;animation:spin 2s linear infinite}.genh small{color:var(--muted)}
@keyframes spin{to{transform:rotate(360deg)}}
.sk{height:12px;border-radius:6px;margin:14px 0;background:linear-gradient(90deg,#EEF2F7 25%,#F7F9FC 50%,#EEF2F7 75%);background-size:200% 100%;animation:sh 1.2s infinite}
@keyframes sh{to{background-position:-200% 0}}
.mside{display:flex;flex-direction:column;gap:16px;position:sticky;top:88px}
.wf{list-style:none;display:flex;flex-direction:column;gap:2px}.wf li{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);padding:5px 0;position:relative}
.wf li i{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:10.5px;font-weight:700;background:#fff;flex:none}
.wf li.d{color:var(--ink)}.wf li.d i{background:var(--green);border-color:var(--green);color:#fff}
.wf li.n{color:var(--ink);font-weight:600}.wf li.n i{border-color:var(--royal);color:var(--royal);box-shadow:0 0 0 3px var(--mist)}
.wf li small{display:block;font-weight:400;color:var(--amber);font-size:11px}
.ver{display:grid;grid-template-columns:28px 1fr auto;gap:6px;font-size:12px;padding:6px 0;border-top:1px solid var(--line)}.ver:first-of-type{border-top:0}.ver b{color:var(--royal)}.ver small{color:var(--muted)}
.mcm2{display:flex;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px}.mcm2 p{margin:2px 0}.mcm2 .btn{padding:0;font-size:12px}
.mta,.inp{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font:inherit;font-size:13px;background:#fff;color:var(--ink)}
.mta{min-height:80px;resize:vertical}
/* forms in drawer */
.fld2{display:flex;flex-direction:column;gap:6px}.fld2 label{font-size:12px;font-weight:600;color:var(--muted)}.fld2.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fld2.two>div{display:flex;flex-direction:column;gap:6px}
.fld2 input[type=range]{width:100%;accent-color:var(--royal)}
.filec{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:12.5px}.filec svg{width:15px;height:15px;color:var(--steel)}
.chkl{display:flex;gap:8px;align-items:flex-start;font-size:13px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}.chkl input{margin-top:3px;accent-color:var(--navy)}
.sigbox{background:#fff;border:1px dashed #B8C6D6;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column}.sigbox small{font-size:11px;color:var(--muted)}
.aicheck{background:var(--ai-soft);border:1px solid var(--ai-line);border-radius:10px;padding:10px 12px;font-size:12.5px;display:flex;flex-direction:column;gap:4px;color:#073F37}.aicheck .w{color:#8A5A10}
.vgrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vopt{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px 6px;font-weight:600}.vopt.on{border-color:var(--navy);background:var(--navy);color:#fff}
.nrow{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.nrow:hover{border-color:#D3DCE6}
.nrow.new{border-inline-start:3px solid var(--royal)}.nrow b{display:block;font-size:13px;font-weight:600}.nrow small{font-size:11.5px;color:var(--muted)}
.rat.rdone{opacity:.75}
/* meeting file, topic */
.ck{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.ck.ok{background:var(--green-soft);color:var(--green)}.ck.no{background:var(--bg);color:var(--muted)}.ck.w{background:var(--amber-soft);color:var(--amber)}
.mrow .dt svg{width:18px;height:18px;color:var(--steel)}
.pill2{font-size:11px;font-weight:600;border-radius:20px;padding:1px 8px;background:var(--mist);color:var(--royal)}
.ref{font-size:12px;font-weight:600;color:var(--royal)}
.retbox{display:flex;gap:16px;align-items:center;justify-content:space-between;background:var(--red-soft);border:1px solid #F7C6C7;border-radius:var(--r);padding:14px 18px;margin-bottom:16px}
.retbox b{display:flex;align-items:center;gap:6px;color:#B42318;font-size:13.5px}.retbox b svg{width:16px;height:16px}.retbox p{font-size:13px;margin-top:4px}
.ptxt{font-size:13.5px;line-height:1.65;margin:8px 0 14px}
.kvg{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;background:var(--bg);border-radius:10px;padding:12px}
@media (max-width:1280px){.momg{grid-template-columns:200px minmax(0,1fr)}.mside{grid-column:1/-1;position:static}}
.sbox{flex:1 1 260px;min-width:170px}
.mpill .pt{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.pvote{white-space:nowrap}
.top{gap:10px}
.entity .ghost-btn span{max-width:210px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:bottom}

/* V10: floating meeting bar, footer, Agixa */
.mpill{position:fixed;bottom:26px;left:50%;translate:-50% 0;z-index:66;box-shadow:0 18px 40px rgba(4,20,30,.38),0 0 0 1px rgba(255,255,255,.06);padding:7px 8px 7px 14px;animation:floaty 3.2s ease-in-out infinite;cursor:grab;user-select:none}
[dir=rtl] .mpill{padding:7px 14px 7px 8px}
.mpill.drag{animation:none;cursor:grabbing}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.mpill .pt{max-width:220px}
.sidefoot{border:0;background:none;padding:10px 12px;font-size:11.5px}.sidefoot::before{content:none!important}
.sidefoot b{color:#C9D6E6;font-weight:500}

/* ═════════ V11 · RESPONSIVE ═════════ */
.hamb,.sbtn,.bnav,.sshade{display:none}
@media (max-width:1100px){
  .hamb{display:grid}
  .layout,.layout.wide{display:flex;flex-direction:column}
  .side{position:fixed;top:0;bottom:0;inset-inline-start:0;width:272px;height:100vh;z-index:90;transform:translateX(-105%);transition:transform .25s ease;overflow:auto;box-shadow:12px 0 40px rgba(0,0,0,.25)}
  [dir=rtl] .side{transform:translateX(105%)}
  body.sideopen .side{transform:none}
  body.sideopen .sshade{display:block;position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:85}
  .tasks{order:-1;position:static;height:auto;border:0}
  .layout.wide .tasks{display:none}
  .tasks .tlist{max-height:none}.tasks .tlist.car{overflow:visible}
  main{padding:22px 20px 40px}
  .rbody{grid-template-columns:minmax(0,1fr) 64px 300px}
  .rrail,.rside{display:flex}
  .momg{grid-template-columns:200px minmax(0,1fr)}.mside{grid-column:1/-1;position:static}
}
@media (max-width:820px){
  body{font-size:13.5px}
  .top{height:60px;padding:0 10px;gap:6px}
  .logo-slot{min-width:0;margin:0}.logo-slot img{height:30px}
  .entity,.sbox{display:none}
  .sbtn{display:grid}
  body.msearch .sbox{display:block;position:fixed;top:60px;inset-inline:0;max-width:none;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line);z-index:35;box-shadow:0 10px 20px rgba(16,24,40,.08)}
  body.msearch .sdrop{position:static;margin-top:8px;max-height:65vh;box-shadow:none}
  .iconbtn{width:36px;height:36px}
  .newb .btn{padding:9px 11px}.newb .btn span{display:none}
  .lang{padding:8px 9px;font-size:12px}
  .user b{display:none}.avatar{width:34px;height:34px}
  .bnav{display:flex;position:fixed;bottom:0;inset-inline:0;height:64px;background:#fff;border-top:1px solid var(--line);z-index:40;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 18px rgba(16,24,40,.06)}
  .bnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;color:var(--muted);text-decoration:none}
  .bnav a svg{width:21px;height:21px}.bnav a.on{color:var(--navy);font-weight:600}.bnav a.on svg{stroke:var(--red)}
  main{padding:18px 14px 92px}
  .h1{font-size:21px}.h2{font-size:16.5px}
  section{margin-bottom:24px}
  .page-head{margin-bottom:16px}
  .sec-h{gap:8px}
  .period{max-width:100%;overflow-x:auto}
  .kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:13px}.kpi .val{font-size:25px}.kpi .lbl{font-size:12px}
  .livebar{padding:12px;gap:10px;margin-bottom:18px}.livebar .avs{display:none}.livebar .btn{width:100%;justify-content:center}
  .mtg-top{padding:16px 16px 4px}.mtg-head .t{font-size:15px}.carousel span{display:none}
  .stg{font-size:10px}.stg .d{width:22px;height:22px}
  .mtg-body{padding:16px}.facts{grid-template-columns:1fr;gap:12px}
  .ai{flex-direction:column;gap:8px}.ai .links{flex-wrap:wrap;gap:8px 14px}
  .mtg-actions{flex-wrap:wrap}.mtg-actions .btn{flex:1 1 140px;justify-content:center}.dots{width:100%;justify-content:center;margin:4px 0 0}
  .comms{padding:4px 12px 8px;overflow-x:auto}.stg-head,.pipe{min-width:560px}.comm-top{flex-wrap:wrap}
  .grid2,.grid3,.drow,.orow,.fgrid{grid-template-columns:1fr}
  .stiles{grid-template-columns:1fr 1fr;gap:10px}.stile{padding:13px}.stile .v{font-size:23px}
  .ph{gap:10px;margin-bottom:16px}.ph .sub{font-size:12.5px}
  .chips,.dfil,.pfil{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.chip{white-space:nowrap}
  /* tables become cards */
  .tbl thead{display:none}
  .tbl,.tbl tbody{display:block;width:100%}
  .tbl tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:13px 14px;border-bottom:1px solid var(--line)}
  .tbl td{display:block;padding:0!important;border:0!important;font-size:12.5px;min-width:0}
  .tbl td::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
  .tbl td.ttl{grid-column:1/-1;font-size:14px;font-weight:600}.tbl td.ttl::before{display:none}
  .mrow{grid-template-columns:40px 1fr;gap:10px 12px;padding:13px 14px}.mrow .acts{grid-column:1/-1;flex-wrap:wrap}.mrow .acts .btn{flex:1;justify-content:center}
  .rat .acts,.pacts{flex-wrap:wrap}
  .ccard .row-kv{grid-template-columns:1fr 1fr}
  .drawer{width:100vw;max-width:100vw}
  .modal{padding:0}.mbox{width:100vw;height:100%;max-height:none;border-radius:0}
  .steps{grid-template-columns:repeat(4,auto);overflow-x:auto;padding:12px 14px}.step{font-size:11px;white-space:nowrap}
  .form,.fld2.two{grid-template-columns:1fr}.fld.full{grid-column:auto}.sum{grid-template-columns:110px 1fr}
  .prow{grid-template-columns:30px 1fr auto;padding:9px 10px}.prow>span:last-child{display:none}
  .momg{grid-template-columns:1fr}.mlist{position:static;flex-direction:row;overflow-x:auto;padding-bottom:4px}.mli{min-width:230px}
  .momdoc{padding:18px 14px}.mdm,.msig,.kvg{grid-template-columns:1fr}.mdh{flex-direction:column;gap:2px}
  .mby,.mnote,.mdec,.mcm,.mact{margin-inline-start:0}.mact{width:100%}.mit ul{padding-inline-start:20px}
  .sr{grid-template-columns:86px minmax(0,1fr) 66px;gap:8px;font-size:11.5px}
  .bars{gap:5px}.bars .bl{font-size:9.5px}.wlb{gap:8px}
  .retbox{flex-direction:column;align-items:flex-start}
  .toast{bottom:80px;width:max-content;max-width:92vw}
  .tip{display:none!important}
  .mpill{bottom:78px}.mpill .pt{display:none}
  .pip{width:250px;bottom:78px;inset-inline-end:12px}
  .dock{top:auto;bottom:0;width:100%;height:74vh;border-radius:18px 18px 0 0}
  body.docked .layout{margin-inline-end:0}
  /* meeting room on phone */
  .rtop{flex-wrap:wrap;padding:10px 12px;gap:8px}.rtop .s,.rchip.rec,.rchip.ok,.rchip.cc,.rchip.role,.rtop .rb2{display:none}.rtop .t{font-size:13.5px}
  .rbody{display:flex;flex-direction:column;overflow:hidden}
  .stagev{flex:none;height:40vh;padding:8px;gap:8px}
  .rstage .vgrid{gap:6px}.tile{border-radius:10px}.tile .face{width:40px;height:40px;font-size:14px}.tile .loc,.tile .mute{display:none}
  .tile .nm{font-size:9.5px;bottom:4px;inset-inline-start:5px;padding:1px 5px;max-width:92%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .tile.roomcam .face{font-size:10px}.tile.roomcam small{display:none}
  .vc .lbl{display:none}.vc>span:last-child{display:none}.vc{justify-content:center}
  .ctrls{gap:6px}.cb{width:38px;height:38px}.cb svg{width:17px;height:17px}.cb.end{padding:0 12px;font-size:12px}.cbc{height:38px;width:18px}
  .ccbar{width:96%;bottom:6px;padding:6px 10px}.cct{font-size:12px;line-height:1.45}.cch b{font-size:10.5px}
  .ccmenu{position:fixed;bottom:auto;top:16vh;inset-inline:12px;width:auto}
  .rrail{flex-direction:row;overflow-x:auto;padding:6px;border-inline-start:0;border-top:1px solid rgba(255,255,255,.08);flex:none;gap:2px}
  .rrail button{min-width:62px;padding:6px 2px}
  .rside{flex:1;min-height:0;border:0}
  .pstrip{height:58px;gap:5px}.pstrip .tile .face{width:28px;height:28px;font-size:10px}
  .pagew{padding:10px}.pg{padding:18px 16px}.anno{display:none}
  .rmbox{padding:18px}
}
@media (max-width:380px){ .kpis{grid-template-columns:1fr} .stiles{grid-template-columns:1fr} }
@media (max-width:820px){
  .side{display:flex}
  .top{height:60px;flex-wrap:nowrap}
  .user{display:none}
  .side .role-box{margin-top:6px}
}
@media (max-width:820px){
  .carousel span{display:inline-block}.carousel>span{display:none}
  .dseg button{white-space:nowrap}
  .dtool>span{display:none}.dtool b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mbox .mfoot{padding:12px 14px}.mbody{padding:16px 14px}
}
@media (max-width:1100px){
  .rtop .s,.rchip.ok,.rchip.role,.rchip.cc{display:none}
  .rtt{min-width:0;flex:0 1 auto}.rtop .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
  .vc .lbl{max-width:120px}
}
.cb.end{white-space:nowrap}
/* V12 attendees */
.aadd{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.aadd>label{font-size:12px;font-weight:600;color:var(--muted)}
.ain{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;margin-top:6px;background:var(--bg)}
.ain:focus-within{background:#fff;border-color:var(--steel)}.ain svg{width:16px;height:16px;color:var(--muted)}.ain input{border:0;background:transparent;outline:0;font:inherit;flex:1;min-width:0}
.asugs{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.asug{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;text-align:start}
.asug:hover{border-color:var(--royal);background:#F7FAFD}.asug b{display:block;font-size:13px;font-weight:600}.asug small{font-size:11.5px;color:var(--muted)}.asug span:nth-child(2){flex:1}
.asug em{font-style:normal;font-size:12px;font-weight:600;color:var(--royal);white-space:nowrap}
.anone{font-size:12px;color:var(--muted);padding:6px 2px}
.aopts{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.aext{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding-top:10px;border-top:1px dashed var(--line)}
.prow.xrow{grid-template-columns:34px 1fr 170px 28px}
.rsel{padding:6px 8px;font-size:12px}
.xdel{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--muted)}.xdel:hover{color:var(--red);border-color:var(--red)}
.xb{color:#5B3FD0;font-weight:600}
.tile.roomcam .face b{font-size:13.5px;color:#fff}
@media (max-width:820px){.aext{grid-template-columns:1fr}.prow.xrow{grid-template-columns:30px 1fr 28px}.prow.xrow .rsel{grid-column:2/3;grid-row:2}}
/* V13 committee wizard */
.seg4{display:grid;grid-template-columns:repeat(4,1fr)}.seg4 button{font-size:12px;padding:8px 6px}
.prow.cwrow{grid-template-columns:34px 1fr 150px auto 28px}
.vtog{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}.vtog input{accent-color:var(--navy)}
@media (max-width:820px){.seg4{grid-template-columns:1fr 1fr}.prow.cwrow{grid-template-columns:30px 1fr 28px}.prow.cwrow .rsel{grid-column:2/3;grid-row:2}.prow.cwrow .vtog{grid-column:2/3;grid-row:3}}
/* V13.1 brighter live dot on the floating meeting bar */
.mpill .pdot{width:12px;height:12px;background:#3EE58A;animation:livedot 1.2s ease-in-out infinite}
@keyframes livedot{0%{box-shadow:0 0 0 0 rgba(62,229,138,.85),0 0 6px 2px rgba(62,229,138,.9);opacity:1}
 50%{box-shadow:0 0 0 7px rgba(62,229,138,0),0 0 12px 4px rgba(62,229,138,.55);opacity:.55}
 100%{box-shadow:0 0 0 0 rgba(62,229,138,0),0 0 6px 2px rgba(62,229,138,.9);opacity:1}}
.mpill .pdot{width:13px;height:13px;margin-inline-end:2px}
@keyframes livedot{0%{box-shadow:0 0 0 0 rgba(62,229,138,.9),0 0 8px 3px rgba(62,229,138,1);opacity:1}
 50%{box-shadow:0 0 0 10px rgba(62,229,138,0),0 0 16px 6px rgba(62,229,138,.6);opacity:.45}
 100%{box-shadow:0 0 0 0 rgba(62,229,138,0),0 0 8px 3px rgba(62,229,138,1);opacity:1}}
/* V14 people */
.sync{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:14px;flex-wrap:wrap}
.sync b{display:block;font-size:13.5px}.sync small{font-size:12px;color:var(--muted)}
.synk{display:flex;gap:22px}.synk small{display:block;font-size:11px}.synk b{font-size:14px}
.pcell{display:flex;align-items:center;gap:10px}.pcell small{display:block;font-size:11.5px;color:var(--muted);font-weight:400}
.mchips{display:flex;flex-wrap:wrap;gap:4px}.mchip{font-size:11px;background:var(--mist);color:var(--navy);border-radius:5px;padding:1px 7px;white-space:nowrap}
.src{font-size:11px;font-weight:600;border-radius:20px;padding:2px 8px;white-space:nowrap}
.src.sync{background:#E8EFF8;color:var(--royal)}.src.import{background:#EEF6F3;color:#0E7C5B}.src.manual{background:var(--amber-soft);color:var(--amber)}.src.external{background:#F1EEFA;color:#5B3E96}
tr[data-act="person"]{cursor:pointer}tr[data-act="person"]:hover td{background:#F9FBFD}
@media (max-width:820px){.synk{gap:14px}.sync .btn{width:100%;justify-content:center}}
@media (max-width:820px){
 .sync{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px 12px}
 .sync>div:nth-child(2){min-width:0}
 .synk{grid-column:1/-1;justify-content:space-between}
 .sync .btn{grid-column:1/-1}
 .ph>div:last-child{width:100%}.ph .btn{flex:1 1 auto;justify-content:center}
}
@media (max-width:820px){.mchip{white-space:normal}.src{justify-self:start;display:inline-block}}
/* V14 contact cards */
.vtgl{display:flex;border:1px solid var(--line);background:#fff;border-radius:9px;padding:2px;gap:2px}
.vtgl button{border:0;background:none;width:32px;height:28px;border-radius:7px;display:grid;place-items:center;color:var(--muted)}
.vtgl button svg{width:16px;height:16px}.vtgl button.on{background:var(--navy);color:#fff}
.chips .spacer{flex:1}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.pcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:0 16px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:box-shadow .2s,transform .2s}
.pcard:hover{box-shadow:0 12px 28px rgba(16,24,40,.09);transform:translateY(-2px)}
.pc-band{position:absolute;inset:0 0 auto 0;height:58px;background:linear-gradient(135deg,var(--pc),color-mix(in srgb,var(--pc) 55%,#fff))}
.pc-src{position:absolute;top:10px;inset-inline-end:10px;z-index:1;background:#fff!important}
.pc-av{position:relative;margin-top:24px;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:20px;font-weight:700;border:4px solid #fff;box-shadow:0 6px 14px rgba(16,24,40,.15)}
.pc-n{margin-top:10px;font-size:15px;color:var(--ink)}.pc-p{font-size:12.5px;color:var(--muted);margin-top:2px}
.pc-rows{width:100%;display:flex;flex-direction:column;gap:6px;margin:12px 0 10px;padding:10px 0;border-block:1px solid var(--line);text-align:start}
.pc-rows div{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink)}.pc-rows svg{width:15px;height:15px;color:var(--steel);flex:none;margin-top:1px}
.pc-m{justify-content:center;min-height:22px}
.pc-foot{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.pc-acts{display:flex;gap:6px}.pc-acts button{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--navy)}
.pc-acts button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.pc-acts svg{width:15px;height:15px}
@media (max-width:820px){.pgrid{grid-template-columns:1fr 1fr;gap:10px}.pcard{padding:0 10px 12px}.pc-rows div:nth-child(3){display:none}.pc-m .mchip:nth-child(n+2){display:none}}
@media (max-width:420px){.pgrid{grid-template-columns:1fr}}
/* V14.1 contact card header: one brand header instead of per-person gradients */
.pc-band{height:56px;background:var(--pattern),linear-gradient(120deg,var(--navy2),var(--navy) 65%,#0F4C86)!important}
.pc-band::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--red)}
.pc-av{border-color:#fff;box-shadow:0 0 0 1px var(--line),0 6px 14px rgba(16,24,40,.12)}
/* V14.2 modern compact + horizontal contact cards */
.mc,.hc{--soft:color-mix(in srgb,var(--pc) 14%,#fff);--ring:color-mix(in srgb,var(--pc) 35%,#fff);background:#fff;border:1px solid var(--line);border-radius:16px;cursor:pointer;transition:box-shadow .2s,transform .2s,border-color .2s;position:relative}
.mc:hover,.hc:hover{border-color:var(--ring);box-shadow:0 12px 26px rgba(16,24,40,.08);transform:translateY(-2px)}
.mc-av,.hc-av{position:relative;display:grid;place-items:center;border-radius:14px;background:var(--soft);color:var(--pc);font-weight:700;flex:none;box-shadow:inset 0 0 0 1px var(--ring)}
.sdot{position:absolute;bottom:-3px;inset-inline-end:-3px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:#1E8E5A}
.sdot.expiring,.sdot.review{background:#E0A43A}.sdot.invited{background:#98A2B3}
/* compact */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.mc{padding:14px;display:flex;flex-direction:column;gap:2px}
.mc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.mc-av{width:46px;height:46px;font-size:15px}
.mc-src{font-size:10px;padding:1px 7px}
.mc-n{font-size:14px;color:var(--ink);line-height:1.3}.mc-p{font-size:12px;color:var(--muted)}.mc-e{font-size:11.5px;color:#98A2B3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.mc-cnt{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted)}.mc-cnt svg{width:14px;height:14px}
.mc .pc-acts button,.hc .pc-acts button{width:28px;height:28px}.mc .pc-acts svg,.hc .pc-acts svg{width:13px;height:13px}
.mc .pc-acts{opacity:.0;transition:opacity .2s}.mc:hover .pc-acts{opacity:1}
/* horizontal */
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:14px}
.hc{display:flex;gap:14px;align-items:flex-start;padding:14px 16px}
.hc::before{content:"";position:absolute;inset-block:14px;inset-inline-start:0;width:3px;border-radius:0 3px 3px 0;background:var(--pc);opacity:0;transition:opacity .2s}
.hc:hover::before{opacity:1}
.hc-av{width:52px;height:52px;font-size:16px}
.hc-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.hc-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hc-h b{font-size:14.5px;color:var(--ink)}
.hc-p{font-size:12.5px;color:var(--muted)}
.hc-e{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink)}.hc-e svg{width:13px;height:13px;color:var(--steel);flex:none}
.hc .mchips{margin-top:6px}
.hc-r{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px;align-self:stretch;flex:none}
@media (max-width:820px){.mgrid{grid-template-columns:1fr 1fr;gap:10px}.mc .pc-acts{opacity:1}.hgrid{grid-template-columns:1fr}.hc{padding:12px}.hc-r .st-ok,.hc-r .st-soon,.hc-r .pill2{display:none}}
.mgrid>*,.hgrid>*{min-width:0}
@media (max-width:820px){.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.mc{padding:12px}.mc-src{display:none}.mc-cnt{font-size:11px}.mc .pc-acts{display:none}}
/* ═════════ V15 contact cards + hover card ═════════ */
.hc-av,.mc-av,.hcd-av{--sc:#215A9E;position:relative;border-radius:50%!important;display:grid;place-items:center;flex:none;font-weight:700;color:var(--sc);background:color-mix(in srgb,var(--sc) 12%,#fff);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--sc) 40%,#fff)}
.hc-av{width:60px;height:60px;font-size:18px}
.mc-av{width:52px;height:52px;font-size:16px}
.hcd-av{width:52px;height:52px;font-size:16px}
.hc-av .sdot,.mc-av .sdot,.hcd-av .sdot{bottom:1px;inset-inline-end:1px}
.hc{align-items:center}.hc::before{display:none}
.hc-b{gap:2px}.hc-e{color:var(--muted);font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mline{display:flex;flex-wrap:nowrap;gap:4px;overflow:hidden;margin-top:7px;min-width:0}
.mline .mchip{flex:none}.mline .mchip.cut{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.mline .more{background:var(--navy);color:#fff;font-weight:600}
.hc-r{align-self:stretch;justify-content:space-between}
.hc-top{display:flex;align-items:center;gap:4px}
.kb{width:28px;height:28px;border-radius:8px;border:0;background:none;color:var(--muted);font-size:18px;line-height:1;display:grid;place-items:center}
.kb:hover{background:var(--mist);color:var(--navy)}
.mc-top{align-items:center}.mc-foot .src{font-size:10.5px}
.mc .pc-acts{opacity:1}
.pmenu{position:fixed;z-index:120;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(16,24,40,.16);padding:6px;display:none}
.pmenu.open{display:block}.pmenu .mi svg{width:15px;height:15px;color:var(--steel)}.pmenu .mi.bad,.pmenu .mi.bad svg{color:var(--red)}
.hcard{position:fixed;z-index:130;width:320px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(16,24,40,.18);padding:14px;display:none;color:var(--ink);text-align:start;font-size:13px}
.hcard.open{display:block;animation:pop .15s}
.hcd-h{display:flex;gap:12px;align-items:center}.hcd-h>div{min-width:0;display:flex;flex-direction:column}.hcd-h b{font-size:14.5px}.hcd-h span{font-size:12.5px;color:var(--muted)}
.hcd-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 2px}
.hc-ctx{background:var(--bg);border-radius:9px;padding:8px 10px;margin-top:8px;display:flex;flex-direction:column;gap:2px}.hc-ctx small{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.hc-ctx b{font-size:12.5px;font-weight:600}
.hcd-c{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.hcd-c div{display:flex;gap:8px;align-items:center;font-size:12.5px}.hcd-c svg{width:14px;height:14px;color:var(--steel);flex:none}
.hcd-f{display:flex;gap:6px;margin-top:12px;align-items:center}.hcd-f .btn{padding:6px 10px;font-size:12px}.hcd-f .btn svg{width:13px;height:13px}.hcd-f .btn.text{margin-inline-start:auto}
@media (max-width:820px){.hc-av{width:52px;height:52px;font-size:16px}.hcard{width:min(320px,92vw)}}
@media (max-width:820px){.hc{align-items:flex-start}.hc-h{gap:4px 6px}.hc-h .src{font-size:10px}.mline .mchip{white-space:nowrap}.hc-r .pc-acts{flex-direction:column}}
/* ═════════ V16 contact cards: strict grid ═════════ */
.hgrid{grid-template-columns:repeat(auto-fill,minmax(460px,1fr))}
.hc2,.mc2{background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:box-shadow .2s,border-color .2s;min-width:0}
.hc2:hover,.mc2:hover{border-color:#CFD9E5;box-shadow:0 10px 24px rgba(16,24,40,.07)}
.hc2-av,.mc2-av{--sc:#215A9E;display:grid;place-items:center;border-radius:50%;flex:none;font-weight:700;color:var(--sc);background:color-mix(in srgb,var(--sc) 11%,#fff);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--sc) 38%,#fff)}
.hc2-top{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px}
.hc2-av{width:62px;height:62px;font-size:18px}
.hc2-id{display:flex;flex-direction:column;gap:3px;min-width:0}
.hc2-id b{font-size:15px;line-height:1.3;color:var(--ink)}
.hc2-id span{font-size:12.5px;line-height:1.35;color:var(--ink)}
.hc2-id .mu,.mc2 .mu{color:var(--muted)}
.hc2-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;align-self:start}
.tag2{font-size:11px;font-weight:600;border-radius:20px;padding:2px 9px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.tag2::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.tag2.ok{background:var(--green-soft);color:var(--green)}.tag2.pend{background:#F2F4F7;color:#667085}
.hc2-foot{display:flex;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--line);background:#FBFCFE;border-radius:0 0 14px 14px}
.hc2-foot .mline{flex:1;margin:0}
.hc-acts{display:flex;align-items:center;gap:4px;flex:none}
.hc-acts button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--navy)}
.hc-acts button svg{width:14px;height:14px}
.hc-acts button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.hc-acts .kb{font-size:17px;color:var(--muted)}
/* compact */
.mgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.mc2{padding:16px 16px 0;display:flex;flex-direction:column;gap:3px}
.mc2-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.mc2-av{width:54px;height:54px;font-size:16px}
.mc2 b{font-size:14.5px;color:var(--ink);line-height:1.3}.mc2 span{font-size:12.5px;line-height:1.35}
.mc2-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px -16px 0;padding:10px 16px;border-top:1px solid var(--line);background:#FBFCFE;border-radius:0 0 14px 14px}
.mc2-foot .src{font-size:10.5px}
.hcd-av .sdot{display:none}
@media (max-width:820px){
 .hgrid{grid-template-columns:1fr}.mgrid{grid-template-columns:1fr}
 .hc2-top{grid-template-columns:52px minmax(0,1fr);padding:14px}.hc2-av{width:52px;height:52px;font-size:16px}
 .hc2-meta{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap}
 .hc2-foot{padding:10px 14px}
}
.hgrid,.mgrid{align-items:stretch}
.hc2{display:flex;flex-direction:column}.hc2-foot{margin-top:auto}
.mgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.mc2{padding-bottom:0}.mc2-foot{margin-top:auto;position:relative;top:0}
.mc2>b{margin-top:0}.mc2>span:last-of-type{margin-bottom:12px}
.mc2 .mc2-av{font-size:16px}
.mc2-foot .hc-acts button{width:28px;height:28px}
.hc2-meta .tag2,.hc2-meta .src{height:22px;display:inline-flex;align-items:center;line-height:1}
@media (max-width:820px){.hc2-meta{gap:6px}}
.mline .mchip.cut{white-space:normal;text-overflow:clip;overflow:visible;line-height:1.35}
.mline{align-items:center}
@media (max-width:820px){.hc2-meta{align-items:center}.hc2-meta>*{margin:0}}
/* ═════════ V17 cards ═════════ */
.hgrid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hgrid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hc3{background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:box-shadow .2s,border-color .2s;min-width:0;display:flex;flex-direction:column}
.hc3:hover{border-color:#CFD9E5;box-shadow:0 10px 24px rgba(16,24,40,.07)}
.hc3-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px 12px}
.av3{--sc:#215A9E;display:flex;flex-direction:column;align-items:center;flex:none;width:64px}
.av3-c{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:16px;color:var(--sc);background:color-mix(in srgb,var(--sc) 11%,#fff);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--sc) 40%,#fff)}
.av3-s{margin-top:-7px;position:relative;z-index:1;font-size:9.5px;font-weight:700;letter-spacing:.02em;color:#fff;background:var(--sc);border:2px solid #fff;border-radius:10px;padding:1px 7px;white-space:nowrap}
.pdot3{position:absolute;top:1px;inset-inline-end:1px;width:13px;height:13px;border-radius:50%;border:2.5px solid #fff;background:#98A2B3}
.pdot3.on{background:#22C55E;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pon 2s infinite}
.pdot3.away{background:#F59E0B}
@keyframes pon{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 6px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.hc3-id{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:4px}
.hc3-id b{font-size:14.5px;line-height:1.3;color:var(--ink)}
.hc3-id span{font-size:12.5px;line-height:1.35;color:var(--ink)}.hc3-id .mu{color:var(--muted)}
.hc3-top .tag2{margin-top:4px}
.hc3 .hc2-foot{padding:9px 16px}
.pres{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--muted);background:#F2F4F7;border-radius:20px;padding:2px 9px}
.pres i{width:7px;height:7px;border-radius:50%;background:#98A2B3}.pres.on{color:#15803D;background:#EAF7EF}.pres.on i{background:#22C55E}.pres.away{color:#B45309;background:#FEF5E7}.pres.away i{background:#F59E0B}
@media (max-width:1280px){.hgrid.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.hgrid.g2,.hgrid.g3{grid-template-columns:1fr}}
.mline .more{direction:ltr;unicode-bidi:isolate}
/* V18 */
.av3-s{margin-top:6px;border:0}
.pn{cursor:default}
.pr-head{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin-bottom:16px;flex-wrap:wrap}
.av3.big{width:auto}.av3.big .av3-c{width:84px;height:84px;font-size:26px}.av3.big .pdot3{width:16px;height:16px;top:3px;inset-inline-end:3px}.av3.big .av3-s{font-size:10.5px;padding:2px 9px}
.pr-id{flex:1;min-width:240px}.pr-id .h1{font-size:22px}.pr-pos{font-size:14px;margin-top:2px}
.pr-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;align-items:center}
.pr-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pr-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
.pr-main,.pr-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.pr-ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pr-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}.pr-row:last-child{border-bottom:0}
.pr-row svg{width:16px;height:16px;color:var(--steel);flex:none;margin-top:2px}.pr-row small{display:block;font-size:11px;color:var(--muted)}.pr-row b{font-size:13px;font-weight:600}
@media (max-width:1100px){.pr-grid{grid-template-columns:1fr}}
@media (max-width:820px){.pr-head{padding:16px}.pr-acts{width:100%}.pr-acts .btn{flex:1;justify-content:center}}
