:root{--bg:#f5f7fb;--card:#fff;--ink:#1b2430;--muted:#6b7280;--line:#e5e7eb;--brand:#176b52;--brand2:#0e4f3b;--danger:#b42318;--warn:#b54708;--ok:#067647}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,"Segoe UI",sans-serif;direction:rtl}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:#102820;color:#eaf8f2;padding:20px 14px;position:sticky;top:0;height:100vh}.brand{font-size:18px;font-weight:800;padding:8px 10px 22px}.side a{display:block;color:#d8eee6;text-decoration:none;padding:10px 12px;border-radius:10px;margin:3px 0;font-size:14px}.side a:hover,.side a.active{background:#1b4a3b;color:#fff}.side .sep{height:1px;background:#2d5247;margin:14px 8px}.main{padding:24px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.title h1{font-size:22px;margin:0 0 5px}.title p{margin:0;color:var(--muted);font-size:13px}.userbox{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px rgba(16,24,40,.03);margin-bottom:16px}.grid{display:grid;gap:14px}.grid.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric b{display:block;font-size:24px;margin-top:8px}.metric span{color:var(--muted);font-size:13px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:6px;min-width:150px;flex:1}.field label{font-size:12px;color:var(--muted)}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;font-family:inherit;font-size:14px}textarea{min-height:100px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:9px;border:1px solid var(--brand);background:var(--brand);color:#fff;text-decoration:none;font-family:inherit;cursor:pointer;font-size:13px}.btn.secondary{background:#fff;color:var(--brand)}.btn.danger{background:#fff;border-color:#f3b5b1;color:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}.badge{display:inline-block;padding:4px 8px;border-radius:20px;font-size:11px;background:#eef2f6;color:#475467}.badge.ok{background:#ecfdf3;color:var(--ok)}.badge.warn{background:#fffaeb;color:var(--warn)}.badge.bad{background:#fef3f2;color:var(--danger)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}th{color:#667085;font-weight:600;background:#fafafa}.flash{padding:11px 14px;border-radius:10px;background:#ecfdf3;color:#067647;margin-bottom:12px}.flash.err{background:#fef3f2;color:#b42318}.muted{color:var(--muted)}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.code{direction:ltr;text-align:left;background:#101828;color:#e4e7ec;padding:12px;border-radius:10px;white-space:pre-wrap;font-family:Consolas,monospace;font-size:12px}.empty{padding:30px;text-align:center;color:var(--muted)}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.tabs a{padding:7px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:#344054;background:#fff}.health{display:flex;gap:8px;flex-wrap:wrap}.question{border:1px solid var(--line);padding:12px;border-radius:10px;margin:10px 0;background:#fafafa}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.ltr{direction:ltr;text-align:left}.danger-text{color:var(--danger)}.hint{background:#f8fafc;border-right:4px solid #9ca3af;padding:10px 12px;border-radius:8px;font-size:12px;color:#475467}.footer{margin-top:20px;color:#98a2b3;font-size:11px;text-align:center}
@media(max-width:980px){.shell{grid-template-columns:1fr}.side{height:auto;position:relative}.side nav{display:flex;overflow:auto;gap:4px}.side a{white-space:nowrap}.main{padding:14px}.grid.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}
.brand small{display:block;font-size:10px;color:#91b7a8;margin-top:4px;font-weight:400}.card hr{border:0;border-top:1px solid var(--line);margin:18px 0}.btn[disabled]{opacity:.5;cursor:not-allowed}.toolbar form{display:inline-flex}.metric small{display:block;margin-top:5px}.nowrap{white-space:nowrap}

/* ═══════════ v3.5 — پوسته جدید (وزیرمتن، سبز کاجی) ═══════════ */
@font-face{font-family:Vazirmatn;font-weight:400;font-display:swap;src:url(fonts/vazirmatn-arabic-400-normal.woff2) format('woff2')}
@font-face{font-family:Vazirmatn;font-weight:500;font-display:swap;src:url(fonts/vazirmatn-arabic-500-normal.woff2) format('woff2')}
@font-face{font-family:Vazirmatn;font-weight:700;font-display:swap;src:url(fonts/vazirmatn-arabic-700-normal.woff2) format('woff2')}
@font-face{font-family:Vazirmatn;font-weight:800;font-display:swap;src:url(fonts/vazirmatn-arabic-800-normal.woff2) format('woff2')}
@font-face{font-family:Vazirmatn;font-weight:400;font-display:swap;src:url(fonts/vazirmatn-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF}
@font-face{font-family:Vazirmatn;font-weight:700;font-display:swap;src:url(fonts/vazirmatn-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF}
:root{--bg:#f2f4f3;--card:#fff;--ink:#16211c;--muted:#5e6c66;--faint:#97a39e;--line:#e3e8e5;--brand:#1f5c48;--brand2:#173f32;
--pine:#173f32;--leaf:#3c9a76;--peony:#b8506f;--peony-bg:#f8e9ee;--amber:#b7791f;--amber-bg:#fbf1df;--danger:#c23b3b;--danger-bg:#fbeaea;--ok:#22875f;--warn:#b7791f}
body{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;background:var(--bg)}
input,select,textarea,button{font-family:inherit}
.shell{grid-template-columns:228px 1fr}
.side{background:var(--pine);color:#d6e6df;padding:24px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}
.side .brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px;font-size:15px;color:#fff}
.side .brand .mark{width:32px;height:32px;border-radius:10px;background:#2c6a55;display:grid;place-items:center;font-style:normal;font-size:15px;color:#c9f2df;flex:0 0 32px}
.side .brand small{color:#8fb3a6;font-size:11px;font-weight:400;margin-top:2px}
.side a{color:#c3d8cf;padding:8px 12px;border-radius:9px;font-size:13.5px;margin:1px 0}
.side a:hover{background:#21503f;color:#fff}
.side a.active{background:#24574a;color:#fff;font-weight:700;box-shadow:inset -3px 0 0 #7fd1ad}
.side .grp{font-size:11.5px;color:#7fa596;padding:16px 12px 5px}
.side .back{color:#ffd9a8}
.side .who{margin-top:auto;padding:14px 10px 0;border-top:1px solid #285446;font-size:12px;color:#a9c6bb}
.side .who b{display:block;color:#fff;font-size:13.5px}
.side .who-links{display:flex;gap:4px;margin-top:8px}.side .who-links a{padding:4px 8px;font-size:12px;color:#a9c6bb}
.main{padding:28px 34px 40px;min-width:0}
.top .title h1{font-size:22px;font-weight:800}
.card{border-radius:16px;box-shadow:none}
.btn{border-radius:9px;font-weight:700}
.badge{border-radius:999px}
.flash{border-radius:12px}
.menu-btn{display:none}
:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
@media(max-width:980px){
 .shell{grid-template-columns:1fr}
 .side{position:fixed;inset:0 0 0 auto;width:250px;z-index:50;transform:translateX(100%);transition:transform .2s;height:100vh}
 .side.open{transform:none;box-shadow:-10px 0 40px rgba(0,0,0,.25)}
 .side nav{display:block}
 .menu-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:18px;margin-bottom:12px;cursor:pointer}
 .main{padding:16px}
}
@media(prefers-reduced-motion:reduce){.side{transition:none}}

/* ═══════════ داشبورد مدیر (طرح ۲) ═══════════ */
.dh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}
.dh .date{color:var(--muted);font-size:13px;margin-bottom:6px}
.dh h1{margin:0;font-size:26px;font-weight:800;line-height:1.5;max-width:720px}
.dh h1 em{font-style:normal;color:var(--peony)}
.sysline{display:flex;gap:16px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.sysline span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.sysline a{color:var(--danger);font-weight:700}
.dot{width:8px;height:8px;border-radius:50%;background:var(--leaf);display:inline-block}.dot.bad{background:var(--danger)}.dot.warn{background:var(--amber)}
.setup{display:flex;align-items:center;gap:14px;font-size:13px;margin-bottom:20px;padding:12px 16px;border-radius:12px;background:#e7f0ec;color:var(--pine);flex-wrap:wrap}
.setup .pbar{width:150px;height:6px;background:#cfe0d8;border-radius:9px;overflow:hidden}.setup .pbar i{display:block;height:100%;background:var(--brand)}
.setup a{margin-right:auto;font-weight:700;color:var(--pine);text-decoration:none;border-bottom:1.5px solid}
.day{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px 16px;margin-bottom:26px}
.day-h{display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.day-h h2{margin:0;font-size:15px;font-weight:800;white-space:nowrap}.day-h small{color:var(--muted);font-size:12.5px}
.ruler{position:relative;height:116px;direction:ltr}
.ruler .hours{position:absolute;inset:auto 0 0 0;height:20px;font-size:11px;color:var(--faint)}
.ruler .hours span{position:absolute;transform:translateX(50%)}
.ruler .gl{position:absolute;top:0;bottom:22px;width:1px;background:var(--line)}
.slot{position:absolute;top:8px;height:72px;border-radius:12px;padding:8px 10px;font-size:12px;direction:rtl;overflow:hidden;line-height:1.55;text-decoration:none}
.slot b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot .s{font-size:11.5px;opacity:.85;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slot.ok{background:var(--peony-bg);border:1px solid #ecc6d3;color:#6f2a40}
.slot.done{background:#eef3f1;border:1px solid var(--line);color:var(--muted)}
.slot.miss{background:#f6f6f6;border:1px solid var(--line);color:var(--faint);text-decoration:line-through}
.slot.wait{background:repeating-linear-gradient(-45deg,var(--amber-bg),var(--amber-bg) 7px,#fff8ec 7px,#fff8ec 14px);border:1px dashed #e2bf85;color:#7a4f12}
.slot.free{border:1.5px dashed #cfd9d4;color:var(--faint);background:transparent;display:flex;align-items:center;justify-content:center;text-align:center}
.slot .tm{display:none}
.nowl{position:absolute;top:0;bottom:22px;width:2px;background:var(--danger)}
.nowl:before{content:"اکنون";position:absolute;top:-4px;left:6px;font-size:10.5px;color:var(--danger);font-weight:700;white-space:nowrap}
.dayoff{padding:26px;text-align:center;color:var(--muted);font-size:13px}
.dcols{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;margin-bottom:28px}
.dcols h3{margin:0 0 4px;font-size:15px;font-weight:800}.lede{margin:0 0 14px;color:var(--muted);font-size:12.5px}
.todo{border-top:1px solid var(--line)}
.todo a.it{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.todo a.it:hover{background:#f8faf9}
.cnt{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:15px}
.cnt.r{background:var(--danger-bg);color:var(--danger)}.cnt.a{background:var(--amber-bg);color:var(--amber)}.cnt.g{background:#e9f1ee;color:var(--brand)}
.todo b{font-size:13.5px}.todo small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.go{font-size:12.5px;color:var(--brand);font-weight:700;border:1px solid #cfe0d8;border-radius:8px;padding:6px 11px;white-space:nowrap;text-decoration:none;background:#fff}
.go.pr{background:var(--pine);color:#fff;border-color:var(--pine)}
.todo .empty{padding:22px 4px;color:var(--muted);font-size:13px}
.result .big{display:flex;align-items:baseline;gap:12px;margin:2px 0 4px}
.result .big b{font-size:50px;font-weight:800;line-height:1;color:var(--pine)}.result .big span{font-size:14px;color:var(--muted)}
.result .delta{font-size:12.5px;font-weight:700;margin-bottom:16px;color:var(--muted)}
.steps{display:flex;gap:3px;height:44px;margin-bottom:8px}
.steps div{border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;min-width:38px}
.steps-l{display:flex;gap:3px;font-size:11.5px;color:var(--muted)}.steps-l span{text-align:center;min-width:38px}
.note{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.8}
.week{background:#fff;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr) 1.6fr}
.week>div{padding:16px 20px;border-left:1px solid var(--line)}.week>div:last-child{border-left:0}
.week .l{font-size:12px;color:var(--muted)}.week .v{font-size:24px;font-weight:800;margin:6px 0 2px}.week .c{font-size:11.5px;color:var(--muted)}
.up{color:var(--ok);font-weight:700}.dn{color:var(--danger);font-weight:700}
@media(max-width:980px){
 .dh{flex-direction:column;align-items:flex-start}.dh h1{font-size:21px}
 .ruler{height:auto;direction:rtl}.ruler .gl,.ruler .hours,.ruler .nowl{display:none}
 .slot{position:static;display:block;width:auto!important;height:auto;margin-bottom:8px}.slot.free{display:flex}.slot .tm{display:inline;font-weight:800;margin-left:6px}
 .dcols{grid-template-columns:1fr;gap:26px}
 .week{grid-template-columns:1fr 1fr}.week>div{border-left:0;border-bottom:1px solid var(--line)}.week>div:last-child{grid-column:1/-1;border-bottom:0}
}

/* ═══════════ مرکز کنترل (طرح ۲) ═══════════ */
.clist{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.crow{display:grid;grid-template-columns:1.5fr 1.3fr 160px 80px 1.4fr auto;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);font-size:13px}
.crow:last-child{border-bottom:0}.crow.bad{background:#fdf6f6;box-shadow:inset -3px 0 0 var(--danger)}
.crow .nm b{display:block;font-size:14px}.crow .nm small,.crow .m small{color:var(--muted);font-size:11.5px}.crow .m b{display:block;font-size:17px}
.crow .lights{display:flex;gap:12px;font-size:12px;color:var(--muted);flex-wrap:wrap}.crow .lights span{display:flex;align-items:center;gap:5px}
.crow .ls{font-size:12.5px;color:var(--muted)}.crow.bad .ls{color:var(--danger);font-weight:700}
.crow .ac{display:flex;gap:6px;align-items:center}.crow .ac form{display:inline}
.crow .ac button.go{cursor:pointer;font-family:inherit}
@media(max-width:1100px){.crow{grid-template-columns:1fr 1fr;row-gap:8px}.crow .sp{display:none}}

.main .lede a,.main .week a,.crow .nm a,.dayoff a{color:var(--brand);font-weight:700}

/* ═══════════ آیکون منو و حالت «میز کار» (طرح ۳) ═══════════ */
.side a{display:flex;align-items:center;gap:10px}.side .ni{flex:0 0 19px;opacity:.85}
.dh-side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.vswitch{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}
.vswitch button{border:0;background:transparent;font:inherit;font-size:12px;padding:5px 11px;border-radius:7px;color:var(--muted);cursor:pointer}
.vswitch button.on{background:var(--pine);color:#fff;font-weight:700}
body.rail .shell{grid-template-columns:86px 1fr}
body.rail .side{padding:16px 8px;align-items:center;background:#0d2b24}
body.rail .side .brand{flex-direction:column;padding:0 0 14px;gap:0}body.rail .side .brand>span{display:none}
body.rail .side .brand .mark{width:42px;height:42px;border-radius:13px;flex-basis:42px}
body.rail .side nav{width:100%}
body.rail .side a{flex-direction:column;gap:3px;padding:8px 2px 6px;font-size:10px;text-align:center;line-height:1.35;border-radius:11px}
body.rail .side a span{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.rail .side a.active{box-shadow:none;background:#1b4a3e}
body.rail .side .grp{font-size:0;padding:6px 0;border-top:1px solid #224b3f;margin:6px 10px}
body.rail .side .who{text-align:center;padding:12px 0 0;width:100%}body.rail .side .who span{display:none}
body.rail .side .who b{font-size:11px;overflow:hidden;text-overflow:ellipsis}
body.rail .side .who-links{flex-direction:column;align-items:center}
@media(max-width:980px){body.rail .shell{grid-template-columns:1fr}body.rail .side{align-items:stretch}body.rail .side a{flex-direction:row;font-size:13px;gap:10px;padding:8px 12px}}
/* میز کار */
.dbar{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.dbar .t{font-size:13px;color:var(--muted)}.dbar .t b{display:block;font-size:19px;color:var(--ink);font-weight:800;margin-bottom:2px}
.dsearch{margin-right:auto}.dsearch input{width:280px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 14px;font-size:13px}
.sysbox{display:flex;background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;font-size:12px}
.sysbox span{padding:9px 12px;display:flex;align-items:center;gap:6px;border-left:1px solid var(--line);white-space:nowrap}.sysbox span:last-child{border-left:0}
.sysbox a{color:var(--danger);font-weight:700}
.vstrip{background:#0d2b24;color:#e6f4ee;border-radius:20px;padding:22px 26px;display:grid;grid-template-columns:1.3fr repeat(3,1fr);margin-bottom:18px;position:relative;overflow:hidden}
.vstrip:after{content:"";position:absolute;left:-60px;top:-80px;width:260px;height:260px;border-radius:50%;border:38px solid rgba(255,255,255,.04);pointer-events:none}
.vstrip>div{padding:0 22px;border-left:1px solid rgba(255,255,255,.1)}.vstrip>div:first-child{padding-right:0}.vstrip>div:last-child{border-left:0}
.vstrip .k{font-size:12.5px;color:#9fc7b9}.vstrip .v{font-size:30px;font-weight:800;margin:6px 0 3px;color:#fff}.vstrip .v small{font-size:14px;font-weight:500;color:#bfe0d4}
.vstrip .c{font-size:12px;color:#a9cbbf}.vstrip .c b{color:#7fe0b6}.vstrip .hero .v{font-size:38px}
.dcols3{display:grid;grid-template-columns:320px 1fr 290px;gap:16px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;min-width:0}
.ph{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.ph h3{margin:0;font-size:14.5px;font-weight:800}.ph small{font-size:12px;color:var(--muted)}
.agenda{position:relative}
.agenda .hr{height:46px;border-top:1px dashed var(--line);font-size:11px;color:var(--faint);padding-top:3px}
.ap{position:absolute;right:48px;left:0;border-radius:11px;padding:6px 11px;font-size:12px;line-height:1.55;overflow:hidden;text-decoration:none;display:block}
.ap b{display:block;font-size:13px}.ap span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap.done{background:#f1f4f3;color:var(--muted);border-right:3px solid #b8c4bf}
.ap.miss{background:#f6f6f6;color:var(--faint);border-right:3px solid #ddd;text-decoration:line-through}
.ap.ok{background:#f4e8f1;color:#5b2b55;border-right:3px solid #7b3f73}
.ap.wait{background:var(--amber-bg);color:#6e4a0f;border-right:3px solid var(--amber)}
.ap.free{border:1.5px dashed #c9d6d1;color:#11665a;background:#f7fbf9;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ap.free span{display:inline}.ap.free b{font-size:12px;display:inline}
.nowl2{position:absolute;right:40px;left:0;height:2px;background:var(--danger)}.nowl2:before{content:"";position:absolute;right:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--danger)}
.tabs button{font:inherit;font-size:12px;padding:6px 11px;border-radius:999px;background:#f1f4f3;color:var(--muted);border:0;cursor:pointer}
.tabs button.on{background:var(--ink);color:#fff}
.convs{max-height:640px;overflow:auto}
.cv{display:grid;grid-template-columns:40px 1fr auto;gap:12px;padding:12px 6px;border-bottom:1px solid var(--line);align-items:center;text-decoration:none;color:inherit}
.cv:hover{background:#f8faf9}.cv.you{background:linear-gradient(270deg,#fdf3f3,transparent 70%);border-radius:12px}
.ci{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff}
.cb{min-width:0}.cb b{display:block;font-size:13.5px}.cb .tx{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv .tm{font-size:11px;color:var(--faint)}
.tag{display:inline-block;font-size:11px;padding:3px 9px;border-radius:999px;margin-top:5px;font-weight:700}
.t-bot{background:#d9f0e7;color:#11665a}.t-you{background:var(--danger-bg);color:var(--danger)}.t-book{background:#f4e8f1;color:#7b3f73}.t-gold{background:var(--amber-bg);color:var(--amber)}
.stair{display:flex;align-items:flex-end;gap:8px;height:150px;margin:8px 0 10px}
.stair div{flex:1;border-radius:9px 9px 4px 4px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;color:#fff;font-weight:800;font-size:14px}
.stair-l{display:flex;gap:8px;font-size:11.5px;color:var(--muted)}.stair-l span{flex:1;text-align:center}
.mini{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.mini div{display:flex;justify-content:space-between;font-size:12.5px;padding:6px 0;color:var(--muted)}.mini b{color:var(--ink)}
.cta{display:block;text-align:center;margin-top:12px;background:#11665a;color:#fff;border-radius:11px;padding:10px;font-size:13px;font-weight:700;text-decoration:none}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;min-width:0}.tile.bad{border-color:#efc3c3;box-shadow:inset 0 3px 0 var(--danger)}
.tile .th{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.tile .th b{display:block;font-size:14.5px}.tile .th small{font-size:12px;color:var(--muted)}
.tile .lights{display:flex;gap:9px;font-size:11.5px;color:var(--muted)}.tile .lights span{display:flex;align-items:center;gap:4px}
.tile .msg{font-size:12.5px;margin:12px 0 4px;color:var(--muted)}.tile.bad .msg{color:var(--danger);font-weight:700}
.tile .tf{display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted);margin-top:8px}.tile .tf b{color:var(--ink);font-size:14px}
.tile .acts{margin-right:auto;display:flex;gap:5px}.tile .acts form{display:inline}.tile .acts button{font:inherit;cursor:pointer}
.tile.add{border:1.5px dashed #b9cbc4;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#11665a;font-weight:800;gap:6px;min-height:190px;text-decoration:none}
.tile.add span{font-size:30px;line-height:1}.tile.add small{font-weight:400;color:var(--muted);font-size:12px}
@media(max-width:1200px){.dcols3{grid-template-columns:1fr 1fr}.dcols3>.panel:nth-child(2){grid-column:1/-1;order:3}.tiles{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.dsearch{order:5;width:100%;margin:0}.dsearch input{width:100%}.sysbox{flex-wrap:wrap}
 .vstrip{grid-template-columns:1fr 1fr;row-gap:16px;padding:18px}.vstrip>div{border:0;padding:0}.vstrip .hero{grid-column:1/-1}
 .dcols3,.tiles{grid-template-columns:1fr}.dcols3>.panel:nth-child(2){grid-column:auto;order:0}}

/* Explicit proposals and compact selectable tables. */
[hidden]{display:none!important}
.ai-editor{margin-bottom:18px}
.ai-editor>button{margin:6px 0}
.ai-proposal{background:var(--bg,#f3f7f5);border:1px solid var(--line,#d3dfdb);border-radius:12px;padding:16px;margin-top:12px}
.ai-proposal textarea{min-height:145px;background:var(--card,#fff)}
.message-preview{white-space:pre-wrap;padding:18px;border:1px solid var(--line,#ddd);border-radius:12px;line-height:2}
label.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin:8px 0}
input[type=checkbox],input[type=radio]{width:18px!important;height:18px!important;display:inline-block;vertical-align:middle;flex:0 0 auto;margin:4px}
.tablewrap{overflow-x:auto;max-width:100%}
.tablewrap table{min-width:640px}
details.card>summary{cursor:pointer;font-weight:600;padding:8px 0}
.concern-detail textarea{min-height:100px}

/* Contacts workspace */
.cw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.cw-head h2{margin:0;font-size:23px;font-weight:800}.cw-head p{margin:4px 0 0;font-size:12.5px}.cw-add{position:relative}.cw-add>summary,.cw-actions>summary{list-style:none;cursor:pointer}.cw-add>summary::-webkit-details-marker,.cw-actions>summary::-webkit-details-marker{display:none}.cw-addbox{position:absolute;left:0;top:46px;width:min(340px,calc(100vw - 35px));background:#fff;z-index:12;border:1px solid var(--line);box-shadow:0 12px 35px #10282026;padding:16px;border-radius:12px;display:grid;gap:12px}.cw-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:0 0 18px}.cw-tabs a{padding:10px 2px;color:var(--muted);text-decoration:none;font-size:13px;border-bottom:2px solid transparent}.cw-tabs a.active{color:var(--brand);border-color:var(--brand);font-weight:700}
.btn.brand{background:var(--brand);border-color:var(--brand);color:#fff}
.cw-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.cw-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;position:relative;overflow:hidden}.cw-kpi::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--brand)}.cw-kpi.k2::before{background:var(--leaf)}.cw-kpi.k3::before{background:var(--amber)}.cw-kpi.k4::before{background:var(--ok)}.cw-kpi.k5::before{background:var(--faint)}.cw-kpi .n{font-size:23px;font-weight:800;letter-spacing:-.3px}.cw-kpi .l{font-size:11.5px;color:var(--muted);margin-top:2px}
@media(max-width:860px){.cw-kpis{grid-template-columns:repeat(2,1fr)}}
.cw-filters{margin-bottom:12px}.cw-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cw-toolbar .btn{display:inline-flex;align-items:center;gap:6px}
.cw-search{position:relative;flex:1;min-width:230px}.cw-search svg{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--faint)}.cw-search input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 38px 10px 13px;font:inherit;font-size:13px;background:#fff}
.cw-seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.cw-seg a{padding:9px 15px;font-size:12.5px;font-weight:700;color:var(--muted);text-decoration:none}.cw-seg a+a{border-inline-start:1px solid var(--line)}.cw-seg a.on{background:#e8f3ed;color:var(--brand)}
.cw-sort{border:1px solid var(--line);border-radius:10px;padding:9px 12px;font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);background:#fff}
.cw-advanced{position:relative}.cw-advanced>summary{list-style:none;cursor:pointer}.cw-advanced>summary::-webkit-details-marker{display:none}.cw-extra{position:absolute;inset-inline-start:0;top:46px;z-index:12;width:min(560px,calc(100vw - 40px));background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 35px #10282022;padding:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:end}.cw-extra .btn{align-self:end}.cw-extra .field{min-width:0}.cw-extra .field label{line-height:1.6}
.cw-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.cw-chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 7px 5px 12px;font-size:12px;font-weight:700;color:var(--ink);text-decoration:none}.cw-chip span{color:var(--muted);font-weight:500}.cw-chip .x{width:17px;height:17px;border-radius:50%;background:#eef2f0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.cw-chip.clear{border-style:dashed;color:var(--brand);padding:5px 12px}
.cw-selbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:12px;margin-bottom:12px;font-size:12.5px;transition:background .15s,border-color .15s,box-shadow .15s}.cw-selbar.on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 22px #1f5c4830}.cw-check{margin:0;display:inline-flex;align-items:center;gap:6px;font-weight:700}.cw-selcount{font-weight:700;color:var(--muted)}.cw-selbar.on .cw-selcount{color:#fff}.cw-sp{flex:1}
.cw-sact{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:7px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.cw-sact.ghost{border:0;background:transparent;color:var(--muted);font-size:15px;padding:6px 9px}.cw-selbar.on .cw-sact{background:#ffffff1f;border-color:#ffffff33;color:#fff}.cw-selbar.on .cw-sact.ghost{background:transparent;border:0}
.cw-actions{position:relative}.cw-actions>summary.more{list-style:none}.cw-actions>summary::-webkit-details-marker{display:none}.cw-action-menu{position:absolute;left:0;top:38px;width:265px;max-width:calc(100vw - 38px);z-index:11;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #10282025;padding:6px}.cw-action-menu button,.cw-action-menu a{display:block;width:100%;text-align:right;padding:9px 10px;border:0;background:transparent;border-radius:7px;color:var(--ink);font:inherit;font-size:12px;text-decoration:none;cursor:pointer}.cw-action-menu button:hover,.cw-action-menu a:hover{background:#f1f5f2}.cw-action-menu .danger-text{color:var(--danger)}.cw-menu-sep{height:1px;background:var(--line);margin:5px 4px}
.cw-sheet{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.cw-sheethead{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.cw-sheethead h3,.cw-imports h3{font-size:14px;margin:0}.cw-sheethead .muted{font-size:12px}
.cw-table{min-width:980px;width:100%;border-collapse:collapse}.cw-table thead th{font-size:11.5px;font-weight:700;color:var(--muted);text-align:right;background:#f7f9f8;padding:11px 14px;border-bottom:1px solid var(--line)}.cw-table td{padding:12px 14px;border-bottom:1px solid #eef2f0;font-size:13px;vertical-align:middle}.cw-table tbody tr:last-child td{border-bottom:0}.cw-table tbody tr:hover{background:#f6faf8}.cw-table tr.cw-active{background:#e8f3ed}.cw-table .c-ck{width:40px}.cw-table .c-go{width:34px;text-align:center}.cw-ck{width:17px;height:17px;accent-color:var(--brand)}
.cw-person{display:flex;align-items:center;gap:10px;text-decoration:none}.cw-av{width:34px;height:34px;border-radius:10px;background:#e8f3ed;color:var(--brand2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}.cw-av.g{background:#eef1f0;color:var(--muted)}.cw-av.f{background:var(--peony-bg);color:var(--peony)}.cw-av.m{background:#e7eef6;color:#2f5f93}.cw-pmeta{display:flex;flex-direction:column;min-width:0}.cw-nm{font-weight:700;color:var(--ink)}.cw-person:hover .cw-nm{color:var(--brand);text-decoration:underline}.cw-ph{font-size:12px;color:var(--muted);white-space:nowrap}
.cw-gchip{display:inline-block;margin-inline-start:7px;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px;vertical-align:middle}.cw-gchip.f{background:var(--peony-bg);color:var(--peony)}.cw-gchip.m{background:#e7eef6;color:#2f5f93}
.cw-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:11.5px;font-weight:700;padding:3px 10px;background:var(--b,#eef1f0);color:var(--c,var(--muted))}.cw-dot{width:7px;height:7px;border-radius:50%;background:var(--d,var(--faint))}.cw-pill.ok{--b:#e6f4ec;--c:var(--ok);--d:var(--ok)}.cw-pill.leaf{--b:#e8f3ed;--c:var(--brand);--d:var(--leaf)}.cw-pill.amber{--b:var(--amber-bg);--c:var(--amber);--d:var(--amber)}.cw-pill.peony{--b:var(--peony-bg);--c:var(--peony);--d:var(--peony)}.cw-pill.neutral{--b:#eef1f0;--c:var(--muted);--d:var(--faint)}.cw-pill.faint{--b:#eef1f0;--c:var(--muted);--d:#c3ccc8}.cw-mini{font-size:11.5px}.cw-svc{color:var(--muted)}.cw-sub{display:block;color:var(--muted);font-size:10px;margin-top:4px}.cw-go{color:var(--faint);text-decoration:none;font-size:18px;font-weight:700}
.cw-pager{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:13px 18px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.cw-pager>div{display:flex;gap:5px}.cw-pager a{border:1px solid var(--line);border-radius:8px;min-width:32px;padding:6px;text-align:center;color:var(--ink);text-decoration:none;font-weight:700}.cw-pager a.active{background:var(--brand);color:#fff;border-color:var(--brand)}.cw-pager a.nav{color:var(--muted)}
.cw-backdrop{position:fixed;inset:0;background:#10201a40;z-index:40}.cw-drawer{position:fixed;inset-block:0;inset-inline-start:0;width:390px;max-width:100%;background:#fff;z-index:41;box-shadow:0 0 50px #10282030;display:flex;flex-direction:column;overflow-y:auto;animation:cw-slide .18s ease-out}@keyframes cw-slide{from{transform:translateX(-24px);opacity:.4}to{transform:translateX(0);opacity:1}}
.cw-dh{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.cw-dh .cw-av{width:48px;height:48px;border-radius:13px;font-size:17px}.cw-dh .cw-nm{font-weight:800;font-size:16px}.cw-dh .cw-ph{font-size:12px}.cw-close{margin-inline-start:auto;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--muted);font-size:16px;text-decoration:none;display:flex;align-items:center;justify-content:center}
.cw-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.cw-facts>div{background:#fff;padding:13px 18px}.cw-facts .k{font-size:11px;color:var(--muted)}.cw-facts .v{font-weight:700;margin-top:3px;font-size:13px}
.cw-dsec{padding:16px 18px;border-top:1px solid var(--line)}.cw-dsec h4{margin:0 0 11px;font-size:12.5px;color:var(--muted);font-weight:700}.cw-edit{display:grid;gap:4px}.cw-edit .field{max-width:100%}.cw-detailactions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cw-imports{padding:18px}.cw-imports>p{font-size:12px}.cw-upload{border:1px dashed #aecabd;padding:18px;border-radius:11px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0 23px}.cw-upload input{flex:1;min-width:220px}.cw-history{border-top:1px solid var(--line);padding:13px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}.cw-history b{overflow-wrap:anywhere}.cw-history .muted{margin-top:4px}.cw-history form{flex:none}
[data-undo-clock]{font-variant-numeric:tabular-nums;margin-inline-start:4px;opacity:.85}.cw-undo-expired{opacity:.6}
.ai-check-card{padding:14px 18px;margin-bottom:18px;border-right:4px solid var(--brand)}.ai-check-card.ai-check-fail{border-color:var(--danger)}.ai-check-score-mid{border-color:var(--amber)}.ai-check-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ai-check-icon{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex:none}.ai-check-fail .ai-check-icon{background:var(--danger)}.ai-check-score-mid .ai-check-icon{background:var(--amber)}.ai-check-score{background:#eef1f0;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700}.ai-check-summary{color:var(--muted);font-size:13px}.ai-check-issues{margin:9px 0 0 0;padding-inline-start:24px;font-size:12.5px;color:var(--muted)}.ai-check-issues li{margin-bottom:4px}
@media(max-width:1100px){.cw-extra{grid-template-columns:repeat(2,minmax(140px,1fr))}.cw-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cw-head{align-items:center}.cw-primary-filters input,.cw-primary-filters select{max-width:none;width:100%}.cw-extra{grid-template-columns:1fr}.cw-facts{grid-template-columns:1fr 1fr}.cw-pager{justify-content:center}.cw-upload input{min-width:0;width:100%}}

.cw-grpmenu{padding:10px}.cw-grplabel{display:block;font-size:12px;color:var(--muted);margin:0 2px 6px}.cw-grpmenu input{margin-bottom:8px}.cw-grphint{margin:8px 2px 2px;font-size:11px;line-height:1.8;color:var(--muted)}
.cw-concerns{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.cw-cn{font-size:10.5px;padding:2px 7px;border-radius:999px;background:#eaf3ef;color:#1f5d4a}

.cw-pager .cw-pinfo{font-weight:600}.cw-pager .nav.off{opacity:.35;pointer-events:none}.cw-pager .gap{color:var(--muted);padding:6px 2px;min-width:18px;text-align:center}

.sysstrip{display:flex;gap:8px;flex-wrap:wrap}
.sysstrip .chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-size:12.5px;background:#ecfdf3;color:#067647;border:1px solid #abefc6;white-space:nowrap}
.sysstrip .chip i{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.sysstrip .chip.warn{background:#fffaeb;color:#93370d;border-color:#fedf89}
.sysstrip .chip.bad{background:#fef3f2;color:#b42318;border-color:#fecdca}
.sysissues{display:grid;gap:8px;margin:0 0 14px}
.sysissue{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid;font-size:13.5px}
.sysissue.bad{background:#fef3f2;border-color:#f3b5b1;color:#b42318}
.sysissue.warn{background:#fffaeb;border-color:#fedf89;color:#93370d}
.sysissue a{margin-inline-start:auto;background:#1f6b4a;color:#fff;padding:6px 12px;border-radius:9px;text-decoration:none;font-size:13px;white-space:nowrap}
