:root{--navy:#0a1d37;--navy2:#10294a;--acc:#0f766e;--acc2:#14b8a6;--accbg:#e7f6f4;--ink:#0f1c2e;--muted:#5b6b7f;--line:#e5e9f0;--bg:#f4f6fa;--card:#fff;
--red:#b91c1c;--redbg:#fdeceb;--amber:#b45309;--amberbg:#fff4e0;--green:#047857;--greenbg:#e5f6ee;--blue:#1d4ed8;--bluebg:#eaf1ff;--gray:#64748b;--graybg:#eef2f6;--violet:#6d28d9;--violetbg:#f3effe;
--rose:#c2410c;--rosebg:#fff0e6;--slate:#334155;--slatebg:#e6ebf1;
--side:272px;--r:14px;--shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);--shadow2:0 4px 12px rgba(16,24,40,.08),0 2px 4px rgba(16,24,40,.04);
--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.drawer-open{overflow:hidden}
a{color:var(--acc)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}
h1{font-size:1.5rem;margin:0;letter-spacing:-.02em;font-weight:700;line-height:1.25}
h2{font-size:1.02rem;margin:0;font-weight:650;letter-spacing:-.01em}
h3{font-size:.95rem;margin:0;font-weight:650}
.ic{width:1.15em;height:1.15em;vertical-align:-.2em;flex:none;display:inline-block}
.ic.sm{width:1em;height:1em;vertical-align:-.15em}
.demo-banner{position:sticky;top:0;z-index:60;height:28px;line-height:28px;background:#0f2a4a;color:#cfe3f5;text-align:center;font-size:.74rem;padding:0 10px;font-weight:500;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ---------- sidebar ---------- */
.topbar{display:none}
.sidebar{position:fixed;top:28px;left:0;bottom:0;width:var(--side);background:linear-gradient(180deg,#0a1d37 0%,#0b2341 100%);color:#c3d1e3;display:flex;flex-direction:column;z-index:50;border-right:1px solid rgba(255,255,255,.04);transition:width .22s ease}
.sb-head{display:flex;align-items:center;gap:8px;padding:16px 12px 14px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand{display:flex;gap:11px;align-items:center;text-decoration:none;min-width:0;flex:1}
.logo-mark{width:36px;height:36px;flex:none;display:block;border-radius:11px;box-shadow:0 2px 8px rgba(20,184,166,.25)}
.brand-txt{min-width:0}
.brand-txt strong{color:#fff;display:block;font-size:.93rem;line-height:1.2;font-weight:650;letter-spacing:-.01em;white-space:nowrap}
.brand-txt small{display:block;color:#8aa4c2;font-size:.72rem;margin-top:2px;white-space:nowrap}
.sb-collapse{width:30px!important;height:30px!important;color:#8aa4c2;display:grid;place-items:center;transition:transform .22s}
.sb-collapse:hover,.drawer-x:hover{background:rgba(255,255,255,.08)!important;color:#fff}
.drawer-x{color:#c3d1e3;display:grid;place-items:center}
.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 10px 14px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.sb-nav::-webkit-scrollbar{width:6px}.sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:6px}
.nav-group{font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;color:#6f8bab;font-weight:700;margin:18px 12px 6px;white-space:nowrap}
.nav-sec:first-child .nav-group{margin-top:12px}
.sidebar a[data-nav]{position:relative;display:flex;align-items:center;gap:11px;color:#c3d1e3;text-decoration:none;padding:8px 10px;border-radius:10px;font-size:.875rem;font-weight:500;margin:1px 0;transition:background .15s,color .15s}
.sidebar a[data-nav] .ni{width:20px;height:20px;display:grid;place-items:center;flex:none;color:#8fa6c2;transition:color .15s}
.sidebar a[data-nav] .ni .ic{width:18px;height:18px;vertical-align:0}
.sidebar a[data-nav] .nl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sidebar a[data-nav]:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar a[data-nav]:hover .ni{color:#dbe7f5}
.sidebar a[data-nav].active{background:linear-gradient(90deg,rgba(20,184,166,.22),rgba(20,184,166,.08));color:#fff;font-weight:600}
.sidebar a[data-nav].active .ni{color:#5eead4}
.sidebar a[data-nav].active:before{content:"";position:absolute;left:-10px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:#2dd4bf}
.count{margin-left:auto;background:rgba(255,255,255,.1);color:#dbe6f3;border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:650;min-width:22px;text-align:center;line-height:1.5;flex:none}
.count:empty{display:none}
.count.warn{background:rgba(245,158,11,.2);color:#fcd34d}
.count.due{background:rgba(167,139,250,.22);color:#ddd6fe}
.side-foot{border-top:1px solid rgba(255,255,255,.07);padding:12px 12px 14px}
.me{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:9px 6px 9px 10px}
.me-txt{min-width:0;flex:1}
.me strong{color:#fff;display:block;font-size:.84rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me small{display:block;color:#8aa4c2;font-size:.71rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me .so{width:34px;height:34px;color:#9fb3cc;display:grid;place-items:center}
.me .so:hover{background:rgba(255,255,255,.08);color:#fff}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#14b8a6,#0e7490);color:#fff;display:grid;place-items:center;font-size:.76rem;font-weight:700;flex:none;letter-spacing:.02em}
.avatar.sm{width:30px;height:30px;font-size:.68rem}
.sb-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 4px 0}
.ms-chip{display:inline-flex;align-items:center;gap:6px;font-size:.69rem;color:#8aa4c2;white-space:nowrap}
.ms-chip .ms-sq{grid-template-columns:5px 5px;gap:1px}.ms-chip .ms-sq i{width:5px;height:5px}
.link-btn{background:none;border:0;color:#7dd3c7;padding:0;cursor:pointer;font-size:.72rem;font-weight:500}
.link-btn:hover{color:#fff;text-decoration:underline}
.scrim{display:none}
/* collapsed (icons only) — desktop */
@media (min-width:901px){
 body.nav-mini{--side:76px}
 body.nav-mini .brand-txt,body.nav-mini .nl,body.nav-mini .sb-meta,body.nav-mini .me-txt,body.nav-mini .me .so{display:none}
 body.nav-mini .sb-head{flex-direction:column;padding:14px 8px 12px;gap:10px}
 body.nav-mini .brand{flex:none}
 body.nav-mini .sb-collapse{transform:rotate(180deg)}
 body.nav-mini .sb-nav{padding:4px 12px 14px}
 body.nav-mini .nav-group{font-size:0;height:1px;background:rgba(255,255,255,.08);margin:12px 6px}
 body.nav-mini .nav-sec:first-child .nav-group{display:none}
 body.nav-mini .sidebar a[data-nav]{justify-content:center;padding:10px 0}
 body.nav-mini .sidebar a[data-nav].active:before{left:-12px}
 body.nav-mini .count{position:absolute;top:5px;right:6px;min-width:8px;width:8px;height:8px;padding:0;font-size:0;background:#2dd4bf}
 body.nav-mini .count.warn{background:#f59e0b}body.nav-mini .count.due{background:#a78bfa}
 body.nav-mini .count:empty{display:none}
 body.nav-mini .side-foot{padding:12px 10px}
 body.nav-mini .me{justify-content:center;padding:8px 0;background:none;border:0}
 main{transition:margin-left .22s ease}
}
main{margin-left:var(--side);padding:22px 28px 70px;max-width:calc(var(--side) + 1260px);outline:none}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.page-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.crumb{font-size:.82rem;margin-bottom:6px}.crumb a{text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 13px;cursor:pointer;font-weight:600;font-size:.87rem;text-decoration:none;color:var(--ink);white-space:nowrap;min-height:38px}
.btn:hover{border-color:#c5d0dc;background:#fafcfe}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.primary:hover{background:#0b6177}
.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.danger{color:var(--red);border-color:#f3c4c4}
.btn.sm{padding:5px 10px;font-size:.8rem;min-height:32px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;margin-bottom:16px;min-width:0}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.card-head p{margin:2px 0 0;color:var(--muted);font-size:.82rem}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;box-shadow:var(--shadow);text-decoration:none;color:inherit;display:block}
.kpi:hover{border-color:#b9d9e2}
.kpi b{display:block;font-size:1.55rem;line-height:1.1;margin-top:2px}
.kpi span{font-size:.76rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.kpi small{display:block;font-size:.76rem;color:var(--muted);margin-top:2px}
.kpi.red b{color:var(--red)}.kpi.amber b{color:var(--amber)}.kpi.green b{color:var(--green)}.kpi.acc b{color:var(--acc)}
.pill{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:2px 9px;font-size:.75rem;font-weight:700;white-space:nowrap;background:var(--graybg);color:var(--gray)}
.pill.green{background:var(--greenbg);color:var(--green)}.pill.red{background:var(--redbg);color:var(--red)}.pill.amber{background:var(--amberbg);color:var(--amber)}
.pill.blue{background:var(--bluebg);color:var(--blue)}.pill.violet{background:var(--violetbg);color:var(--violet)}.pill.acc{background:var(--accbg);color:var(--acc)}
.muted{color:var(--muted)}.small{font-size:.82rem}.tiny{font-size:.74rem}.b{font-weight:700}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}
.right{text-align:right}.nowrap{white-space:nowrap}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:.86rem}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#f7f9fb;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;white-space:nowrap}
tr:last-child td{border-bottom:0}
tr.click{cursor:pointer}tr.click:hover td{background:#f8fbfd}
.list{display:flex;flex-direction:column}
.row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);min-width:0}
.row:last-child{border-bottom:0}
.row.click{cursor:pointer}.row.click:hover{background:#f8fbfd}
.row .grow{flex:1;min-width:0}
.row .t{font-weight:650;overflow:hidden;text-overflow:ellipsis}
.row .s{font-size:.8rem;color:var(--muted)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.input,.select,textarea.input{border:1px solid #cfd8e3;border-radius:9px;padding:8px 11px;background:#fff;min-height:38px;max-width:100%}
.input.search{flex:1;min-width:180px}
textarea.input{width:100%;min-height:120px;resize:vertical}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;min-width:0}
.field label{font-size:.78rem;font-weight:700;color:var(--muted)}
.field .input,.field .select{width:100%}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 12px;font-size:.82rem;cursor:pointer;font-weight:600;color:var(--ink)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.chip .n{opacity:.7;margin-left:4px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{background:none;border:0;padding:9px 12px;font-weight:650;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;font-size:.88rem}
.tab.on{color:var(--acc);border-bottom-color:var(--acc)}
.kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:7px 12px;font-size:.88rem}
.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.ph{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ph .avatar{width:52px;height:52px;font-size:1.05rem;background:var(--accbg);color:var(--acc)}
.bar{height:8px;background:var(--graybg);border-radius:6px;overflow:hidden;display:flex}
.bar i{display:block;height:100%}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.74rem;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.stepper{display:flex;gap:0;margin:6px 0 14px;overflow-x:auto;padding-bottom:4px}
.step{flex:1;min-width:92px;text-align:center;position:relative;font-size:.74rem;color:var(--muted);font-weight:600;padding:0 4px}
.step .dot{width:26px;height:26px;border-radius:50%;background:var(--graybg);color:var(--gray);display:grid;place-items:center;margin:0 auto 5px;font-weight:800;position:relative;z-index:1;font-size:.78rem}
.step:before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--line)}
.step:first-child:before{display:none}
.step.done .dot{background:var(--green);color:#fff}.step.done:before{background:var(--green)}
.step.cur .dot{background:var(--acc);color:#fff;box-shadow:0 0 0 4px var(--accbg)}.step.cur{color:var(--ink)}
.empty{text-align:center;color:var(--muted);padding:26px 10px;font-size:.9rem}
.note{background:var(--accbg);border:1px solid #bfe6ef;color:#0b4f61;border-radius:10px;padding:10px 12px;font-size:.84rem;margin-bottom:14px}
.note.amber{background:var(--amberbg);border-color:#f3d6a6;color:#7a4306}
.note.red{background:var(--redbg);border-color:#f2c2c2;color:#8a1717}
.matrix td,.matrix th{padding:6px 6px;text-align:center;font-size:.74rem}
.matrix th.sticky,.matrix td.sticky{position:sticky;left:0;background:#fff;z-index:2;text-align:left;min-width:170px;max-width:200px;box-shadow:1px 0 0 var(--line)}
.matrix th.sticky{background:#f7f9fb}
.mcell{display:inline-block;min-width:30px;padding:3px 5px;border-radius:6px;font-weight:800;cursor:pointer;border:0;font-size:.7rem}
.st-ap{background:var(--greenbg);color:var(--green)}.st-pe{background:var(--amberbg);color:var(--amber)}.st-su{background:var(--bluebg);color:var(--blue)}
.st-nr{background:var(--graybg);color:var(--gray)}.st-de{background:var(--redbg);color:var(--red)}.st-te{background:#ece7e7;color:#6b4f4f}.st-na{background:transparent;color:#c3ccd6;cursor:default}
.modal{position:fixed;inset:0;background:rgba(11,25,45,.5);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}
.modal[hidden]{display:none}
.modal-card{background:#fff;border-radius:14px;max-width:640px;width:100%;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.modal-card.wide{max-width:920px}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);gap:8px}
.modal-body{padding:16px 18px 20px}
.modal-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}
.icon-btn{background:none;border:0;font-size:1.2rem;cursor:pointer;width:40px;height:40px;border-radius:8px;color:inherit;flex:none}
.icon-btn:hover{background:rgba(0,0,0,.06)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-size:.88rem;opacity:0;pointer-events:none;transition:all .25s;z-index:200;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.progress{height:6px;background:var(--graybg);border-radius:6px;overflow:hidden;margin:10px 0}
.progress i{display:block;height:100%;background:var(--acc);width:0;transition:width .3s}
.checklist{list-style:none;margin:0;padding:0}
.checklist li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.87rem;align-items:flex-start}
.checklist li:last-child{border:0}
.ck{width:20px;height:20px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:.7rem;font-weight:900;margin-top:1px}
.ck.ok{background:var(--green);color:#fff}.ck.no{background:var(--redbg);color:var(--red)}.ck.wait{background:var(--amberbg);color:var(--amber)}
.diff-old{color:var(--muted);text-decoration:line-through}.diff-new{color:var(--green);font-weight:700}
.email-prev{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfcfd;white-space:pre-wrap;font-size:.86rem}
.kanban{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.kcol{background:#eef2f6;border-radius:10px;padding:8px;min-height:120px}
.kcol h3{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:2px 4px 8px;display:flex;justify-content:space-between}
.kcard{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px;margin-bottom:8px;font-size:.84rem;cursor:pointer}
.kcard:hover{border-color:#a9d5e0}
.switch{position:relative;width:42px;height:24px;flex:none;display:inline-block}
.switch input{opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;background:#cbd5e1;border-radius:20px;cursor:pointer;transition:.2s}
.switch span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked+span{background:var(--acc)}.switch input:checked+span:before{transform:translateX(18px)}
.dropzone{border:2px dashed #b8c6d6;border-radius:12px;padding:22px;text-align:center;background:#fafcfe;cursor:pointer;display:block}
.dropzone:hover{border-color:var(--acc)}
.hide{display:none!important}
/* login */
.ms-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9eef5,#dfe7f1);padding:20px}
.ms-card{background:#fff;width:100%;max-width:440px;padding:34px 40px 30px;box-shadow:0 2px 6px rgba(0,0,0,.2);font-family:"Segoe UI",-apple-system,Roboto,Arial,sans-serif}
.ms-logo{display:flex;align-items:center;gap:8px;font-size:1.05rem;color:#5e5e5e;font-weight:600;margin-bottom:18px}
.ms-sq{display:grid;grid-template-columns:10px 10px;gap:2px}.ms-sq i{width:10px;height:10px;display:block}
.ms-card h2{font-size:1.5rem;font-weight:600;margin:0 0 14px;color:#1b1b1b}
.ms-in{width:100%;border:0;border-bottom:1px solid #666;padding:8px 0;font-size:1rem;outline:none;margin-bottom:14px}
.ms-in:focus{border-bottom-color:#0067b8}
.ms-btn{background:#0067b8;color:#fff;border:0;padding:8px 30px;min-width:108px;font-size:.95rem;cursor:pointer}
.ms-btn.sec{background:#ccc;color:#000}
.ms-link{color:#0067b8;font-size:.84rem;text-decoration:none;cursor:pointer;background:none;border:0;padding:0}
.ms-org{display:flex;align-items:center;gap:10px;margin:-4px 0 16px;color:#333;font-size:.9rem}
.ms-num{font-size:2.6rem;font-weight:600;text-align:center;margin:14px 0;color:#1b1b1b}
.ms-foot{text-align:center;color:#555;font-size:.78rem;margin-top:16px}
/* portal */
.portal-wrap{min-height:100vh;background:#f2f6fa}
.portal-top{background:#fff;border-bottom:1px solid var(--line);padding:12px 18px;display:flex;align-items:center;gap:10px}
.portal-main{max-width:760px;margin:0 auto;padding:22px 16px 60px}
.portal-back{background:var(--navy);color:#fff;padding:8px 14px;font-size:.82rem;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.portal-back a,.portal-back button{color:#7fe3f2}
.code-in{font-size:1.6rem;letter-spacing:.5em;text-align:center;width:100%;max-width:260px;padding:10px;border:1px solid #cfd8e3;border-radius:10px}
@media (max-width:1180px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
 .topbar{display:flex;position:sticky;top:28px;z-index:40;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);color:var(--ink);align-items:center;gap:8px;padding:0 12px 0 6px;height:56px;border-bottom:1px solid var(--line)}
 .topbar .icon-btn{color:var(--navy);display:grid;place-items:center}
 .topbar .icon-btn .ic{width:22px;height:22px}
 .brand-mini{color:var(--navy);text-decoration:none;font-weight:700;display:flex;align-items:center;gap:8px;font-size:.95rem;white-space:nowrap;letter-spacing:-.01em}
 .brand-mini .logo-mark{width:28px;height:28px;border-radius:8px;box-shadow:none}
 .topbar-title{margin-left:auto;font-size:.84rem;color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 .sidebar{top:0;transform:translateX(-102%);transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s .28s;visibility:hidden;width:min(300px,86vw);z-index:90;box-shadow:8px 0 30px rgba(5,15,30,.35)}
 .sidebar.open{transform:none;visibility:visible;transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s}
 .sb-collapse{display:none!important}
 .sb-head{padding:14px 8px 12px 16px;padding-top:calc(14px + env(safe-area-inset-top))}
 .sidebar a[data-nav]{padding:10px 10px;font-size:.92rem}
 .side-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
 .scrim{display:block;position:fixed;inset:0;background:rgba(8,18,34,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;opacity:0;pointer-events:none;transition:opacity .25s}
 .scrim.show{opacity:1;pointer-events:auto}
 main{margin-left:0;padding:18px 14px 80px}
 .g2,.g3{grid-template-columns:minmax(0,1fr)}
 .kanban{grid-template-columns:repeat(6,minmax(210px,82vw))}
}
@media (min-width:901px){.drawer-x{display:none!important}}
@media (max-width:560px){
 h1{font-size:1.25rem}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .kpi b{font-size:1.35rem}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .kv{grid-template-columns:minmax(0,1fr);gap:1px 0}.kv dd{margin-bottom:8px}
 .card{padding:13px}
 .page-head .btns{width:100%}
 .modal{padding:0;align-items:stretch}
 .modal-card{border-radius:0;min-height:100%}
 .ms-card{padding:26px 22px}
 .hide-sm{display:none!important}
 .tbl-wrap table.resp thead{display:none}
 table.resp tr{display:block;border-bottom:1px solid var(--line);padding:6px 2px}
 table.resp td{display:flex;justify-content:space-between;gap:10px;border:0;padding:4px 10px;text-align:right}
 table.resp td:before{content:attr(data-l);font-weight:700;color:var(--muted);font-size:.74rem;text-transform:uppercase;text-align:left;flex:none;max-width:45%}
 table.resp td.full{display:block;text-align:left}table.resp td.full:before{display:none}
}
@media print{.sidebar,.topbar,.demo-banner,.no-print,.btn{display:none!important}main{margin:0;padding:0}.card{box-shadow:none;break-inside:avoid}}

/* r1 */
.st-in{background:var(--violetbg);color:var(--violet)}
.st-ex{background:#fde2e2;color:#b42318;outline:1px dashed #e8a3a3}
.st-nc{background:repeating-linear-gradient(135deg,#f1f4f7 0 4px,#e6ebf0 4px 8px);color:#64748b}
.addr-box{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fafcfe}
.panel-in{width:110px;text-align:right;padding:6px 8px;margin-left:auto}
.wiz-steps,.ap-steps{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.wiz-steps span,.ap-steps span{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:20px;background:var(--graybg);color:var(--gray)}
.wiz-steps span.on,.ap-steps span.on{background:var(--acc);color:#fff}
.wiz-steps span.done,.ap-steps span.done{background:var(--greenbg);color:var(--green)}
.ap-prog{margin:4px 0 14px}.ap-steps{margin:8px 0 0}
label.chip.on{border-color:var(--acc);background:var(--accbg);color:var(--acc)}
@media (max-width:600px){.panel-in{width:96px}.ap-steps span:not(.on){display:none}}

.hours-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 2px;color:var(--ink,#1f2937)}
.hours-grid{display:grid;gap:6px}.hrow{display:grid;grid-template-columns:58px 1fr 1fr;gap:6px;align-items:center}.hrow .hd{display:flex;flex-direction:column;line-height:1.2}.hrow .hd label{display:flex;gap:4px;align-items:center;color:var(--muted)}.hrow .input{padding:6px 4px;min-width:0;font-size:.85rem}
.kpis.k4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:600px){.kpis.k4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ra-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;flex-wrap:wrap}.ra-item .grow{flex:1 1 200px;min-width:0}
.ra-item.ok{border-color:#86efac;background:#f0fdf4}.ra-item.edit{border-color:#fcd34d;background:#fffbeb}
.phone-prev{margin-top:12px;background:#f3f4f6;border-radius:16px;padding:12px}.sms-bubble{background:#e5e7eb;border-radius:16px 16px 16px 4px;padding:9px 12px;font-size:.88rem;max-width:85%;white-space:pre-wrap}
.sms-mini{font-size:.85rem;white-space:normal}
.hide{display:none!important}

/* r2 */
.r2bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;margin:4px 0 10px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}
.r2bar.on{border-style:solid;border-color:#0e7490;background:#ecfeff}
.r2cb-m{display:none}
@media (max-width:560px){.r2cb-m{display:inline-block}}
.r2count{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}
.r2big{font-size:28px;line-height:1;color:#0b2545}

/* ================= design layer (d1) ================= */
main{padding:28px 32px 80px;max-width:calc(var(--side) + 1280px)}
.page-head{align-items:flex-end;margin-bottom:20px;gap:14px}
.page-head p{margin:5px 0 0;color:var(--muted);font-size:.9rem;max-width:70ch}
.crumb{font-size:.8rem;margin-bottom:8px;color:var(--muted)}.crumb a{color:var(--acc);font-weight:500}
.btn{border:1px solid #d9dfe8;background:#fff;border-radius:10px;padding:8px 14px;min-height:38px;font-weight:600;font-size:.85rem;color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.05);transition:background .15s,border-color .15s,box-shadow .15s,transform .05s;line-height:1.2}
.btn .ic{width:16px;height:16px;vertical-align:0}
.btn:hover{border-color:#c3ccd8;background:#f8fafc}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 1px 2px rgba(15,118,110,.25),inset 0 1px 0 rgba(255,255,255,.1)}
.btn.primary:hover{background:#115e59;border-color:#115e59}
.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}.btn.dark:hover{background:#13315c}
.btn.danger{color:var(--red);border-color:#f2c9c9;background:#fff}.btn.danger:hover{background:#fef5f5}
.btn.sm{padding:5px 10px;font-size:.78rem;min-height:32px;border-radius:8px}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.card{border:1px solid #e6eaf0;border-radius:var(--r);box-shadow:var(--shadow);padding:18px 18px;margin-bottom:18px}
.card-head{margin-bottom:12px}
.card-head h2{font-size:.98rem}
.card-head p{font-size:.8rem}
.grid{gap:18px}
.kpis{gap:14px;margin-bottom:18px}
.kpi{border:1px solid #e6eaf0;border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow);transition:box-shadow .15s,border-color .15s,transform .15s;position:relative;overflow:hidden}
.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#cbd5e1}
.kpi.red:before{background:#ef4444}.kpi.amber:before{background:#f59e0b}.kpi.green:before{background:#10b981}.kpi.acc:before{background:var(--acc2)}
.kpi:hover{border-color:#cfe3e0;box-shadow:var(--shadow2);transform:translateY(-1px)}
.kpi b{font-size:1.65rem;font-weight:700;letter-spacing:-.02em;margin-top:4px}
.kpi span{font-size:.68rem;letter-spacing:.06em}
/* pills — one color per status everywhere */
.pill{gap:5px;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:600;line-height:1.35}
.pill.st:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;opacity:.85}
.pill.green{background:var(--greenbg);color:var(--green)}.pill.red{background:var(--redbg);color:var(--red)}.pill.amber{background:var(--amberbg);color:var(--amber)}
.pill.blue{background:var(--bluebg);color:var(--blue)}.pill.violet{background:var(--violetbg);color:var(--violet)}.pill.acc{background:var(--accbg);color:var(--acc)}
.pill.rose{background:var(--rosebg);color:var(--rose)}.pill.slate{background:var(--slatebg);color:var(--slate)}
.pill.nc{background:#fff;color:var(--gray);box-shadow:inset 0 0 0 1px #cbd5e1}
.mcell{border-radius:6px;font-weight:700;font-size:.68rem;padding:4px 6px;transition:filter .15s}
.mcell:hover{filter:brightness(.95)}
.st-in{background:var(--violetbg);color:var(--violet)}.st-su{background:var(--bluebg);color:var(--blue)}.st-pe{background:var(--amberbg);color:var(--amber)}.st-ap{background:var(--greenbg);color:var(--green)}
.st-ex{background:var(--rosebg);color:var(--rose);outline:0}.st-te{background:var(--slatebg);color:var(--slate)}.st-de{background:var(--redbg);color:var(--red)}
.st-nc{background:#fff;color:var(--gray);box-shadow:inset 0 0 0 1px #cbd5e1}
.legend{gap:14px;font-size:.73rem}
.legend i{width:9px;height:9px;border-radius:50%}
/* tables */
.tbl-wrap{border:1px solid #e6eaf0;border-radius:12px;background:#fff}
table{font-size:.855rem}
th,td{padding:10px 12px;border-bottom:1px solid #eef1f5}
th{position:sticky;top:0;z-index:1;background:#f8fafc;font-size:.68rem;letter-spacing:.06em;color:#64748b;font-weight:650;box-shadow:inset 0 -1px 0 #e6eaf0;border-bottom:0}
.matrix th.sticky{z-index:3}
tbody tr:nth-child(even) td{background:#fbfcfe}
.matrix tbody tr:nth-child(even) td.sticky{background:#fbfcfe}
tr.click:hover td,tbody tr:hover td{background:#f3f8f8}
.matrix td,.matrix th{padding:7px 6px}
@media (min-width:901px){.tbl-wrap{max-height:calc(100vh - 150px);overflow:auto}}
/* lists, rows */
.row{padding:12px 4px;border-bottom:1px solid #eef1f5}
.row.click{border-radius:8px}.row.click:hover{background:#f6f9fb}
.row .t{font-weight:600}
/* forms */
.input,.select,textarea.input{border:1px solid #d5dce6;border-radius:10px;padding:8px 12px;min-height:40px;background:#fff;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.select{-webkit-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}
.input:hover,.select:hover{border-color:#bfc9d6}
.input:focus,.select:focus,textarea.input:focus{outline:none;border-color:var(--acc2);box-shadow:0 0 0 3px rgba(20,184,166,.18)}
.field label{font-size:.76rem;font-weight:600;color:#475569}
.chip{border:1px solid #dbe1ea;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:550;transition:background .15s,border-color .15s}
.chip:hover{border-color:#bfc9d6;background:#f8fafc}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.chip .ic{width:14px;height:14px}
.tabs{gap:2px;border-bottom:1px solid #e6eaf0}
.tab{padding:10px 12px;font-weight:600;font-size:.86rem;color:#64748b;border-bottom-width:2px;transition:color .15s}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--acc);border-bottom-color:var(--acc2)}
.tab .ic{width:15px;height:15px}
.kv dt{font-weight:500}
.ph .avatar{background:linear-gradient(135deg,#ccfbf1,#cffafe);color:var(--acc)}
.note{border-radius:12px;border:1px solid #c6ebe5;background:#effaf8;color:#0d544e;padding:11px 14px}
.note.amber{background:#fff8eb;border-color:#f6dcae;color:#7c4a06}
.note.red{background:#fef4f3;border-color:#f6cdcb;color:#8a1c1c}
.empty{padding:32px 14px;color:#64748b;font-size:.88rem;background:repeating-linear-gradient(0deg,transparent,transparent),#fff;border-radius:12px}
.card .empty{border:1px dashed #dbe1ea;background:#fbfcfe}
td.empty{border:0!important}
.big-ic{display:grid;place-items:center;color:#94a3b8;margin-bottom:6px}.big-ic .ic{width:40px;height:40px}.big-ic.ok{color:var(--green)}
.step .dot{background:#eef2f6}
.step.cur .dot{background:var(--acc);box-shadow:0 0 0 4px rgba(20,184,166,.18)}
.step.done .dot{background:#10b981}.step.done:before{background:#10b981}
.kcol{background:#f1f4f8;border-radius:12px}
.kcard{border-radius:10px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,border-color .15s}
.kcard:hover{border-color:#b6dfd9;box-shadow:var(--shadow2)}
.switch input:checked+span{background:var(--acc2)}
.dropzone{border-color:#c9d4e1;border-radius:14px;background:#fafcfd}
.dropzone:hover{border-color:var(--acc2);background:#f2fbfa}
.progress i{background:linear-gradient(90deg,var(--acc2),var(--acc))}
/* modal */
.modal{background:rgba(8,18,34,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:48px 16px}
.modal-card{border-radius:16px;box-shadow:0 24px 60px rgba(5,15,30,.3);animation:mIn .2s ease-out}
@keyframes mIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.modal-head{padding:14px 14px 14px 20px;border-bottom:1px solid #eef1f5}
.modal-head h2{font-size:1.05rem}
.modal-head .icon-btn{display:grid;place-items:center;color:#64748b}
.modal-body{padding:18px 20px 22px}
.icon-btn{border-radius:10px}
.icon-btn:hover{background:rgba(15,28,46,.06)}
/* toast */
.toast{background:#0f2a4a;border-radius:12px;padding:11px 18px;font-weight:500;box-shadow:0 10px 30px rgba(5,15,30,.3);bottom:calc(24px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}
/* sign-in (mock Microsoft) */
.ms-wrap{background:radial-gradient(1200px 600px at 10% -10%,#d7ecf5 0,transparent 60%),radial-gradient(900px 600px at 110% 110%,#dceee9 0,transparent 55%),#eef2f6}
.ms-card{border-radius:8px;box-shadow:0 12px 32px rgba(15,28,46,.12),0 2px 6px rgba(15,28,46,.06);border:1px solid rgba(15,28,46,.05)}
.ms-btn{border-radius:4px;transition:background .15s}.ms-btn:hover{background:#005a9e}
.ms-btn.sec{background:#e5e7eb;color:#111}.ms-btn.sec:hover{background:#d1d5db}
.ms-in{border-bottom-color:#8a8a8a;transition:border-color .15s}
.ms-card .logo-mark{width:32px;height:32px;border-radius:9px;box-shadow:none}
/* portal */
.portal-top{padding:12px 18px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.portal-top .logo-mark{width:32px;height:32px;border-radius:9px;box-shadow:none}
.portal-back{background:#0f2a4a}
@media (max-width:900px){main{padding:18px 14px 80px}.page-head{margin-bottom:16px}}
@media (max-width:560px){
 h1{font-size:1.3rem}
 .card{padding:14px;border-radius:14px}
 .kpi{padding:12px 14px}.kpi b{font-size:1.4rem}
 .modal{padding:0}
 .modal-card{border-radius:0;animation:none}
 .tbl-wrap table.resp tbody tr:nth-child(even) td{background:transparent}
 table.resp tr{padding:8px 2px}
 table.resp tbody tr:nth-child(even){background:#fbfcfe}
 table.resp td:before{font-weight:600;font-size:.68rem;letter-spacing:.04em;color:#64748b}
 .demo-banner{font-size:.7rem}
}


/* ================= green layer (g1) — matches Joe's reference ================= */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/fraunces.woff2) format("woff2")}
:root{--g-side:#059669;--g-deep:#065f46;--g-head:#047857;--g-ink:#065f46;--g-pri:#059669;--mint:#d1fae5;--mint2:#a7f3d0;--on-mint:#065f46;--lime:#d1fae5;--lime-soft:#d1fae5;
--acc:#047857;--acc2:#10b981;--accbg:#ecfdf5;--navy:#059669;--navy2:#047857;
--ink:#11261f;--muted:#617164;--line:#dcebe4;--bg:#f2faf6;
--green:#065f46;--greenbg:#d1fae5;--red:#b4232f;--redbg:#fddde2;--amber:#87570a;--amberbg:#fcefc8;
--blue:#047857;--bluebg:transparent;--violet:#5a3ea6;--violetbg:#efeafb;--rose:#ad470e;--rosebg:#fde5d3;
--slate:#566057;--slatebg:#e9ede9;--gray:#6b766d;--graybg:#eef2ee;
--serif:"Fraunces",Georgia,"Times New Roman",serif;
--shadow:0 1px 2px rgba(6,78,59,.04),0 3px 12px rgba(6,78,59,.05);--shadow2:0 6px 20px rgba(6,78,59,.10),0 2px 4px rgba(6,78,59,.05)}
body{background:var(--bg);color:var(--ink)}
a{color:var(--g-head)}
:focus-visible{outline-color:var(--acc2)}
h1{font-family:var(--serif);font-weight:400;color:var(--g-ink);letter-spacing:-.01em;font-size:2.05rem;line-height:1.15;font-variation-settings:"opsz" 72}
h2,h3{color:var(--g-ink)}
.demo-banner{background:var(--g-deep);color:#d1fae5;height:26px;line-height:26px;font-size:.72rem}
/* ---- sidebar ---- */
.sidebar{top:26px;background:var(--g-side);color:#ffffff;border-right:0}
.sb-head{padding:28px 22px 16px 26px;border-bottom:0}
.sidebar .logo-mark{display:none}
.brand-txt strong{color:#fff;font-size:1.2rem;font-weight:800;letter-spacing:-.01em}
.brand-txt small{color:#d1fae5;text-transform:uppercase;letter-spacing:.17em;font-size:.66rem;font-weight:700;margin-top:5px}
.sb-collapse{display:none!important}
.drawer-x{color:#ecfdf5}
.sb-nav{padding:4px 16px 16px;scrollbar-color:rgba(255,255,255,.18) transparent}
.nav-group{color:#a7f3d0;opacity:.85;font-size:.62rem;letter-spacing:.17em;font-weight:700;margin:20px 12px 6px}
.nav-sec:first-child .nav-group{margin-top:8px}
.sidebar a[data-nav]{color:#ffffff;padding:9px 14px;border-radius:10px;font-size:.9rem;font-weight:500;margin:2px 0;gap:10px}
.sidebar a[data-nav] .ni{display:none}
.sidebar a[data-nav]:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar a[data-nav].active{background:var(--lime);color:#065f46;font-weight:700}
.sidebar a[data-nav].active:before{display:none}
.count{background:rgba(255,255,255,.12);color:#ecfdf5;font-size:.66rem;font-weight:600;padding:0 7px;line-height:1.6;min-width:20px}
.count.warn{background:rgba(255,255,255,.12);color:#f7dc8c}
.count.due{background:rgba(255,255,255,.12);color:#d8cdfb}
.sidebar a[data-nav].active .count{background:rgba(6,95,70,.14);color:#065f46}
.side-foot{border-top:1px solid rgba(255,255,255,.1);padding:14px 18px 18px}
.me{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.me small{color:#d1fae5}
.me .so{color:#d1fae5}
.side-foot .avatar{background:var(--lime);color:#065f46}
.sb-meta{padding:12px 2px 0}
.dp-pill{display:inline-block;border:1px solid rgba(255,255,255,.5);color:#ffffff;border-radius:999px;padding:2px 11px;font-size:.68rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.link-btn{color:#d1fae5}
.sb-note{color:#d1fae5;font-size:.7rem;line-height:1.5;margin:9px 2px 0}
/* ---- top bar (desktop: thin label + breadcrumb) ---- */
@media (min-width:901px){
 .topbar{display:flex;align-items:center;gap:12px;position:sticky;top:26px;z-index:40;margin-left:var(--side);height:46px;padding:0 40px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
 .topbar #menuBtn,.topbar .brand-mini,.topbar .topbar-title,.topbar .avatar{display:none}
 main{padding:30px 40px 80px}
}
.wb-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:#7d8c80;font-weight:600;white-space:nowrap}
.wb-crumb{margin-left:auto;font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.wb-crumb a{color:var(--muted);text-decoration:none}.wb-crumb a:hover{color:var(--g-head);text-decoration:underline}
.wb-crumb span:last-child{color:var(--g-ink);font-weight:600}
.wb-crumb .sep{margin:0 8px;color:#b5c3b6;font-weight:400!important}
.m-only{display:none}
/* ---- page head, buttons ---- */
.page-head{margin-bottom:22px}
.page-head p{color:var(--muted);font-size:.92rem;margin-top:6px}
.crumb a{color:var(--g-head)}
.btn{border:1px solid #a7d7c1;color:#047857;background:#fff;border-radius:8px;box-shadow:none;font-weight:600}
.btn:hover{background:#ecfaf3;border-color:#5fbf98}
.btn .ic{color:currentColor}
.btn.primary{background:var(--g-head);border-color:var(--g-head);color:#fff;box-shadow:none}
.btn.primary:hover{background:#065f46;border-color:#065f46}
.page-head .btn{border-color:var(--g-head);color:var(--g-head);background:#fff;padding:9px 16px}
.page-head .btn:hover{background:#eafaf2}
.page-head .btn.primary{background:#fff;color:var(--g-head);border-width:1.5px}
.page-head .btn.primary:hover{background:#eafaf2}
.btn.dark{background:var(--g-side);border-color:var(--g-side);color:#fff}.btn.dark:hover{background:var(--g-deep)}
.btn.danger{color:var(--red);border-color:#f1c1c7}
/* ---- cards, kpis ---- */
.card{border:1px solid #dfece6;border-radius:14px;box-shadow:var(--shadow);padding:20px}
.card-head h2,.card h2{color:var(--g-ink);font-weight:700}
.kpi{border:1px solid #dfece6;border-radius:14px}
.kpi:before{background:#c6e9d8}
.kpi.acc:before,.kpi.green:before{background:var(--lime)}.kpi.amber:before{background:#e2a312}.kpi.red:before{background:#e2505a}
.kpi b{color:var(--g-ink)}.kpi.red b{color:var(--red)}.kpi.amber b{color:var(--amber)}
.kpi:hover{border-color:#a7dcc3}
.kpi span{color:#6b7b6e}
.row{border-bottom:1px solid #e9f4ef}
.row.click:hover{background:#f1faf6}
/* ---- tables ---- */
.tbl-wrap{border:1px solid #d6e8df;border-radius:12px;background:#fff}
th{background:var(--g-head);color:#fff;font-size:.68rem;letter-spacing:.09em;font-weight:700;box-shadow:none}
th a,th button{color:#fff}
td{border-bottom:1px solid #e9f4ef}
tbody tr:nth-child(even) td{background:#fff}
.matrix th.sticky{background:var(--g-head)}
.matrix td.sticky,.matrix tbody tr:nth-child(even) td.sticky{background:#fff}
tr.click:hover td,tbody tr:hover td{background:#f2fbf7}
tbody td:first-child>b,tbody td:first-child>strong,tbody td:first-child>a>b{color:var(--g-ink)}
/* ---- pills (flat, reference style) ---- */
.pill{border-radius:999px;padding:3px 10px;font-weight:600;font-size:.72rem;background:var(--graybg);color:var(--gray)}
.pill.st:before{display:none}
.pill.green,.st-ap{background:var(--lime-soft);color:#065f46}
.pill.lime{background:var(--lime-soft);color:#065f46}
.pill.blue,.st-su{background:#fff;color:#047857;box-shadow:inset 0 0 0 1px #34b98a}
.pill.amber,.st-pe{background:var(--amberbg);color:var(--amber)}
.pill.violet,.st-in{background:var(--violetbg);color:var(--violet)}
.pill.rose,.st-ex{background:var(--rosebg);color:var(--rose)}
.pill.slate,.st-te{background:var(--slatebg);color:var(--slate)}
.pill.red,.st-de{background:var(--redbg);color:var(--red)}
.pill.nc,.st-nc{background:#fff;color:#7a857b;box-shadow:none;border:1px dashed #b9c3ba}
.pill.acc{background:var(--accbg);color:var(--g-head)}
.pill:not([class*=" "]){background:#fff;color:#5f6b61;box-shadow:inset 0 0 0 1px #cfd8cf}
.mcell.st-nc{border:1px dashed #b9c3ba}
/* ---- tabs, chips, forms ---- */
.tabs{border-bottom:1px solid #d6e8df;gap:6px}
.tab{color:#6b7b6e;font-weight:600}
.tab:hover{color:var(--g-ink)}
.tab.on{color:var(--g-ink);border-bottom-color:var(--lime);border-bottom-width:3px;font-weight:700}
.chip{border-color:#cfe5db;color:var(--ink)}
.chip:hover{background:#ecfaf3;border-color:#9fd4bd}
.chip.on{background:var(--g-head);border-color:var(--g-head);color:#fff}
.input,.select,textarea.input{border-color:#cbe0d6}
.input:hover,.select:hover{border-color:#9fc9b6}
.input:focus,.select:focus,textarea.input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.22)}
.field label{color:#4d5f51}
.switch input:checked+span{background:#10b981}
.progress i{background:linear-gradient(90deg,var(--lime),var(--g-head))}
.dropzone{border-color:#b3dcc9;background:#f9fdfb}.dropzone:hover{border-color:#10b981;background:#effaf5}
.step.cur .dot{background:var(--g-head);box-shadow:0 0 0 4px rgba(16,185,129,.22)}
.step.done .dot{background:var(--lime)}.step.done:before{background:var(--lime)}
.kcol{background:#e6f3ed}
.kcard:hover{border-color:#a7dcc3}
/* ---- callouts ---- */
.note{background:#f3fbf7;border:1px solid #d9f0e5;border-left:4px solid var(--lime);color:#134e3a;border-radius:8px}
.note.amber{background:#fffaf0;border-color:#f3e4c2;border-left-color:#e2a312;color:#6f4708}
.note.red{background:#fff6f7;border-color:#f6d3d7;border-left-color:#e2505a;color:#8a1c25}
/* ---- avatars, provider header ---- */
.avatar{background:var(--lime);color:#065f46}
.ph .avatar{width:58px;height:58px;font-size:1.1rem;background:var(--lime);color:#065f46}
.prov-card{padding:22px 24px}
.prov-card .ph{align-items:center}
.ph-main{flex:1;min-width:200px}
.ph-name{font-size:1.3rem;font-weight:700;color:var(--g-ink);margin:0;letter-spacing:-.01em}
.ph-meta{color:var(--muted);font-size:.87rem;margin-top:3px}
.ph-meta a{color:var(--muted)}
.ph-pills{display:flex;gap:6px;flex-wrap:wrap;align-self:flex-start;margin-top:4px}
.pfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 22px;margin:18px 0 0;padding-top:16px;border-top:1px solid #e9f4ef}
.pfacts dt{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:#7d8c80;font-weight:700;margin-bottom:4px}
.pfacts dd{margin:0;color:var(--g-ink);font-weight:600;font-size:.9rem;overflow-wrap:anywhere}
.pacts{margin-top:16px;padding-top:14px;border-top:1px solid #e9f4ef}
/* ---- modal, toast, scrim ---- */
.modal{background:rgba(2,44,34,.5)}
.modal-head h2{color:var(--g-ink)}
.toast{background:#064e3b}
.scrim{background:rgba(2,44,34,.5)}
/* ---- sign-in (mock Microsoft, green) ---- */
.ms-wrap{background:radial-gradient(900px 500px at 15% -10%,rgba(16,185,129,.25) 0,transparent 60%),radial-gradient(700px 500px at 110% 110%,rgba(16,185,129,.14) 0,transparent 55%),linear-gradient(160deg,#059669 0%,#065f46 100%)}
.ms-brand{text-align:center;margin:0 0 18px}
.ms-brand strong{display:block;color:#fff;font-size:1.35rem;font-weight:800;letter-spacing:-.01em}
.ms-brand small{display:block;color:#d1fae5;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700;margin-top:4px}
.ms-card{border-radius:12px;border:0;box-shadow:0 20px 50px rgba(0,0,0,.28)}
.ms-btn{background:var(--g-head);border-radius:6px}.ms-btn:hover{background:#065f46}
.ms-btn.sec{background:#e6eeea;color:#11261f}.ms-btn.sec:hover{background:#d3e2db}
.ms-link{color:var(--g-head)}
.ms-in:focus{border-bottom-color:var(--g-head)}
.ms-foot{color:#d1fae5}
/* ---- portal ---- */
.portal-wrap{background:#f2faf6}
.portal-back{background:var(--g-side)}
.portal-back a,.portal-back button{color:#d1fae5}
/* ---- phone ---- */
@media (max-width:900px){
 .topbar{top:26px;background:var(--g-side);border-bottom:0;color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
 .topbar .icon-btn{color:#fff}
 .topbar .icon-btn:hover{background:rgba(255,255,255,.1)}
 .brand-mini{color:#fff}
 .topbar-title{color:#d1fae5}
 .topbar .avatar{background:var(--lime);color:#065f46}
 .wb-label,.wb-crumb{display:none}
 .sidebar{top:0;box-shadow:8px 0 30px rgba(2,44,34,.4)}
 .sb-head{padding:18px 10px 12px 22px;padding-top:calc(18px + env(safe-area-inset-top))}
 .sidebar a[data-nav]{padding:10px 14px;font-size:.93rem}
 .m-only{display:block}
 main{padding:18px 14px 80px}
 h1{font-size:1.7rem}
 .pfacts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
 h1{font-size:1.6rem}
 .prov-card{padding:16px}
 .page-head .btns .btn{flex:1}
 table.resp tbody tr,table.resp tbody tr:nth-child(even){background:#fff}
 table.resp tr{border-bottom:1px solid #dfece6}
 table.resp td:before{color:#7d8c80}
 table.resp td.full b{color:var(--g-ink)}
 .demo-banner{font-size:.68rem}
}

.ph-line{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap}
.ph-meta a{text-decoration:none}.ph-meta a:hover{text-decoration:underline}
.pfacts dd{color:var(--ink);font-weight:500}
.side-foot .me{padding:7px 6px 7px 8px}
@media (min-width:901px) and (max-height:960px){.sb-note{display:none}.sb-head{padding-top:22px;padding-bottom:12px}.nav-group{margin-top:16px}.sidebar a[data-nav]{padding:8px 14px}}

/* ---- mint fresh palette (m1): primary #059669, accent mint #d1fae5 ---- */
h1{color:var(--g-pri)}
.sidebar a[data-nav]{color:#fff}
.sidebar a[data-nav].active{background:var(--mint);color:var(--on-mint)}
.nav-group{color:var(--mint2);opacity:1}
.avatar,.ph .avatar{background:var(--g-pri);color:#fff}
.side-foot .avatar,.topbar .avatar{background:var(--mint);color:var(--on-mint)}
.tab.on{border-bottom-color:var(--g-pri)}
.note{border-left-color:var(--mint2)}
.kpi.acc:before,.kpi.green:before{background:var(--g-pri)}
.step.done .dot,.step.done:before{background:var(--g-pri)}
.progress i{background:linear-gradient(90deg,#34d399,var(--g-pri))}
.switch input:checked+span{background:var(--g-pri)}
.page-head .btn{border-color:var(--g-pri)}
.pill.green,.st-ap,.pill.lime{background:var(--mint);color:var(--on-mint)}

/* r3 — SalesNOW parity screens (same palette) */
.select.sm{padding:5px 28px 5px 8px;font-size:.8rem;min-height:32px;max-width:100%}
.r3-pp td .select.sm{width:auto;max-width:170px}
.field.full{grid-column:1/-1}
.r3-h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:2px 0 8px;font-weight:700}
.linkbtn{background:none;border:0;padding:2px 4px;color:var(--acc,#059669);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:3px}
.linkbtn .ic{width:14px;height:14px}
.sens{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.r3-fired{border-color:#a7e3c9;background:linear-gradient(180deg,#f0fbf6,#fff)}
.r3-fired h2 .ic,.note .ic{width:16px;height:16px;vertical-align:-3px}
.r3-did{margin:6px 0 0;padding-left:18px;font-size:.8rem;color:var(--ink)}
.r3-did li{margin:2px 0}
.r3-acts{margin:4px 0 8px;padding-left:18px;font-size:.86rem}
.r3-acts li{margin:3px 0}
.r3-rule.off{opacity:.62}
.r3-rule h2 .mono{margin-right:4px}
.r3-loc{border:1px solid var(--line);border-radius:10px;padding:0 12px;margin-bottom:8px;background:#fff}
.r3-loc>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 0;font-size:.9rem}
.r3-loc>summary::-webkit-details-marker{display:none}
.r3-loc>summary .ic{width:15px;height:15px;vertical-align:-2px}
.r3-loc[open]>summary{border-bottom:1px solid var(--line);margin-bottom:10px}
.r3-loc[open]{padding-bottom:10px}
.r3-hours{border-collapse:collapse;font-size:.86rem;width:100%}
.r3-hours th{text-align:left;color:var(--muted);font-weight:600;padding:3px 10px 3px 0;width:48px}
.r3-hours td{padding:3px 0}
.r3-hgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-bottom:12px}
.r3-hrow{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:center}
.r3-hrow .select{width:100%}
.r3-body{background:#f7faf9;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:.84rem;white-space:pre-wrap;word-break:break-word;margin:4px 0 0;font-family:inherit}
.r3-merge{background:#dcf5ea;color:#05603f;border-radius:4px;padding:0 3px;font-family:ui-monospace,Menlo,monospace;font-size:.86em}
.r3-tpl h2{font-size:1rem}
.r3-ok{display:flex;gap:12px;align-items:flex-start;background:#f0fbf6;border:1px solid #a7e3c9;border-radius:10px;padding:14px}
.r3-ok .ic{width:26px;height:26px;color:#059669;flex:none}
.r3-pdf{background:#fff;border:1px solid var(--line);box-shadow:0 2px 10px rgba(15,23,42,.08);border-radius:6px;padding:22px 20px;max-width:560px;margin:0 auto;font-size:.88rem;line-height:1.55}
.r3-pdf-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:2px solid #059669;padding-bottom:8px;margin-bottom:12px;flex-wrap:wrap}
.r3-pdf-h span{color:var(--muted);font-size:.8rem}
.r3-sigline{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:10px;margin:18px 0 8px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.r3-sig{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:1.5rem;color:#0b3d2e}
.r3-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.r3-k3{grid-template-columns:repeat(3,minmax(200px,1fr))}
.r3-rc .step{font-size:.78rem}
.r3-paychips{margin-bottom:12px}
@media (max-width:700px){
 .r3-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .r3-hgrid{grid-template-columns:minmax(0,1fr)}
 .r3-pp td .select.sm{max-width:62%}
 .r3-k3{grid-template-columns:repeat(3,minmax(210px,82vw))}
 .r3-paychips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
 .r3-paychips .chip{flex:none}
}

/* r4: office-hours day names readable — light mint block, dark green text */
.r3-hours th,table.r3-hours tbody th{background:var(--mint);color:var(--on-mint);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-bottom:1px solid #fff;box-shadow:none;position:static}
.r3-hours td{padding:4px 10px;border-bottom:1px solid var(--line)}

/* r8: one Payers box */
.r8-tools{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:10px 12px;margin:0 0 10px;background:#f6faf8;border:1px solid #e3eee8;border-radius:10px}
.r8-tool{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.r8-now{flex-basis:100%}
.r8-gate{margin:0 0 10px}
.r8-pp td{vertical-align:top}
.r8-pp td .select.sm{width:auto;max-width:150px}
.r8-pname{display:flex;justify-content:space-between;align-items:center;gap:8px}
.r8-open-m{display:none}
.r8-pp .pill{white-space:nowrap}
.r8-dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;align-items:start}
.r8-dgrid .field label:first-child{display:block;font-weight:600;font-size:.8rem;margin-bottom:4px}
.r8-loc{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #eef2f0}
.r8-detail{margin-bottom:6px}
@media (max-width:560px){
 .r8-open-m{display:inline-flex}
 .r8-pp td.r8-open-d{display:none}
 .r8-pp td .select.sm{max-width:62%}
 .r8-pp td>div{text-align:right}
 .r8-dgrid{grid-template-columns:1fr}
 .r8-tools{padding:10px}
}

/* r8 desktop: TIN + roster share one column */
@media (min-width:561px){
 .r8-ros-in{margin-top:4px}
 .r8-pp td.r8-ros{display:none}
 .r8-pp td .select.sm{max-width:128px}
 .r8-pp td{padding-left:8px;padding-right:8px}
 .r8-pp td.full{min-width:150px;max-width:210px}
}
.r8-pp td.full,.r8-pp td.full .tiny{text-align:left}
@media (max-width:560px){
 .r8-pp td>div{flex:1;min-width:0;text-align:right}
 .r8-pp td>div .select.sm{max-width:100%}
 .r8-pp td>.select.sm{max-width:62%}
}

@media (max-width:560px){.r8-ros-in{display:none}}

/* r10: payer rows are view-only; tap a row (or Open) to change it */
.r10-row{cursor:pointer}
.r10-row:hover td{background:#f6faf8}
.r10-row:focus{outline:2px solid #047857;outline-offset:-2px}

/* r12 change history + effective date */
.r12-hist{margin:6px 0 4px;font-size:.78rem;line-height:1.35;color:var(--muted,#6b7280);overflow-wrap:anywhere}
.r12-hist b{color:var(--text,#111827);font-weight:600}
.r12-line{margin:2px 0}
details.r12-line summary{cursor:pointer;list-style:none}
details.r12-line summary::-webkit-details-marker{display:none}
.r12-list{margin:4px 0 2px 16px;padding:0}
.r12-list li{margin:2px 0}
.r12-up{font-size:.68rem;padding:1px 6px;vertical-align:1px}
dd .r12-hist{margin:3px 0 0}

/* r13 provider termination */
.r13-modal .r13-box{margin-top:14px;border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:10px 12px}
.r13-all{display:flex;gap:8px;align-items:center;cursor:pointer}
.r13-all input,.r13-pk input{width:18px;height:18px;flex:none;margin-top:2px}
.r13-list{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow:auto}
.r13-pk{display:flex;gap:10px;align-items:flex-start;padding:7px 4px;border-top:1px solid var(--line,#eef0f3);cursor:pointer}
.r13-pk .grow{min-width:0;flex:1}
.r13-sub{display:block;margin-top:2px}
.r13-count{margin:8px 0 0}
.r13-err{border-color:#dc2626!important;box-shadow:0 0 0 2px #fecaca}
.r13-kv{margin:8px 0 0}
.r13-ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}
.r13-sum-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.r13-ban{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 0;padding:8px 10px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca}
.r13-ban-b{display:flex;gap:6px;margin-left:auto}
.r13-row{color:#b91c1c;margin-top:2px}
.r13-pan{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.r13-prr{margin:0 0 10px;padding:8px 10px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca}
.r13-prr ul{margin:4px 0 2px;padding-left:18px;font-size:13px}
.btn.danger.primary{background:#b91c1c;border-color:#b91c1c;color:#fff}
@media (max-width:560px){.r13-ban-b{margin-left:0}}

/* ---- r14: staff feedback ---- */
.r14-tins{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.r14-tins-l,.r14-gt-l,.r14-lnote-l{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#64748b)}
.r14-tin{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:.78rem;line-height:1.3}
.r14-tin b{font-weight:700;color:#0f172a}
.r14-tin.ipa{background:#eef2ff;border-color:#c7d2fe}
.r14-qpill{border:1px solid #a7f3d0;background:#ecfdf5;color:#047857;cursor:pointer;font:inherit;font-size:.74rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}
.r14-qpill .ic{width:13px;height:13px}
.r14-qpill.amber{background:#fffbeb;border-color:#fde68a;color:#92400e}
.r14-qpill.r14-none{background:#f8fafc;border-color:#e2e8f0;color:#64748b}
.r14-qmini{font-size:.66rem;padding:1px 6px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;white-space:nowrap;vertical-align:1px}
.r14-qmini .ic{width:11px;height:11px}
.r14-ltin{margin-top:2px;line-height:1.35}
.r14-lnote{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:10px 0 2px;padding:8px 11px;border-radius:10px;background:#fffbeb;border:1px solid #fde68a}
.r14-lnote-l{display:inline-flex;align-items:center;gap:4px;color:#92400e}
.r14-lnote-l .ic{width:13px;height:13px}
.r14-gt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 10px;padding:8px 11px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.84rem}
.r14-gt .btn{margin-left:auto}
.r14-notes .r14-nadd{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.r14-notes .r14-nadd .btn{align-self:flex-end}
.r14-notes textarea{width:100%;resize:vertical;min-height:64px;font:inherit}
.r14-note{padding:10px 0;border-top:1px solid #eef2f7}
.r14-note-t{font-size:.88rem;white-space:normal;word-wrap:break-word}
.r14-note-m{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:4px;font-size:.74rem;color:var(--muted,#64748b)}
.r14-note-b{display:inline-flex;gap:4px}
.linkbtn.danger{color:#b91c1c}
.r14-att{margin-top:16px}
.r14-actgrid{align-items:start}
.r14-sep{margin:14px 0 6px;padding-top:10px;border-top:1px solid #eef2f7;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}
.r14-wide{grid-column:1/-1}
.note.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.r14-qcard .r14-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.r14-live{display:inline-block;width:9px;height:9px;border-radius:50%;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.6);animation:r14p 1.8s infinite;vertical-align:1px;margin-right:2px}
@keyframes r14p{0%{box-shadow:0 0 0 0 rgba(16,185,129,.55)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
.r14-qsearch{margin-bottom:8px}
.r14-qsearch .input{width:100%;max-width:520px}
.r14-qres .row{align-items:flex-start}
.r14-qks{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:3px}
.r14-qk{display:inline-flex;align-items:center;gap:4px;font-size:.78rem}
.r14-qk .pill{font-size:.64rem;padding:1px 6px}
.r14-qdet{margin-top:10px}
.r14-qdet summary{cursor:pointer;padding:4px 0}
.r14-rqbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.r14-rqbar .input{flex:1 1 280px;min-width:0}
.r14-rqcount{margin:0 0 6px}
@media (max-width:760px){.r14-qcard .r14-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.r14-gt .btn{margin-left:0}.r14-rqbar .select{flex:1 1 100%}}

/* r15a — Verifications panel */
.r15-mode{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin:0 0 10px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:var(--bg2,#f8fafc)}
.r15-opt{display:flex;gap:8px;align-items:flex-start;cursor:pointer;font-size:14px}
.r15-opt input{margin-top:3px}
.r15-npi{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 0 24px}
.r15-npi input{width:170px;font-family:ui-monospace,Menlo,monospace;padding:6px 8px;border:1px solid var(--line,#d1d5db);border-radius:8px}
.r15-list .r15-row{display:flex;gap:10px;align-items:flex-start;flex-wrap:nowrap}
.r15-main{flex:1;min-width:0}
.r15-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.r15-res{margin-top:4px;font-size:14px}
.r15-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:240px}
.r15-det{margin-top:4px}.r15-det summary{cursor:pointer;color:var(--acc,#059669)}
.r15-kv{display:grid;gap:3px;padding:6px 0 2px}.r15-k{color:var(--muted,#6b7280);font-size:12px;margin-right:4px}
.r15-hist{list-style:none;padding:4px 0 0;margin:0;display:grid;gap:6px}
.ck.warn{background:#fef3c7;color:#92400e}
@media (max-width:640px){.r15-list .r15-row{flex-wrap:wrap}.r15-btns{max-width:none;width:100%;justify-content:flex-start;padding-left:34px}.r15-npi{margin-left:0}.r15-npi input{width:100%}}
