/* VSA Certify — admin and public UI. Navy + gold, matching the certificates. */
:root{
  --navy:#13235b; --navy-2:#1d3278; --ink:#1c2236; --muted:#5d6377; --line:#dfe2ea; --bg:#f4f5f8; --card:#fff;
  --gold:#a8842e; --gold-soft:#f5eedb; --ok:#1f7a4d; --ok-bg:#e7f4ec; --bad:#b0302a; --bad-bg:#fbeceb; --warn:#9a5b06; --warn-bg:#fdf3e1;
  --focus:#3a62e0; --r:8px;
  --ui:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Cormorant Garamond",Georgia,serif;
}
@font-face{font-family:'Cinzel';font-weight:700;font-display:swap;src:url(../fonts/cinzel-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-weight:700;font-display:swap;src:url(../fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2')}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--ui);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--navy-2)}
a:hover{color:var(--navy)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
img{max-width:100%}
[hidden]{display:none!important}
code{font-size:.9em;background:#eef0f5;padding:1px 5px;border-radius:4px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;letter-spacing:-.01em}
.muted{color:var(--muted)} .small{font-size:13px} .strong{font-weight:600} .center{text-align:center} .right{text-align:right} .nowrap{white-space:nowrap}
.selectable{user-select:all}
.mt{margin-top:14px}

/* top bar */
.topbar{background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}
.topbar-in{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:8px 26px;flex-wrap:wrap;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}
.brand,.brand:hover,.brand:focus{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand img{height:30px;width:auto;background:#fff;border-radius:5px;padding:2px}
.brand span{font-size:17px;font-weight:600;letter-spacing:.01em;line-height:1.1;white-space:nowrap}
.brand small{display:block;font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.brand b{color:#e5c977}
.mainnav{display:flex;gap:2px;flex-wrap:wrap;flex:1}
.mainnav a{color:#d8def2;text-decoration:none;padding:7px 11px;border-radius:6px;font-size:14px}
.mainnav a:hover{background:rgba(255,255,255,.08);color:#fff}
.mainnav a[aria-current]{background:rgba(255,255,255,.14);color:#fff;font-weight:600}
.mainnav.pub{justify-content:flex-end}
.who{display:flex;align-items:center;gap:12px;font-size:14px}
.who a{color:#fff;text-decoration:none}
.who form{margin:0}
.who .linkbtn{color:#d8def2}

main{width:100%;max-width:1320px;margin:0 auto;padding:26px max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left));flex:1}
main.wide{max-width:1320px}
.foot{text-align:center;color:var(--muted);font-size:12.5px;padding:18px 16px 26px}

/* headings */
h1{font-family:var(--serif);font-weight:700;font-size:30px;line-height:1.12;margin:0;color:var(--navy);text-wrap:balance}
h2{font-size:16px;margin:0 0 12px;color:var(--navy)}
h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 8px}
h3 small{text-transform:none;letter-spacing:0;font-weight:400}
.eyebrow{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:700}
.eyebrow a{color:inherit}
.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.pagehead p.muted{margin:6px 0 0}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.pagehead>.actions{margin-left:auto;justify-content:flex-end}   /* stays on the right, also when it wraps under the title */

/* cards & layout */
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:18px;min-width:0}
.card.flush{padding:0;overflow:hidden}
.narrow{max-width:520px;margin-left:auto;margin-right:auto}
.narrowish{max-width:760px}
.stack{display:flex;flex-direction:column;gap:14px}
.stack.tight{gap:6px}
.cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.grid4 .span2{grid-column:span 2}
@media (max-width:860px){.cols,.grid4,.grid3{grid-template-columns:minmax(0,1fr)}.grid4 .span2{grid-column:auto}}
@media (max-width:560px){.grid2{grid-template-columns:minmax(0,1fr)}}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.kpis.small .kpi b{font-size:24px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:inherit;display:flex;flex-direction:column}
a.kpi:hover{border-color:#b9c0d3}
.kpi b{font-size:30px;font-family:var(--serif);color:var(--navy);line-height:1.1;font-variant-numeric:lining-nums tabular-nums}
.kpi span{color:var(--muted);font-size:13px}
.kpi.warn{border-color:#ecd3a4;background:var(--warn-bg)}
.kpi.warn b{color:var(--warn)}

/* forms */
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label{font-size:13px;font-weight:600;color:#3b4258}
.field small,.hint{font-size:12.5px;color:var(--muted);margin:0}
.field.end{justify-content:flex-end}
input,select,textarea{font:inherit;color:inherit;background:#fff;border:1px solid #cfd4df;border-radius:7px;padding:8px 10px;min-width:0;width:100%}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--navy)}
input[type=file]{padding:6px;border-style:dashed}
textarea{resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px rgba(58,98,224,.15)}
.check{display:flex;gap:9px;align-items:flex-start;font-size:14px}
.check input{margin-top:3px}
.inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.inline input{width:auto}
.inlineform{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.inlineform select,.inlineform input{width:auto;flex:1 1 140px}
.savebar{display:flex;justify-content:flex-end;gap:8px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 14px/1 var(--ui);padding:10px 15px;border-radius:7px;border:1px solid #c9cfdc;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:#9aa3b8;color:var(--ink)}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.primary:hover{background:var(--navy-2)}
.btn.ghost{background:transparent}
.btn.small{padding:7px 11px;font-size:13px}
.btn.danger{color:var(--bad);border-color:#e6bdb9}
.btn.danger:hover{background:var(--bad-bg)}
.btn.linkedin{background:#0a66c2;border-color:#0a66c2;color:#fff}
.btn.full{width:100%;margin-top:10px}
.btn:disabled{opacity:.55;cursor:progress}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--navy-2);text-decoration:underline;cursor:pointer}
.linkbtn.danger{color:var(--bad)}
.btnrow,.btngrid{display:flex;gap:8px;flex-wrap:wrap}
.btngrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}

/* flash & pills */
.flash{padding:11px 14px;border-radius:8px;margin-bottom:14px;border:1px solid;font-size:14px}
.flash.ok{background:var(--ok-bg);border-color:#b8dcc7;color:#14522f}
.flash.bad{background:var(--bad-bg);border-color:#efc5c1;color:#7f1f1a}
.flash.info{background:#eef2fb;border-color:#cdd7f0;color:#233a7a}
.flash.warn{background:var(--warn-bg);border-color:#ecd3a4;color:#6d4205}
.pill{font-family:var(--ui);display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid;line-height:1.5;vertical-align:middle;white-space:nowrap}
.pill.ok{color:var(--ok);background:var(--ok-bg);border-color:#b8dcc7}
.pill.bad{color:var(--bad);background:var(--bad-bg);border-color:#efc5c1}
.pill.warn{color:var(--warn);background:var(--warn-bg);border-color:#ecd3a4}
.pill.mut{color:var(--muted);background:#f1f2f5;border-color:#dcdfe6}
.pill.navy{color:#fff;background:var(--navy);border-color:var(--navy)}

/* tables */
.tablewrap{overflow-x:auto}
.tablewrap.short{max-height:340px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;margin:10px 0 16px}
.tbl{border-collapse:collapse;width:100%;font-size:14px}
.tbl th,.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.tbl th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fafbfc;font-weight:600;position:sticky;top:0}
.tbl tbody tr:hover{background:#fafbfd}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl.small th,.tbl.small td{padding:7px 10px;font-size:13px}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.tbl .cb{width:36px}
.tbl a{text-decoration:none}
.tbl a:hover{text-decoration:underline}
.warnrow td{background:#fffaf0}
.empty{padding:28px 20px;color:var(--muted);text-align:center;margin:0}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line);background:#fafbfc}
.toolbar .search{flex:1 1 260px;max-width:380px}
.toolbar .bulk{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.toolbar .typeset{display:inline-flex;gap:4px;align-items:center}
.toolbar .typeset select{width:auto;padding:5px 8px;font-size:.88em}
.searchbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.searchbar input{flex:1 1 260px}
.searchbar select{width:auto;flex:0 1 auto;max-width:100%}
.tabs{display:flex;gap:4px;margin-bottom:12px}
.tabs a{padding:7px 14px;border-radius:7px;text-decoration:none;color:var(--muted);font-size:14px}
.tabs a[aria-current]{background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:600}
.pager{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.pager a{padding:6px 11px;border-radius:6px;text-decoration:none;border:1px solid var(--line);background:#fff;font-size:13px}
.pager a[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}
.score{font-variant-numeric:tabular-nums}

/* activity */
.activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.activity li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.activity li:last-child{border-bottom:0}
.activity .when{color:var(--muted);font-variant-numeric:tabular-nums}
.enr{list-style:none;margin:0;padding:0}
.enr li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}
.dangerzone{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}

/* add-learner box */
details.addbox>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}
details.addbox>summary::-webkit-details-marker{display:none}
details.addbox>summary h2{margin:0}
details.addbox>summary::before{content:'+';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700}
details.addbox[open]>summary::before{content:'–'}
details.addbox[open]>summary{margin-bottom:14px}

/* course editor */
.editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:20px;align-items:start}
.editor-preview .sticky{position:sticky;top:16px}
@media (max-width:1000px){.editor{grid-template-columns:minmax(0,1fr)}.editor-preview{order:-1}.editor-preview .sticky{position:static}}
.tplpick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:560px){.tplpick{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tplopt{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:10px;cursor:pointer;font-size:13.5px;font-weight:600}
.tplopt:has(input:checked){border-color:var(--navy);box-shadow:0 0 0 1px var(--navy);background:#f6f7fc}
.picklist{display:flex;flex-direction:column;gap:6px}
.pick{display:grid;grid-template-columns:auto 54px minmax(0,1fr) 64px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer}
.pick:has(input[type=checkbox]:checked){border-color:#b7c0dc;background:#f7f8fc}
.pick img{height:34px;width:54px;object-fit:contain}
.pick span{font-size:13.5px;font-weight:600;min-width:0}
.pick small{display:block;font-weight:400;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pick .pos{padding:5px 6px;text-align:center}

/* certificate pages */
.certlayout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
@media (max-width:1000px){.certlayout{grid-template-columns:minmax(0,1fr)}}
.cert-stage{margin-bottom:18px}
.copyrow{display:flex;gap:6px}
.copyrow input{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}

/* public pages */
.hero{text-align:center;padding:14px 0 22px}
.hero h1{font-size:38px}
.hero p{color:var(--muted);margin:8px 0 0}
.hero-logos{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.hero-logos img{height:52px;width:auto}
.hero-logos img.wide{height:24px}
.login h1{margin-bottom:6px}
.verify-result{max-width:880px;margin:0 auto 20px}
.vhead{display:flex;gap:18px;align-items:center}
.vmark{flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:700;color:#fff}
.vmark.ok{background:var(--ok)}
.vmark.bad{background:var(--bad)}
.verify-result.revoked{border-color:#efc5c1}
.bad-text{color:var(--bad);margin:6px 0 0;font-weight:600}
.vfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 22px;margin:20px 0 6px;padding:16px 0 0;border-top:1px solid var(--line)}
.vfacts dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.vfacts dd{margin:3px 0 0;font-weight:600}
.vactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.verify-result.notfound{text-align:center}
.verify-result.notfound .vmark{margin:0 auto 12px}
main.wide>.cert-stage{width:100%;max-width:1100px;margin:0 auto 18px}

/* upload */
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed #c8cede;border-radius:10px;padding:26px;cursor:pointer;background:#fafbfd;text-align:center}
.drop.over{border-color:var(--navy);background:#f1f3fb}
.drop input{display:none}
.drop span{color:var(--muted);font-size:13px}
.colspec{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.colspec span{border:1px solid var(--line);border-radius:6px;padding:3px 9px;font-size:13px;background:#fafbfc}
.errs{margin:0 0 14px;padding-left:18px;font-size:13.5px;color:#7f1f1a}

/* branding */
.assetgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:14px}
.assetcard{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
.assetcard.off,.sigrow.off{opacity:.55}
.assetimg{height:70px;display:grid;place-items:center;background:#fafbfc;border-radius:6px;padding:6px}
.assetimg img{max-height:58px;width:auto;object-fit:contain}
.assetimg.sig{height:62px;width:150px;cursor:pointer;border:1px dashed transparent}
.assetimg.sig:hover{border-color:#b9c0d3}
.addrow{padding-top:12px;border-top:1px solid var(--line)}
.siglist{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.sigrow{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;border:1px solid var(--line);border-radius:10px;padding:12px}
@media (max-width:560px){.sigrow{grid-template-columns:minmax(0,1fr)}}
.sigfields{display:flex;flex-direction:column;gap:6px}
.sigfields .row{display:flex;justify-content:space-between;align-items:center}
.menu{position:relative;display:inline-block}
.menu summary{list-style:none}
.menu summary::-webkit-details-marker{display:none}
.menu-in{position:absolute;right:0;top:calc(100% + 4px);z-index:5;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px -10px rgba(15,25,60,.3);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:260px;text-align:left}
.menu-in form{margin:0}

/* dialogs & progress */
.dlg{border:0;border-radius:12px;padding:0;max-width:640px;width:calc(100% - 32px);box-shadow:0 30px 70px -20px rgba(10,20,50,.5)}
.dlg::backdrop{background:rgba(12,18,40,.45)}
.dlg-in{padding:22px}
.dlg-foot{display:flex;justify-content:flex-end;margin-top:14px}
.outs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
@media (max-width:560px){.outs{grid-template-columns:minmax(0,1fr)}}
.outbtn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:9px;padding:12px 14px;cursor:pointer;font:inherit;color:inherit;text-decoration:none}
.outbtn:hover{border-color:var(--navy);background:#f7f8fc}
.outbtn b{color:var(--navy)}
.outbtn span{font-size:12.5px;color:var(--muted)}
.progress{position:fixed;inset:0;background:rgba(12,18,40,.45);display:grid;place-items:center;z-index:50;padding:16px}
.progress-in{background:#fff;border-radius:12px;padding:22px;width:min(420px,100%);display:flex;flex-direction:column;gap:12px}
.bar{height:8px;border-radius:99px;background:#eceef4;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--navy);transition:width .2s}
@media (prefers-reduced-motion:reduce){.bar i{transition:none}}
.progress-in .btn{align-self:flex-start}
.card>.field,.card>.grid2,.card>.grid3,.card>.check,.card>.picklist{margin-bottom:12px}
.offstage{position:fixed;left:-30000px;top:0;width:1100px}
.linote{margin:12px 0 0;font-size:14px;color:var(--muted)}
.linote.ok{color:var(--ok);font-weight:600}
.linote.bad{color:var(--bad)}
.seg{display:inline-flex;border:1px solid #cfd4df;border-radius:8px;overflow:hidden;background:#fff}
.seg label{display:flex;align-items:center;gap:7px;padding:8px 14px;font-size:14px;cursor:pointer;border-right:1px solid #cfd4df}
.seg label:last-child{border-right:0}
.seg label:has(input:checked){background:var(--navy);color:#fff}
.seg input{accent-color:#fff}
.affil{display:flex;flex-direction:column;gap:12px}
.affil .k-acad,.affil .k-prog,.affil .k-hsnc,.affil .k-fac,.affil .k-prof{display:none}
.affil:not([data-kind="professional"]) .k-acad,.affil[data-kind="professional"] .k-prof,.affil[data-kind="faculty"] .k-fac,
.affil[data-kind="learner"] .k-prog,.affil[data-kind="researcher"] .k-prog,.affil[data-kind="not_working"] .k-prog,
.affil[data-kind="learner"] .k-hsnc,.affil[data-kind="researcher"] .k-hsnc{display:grid}
.affil .k-hsnc.nohsnc .prnf{opacity:.55}
.kindseg{flex-wrap:wrap}
.kindnote{font-weight:600;color:var(--navy)}
.pill.tiny{font-size:10.5px;padding:0 6px}
.rowacts{display:flex;gap:4px;justify-content:flex-end;flex-wrap:nowrap}
.rowacts .btn{padding:5px 9px}
.qrdlg .dlg-in{display:flex;flex-direction:column;gap:12px}
.qrbig{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}
.qrbig img{width:min(320px,70vw);height:auto;image-rendering:pixelated}
.qrlink{word-break:break-all;margin:0;color:var(--muted)}
.pushright{margin-left:auto}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.hostpick{margin-bottom:6px}
.masterrow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) 90px auto;gap:8px;align-items:center}
.unconf{background:#fffaf0}
.inline-f{display:inline}
.subrow td{background:#fbfbfd;padding-top:6px;padding-bottom:10px}
.deptchip{display:inline-flex;align-items:center;gap:4px;margin:3px 6px 3px 0;border:1px solid var(--line);border-radius:6px;padding:2px 6px;background:#fff}
.deptchip input{border:0;padding:3px 4px;width:auto;font-size:13px}
.mailbox{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.mailbox .btn.full{margin-top:0}
.tbl td input{padding:6px 8px;font-size:13.5px}
.warntext{color:#8a5a00}

/* ---------- 2.1: batch stepper, checks, filters, undo ---------- */
.stepper summary,.checks summary{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;cursor:pointer;list-style:none}
.stepper summary::-webkit-details-marker,.checks summary::-webkit-details-marker{display:none}
.stepper summary h2,.checks summary h2{margin:0}
.stepper summary::after,.checks summary::after{content:"▾";color:var(--muted);margin-left:auto;transition:transform .15s}
.stepper:not([open]) summary::after,.checks:not([open]) summary::after{transform:rotate(-90deg)}
.steps-h{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.steps-h li{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;align-items:flex-start;min-width:0}
.steps-h li b{font-size:14px;color:var(--ink)}
.steps-h li .btn{margin-top:auto}
.steps-h .dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#eef0f5;color:var(--muted)}
.steps-h li.done{background:#f7fbf8;border-color:#cfe6d8}
.steps-h li.done .dot{background:var(--ok);color:#fff}
.steps-h li.now{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-soft)}
.steps-h li.now .dot{background:var(--navy);color:#fff}
.stepbtns{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto}
@media (max-width:1100px){.steps-h{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.steps-h{grid-template-columns:minmax(0,1fr);gap:6px}.steps-h li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;column-gap:10px;align-items:center}.steps-h li .dot{grid-row:span 2}.steps-h li .small{grid-column:2}.steps-h li>.btn,.steps-h li>.stepbtns{grid-column:3;grid-row:1/span 2;margin:0}.stepbtns{flex-direction:column;align-items:stretch}}

.checks{border-color:#ecd3a4}
.checks summary h2{color:var(--warn)}
.checklist{list-style:none;margin:12px 0 0;padding:0}
.checklist>li{display:flex;gap:10px 18px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}
.issues{margin:4px 0 0;padding-left:18px;font-size:13px;color:var(--warn)}
.fixbtns{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.inline-f{display:inline;margin:0}

.chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.chips a{display:inline-flex;gap:6px;align-items:center;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:var(--ink);font-size:13.5px}
.chips a span{color:var(--muted);font-weight:600}
.chips a[aria-current]{background:var(--navy);border-color:var(--navy);color:#fff}
.chips a[aria-current] span{color:#e5c977}
.chips a.warnchip:not([aria-current]){border-color:#ecd3a4;background:var(--warn-bg)}
.filterinfo{margin:0 0 10px;font-size:14px;color:var(--navy)}
.flash.undo{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1c2236;border-color:#1c2236;color:#fff}
.flash.undo .btn{background:#fff}
.checkbar{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;margin:8px 0}
.fixnote{font-size:12px;color:var(--ok);font-weight:600}
tr.flagrow td{background:#fffaf0}
.oktext{color:var(--ok)}
.attention h2{margin-top:0}
.attention.calm{border-color:#cfe6d8;background:#f7fbf8}
.todo{list-style:none;margin:0;padding:0}
.todo li{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.todo li:first-child{border-top:0}
.todo li>span:nth-child(2){flex:1;min-width:0}
.todo .ico{width:10px;height:10px;border-radius:50%;flex:none;background:#8fa0c9}
.todo li.bad .ico{background:var(--bad)} .todo li.warn .ico{background:#d9a03a}
/* insights */
.chart{margin:8px 0 0}
.chart svg{width:100%;height:auto;display:block;font:12px var(--ui)}
.chart .grid{stroke:#e6e8ef;stroke-width:1}
.chart .ax{fill:var(--muted);font-size:12px}
.chart .bar path{fill:var(--navy-2)}
.chart .bar .hit{fill:transparent}
.chart .bar:hover path{fill:var(--navy)}
.chart .bar:hover .hit{fill:rgba(19,35,91,.04)}
.tableview summary{cursor:pointer;color:var(--muted);margin-top:6px}
.ranks{list-style:none;margin:8px 0 0;padding:0}
.ranks li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:6px 0}
.ranks .rl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.ranks .rn{font-weight:600;font-variant-numeric:tabular-nums;font-size:14px}
.ranks .rbar{grid-column:1/-1;height:6px;background:#eef0f5;border-radius:3px;overflow:hidden}
.ranks .rbar i{display:block;height:100%;background:var(--navy-2);border-radius:3px}
.cols.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.cols.three{grid-template-columns:minmax(0,1fr)}}
h2.pad{padding:18px 20px 0;margin:0 0 10px}
.activity li{overflow-wrap:anywhere}
/* tips */
.tip{display:flex;gap:12px;align-items:flex-start;background:#eef2fb;border:1px solid #cdd7f0;border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:14px;color:#233a7a}
.tip-i{flex:none;width:22px;height:22px;border-radius:50%;background:var(--navy-2);color:#fff;display:grid;place-items:center;font:700 13px Georgia,serif}
.tip>div:nth-child(2){flex:1}
.tip-act{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
/* header search */
.topsearch{margin:0}
.topsearch input{width:190px;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:14px}
.topsearch input::placeholder{color:#c3cbe6}
.topsearch input:focus{background:#fff;color:var(--ink);outline:none}
/* phones and small tablets: one scrolling row of tabs instead of a wrapped block */
@media (max-width:980px){
  .topbar-in{gap:8px 14px}
  .mainnav{order:3;flex:0 0 100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -4px;padding-bottom:2px}
  .mainnav::-webkit-scrollbar{display:none}
  .mainnav a{white-space:nowrap}
  .topsearch{order:2;flex:1;min-width:120px}
  .topsearch input{width:100%}
  .who{margin-left:auto}
}
@media (max-width:600px){
  .pagehead{flex-direction:column;align-items:stretch}
  .pagehead .actions{justify-content:flex-start;flex-wrap:wrap;margin-left:0}
  .tip{flex-wrap:wrap}.tip-act{flex-direction:row;align-items:center;width:100%;justify-content:flex-end}
  .toolbar .bulk{flex-wrap:wrap}
  .todo li{flex-wrap:wrap}
  .who a[title]{display:none}
}
@media (max-width:600px){.roster .hide-sm{display:none}}
.navmenu{position:relative}
.navmenu summary{white-space:nowrap;list-style:none;cursor:pointer;color:#d8def2;padding:7px 11px;border-radius:6px;font-size:14px}
.navmenu summary::-webkit-details-marker{display:none}
.navmenu summary::after{content:" ▾";font-size:11px}
.navmenu summary:hover{background:rgba(255,255,255,.08);color:#fff}
.navmenu summary[aria-current]{background:rgba(255,255,255,.14);color:#fff;font-weight:600}
.navmenu-in{position:absolute;top:calc(100% + 6px);left:0;z-index:50;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(19,35,91,.18);padding:6px;min-width:160px;display:flex;flex-direction:column}
.navmenu-in a{color:var(--ink)!important;padding:8px 10px;border-radius:6px}
.navmenu-in a:hover{background:#f1f3f8!important}
.navmenu-in a[aria-current]{background:#eef2fb!important;font-weight:600}
@media (max-width:980px){.navmenu{position:static}.navmenu-in{left:auto;right:16px}}
@media (max-width:980px){.topbar{position:relative}.navmenu-in{top:calc(100% - 4px)}}
@media (max-width:600px){.chart{overflow-x:auto}.chart svg{min-width:620px}}
.diag{list-style:none;margin:0;padding:0;font-size:14px}
.diag li{padding:8px 10px 8px 30px;border-radius:7px;margin-bottom:6px;position:relative;background:#f4f5f8}
.diag li::before{position:absolute;left:10px;top:8px;font-weight:700}
.diag li.ok{background:var(--ok-bg);color:#14522f}.diag li.ok::before{content:"✓"}
.diag li.bad{background:var(--bad-bg);color:#7f1f1a}.diag li.bad::before{content:"✕"}
.diag li.warn{background:var(--warn-bg);color:#6d4205}.diag li.warn::before{content:"!"}
.diag li.info{background:#eef2fb;color:#233a7a}.diag li.info::before{content:"i"}
/* 2.2: owner check, add to LinkedIn, upcoming course */
.ownerbox,.promo{max-width:880px;margin-left:auto;margin-right:auto}
.ownerbox h2{margin-top:0}
.ownerbox .vmark.small{width:36px;height:36px;font-size:18px;margin-bottom:8px}
.btn.linkedin.big{padding:12px 22px;font-size:16px}
.codeform{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.codeform input{font:600 24px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.3em;width:190px;text-align:center;padding:10px}
.manual{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.manual summary{cursor:pointer;color:var(--navy-2);font-size:14px}
.copylist{margin:8px 0 0}
.copylist>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 12px;padding:8px 0;border-top:1px solid var(--line);align-items:center}
.copylist dt{color:var(--muted);font-size:13px}
.copylist dd{margin:0;display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:0}
.copylist dd span{overflow-wrap:anywhere;font-size:14px}
@media (max-width:560px){.copylist>div{grid-template-columns:minmax(0,1fr)}}
.promo{border-color:#e6d6a8;background:linear-gradient(180deg,#fffdf6,#fff)}
.promo.big{box-shadow:0 0 0 3px var(--gold-soft)}
.promo h2{margin:2px 0 6px;font-family:var(--serif);font-size:24px;color:var(--navy)}
.leadform{margin-top:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn.disabled{pointer-events:none;opacity:.5}
.promo>summary{list-style:none;cursor:pointer}
.promo>summary::-webkit-details-marker{display:none}
.promo>summary .eyebrow{display:block;margin:0}
.promo:not([open])>summary h2{font-size:20px;margin:2px 0 4px}
.promo-more{color:var(--navy-2);font-weight:600}
.promo[open]>summary{margin-bottom:6px}
@media (min-width:981px){.topbar-in{gap:8px 18px}.mainnav a,.navmenu summary{padding:7px 9px}.topsearch input{width:150px}}
/* 2.3: two-button LinkedIn box */
.ownerbox h2{display:flex;align-items:center;gap:10px}
.in-logo{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:5px;background:#0a66c2;color:#fff;font:700 17px/1 Arial,sans-serif;letter-spacing:-.5px}
.li2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 10px}
.li2 form{display:contents}
.libtn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:14px 16px;border-radius:10px;border:1.5px solid #0a66c2;
  background:#fff;color:#0a66c2;text-decoration:none;font:inherit;cursor:pointer;min-height:64px;width:100%}
.libtn b{font-size:16px}
.libtn span{font-size:12.5px;color:var(--muted)}
.libtn:hover{background:#eef5fd;color:#0a66c2}
.libtn.hot,.li2 > .libtn:first-child:not(.hot):only-child{background:#0a66c2;color:#fff}
.libtn.hot span{color:#dbe9fb}
.libtn.hot:hover{background:#0958a8;color:#fff}
@media (max-width:420px){.li2{grid-template-columns:1fr}}
.codelinks{display:flex;gap:6px 16px;flex-wrap:wrap;align-items:center}
.sharenote{background:#eef5fd;border:1px solid #c9ddf5;border-radius:8px;padding:10px 12px;font-size:14px;color:#123a66}
.libtn.busy{opacity:.7;cursor:progress}
.bgjob{position:fixed;right:16px;bottom:16px;z-index:60;background:#13235b;color:#fff;border-radius:999px;padding:8px 14px;font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.2)}
/* 2.5: LinkedIn post panel */
.postpanel{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.postpanel h3{margin:0 0 10px;font-size:16px}
.postprev{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.postimg{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#13235b;min-height:120px;display:grid;place-items:center;color:#dfe5f7;font-size:13px;padding:0}
.postimg img{display:block;width:100%;height:auto}
.postimg span{padding:20px;text-align:center}
.postform textarea{width:100%;font:14px/1.5 var(--ui);padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical;min-height:260px}
.postbtns{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
@media (max-width:760px){.postprev{grid-template-columns:minmax(0,1fr)}}
.linote.warn{color:var(--warn)}
.linkbtn[aria-pressed="true"]{font-weight:700;text-decoration:none;color:var(--ink,#1b2333)}
.eyebrow .seg{float:right;text-transform:none;letter-spacing:0}
.muted.tiny{font-size:11px;margin:4px 0 0}

/* 2.11: course page tiles, Batch status, selection bar, windows, WhatsApp */
.kpis5{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.kpi small{color:var(--muted);font-size:12px;margin-top:2px}
.kpi.warn small{color:var(--warn)}
.batch{padding:16px 18px}
.batch-head{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap}
.batch-head h2{margin:0}
.batch-head .btn{margin-left:auto}
.stepcards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
@media (max-width:1000px){.stepcards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
.stepcard{font:inherit;text-align:left;cursor:pointer;border-radius:10px;padding:12px 13px;display:flex;flex-direction:column;gap:3px;min-height:112px;color:var(--ink);border:1px solid var(--line);background:#f7f8fa}
.stepcard:hover{border-color:#9aa3bb}
.stepcard:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.stepcard.s-done{background:#f2f9f5;border-color:#b9dcc7}
.stepcard.s-todo{background:#fffaf0;border-color:#f0d29a}
.stepcard.s-off{cursor:default;opacity:.75}
.stepcard.is-next{border:2px solid var(--gold);box-shadow:0 4px 14px rgba(168,132,46,.22)}
.sc-top{display:flex;align-items:center;gap:8px;width:100%}
.sc-top .pill{margin-left:auto}
.sc-dot{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:#9aa0b2;flex:none}
.s-done .sc-dot{background:var(--ok)}
.s-todo .sc-dot{background:#b8740c}
.sc-l1{font-weight:700;font-size:14.5px}
.s-todo .sc-l1{color:#8a5205}
.s-done .sc-l1{color:var(--ok)}
.sc-cta{margin-top:auto;color:var(--navy);font-weight:600;text-decoration:underline}
.s-off .sc-cta{display:none}
.pill.gold{background:var(--gold);color:#fff;border-color:var(--gold)}
.pill.new{background:#e9eefc;color:#203a8f;border-color:#c3cff3}
.roster-tools .quicksel{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--muted)}
.roster-tools .quicksel b{color:var(--ink)}
.bulkbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);background:#fafbfc}
.bulkbar .grp{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;padding-right:14px;border-right:1px solid var(--line)}
.bulkbar .grp:last-child{border-right:0;padding-right:0;margin-left:auto}
.bulkbar select{width:auto;padding:6px 8px;font-size:13px}
.bulkbar input[type=date]{width:auto;padding:5px 8px}
.bulkbar .btn:disabled{opacity:.45;cursor:not-allowed}
.btn.wa{color:#0b6b3a;border-color:#9fd1b4}
.btn.wa:hover{background:#eef8f2}
.sentcell{white-space:nowrap}
.sentcell .pill{margin-bottom:2px}
.dlg.wide{max-width:780px}
.dlg.xwide{max-width:1040px}
.dlg h2{margin:0}
.dlg-foot{gap:8px;align-items:center;flex-wrap:wrap}
.dlg-foot .grow,.grow{flex:1 1 auto}
.dlg .stack{display:flex;flex-direction:column;gap:12px}
.seg.tabs button{font:inherit;font-size:13.5px;padding:8px 14px;border:0;border-right:1px solid #cfd4df;background:#fff;color:var(--ink);cursor:pointer}
.seg.tabs button:last-child{border-right:0}
.seg.tabs button[aria-selected=true]{background:var(--navy);color:#fff}
.seg.tabs button:disabled{opacity:.5;cursor:not-allowed}
.namechips{display:flex;flex-wrap:wrap;gap:5px;max-height:160px;overflow:auto}
.sendbox{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}
.sendbox p{margin:0}
.sep-top{border-top:1px solid var(--line);padding-top:14px}
.check.inline{display:inline-flex;margin-left:6px}
#designView{border:1px solid var(--line);border-radius:8px;background:#fff}
.wadlg .wa-head{display:flex;align-items:center;gap:10px}
.wadlg textarea{width:100%;font:inherit;font-size:14px;line-height:1.45}
.wa-note{margin:0;font-size:13.5px;color:var(--muted)}
.wa-note.ok{color:var(--ok)}
.wa-note.bad{color:var(--bad)}
.wa-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.btn.wa-go{background:#1f7a4d;border-color:#1f7a4d;color:#fff}
.btn.wa-go:hover{background:#18643f}
.btn.wa-go:disabled{opacity:.5}
.peopletools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);background:#fafbfc}
.peopletools form{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 420px}
.peopletools input[type=search]{flex:1 1 220px;max-width:340px}
.peopletools select{width:auto}
.coursechips{display:flex;flex-wrap:wrap;gap:4px}
.peopletools{justify-content:space-between}
.searchrow{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 520px;align-items:center}
.searchrow input[type=search]{flex:1 1 220px;max-width:340px;width:auto}
.searchrow select{width:auto}
.ink{color:var(--ink)}
.chips .chipsep{display:inline-block;width:1px;height:22px;background:var(--line);margin:0 4px;align-self:center}
.chips a.zero{opacity:.6}
.progress-inline{display:flex;flex-direction:column;gap:4px}
.progress-inline .bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden}
.progress-inline .bar i{display:block;height:8px;background:var(--ok);width:0;transition:width .3s}
.mph{margin-top:6px;line-height:1.6}
.cc-list{display:flex;flex-direction:column;gap:3px}
.cc-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px}
.cc-row .mono{font-size:12.5px}
.cc-badges{display:flex;gap:4px;margin-bottom:3px}
.msglist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.msglist li{border-bottom:1px solid var(--line);padding-bottom:8px}
.msglist .body{white-space:pre-line;color:var(--muted);font-size:13px;max-height:4.5em;overflow:hidden}
.dlg .seg.tabs{align-self:flex-start}
.progrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.progrow input,.progrow select{width:auto}
.progrow .c-code{width:110px}.progrow .c-name{flex:1 1 260px}.progrow .c-uni{flex:0 1 220px}.progrow .c-n{width:40px;text-align:right;color:var(--muted)}
.progrow.addrow{padding:12px 14px;border-top:1px solid var(--line);background:#fafbfc}
.tiny{font-size:11px}
.batchbar{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:-4px 0 12px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:10px}
.batchbar .bb-l{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-right:4px}
.bchip{display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:13px;background:#fff}
.bchip:hover{border-color:var(--navy)}
.bchip[aria-current=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.bchip .n{font-weight:700;opacity:.8}
.batchinfo{margin:-6px 0 12px;font-size:13px;color:var(--muted)}
.batchbar .grow{flex:1 1 auto}
.colspec .opt{opacity:.75;font-style:italic}
.vfacts dd.honours{color:var(--gold);font-weight:700}
.myfeedback{margin-top:16px;padding:14px 16px;border:1px solid #e9dcb8;background:#fffbf0;border-radius:10px}
.myfeedback h3{margin:0 0 6px;font-size:15px;color:var(--navy)}
.myfeedback p{margin:0 0 6px;line-height:1.55}
.testgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;margin-top:16px}
.testrow{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px}
.testrow p{margin:2px 0 0}
.testrow.col{flex-direction:column;align-items:stretch}
.testrow.col textarea,.testrow.col input{width:100%}
.dupall{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.duptable{max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:8px}
.duptable td div{margin:1px 0}
.duptable select{width:auto}
/* 2.14 Backups */
.bk-filter{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.bk-filter select{width:auto}
.bk-clean{display:flex;gap:18px 28px;flex-wrap:wrap;align-items:center}
.bk-course{margin:-4px 0 0 26px}
.bk-course select{max-width:100%}
.bk-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px;margin:0}
.bk-meta div{display:flex;flex-direction:column}
.bk-meta dt{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.bk-meta dd{margin:2px 0 0;font-weight:600}
.bk-chg{margin:0;padding:0;list-style:none;font-size:13px}
.bk-chg li{padding:1px 0}
.bk-chg .was{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25)}
.bk-chg .now{color:var(--ink);font-weight:600}
.bk-chg .lab{color:var(--muted)}
.bk-modes{display:flex;flex-direction:column;gap:10px}
.bk-modes label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:#fff}
.bk-modes label:has(input:checked){border-color:var(--navy);box-shadow:0 0 0 1px var(--navy) inset;background:#f6f8fe}
.bk-modes small{display:block;color:var(--muted);font-weight:400;margin-top:2px}
.bk-modes input{margin-top:4px}
.bk-pick{width:34px}
.bk-tbl:not(.picking) .bk-pick{display:none}
.bk-tbl tr[hidden]{display:none}
.bk-result{border-left:4px solid var(--ok)}
.undo-box{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f8f9fc}
.undo-box p{margin:0;flex:1 1 280px}
.warn-t{color:var(--warn)}
.ok-tx{color:var(--ok)}
#makeForm label.inline,.bk-modes+label.inline,.bk-clean label.inline{white-space:normal;align-items:flex-start;font-size:14px}
#makeForm label.inline input,.bk-modes+label.inline input{margin-top:3px}
.bk-clean form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:700px){.testgrid{grid-template-columns:minmax(0,1fr)}.bk-filter{width:100%}.bk-filter select{flex:1 1 140px}}
.testgrid label.inline{white-space:normal;flex-wrap:wrap}
/* 2.14.1 Names */
.namegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}
@media (max-width:640px){.namegrid{grid-template-columns:minmax(0,1fr)}}
.nameissues{margin:-4px 0 6px;padding:8px 12px;border-radius:8px;background:var(--warn-bg);border:1px solid #ecd3a4;color:var(--warn);font-size:13px}
button.pill.namechk{cursor:pointer;font-family:var(--ui)}
/* 2.14.2 Mobile numbers (intl-tel-input) */
.iti{width:100%;display:block}
.iti input[type=tel]{width:100%}
.iti__dropdown-content{z-index:50}
dialog .iti__dropdown-content{max-height:260px}
.iti__search-input{padding:8px 10px;font:inherit}
.tel-err{display:block;color:var(--bad);font-size:12.5px;margin-top:4px}
input[aria-invalid=true]{border-color:var(--bad)}
/* 2.14.5 Check labels */
button.pill.chk{cursor:pointer;font-family:var(--ui);margin-left:2px}
.chklabels{margin:4px 0 10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chklabels a.pill{text-decoration:none}
.checklist li.soft{opacity:.85}
.checklist .issues b{font-weight:600;color:var(--warn);margin-right:4px}
.nameissues .issues{margin:4px 0 8px 18px;padding:0}.nameissues .issues b{margin-right:4px}
a.pill.chkmain{text-decoration:none;font-weight:700}
/* 2.15 WhatsApp Status, downloads */
.btn.wa-status{background:#25d366;border-color:#25d366;color:#08361c;font-weight:700}
.btn.wa-status.big{padding:12px 22px;font-size:16px}
.statusbox{max-width:880px;margin:16px auto 20px}
.statusbox h2{display:flex;align-items:center;gap:8px}
.wa-logo{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#25d366;color:#fff;font-size:15px}
.flashme{animation:flashme 1.6s ease-out 1}
@keyframes flashme{0%{box-shadow:0 0 0 4px rgba(168,132,46,.6)}100%{box-shadow:0 0 0 0 rgba(168,132,46,0)}}
.dlnote b{color:var(--ink)}
.statusbox textarea{width:100%;margin:4px 0 10px;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.statusbox .postbtns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
/* 2.15.2 Verify page: animated tick, share tiles, course offer */
.vmark .tick{width:34px;height:34px;overflow:visible}
.vmark .tick path{fill:none;stroke:#fff;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:tickdraw .55s cubic-bezier(.65,0,.35,1) .35s forwards}
.vmark.ok{animation:tickpop .5s cubic-bezier(.34,1.56,.64,1) both;box-shadow:0 0 0 0 rgba(31,122,77,.45)}
.vmark.ok::after{content:"";position:absolute}
.verify-result .vmark.ok{position:relative;animation:tickpop .5s cubic-bezier(.34,1.56,.64,1) both, tickring 1.6s ease-out .9s 1}
@keyframes tickdraw{to{stroke-dashoffset:0}}
@keyframes tickpop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes tickring{0%{box-shadow:0 0 0 0 rgba(31,122,77,.45)}100%{box-shadow:0 0 0 16px rgba(31,122,77,0)}}
.li2.li3{grid-template-columns:repeat(3,1fr)}
@media (max-width:720px){.li2.li3{grid-template-columns:1fr}}
.libtn.watile{border-color:#25d366;color:#0b5c33}
.libtn.watile b{color:#0b5c33}
.libtn.watile:hover,.libtn.watile[aria-expanded=true]{background:#effcf4}
.wapanel .wamsg{background:#f6f8f6;border:1px solid #e1e8e3;border-radius:8px;padding:8px 12px;margin:6px 0 12px}
.wapanel .postbtns{display:flex;gap:10px;flex-wrap:wrap}
.waqr{display:flex;gap:16px;align-items:center;margin-top:14px;padding:12px;border:1px dashed #b9d9c6;border-radius:10px;background:#fbfffc}
.waqr-img{flex:none;width:148px;height:148px;background:#fff}
.waqr-img svg{width:100%;height:100%;display:block}
.waqr p{margin:4px 0 0}
@media (max-width:520px){.waqr{flex-direction:column;align-items:flex-start}}
.promo-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 10px;border-radius:999px;font:700 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;
  color:#fff;background:linear-gradient(110deg,#a8842e 0%,#d8b45a 45%,#fff3c4 50%,#d8b45a 55%,#a8842e 100%);background-size:250% 100%;animation:promoshine 3.2s linear infinite}
.promo-badge i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.8);animation:promodot 1.6s ease-out infinite}
@keyframes promoshine{0%{background-position:100% 0}100%{background-position:-150% 0}}
@keyframes promodot{0%{box-shadow:0 0 0 0 rgba(255,255,255,.85)}100%{box-shadow:0 0 0 9px rgba(255,255,255,0)}}
.promo{animation:promoin .6s ease-out .4s both}
@keyframes promoin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.promo>summary{cursor:default}
@media (prefers-reduced-motion:reduce){.vmark .tick path{animation:none;stroke-dashoffset:0}.vmark.ok,.verify-result .vmark.ok,.promo,.promo-badge,.promo-badge i{animation:none}}
.promo-head h2{margin:8px 0 6px}
/* 2.15.3 Brand icons, green WhatsApp tile */
.libtn b{display:inline-flex;align-items:center;gap:8px}
.libtn .ico{width:20px;height:20px;flex:none}
.libtn.watile,.libtn.watile:hover{background:#25d366;border-color:#25d366;color:#fff}
.libtn.watile b,.libtn.watile span{color:#fff}
.libtn.watile:hover{background:#1ebe5b;border-color:#1ebe5b}
.brandico{display:inline-grid;place-items:center;width:28px;height:28px;vertical-align:middle;margin-right:4px;color:#0a66c2}
.brandico .ico{width:24px;height:24px}
.ownerbox h2 .ico{width:24px;height:24px;color:#0a66c2;vertical-align:-5px}
/* 2.15.4 Share box heading, help links */
.ownerbox h2.sharehead{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.sharesub{margin:0 0 4px;color:var(--muted)}
details.manual>summary{color:#b5473a}
details.manual>summary:hover{color:#8f2f24}
details.manual.flashme>summary{animation:none}
.wahelp p{margin:6px 0}
