/* ic38pass.com — made by tools/build-assets.js from tools/css/*.css. Do not edit this file; edit the parts. */
/* ── css/00-base.css ── */
/* ic38pass.com — skeleton styles (Design will replace the look; keep class names). */
:root{--ink:#14213d;--muted:#5b6475;--line:#e3e7ef;--bg:#f6f7fb;--card:#fff;--brand:#16325c;--accent:#e8702a;--ok:#1f8a4c;--warn:#b8860b;--bad:#c0392b;--info:#2563eb;--radius:12px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:1rem/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}h1{font-size:1.5rem;margin:.6em 0 .4em}h2{font-size:1.15rem;margin:1.2em 0 .5em}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--brand);color:#fff}
.top a{color:#fff}.logo{font-weight:800;font-size:1.2rem;text-decoration:none;letter-spacing:.2px}.logo span{color:var(--accent)}.logo small{font-weight:400;opacity:.8}
.who{display:flex;gap:12px;flex-wrap:wrap;font-size:.9rem;opacity:.95}.who .left{background:rgba(255,255,255,.15);padding:2px 10px;border-radius:99px}
.tabs{display:flex;gap:4px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--line);padding:0 8px}
.tabs a{padding:12px 12px;white-space:nowrap;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent}
.tabs a.on,.tabs a:hover{color:var(--ink);border-color:var(--accent)}.tabs .out{margin-left:auto}
.wrap{max-width:860px;margin:0 auto;padding:16px}.wrap.wide{max-width:1280px}.wrap.narrow,.narrow{max-width:480px;margin-left:auto;margin-right:auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:12px 0}
.center{text-align:center}.center .form{text-align:left}
.install{display:flex;gap:14px;align-items:flex-start;border-color:var(--accent)}.install img{border-radius:12px;flex:none}.install p{margin:4px 0 10px}.install[hidden]{display:none}
.muted{color:var(--muted)}.small,small{font-size:.85rem}.mono{font-family:ui-monospace,Consolas,monospace;font-size:1.05rem}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;min-height:44px}
.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.wide{width:100%}.btn[aria-disabled=true]{opacity:.4;pointer-events:none}
.mini{display:inline-block;font:inherit;font-size:.82rem;padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;margin:2px}
.mini.wa{background:#25d366;color:#fff;border-color:#25d366}.mini.ghost{color:var(--muted)}
.form{display:grid;gap:12px}.form label{display:grid;gap:4px;font-weight:600;font-size:.92rem}
.form input,.form select,.form textarea{font:inherit;font-weight:400;padding:10px;border:1px solid #cfd5e1;border-radius:8px;width:100%;min-height:44px;background:#fff}
.form .check,.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{width:auto;min-height:0}
.form.row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}
.grid2form{grid-template-columns:1fr 1fr}.grid2form .span2,.grid2form .btn{grid-column:1/-1}
fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 12px}legend{font-weight:600;font-size:.92rem;padding:0 4px}
.alert{background:#fdecea;color:#7a1f16;border-radius:10px;padding:10px 12px;margin:10px 0}.alert.info{background:#e8f0fe;color:#1e3a8a}.alert.warn{background:#fff6e0;color:#6b4e00}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.tile{display:block;text-decoration:none;color:inherit}.tile h2{margin-top:0}
.bar{height:8px;background:#eef1f6;border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;background:var(--ok)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.steps li{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:.92rem}.steps li.done{background:#ecf8f0;border-color:#bfe5cd}.steps li.now{background:#fff6e0;border-color:#f0d48a;font-weight:600}
.ticks{padding-left:1.2em}.ticks li{margin:4px 0}
.reader .rbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0}
.pagejump input{width:70px;padding:6px;border:1px solid #cfd5e1;border-radius:8px;font:inherit}
.pageimg{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:auto;-webkit-user-select:none;user-select:none}
.pageimg img{display:block;width:100%;height:auto;pointer-events:none;-webkit-touch-callout:none}
.vlist{list-style:none;padding:0;margin:8px 0 0}.vlist a{display:flex;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--line);text-decoration:none;color:inherit}
.vlist .tick{width:24px;text-align:center;color:var(--ok)}.chapter summary{cursor:pointer;display:flex;justify-content:space-between}
.player{position:relative;background:#000;border-radius:10px;overflow:hidden}.player video{display:block;width:100%;aspect-ratio:16/9}
.vwm{position:absolute;left:0;right:0;top:40%;text-align:center;color:rgba(255,255,255,.28);font-size:.9rem;pointer-events:none;transform:rotate(-12deg)}
.clist{list-style:none;padding:0;margin:0;max-height:60vh;overflow:auto}.clist button{width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:10px 4px;font:inherit;cursor:pointer;display:flex;justify-content:space-between;gap:8px}
.cdetail .addr{white-space:pre-line}.near{background:#fff6e0;font-size:.75rem;padding:1px 6px;border-radius:6px;margin-left:6px}
.stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.stars legend{width:100%}
.stars,.nps{position:relative}.stars input,.nps input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;margin:0;clip:rect(0 0 0 0);overflow:hidden}.stars label{font-size:1.8rem;color:#d3d8e2;cursor:pointer}.stars input:checked~label,.stars label:hover,.stars label:hover~label{color:#f5a623}
.nps{display:flex;flex-wrap:wrap;gap:4px}fieldset{position:relative;min-width:0}.nps label{min-width:36px;text-align:center;padding:6px 0;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-weight:400}.nps input:checked+label{background:var(--brand);color:#fff}
.tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:10px}
.t{border-collapse:collapse;width:100%;font-size:.9rem}.t th,.t td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.t th{background:#f0f3f8;font-weight:600;white-space:nowrap}.t td.msg{max-width:360px;white-space:normal}.t .actions{white-space:nowrap}
.row-error{background:#fdecea}.row-warn{background:#fff6e0}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}
.chip{display:inline-block;font-size:.78rem;padding:2px 8px;border-radius:99px;background:#eef1f6;white-space:nowrap}
.chip.ok{background:#e3f5ea;color:#145c33}.chip.info{background:#e8f0fe;color:#1e3a8a}.chip.warn{background:#fff3d6;color:#6b4e00}.chip.bad{background:#fde3e0;color:#7a1f16}
.tag{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:6px;background:#eef1f6;margin-left:6px;vertical-align:middle}
.tag.trial{background:#e8f0fe;color:#1e3a8a}.tag.missing{background:#ffe8d6;color:#8a4500}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.tilebox{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.tilebox b{display:block;font-size:1.4rem}.tilebox span{color:var(--muted);font-size:.85rem}
.funnel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:6px}
.fstep{position:relative;display:flex;justify-content:space-between;padding:6px 10px;border-radius:6px;overflow:hidden}
.fbar{position:absolute;inset:0 auto 0 0;background:#dbe6f7;z-index:0}.fstep>*:not(.fbar){position:relative;z-index:1}
.headrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.filters input{padding:6px;border:1px solid #cfd5e1;border-radius:8px;font:inherit}
.copy{width:min(420px,100%);font-size:.8rem;padding:4px 6px;border:1px solid var(--line);border-radius:6px}
.tiny{width:60px;padding:3px;font-size:.8rem}.tiny2{width:110px;padding:4px}.inline{display:inline}
.warnbox{background:#fff6e0}.qrsvg svg{width:260px;height:260px}
.foot{text-align:center;color:var(--muted);font-size:.8rem;padding:24px 16px}
@media (max-width:640px){.grid2form{grid-template-columns:1fr}h1{font-size:1.3rem}.t{font-size:.82rem}}
@media print{.top,.tabs,.btn,.mini,form,.foot{display:none!important}body{background:#fff}.card{border:0}}

/* ── css/10-student.css ── */
/* Student screens — redesign 16-Oct-2026 (Design: IC38Pass App Prototype). Everything here is scoped to body.cand so the
   admin, trainer and report pages keep their look. Colours from Design's QA: text-bearing orange #B9561C (4.8:1 on white),
   green #1B7D45 (5.2:1); brand orange #E8702A / green #1F8A4C only for bars and dots. Tap targets 44 px. */
.cand{--navy:#16325c;--navy2:#0e1f3a;--ink:#16325c;--muted:#5b6b86;--line:#e2e6ef;--line2:#cdd4e1;--bg:#f4f6fa;--card:#fff;
  --orange:#e8702a;--orange-t:#b9561c;--peach:#fff4ec;--peach2:#fff0e6;--green:#1b7d45;--green-bg:#e6f3ec;--red:#a3301f;--red-bg:#fcf1ef;
  --brand:#16325c;--accent:#e8702a;--ok:#1b7d45;--radius:16px;background:var(--bg);color:var(--ink)}
html[lang=hi] body.cand{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari","Noto Sans",sans-serif}
html[lang=te] body.cand{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Telugu","Noto Sans",sans-serif}
html[lang=hi] body.cand,html[lang=te] body.cand{line-height:1.6}
.cand a{color:var(--navy);text-underline-offset:3px}
.cand h1{font-size:1.6rem;font-weight:800;line-height:1.25;margin:.5em 0 .4em;color:var(--navy)}
.cand h2{font-size:1.15rem;font-weight:800;color:var(--navy)}
.cand .muted{color:var(--muted)}
.cand :focus-visible{outline:3px solid var(--orange);outline-offset:2px}

/* header */
.cand .top{display:block;background:var(--navy);color:#fff;padding:10px 16px 12px}
.cand .toprow{display:flex;align-items:center;justify-content:space-between;gap:8px 10px;flex-wrap:wrap;max-width:960px;margin:0 auto}
.cand .logo{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:1.05rem;text-decoration:none;min-height:44px}
.cand .logo img{border-radius:8px;flex:none}
.cand .topr{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin-left:auto}
.cand .langs{display:inline-flex;background:rgba(255,255,255,.1);border-radius:999px;padding:3px;gap:2px}
.cand .langs .lg{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 12px;border-radius:999px;color:#fff;text-decoration:none;font-weight:700;font-size:.85rem}
.cand .langs.short .lg{min-width:44px;padding:0 8px}
.cand .langs .lg.on{background:#fff;color:var(--navy)}
.cand .signout{color:#c9d3e6;font-weight:700;font-size:.9rem;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 4px}
.cand .signout:hover{color:#fff}
.cand .chiprow{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;max-width:960px;margin:8px auto 0;font-size:.85rem}
.cand .timechip{background:rgba(255,255,255,.12);border-radius:999px;padding:4px 12px;font-weight:700}
.cand .provided{color:#c9d3e6}
.cand .pbar{max-width:960px;margin:6px auto 0}
.cand .pbar-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.cand .pbar .back{color:#fff;font-weight:800;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.cand .pbar .pright{color:#c9d3e6;font-weight:700;font-size:.85rem}
.cand .pbar .kicker{color:#f6b98f;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.cand .pbar h1{color:#fff;margin:.15em 0 0;font-size:1.45rem}

/* tab bar: bottom on phones, under the header on wide screens */
.cand .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.cand .tabbar .tb{flex:1 1 0;min-width:0;min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 2px;font-size:.78rem;font-weight:600;color:var(--muted);text-decoration:none;border-top:3px solid transparent;line-height:1.2;overflow-wrap:anywhere}
.cand .tabbar .tb.on{color:var(--navy);font-weight:800;border-top-color:var(--orange)}
.cand.in{padding-bottom:72px}
@media (min-width:900px){
  .cand .tabbar{position:sticky;top:0;bottom:auto;justify-content:center;gap:4px;border-top:0;border-bottom:1px solid var(--line);padding:0 16px}
  .cand .tabbar .tb{flex:0 1 auto;min-width:110px;padding:6px 16px;font-size:.92rem;border-top:0;border-bottom:3px solid transparent}
  .cand .tabbar .tb.on{border-bottom-color:var(--orange)}
  .cand.in{padding-bottom:0}
}

/* page body */
.cand .wrap{max-width:960px;padding:16px}
.cand .card{background:var(--card);border:0;border-radius:var(--radius);padding:18px;margin:12px 0;box-shadow:0 1px 3px rgba(22,50,92,.06)}
.cand .btn{background:var(--navy);color:#fff;border:0;border-radius:12px;min-height:48px;padding:12px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;text-align:center;line-height:1.25}
.cand .btn.wide{display:flex;width:100%}
.cand .btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.cand .btn.orange{background:var(--orange-t);color:#fff}
.cand .btn.green{background:var(--green);color:#fff}
.cand .btn[disabled],.cand .btn.off{background:#9aa6bc;color:#fff;border-color:#9aa6bc;cursor:default}
.cand .form{gap:14px}
.cand .form label{font-weight:700;font-size:.92rem;gap:6px}
.cand .form input,.cand .form select,.cand .form textarea{border:1.5px solid var(--line2);border-radius:12px;min-height:52px;padding:10px 14px;font-size:1rem}
.cand .form input:focus,.cand .form select:focus,.cand .form textarea:focus{border-color:var(--navy);outline:0;box-shadow:0 0 0 3px rgba(22,50,92,.12)}
.cand .alert{border-radius:12px}
.cand .bar{height:8px;background:#e7eaf1}.cand .bar span{background:var(--orange)}
.cand .chip{background:#eef1f7;color:var(--navy);font-weight:700}
.cand .chip.ok{background:var(--green-bg);color:#17683a}
.cand .chip.top{background:var(--orange-t);color:#fff;font-size:.68rem;letter-spacing:.04em;padding:1px 6px;border-radius:5px}
.cand .note{background:var(--peach2);border-radius:12px;padding:10px 12px;color:#5a3a22}
.cand .foot{color:var(--muted)}

/* list rows (guide chapters, videos, practice) */
.cand .rows{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.cand .row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--navy);min-height:60px;border:1.5px solid transparent}
.cand .row.now{border-color:var(--orange)}
.cand .row .num{flex:none;width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;background:#eef1f7;color:var(--navy)}
.cand .row .num.done{background:var(--navy);color:#fff}.cand .row.now .num{background:var(--orange);color:#fff}
.cand .row .rt{flex:1;min-width:0}.cand .row .rt b{display:block;line-height:1.3;overflow-wrap:anywhere}.cand .row .rt small{color:var(--muted)}
.cand .row .st{flex:none;font-size:.75rem;font-weight:800;padding:3px 8px;border-radius:7px;background:#f1f3f7;color:var(--muted)}
.cand .row .st.done{background:var(--green-bg);color:#17683a}
.cand .row .go{flex:none;color:var(--muted);font-size:1.2rem}

/* text size A− / A / A+ */
.cand .sizes{display:inline-flex;background:#eef1f7;border-radius:12px;padding:3px;gap:2px}
.cand .sizes .sz{min-width:44px;min-height:44px;border:0;background:transparent;border-radius:9px;font:inherit;font-weight:800;color:var(--navy);cursor:pointer}
.cand .sizes .sz:nth-child(1){font-size:.8rem}.cand .sizes .sz:nth-child(3){font-size:1.15rem}
.cand .sizes .sz.on{background:#fff;box-shadow:0 1px 2px rgba(22,50,92,.15)}

/* sign-in (S1) */
.cand.signin .top{padding-bottom:64px}
.cand.signin .wrap{margin-top:-52px;position:relative;z-index:1}
.cand .top .hero h1{color:#fff;font-size:1.65rem;margin:.6em 0 .25em}
.cand .top .hero p{color:#c9d3e6;margin:0}
.cand.signin .card{box-shadow:0 8px 24px rgba(22,50,92,.10);border-radius:20px}

/* copy protection on the guide text (lib/i18n + guide screens) */
.cand .nocopy{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media print{.cand .tabbar,.cand .langs,.cand .signout,.cand .sizes{display:none!important}.cand.in{padding-bottom:0}}

/* ── css/30-study.css ── */
/* Study screens (lib/study.php): guide list + chapter text (Read / Test myself), Revisit, Practice, study path, My course S3.
   Design prototype: en-home, en-guide, en-reader, en-revisit, en-practice, en-path. Scoped to .cand like 10-student.css. */
.cand .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cand .small{font-size:.88rem}

/* path chip + Switch (My course, page bar of the guide) */
.cand .pathchip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:2px 2px 2px 12px;font-weight:800;font-size:.85rem;color:var(--navy);white-space:nowrap}
.cand .pathchip .sw{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;background:var(--peach2);color:var(--orange-t);text-decoration:none;font-weight:800}
.cand .pathchip.navy{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
.cand .pathchip.navy .sw{background:#fff;color:var(--orange-t)}
.cand .pbar .pright{display:inline-flex;align-items:center}

/* switch confirm: a sheet that opens on #switch (no JavaScript needed) */
.cand .sheet{display:none;position:fixed;inset:0;z-index:60;align-items:flex-end;justify-content:center}
.cand .sheet:target{display:flex}
.cand .sheet-bg{position:absolute;inset:0;background:rgba(14,31,58,.55)}
.cand .sheet-box{position:relative;background:#fff;border-radius:20px 20px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));width:100%;max-width:520px;box-shadow:0 -8px 24px rgba(0,0,0,.15)}
.cand .sheet-box h2{margin:0 0 4px}
.cand .sheet-box .pathto{margin:0 0 10px;font-weight:800;color:var(--orange-t)}
.cand .note.ok{background:var(--green-bg);color:#17683a}
.cand .sheet-btns{display:flex;gap:10px;margin-top:14px}.cand .sheet-btns .btn{flex:1 1 0}
@media (min-width:600px){.cand .sheet{align-items:center}.cand .sheet-box{border-radius:20px}}

/* My course S3 */
.cand .hello-row{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}
.cand .hello-row h1{margin:.3em 0;min-width:0;overflow-wrap:anywhere}
.cand .langrow{margin:2px 0 4px}.cand .langrow .langs{background:#e9edf4}.cand .langrow .langs .lg{color:var(--navy)}.cand .langrow .langs .lg.on{background:var(--navy);color:#fff}.cand .langrow .langs .lg{min-height:44px}
.cand .journey .steps a{display:inline-flex;align-items:center;min-height:44px}
.cand .card.cont{display:flex;align-items:center;gap:12px;background:var(--navy);color:#fff;text-decoration:none}
.cand .card.cont .ct{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cand .card.cont .kick{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#f6b98f}
.cand .card.cont b{font-size:1.1rem;line-height:1.3;overflow-wrap:anywhere}
.cand .card.cont small{color:#c9d3e6}
.cand .card.cont .play{flex:none;width:48px;height:48px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;font-size:1.1rem;padding-left:3px}
.cand .today-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.cand .today-h h2{margin:0}
.cand .dayof{font-weight:800;font-size:.85rem;color:var(--muted)}
.cand .plan{list-style:none;margin:8px 0 0;padding:0}
.cand .plan li+li{border-top:1px solid var(--line)}
.cand .pl{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 0;text-decoration:none;color:var(--navy)}
.cand .pl .tick{flex:none;width:26px;height:26px;border:2px solid var(--line2);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.9rem}
.cand .pl.done .tick{background:var(--green);border-color:var(--green)}
.cand .pl.done b{color:var(--muted)}
.cand .pl .rt{flex:1;min-width:0}.cand .pl .rt b{display:block;line-height:1.3;overflow-wrap:anywhere}.cand .pl .rt small{color:var(--muted)}
.cand .pl .go,.cand .rvcard .go{flex:none;color:var(--muted);font-size:1.2rem}
.cand .rvcard{display:flex;align-items:center;gap:12px;background:var(--peach);border:1.5px solid #f4cfb3;text-decoration:none;color:var(--navy)}
.cand .rvcard .rvn,.cand .row .num.rvn{flex:none;width:44px;height:44px;border-radius:10px;background:var(--orange-t);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}
.cand .rvcard .rt{flex:1;min-width:0}.cand .rvcard .rt b{display:block}.cand .rvcard .rt small{color:#5a3a22}

/* guide list */
.cand .gl-head{display:flex;align-items:center;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;margin:0 0 8px}
.cand .gl-head p{margin:0;flex:1 1 220px}
.cand .orig{display:inline-flex;align-items:center;min-height:44px;font-weight:800;color:var(--orange-t)}
.cand .rows.gl .row{min-width:0}

/* chapter text: Read / Test myself */
.cand .gtools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.cand .modes{display:inline-flex;background:#eef1f7;border-radius:12px;padding:3px;gap:2px;flex:1 1 auto;max-width:360px}
.cand .modes .md{flex:1 1 0;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 8px;border-radius:9px;font-weight:800;color:var(--navy);text-decoration:none;text-align:center;line-height:1.2}
.cand .modes .md.on{background:#fff;box-shadow:0 1px 2px rgba(22,50,92,.15)}
.cand .gtext{position:relative;display:grid;gap:10px}
.cand .gtext .wmk{position:absolute;inset:0;z-index:3;pointer-events:none;background-repeat:repeat;background-size:640px 300px}
/* QA 16-Oct: the night-before "Last look" and the mock exam / result carry guide text too → same watermark + copy block + no print */
.cand .nb-last,.cand .mqs,.cand .mreview{position:relative}
.cand .nb-last>.wmk,.cand .mqs>.wmk,.cand .mreview>.wmk{position:absolute;inset:0;z-index:3;pointer-events:none;background-repeat:repeat;background-size:640px 300px}
.cand .qa{background:#fff;border-radius:14px;padding:14px;border:1.5px solid transparent;box-shadow:0 1px 3px rgba(22,50,92,.06);scroll-margin-top:90px}
.cand .qa .qh{display:flex;gap:10px;align-items:flex-start}
.cand .qa .qn{flex:none;width:34px;font-weight:800;font-size:.8rem;color:var(--muted);display:flex;flex-direction:column;gap:3px;padding-top:3px}
.cand .qa .qn .chip.top{align-self:flex-start}
.cand .qq{margin:0;flex:1;min-width:0;line-height:1.45;overflow-wrap:anywhere}
.cand .qa-a{margin:8px 0 0 44px;line-height:1.45;overflow-wrap:anywhere}
.cand .qa-a .arr{color:var(--orange);font-weight:800}
.cand .qa .tap{display:block;width:100%;min-height:48px;margin:10px 0 0;border:1.5px dashed var(--line2);border-radius:12px;background:#f7f8fb;color:var(--navy);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;padding:8px 12px}
.cand .qa .tap[hidden],.cand .qa .ans[hidden],.cand .qa .mk[hidden],.cand .qa .qtag[hidden]{display:none}
.cand .qa .mk{display:flex;gap:8px;margin:10px 0 0 44px}.cand .qa .mk .btn{flex:1 1 0;min-height:44px;padding:8px 10px}
.cand .qa .qtag{margin:6px 0 0 44px;font-weight:800;font-size:.85rem}
.cand .qa.st-knew{border-color:#9fd2b4}.cand .qa.st-knew .qtag{color:var(--green)}
.cand .qa.st-again{border-color:#f0b48a}.cand .qa.st-again .qtag{color:var(--orange-t)}
.cand .qa.hl,.cand .qa:target{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,112,42,.18)}
.cand .gnote{margin:10px 0 0}
.cand .chnav{display:flex;justify-content:space-between;gap:10px;margin:14px 0 4px}.cand .chnav .btn{flex:0 1 auto;min-width:120px}
@media (max-width:420px){.cand .qa-a,.cand .qa .mk,.cand .qa .qtag{margin-left:0}.cand .qa .mk{flex-wrap:wrap}}
@media print{.cand .gtext,.cand .rvlist,.cand .gtools,.cand .chnav,.cand .nb-last,.cand .mqs,.cand .mreview{display:none!important}}

/* Revisit */
.cand .rvlist{gap:0}
.cand .rv{margin:0 0 10px}
.cand .rvh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.cand .rvh b{color:var(--navy)}
.cand .src{font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:6px;background:var(--peach2);color:var(--orange-t)}
.cand .src.quiz{background:#eef1f7;color:var(--navy)}
.cand .rv .qq{margin:8px 0 0}
.cand .rv .qa-a{margin:6px 0 0}
.cand .rvb{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.cand .rvb form{flex:1 1 140px;display:flex}.cand .rvb .btn{flex:1 1 140px;min-height:48px}
.cand .card.empty{text-align:center}

/* Practice */
.cand .row .num.ic{background:var(--navy);color:#fff;font-size:1rem}

/* Study path (Step 2 of 2) */
.cand.pathpick .tabbar{display:none}.cand.pathpick.in{padding-bottom:0}
.cand .path-sub{color:var(--muted);margin:0 0 10px}
.cand .pathform{display:grid;gap:12px}
.cand .pcard{position:relative;display:grid;gap:10px;background:#fff;border:1.5px solid var(--line2);border-radius:var(--radius);padding:16px;cursor:pointer}
.cand .pcard input{position:absolute;opacity:0;width:1px;height:1px}
.cand .pcard.on,.cand .pcard:has(input:checked){border:2px solid var(--navy)}
.cand .pcard:focus-within{outline:3px solid var(--orange);outline-offset:2px}
.cand .pc-head{display:flex;align-items:flex-start;gap:12px}
.cand .pc-head .radio{flex:none;width:24px;height:24px;border:2px solid var(--navy);border-radius:50%;margin-top:2px;box-shadow:inset 0 0 0 4px #fff}
.cand .pcard.on .radio,.cand .pcard:has(input:checked) .radio{background:var(--navy)}
.cand .pc-t{flex:1;min-width:0;display:flex;flex-direction:column}.cand .pc-t b{font-size:1.1rem}.cand .pc-t small{color:var(--muted);font-weight:700}
.cand .rec{flex:none;background:var(--peach2);color:var(--orange-t);font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:7px}
.cand .pc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cand .pc-stats span{background:#f4f6fa;border-radius:10px;padding:8px 4px;text-align:center;display:flex;flex-direction:column}
.cand .pc-stats b{font-size:1.15rem}.cand .pc-stats small{color:var(--muted);font-size:.75rem}
.cand .pc-d{color:var(--muted);font-size:.92rem}

/* ── css/40-centres.css ── */
/* Exam tools (S7) · Hall ticket (S8) · Exam centres v2 (S9) — redesign 16-Oct-2026 (Design: IC38Pass App Prototype "tools",
   Exam Centres v2). Scoped to body.cand; uses the tokens in 10-student.css. Tap targets ≥ 44 px; no sideways scroll at 360. */
.cand .et h2,.cand .ht h2,.cand .ct h2{margin:0 0 10px}
.cand .et .card,.cand .ht.card,.cand .ct.card{border:1px solid var(--line)}
.cand .et-toast{background:var(--green);color:#fff;border-radius:12px;padding:12px 14px;font-weight:800;margin:12px 0}
.cand .et-closed{background:var(--red-bg);border:1.5px solid #e7b4ad;border-radius:14px;padding:14px 16px;margin:12px 0}
.cand .et-closed h2{color:var(--red);font-size:1.05rem;margin:0 0 6px}
.cand .et-closed p{color:#5a2a22;margin:0 0 10px;line-height:1.5;overflow-wrap:anywhere}
.cand .btn.red{background:var(--red);color:#fff}
.cand .btn.wa{background:#fff;color:var(--green);border:1.5px solid var(--green)}
.cand .et-cname{font-weight:900;font-size:1.05rem;margin:0 0 4px;overflow-wrap:anywhere}
.cand .et-caddr{margin:0 0 4px;line-height:1.5;overflow-wrap:anywhere}
.cand .et-acts{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px}
.cand .et-acts .btn{flex:1 1 150px}
.cand .et-centre .small a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.cand .et-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.cand .et-tile{display:flex;flex-direction:column;gap:8px;margin:0;text-decoration:none;color:inherit;min-width:0}
.cand .et-tile h2{margin:0;font-size:1.05rem;overflow-wrap:anywhere}
.cand .et-tile p{margin:0;flex:1}
.cand .et-tile .btn{width:100%}
.cand .et-seg{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.cand .et-seg legend{font-weight:700;font-size:.92rem;padding:0;margin-bottom:6px;grid-column:1/-1}
.cand .form .et-seg label{position:relative;display:block;font-weight:800;margin:0}
.cand .et-seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.cand .et-seg span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:6px 4px;border:1.5px solid var(--line2);border-radius:12px;background:#fff;color:var(--navy);line-height:1.2;overflow-wrap:anywhere;cursor:pointer;font-size:.9rem}
.cand .et-seg input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.cand .et-seg input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.cand .et .note{margin:0 0 12px}
@media (max-width:359px){.cand .et-tiles{grid-template-columns:1fr}}

/* S8 hall ticket */
.cand .ht-date{font-weight:800;font-size:1.05rem}
.cand .ht-steps{padding-left:1.3em;margin:0 0 14px;line-height:1.55}.cand .ht-steps li{margin:6px 0}
.cand .ht-carry{list-style:none;padding:0;margin:0}
.cand .ht-carry li{position:relative;padding:8px 0 8px 30px;border-top:1px solid var(--line)}
.cand .ht-carry li:first-child{border-top:0}
.cand .ht-carry li::before{content:"✓";position:absolute;left:4px;top:8px;color:var(--green);font-weight:900}
.cand .ht-carry a{display:inline-block;min-height:28px}

/* S9 exam centres v2 */
.cand .ct-intro{margin:4px 0 0}
.cand .ct-find{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media (min-width:700px){.cand .ct-find{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.cand .ct-f{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.92rem;min-width:0}
.cand .ct-f input,.cand .ct-f select{font:inherit;font-weight:400;font-size:1rem;min-height:52px;border:1.5px solid var(--line2);border-radius:12px;padding:10px 12px;width:100%;min-width:0;background:#fff;color:var(--ink)}
.cand .ct-f input:focus,.cand .ct-f select:focus{border-color:var(--navy);outline:0;box-shadow:0 0 0 3px rgba(22,50,92,.12)}
.cand .ct-updated{font-size:.78rem;color:var(--muted);margin:10px 0 0;line-height:1.45}
.cand .ct-count{font-weight:700;margin:10px 0 0}
.cand .ct-count.bad{color:var(--red)}
.cand .ct-basis{font-size:.78rem;color:var(--muted);margin:4px 0 0}
.cand .ct-list{list-style:none;padding:0;margin:10px 0 0}
.cand .ct-list li{border-top:1px solid var(--line)}
.cand .ct-list li.mine{background:#f3faf6}
.cand .ct-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 6px;background:none;border:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.cand .ct-rt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.cand .ct-name{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.cand .ct-name b{overflow-wrap:anywhere}
.cand .ct-rt small{color:var(--muted);overflow-wrap:anywhere}
.cand .ct-list .go{flex:none;color:var(--navy);font-size:1.2rem}
.cand .ct-tag{font-size:.75rem;font-weight:800;padding:2px 8px;border-radius:99px;white-space:nowrap}
.cand .ct-tag.mine{background:var(--green-bg);color:#17683a}
.cand .ct-tag.near{background:#fff0e0;color:#8f3f12}
.cand .ct-morep{text-align:center;margin:12px 0 0}
.cand .ct-morep .btn[hidden]{display:none}
.cand .ct-detail h2{font-size:1.3rem;font-weight:900;overflow-wrap:anywhere}
.cand .ct-addr{line-height:1.55;overflow-wrap:anywhere;margin:0 0 6px}
.cand .ct-back{background:none;border:0;font:inherit;font-weight:700;color:var(--navy);text-decoration:underline;cursor:pointer;min-height:44px;padding:0}
.cand .ct-tablet{background:#eef3fb;border-radius:12px;padding:12px;margin:10px 0}
.cand .ct-tablet p{margin:4px 0 0;line-height:1.5}
.cand .ct-yours{min-height:48px;border-radius:12px;background:var(--green-bg);color:#17683a;font-weight:800;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 12px}
.cand .ct-save{width:100%;background:#fff;color:var(--orange-t);border:2px solid var(--orange-t)}

/* ── css/60-screens.css ── */
/* Screens part (redesign 16-Oct): S1 sign-in, S2 first sign-in, S5 videos, S6 player + quick check, S10 certificate
   (pending + buttons), S12 feedback + thanks, S13 ended / privacy / message pages, and the original-page reader.
   Scoped to body.cand. Tap targets 44 px; text orange #B9561C (--orange-t), green #1B7D45 (--green). */

/* ── S1 sign-in: the full language switch sits in the hero; the short one in the top row is not needed here ── */
.cand.signin .topr .langs.short{display:none}
.cand.signin .hero .langs{display:flex;width:max-content;max-width:100%;margin:6px 0 0 auto;flex-wrap:wrap}
.cand.signin .hero .langs .lg{min-height:44px}
@media (min-width:430px){
  .cand.signin .top{position:relative}
  .cand.signin .hero .langs{position:absolute;top:11px;right:calc(16px + max(0px, (100% - 32px - 960px) / 2));margin:0}
}
.cand.signin .hero{max-width:960px;margin:0 auto}
.cand .signcard{max-width:480px}
.cand .signcard .form{margin:0}
.cand .signnote{margin:14px auto 0;padding:0 4px;line-height:1.5}

/* ── S2 first sign-in ── */
.cand.accepting .hero{max-width:960px;margin:0 auto}
.cand .hero .stepk{color:#f6b98f;font-weight:800;font-size:.8rem;margin-top:8px}
.cand .hero .tleft{font-size:.85rem;margin-top:4px}
.cand .acceptpage{max-width:520px;margin:0 auto}
.cand .dots{list-style:none;padding:6px 18px}
.cand .dots li{position:relative;padding:12px 0 12px 22px;border-top:1px solid var(--line);line-height:1.45}
.cand .dots li:first-child{border-top:0}
.cand .dots li::before{content:"";position:absolute;left:2px;top:1.15em;width:9px;height:9px;border-radius:50%;background:var(--orange)}
.cand .promise{display:flex!important;align-items:flex-start;gap:12px;background:#fff;border:2px solid var(--navy);border-radius:16px;padding:14px 16px;font-weight:800;font-size:1rem;cursor:pointer;min-height:56px}
.cand .promise input{flex:none;width:26px;height:26px;min-height:0;margin:2px 0 0;accent-color:var(--navy);cursor:pointer}
.cand .promise span{min-width:0;overflow-wrap:anywhere}
.cand .acceptform{gap:16px;margin-top:4px}

/* ── S5 video list ── */
.cand .vchap{padding:0;overflow:hidden}
.cand .vchap summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;min-height:52px;cursor:pointer;color:var(--navy)}
.cand .vchap summary::-webkit-details-marker{display:none}
.cand .vchap summary::after{content:"▾";flex:none;color:var(--muted);font-size:.8rem;transition:transform .15s}
.cand .vchap[open] summary::after{transform:rotate(180deg)}
.cand .vchap summary b{min-width:0;overflow-wrap:anywhere}
.cand .vcount{margin-left:auto;font-size:.8rem;font-weight:800;color:var(--muted);white-space:nowrap}
.cand .vcount.all,.cand .vchap[open] .vcount{color:var(--green)}
.cand .vrows{list-style:none;margin:0;padding:0}
.cand .vrows a{display:flex;align-items:center;gap:12px;padding:10px 16px;min-height:52px;border-top:1px solid var(--line);text-decoration:none;color:var(--navy)}
.cand .vrows .vt{flex:1;min-width:0;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.cand .vrows small{flex:none}
.cand .vtick{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line2);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff}
.cand .vtick.done{background:var(--green);border-color:var(--green)}

/* ── S6 player + quick check ── */
.cand .vidbox{margin:0 -16px}
.cand .vidbox .player{border-radius:0}
.cand .vidbox .card{margin:0 16px}
.cand .vlang{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);color:#fff;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:6px;pointer-events:none}
@media (min-width:720px){.cand .vidbox{margin:0}.cand .vidbox .player{border-radius:14px}.cand .vidbox .card{margin:0}}
.cand .vtitle{font-size:1.3rem;margin:14px 0 4px;line-height:1.3;overflow-wrap:anywhere}
.cand .quiz h2{margin:0 0 6px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:1.05rem}
.cand .quiz .qlist{list-style:none;padding:0;margin:8px 0;counter-reset:q}
.cand .quiz .qlist>li{counter-increment:q;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.cand .quiz .qlist>li:last-child{border-bottom:0;margin-bottom:0}
.cand .quiz .qq{font-weight:800;margin:6px 0 8px;padding:0;line-height:1.4;overflow-wrap:anywhere;white-space:normal}
.cand .quiz .qq::before{content:counter(q) ". "}
.cand .quiz fieldset{border:0;padding:0;margin:0;min-width:0}
.cand .quiz legend{display:block;width:100%;float:left}
.cand .quiz legend+*{clear:both}
.cand .quiz .ql{flex:none;width:26px;height:26px;border-radius:50%;background:#eef1f7;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}
.cand .quiz .qo{min-width:0;flex:1;overflow-wrap:anywhere}
.cand .quiz .opt{position:relative;display:flex;gap:10px;align-items:center;border:1.5px solid var(--line2);border-radius:12px;padding:10px 12px;margin:8px 0;cursor:pointer;min-height:48px;font-weight:400;background:#fff}
.cand .quiz .opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.cand .quiz .opt:has(input:checked){border-color:var(--navy);background:#eef3fb}
.cand .quiz .opt:has(input:checked) .ql{background:var(--navy);color:#fff}
.cand .quiz .opt:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.cand .quiz .opts{list-style:none;padding:0;margin:0}
.cand .quiz .opts li{display:flex;gap:10px;align-items:center;border:1.5px solid var(--line2);border-radius:12px;padding:10px 12px;margin:8px 0;min-height:48px;background:#fff}
.cand .quiz .opts li.right{background:#eaf6ef;border-color:#9fd2b3}.cand .quiz .opts li.right .ql{background:var(--green);color:#fff}
.cand .quiz .opts li.wrong{background:var(--red-bg);border-color:#e6a99f}.cand .quiz .opts li.wrong .ql{background:var(--red);color:#fff}
.cand .quiz .opts small{display:block;font-weight:800;font-size:.78rem;margin-top:2px}
.cand .quiz small.ok{color:var(--green)}.cand .quiz small.bad{color:var(--red)}
.cand .quiz .why{background:#f4f6fa;border-radius:10px;padding:10px 12px;margin:10px 0 0;font-size:.92rem;line-height:1.5;overflow-wrap:anywhere}
.cand .quiz .qrefs{display:grid;gap:6px;margin-top:8px}
.cand .quiz .qref{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 12px;border-radius:10px;background:var(--peach);border:1px solid #f3cfb4;color:var(--orange-t);font-weight:800;font-size:.85rem;text-decoration:none}
.cand .quiz .qrefplain{margin:6px 0 0}
.cand .quiz .qscore{font-size:1.05rem;font-weight:800;margin:6px 0 10px}
.cand .quiz .qscore small{display:block;font-weight:600;margin-top:2px}

/* ── S10 certificate: pending part + the print button ── */
.cand .certpending .bar{margin:12px 0 4px}
.cand .certbar{display:flex;justify-content:flex-end}

/* ── S12 feedback + thanks ── */
.cand .fbpage{max-width:560px;margin:0 auto}
.cand .fbform{gap:12px}
.cand fieldset.card{border:0;min-width:0}
.cand .fbq legend{float:left;width:100%;padding:0;margin:0 0 10px;font-weight:800;font-size:.95rem;color:var(--navy);line-height:1.4}
.cand .fbq legend+*{clear:both}
.cand .fbq>label{display:grid;gap:6px;margin:0 0 12px}
.cand .fbq>label.check{display:flex;margin:0}
.cand .segs{display:flex;flex-wrap:wrap;gap:8px}
.cand .seg{position:relative;flex:1 1 0;min-width:0;display:flex!important;margin:0}
.cand .seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.cand .seg span{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:6px 10px;border:1.5px solid var(--line2);border-radius:12px;font-weight:800;font-size:.85rem;line-height:1.25;cursor:pointer;background:#fff;overflow-wrap:anywhere;min-width:0}
.cand .seg input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.cand .seg input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.cand fieldset.stars{display:block}
.cand .starrow{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:6px}
.cand .starrow label{flex:1 1 0;max-width:64px;min-height:48px;display:flex;align-items:center;justify-content:center;background:#eef1f7;border-radius:10px;font-size:1.4rem;color:#c3cad8}
.cand .starrow input:checked~label,.cand .starrow label:hover,.cand .starrow label:hover~label{color:#f5a623}
.cand .starrow input:focus-visible+label{outline:3px solid var(--orange);outline-offset:2px}
.cand .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cand .nps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.cand .nps label{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line2);border-radius:10px;font-weight:800;background:#fff}
.cand .nps input:checked+label{background:var(--navy);border-color:var(--navy);color:#fff}
.cand .nps input:focus-visible+label{outline:3px solid var(--orange);outline-offset:2px}
.cand .donepage{text-align:center;padding:12vh 0 24px;max-width:480px;margin:0 auto}
.cand .donetick{width:84px;height:84px;margin:0 auto 6px;border-radius:50%;background:var(--green);color:#fff;font-size:2.6rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.cand .donepage .btn{margin-top:6px}

/* ── S13 ended / privacy / message pages ── */
.cand .msgpage h1,.cand .endedpage h1{margin-top:.2em}
.cand .privacypage h2{margin:1.1em 0 .3em}
.cand .privacypage p{line-height:1.6}

/* ── original page images (reader) ── */
.cand .reader .rbar{flex-wrap:wrap;gap:8px}
.cand .reader .rbar .btn{min-height:44px;padding:8px 14px}
.cand .reader .pagejump{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}
.cand .reader .pagejump label{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.cand .reader .pagejump input{width:72px;min-height:44px;font-size:1rem;text-align:center;border:1.5px solid var(--line2);border-radius:10px}
.cand .reader .pageimg{border-radius:12px;border:0;box-shadow:0 1px 3px rgba(22,50,92,.08)}
.cand .reader .rname{text-align:center;font-size:.85rem}

/* base fix (tell the lead): a short "‹ Guide" / "‹ గైడ్" back link in the page bar was narrower than 44 px */
.cand .pbar .back{min-width:44px}
@media (max-width:480px){.cand .reader .rbar:first-child .pagejump{order:-1;flex-basis:100%}.cand .reader .rbar:first-child{justify-content:space-between}}

/* ── css/70-mock.css ── */
/* Mock exam, Tricky pairs, Numbers drill (redesign phase 2 — lib/mock.php, views mock_*.php, practice_pairs/drill.php, tools/js/70-mock.js).
   Design: IC38Pass App Prototype → Mock exam / Pairs / Drill. Tap targets 44 px; text orange #B9561C, green #1B7D45. */
.cand .msets [hidden],.cand .mockform [hidden],.cand .msheet[hidden],.cand .pairs[hidden],.cand .pairs [hidden],.cand .drill [hidden],.cand .pairs-nojs[hidden]{display:none!important}

/* Practice: the Mock exam card (navy, like the prototype) */
.cand .prl .row.prmock{background:var(--navy);color:#fff}
.cand .prl .row.prmock .num{background:var(--orange-t);color:#fff}
.cand .prl .row.prmock .rt small{color:#c9d3e6;display:block}
.cand .prl .row.prmock .rt small.prbest{color:#ffd9c2;font-weight:700}
.cand .prl .row.prmock .go{color:#c9d3e6}
.cand .prl .row .num.ic{font-size:.8rem;white-space:nowrap}

/* set chips (above the palette) — a ROW that may scroll sideways; the page never does */
.cand .msets{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;margin:0 0 6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.cand .msets.wrap{flex-wrap:wrap;overflow:visible}
.cand .mset{flex:none;display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:6px 14px;border-radius:16px;border:1.5px solid var(--line2);background:#fff;color:var(--navy);text-decoration:none;line-height:1.25;max-width:220px}
.cand .mset b{font-size:.9rem;white-space:nowrap}
.cand .mset small{font-size:.72rem;font-weight:600;color:var(--muted)}
.cand .mset small.mbest{color:var(--orange-t);font-weight:700}
.cand .mset.on{background:var(--navy);border-color:var(--navy);color:#fff}
.cand .mset.on small{color:#c9d3e6}.cand .mset.on small.mbest{color:#ffd9c2}

/* the exam */
.cand .mbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:0 0 8px;box-shadow:0 2px 6px rgba(22,50,92,.08)}
.cand .mbar .mpos{font-weight:800}
.cand .mbar .mcount{color:var(--muted);font-size:.85rem;font-weight:600}
.cand .mbar .mclock{margin-left:auto;background:var(--navy);color:#fff;font-family:ui-monospace,Consolas,"Noto Sans Mono",monospace;font-weight:800;font-size:1rem;padding:4px 12px;border-radius:9px;min-width:72px;text-align:center}
.cand .mbar .mclock.low{background:var(--orange-t)}
.cand .mpal{background:#fff;border-radius:14px;margin:0 0 10px;border:1px solid var(--line)}
.cand .mpal summary{min-height:44px;display:flex;align-items:center;gap:6px;padding:0 14px;font-weight:800;cursor:pointer;list-style-position:inside;flex-wrap:wrap}
.cand .mpal summary .mcount{color:var(--muted);font-weight:600;font-size:.88rem}
.cand .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;padding:4px 12px 8px}
.cand .pq{min-width:44px;min-height:44px;border-radius:10px;border:2px solid #dde2ec;background:#fff;color:var(--navy);font:inherit;font-size:.85rem;font-weight:800;cursor:pointer;padding:0}
.cand .pq.ans{background:var(--navy);border-color:var(--navy);color:#fff}
.cand .pq.cur{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange)}
.cand .plegend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0 12px 12px;font-size:.8rem;color:var(--muted)}
.cand .plegend .pq.sm{display:inline-block;min-width:16px;min-height:16px;width:16px;height:16px;border-radius:4px;cursor:default;vertical-align:middle}
.cand .mqs{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cand .mq fieldset{border:0;margin:0;padding:16px;background:#fff;border-radius:16px;display:grid;gap:10px;min-width:0}
.cand .mq legend{float:left;width:100%;padding:0;margin:0 0 4px;font-size:1.12rem;font-weight:700;line-height:1.5;color:var(--navy);overflow-wrap:anywhere}
.cand .mq legend+*{clear:both}
.cand .mopt{position:relative;display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 14px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;line-height:1.4;overflow-wrap:anywhere}
.cand .mopt input{position:absolute;opacity:0;width:1px;height:1px}
.cand .mopt .ml{flex:none;width:30px;height:30px;border-radius:50%;background:#eef1f7;color:var(--navy);font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.cand .mopt .mt{flex:1;min-width:0}
.cand .mopt:has(input:checked){border-color:var(--navy);background:#eef1f7}
.cand .mopt:has(input:checked) .ml{background:var(--navy);color:#fff}
.cand .mopt:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.cand .mockform.js .mq{display:none}.cand .mockform.js .mq.cur{display:block}
.cand .msub{margin:14px 0 0}
.cand .mkept{margin:8px 0 0;text-align:center;font-size:.82rem}
.cand .mnav{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;gap:8px;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
.cand .mnav .btn{min-height:48px}.cand .mnav #mprev{flex:none;white-space:nowrap}.cand .mnav #mnext{flex:1}
.cand .mnav .btn[disabled]{background:#fff;color:#9aa6bc;border-color:#dde2ec}
.cand.mockexam.mockjs .tabbar{display:none}
.cand.mockexam.mockjs{padding-bottom:84px}
@media (min-width:900px){.cand .mnav{position:static;margin:12px 0 0;padding:10px 12px;border-radius:14px;border:1px solid var(--line)}.cand.mockexam.mockjs{padding-bottom:0}}
.cand .msheet{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:rgba(14,31,58,.55)}
.cand .msheet-box{background:#fff;border-radius:20px 20px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));width:100%;max-width:520px}
.cand .msheet-box p{margin:0;font-weight:700;font-size:1.05rem;line-height:1.5}
.cand .msheet .sheet-btns{flex-wrap:wrap}.cand .msheet .sheet-btns .btn{flex:1 1 140px}
@media (min-width:600px){.cand .msheet{align-items:center}.cand .msheet-box{border-radius:20px}}

/* result */
.cand .mres{background:var(--navy);color:#fff}
.cand .mres-top{display:flex;align-items:center;gap:16px}
.cand .mscore{flex:none;display:flex;flex-direction:column;align-items:center;background:#fff;color:var(--navy);border-radius:16px;padding:10px 14px;min-width:76px}
.cand .mscore b{font-size:2.2rem;font-weight:900;line-height:1}.cand .mscore small{font-weight:800;color:var(--muted)}
.cand .mres-t{min-width:0}.cand .mres h2{color:#fff;margin:0 0 6px;font-size:1.25rem}
.cand .mres .badge{display:inline-block;padding:3px 12px;border-radius:999px;font-weight:800;font-size:.85rem;color:#fff}
.cand .mres .badge.ok{background:var(--green)}.cand .mres .badge.no{background:#c0392b}
.cand .mline{position:relative;height:12px;border-radius:6px;background:rgba(255,255,255,.15);margin:16px 0 10px}
.cand .mline .mfill{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--orange)}
.cand .mline .mmark{position:absolute;top:-5px;width:3px;height:22px;background:#fff;border-radius:2px}
.cand .mres .mpass{margin:0 0 4px;color:#fff;font-weight:700}
.cand .mres .muted{color:#c9d3e6}
.cand .mres .btn{background:#fff;color:var(--navy);margin-top:10px}
.cand .mchs .cbar{display:block;height:6px;border-radius:3px;background:#e7eaf1;margin-top:6px;overflow:hidden}
.cand .mchs .cbar span{display:block;height:100%;background:var(--orange)}
.cand .mreview h3{font-size:1rem;margin:14px 0 8px}
.cand .mreview summary{min-height:44px;display:flex;align-items:center;font-weight:800;cursor:pointer;list-style-position:inside}
.cand .rvl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cand .rv{border:1px solid var(--line);border-radius:14px;padding:12px 14px;overflow-wrap:anywhere}
.cand .rv.bad{border-left:4px solid #c0392b}.cand .rv.ok{border-left:4px solid var(--green)}
.cand .rvh{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.8rem;font-weight:800}
.cand .rvn{color:var(--muted)}.cand .rvy{color:var(--red)}.cand .rvr{color:var(--green)}
.cand .rvq{margin:6px 0;font-size:1rem;line-height:1.45}
.cand .rvo{margin:4px 0;padding:6px 10px;border-radius:9px;font-size:.92rem}
.cand .rvo.ok{background:var(--green-bg);color:#17683a}.cand .rvo.bad{background:var(--red-bg);color:var(--red)}
.cand .rvw{margin:6px 0 0;font-size:.88rem;color:#3d4f6e;line-height:1.5}
.cand .rvw a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}

/* tricky pairs */
.cand .pairs{display:grid;gap:14px;max-width:640px;margin:0 auto}
.cand .pcard{background:#fff;border-radius:20px;padding:22px 18px;min-height:170px;display:flex;flex-direction:column;justify-content:center;gap:8px;box-shadow:0 8px 24px rgba(22,50,92,.10)}
.cand .ppos{font-size:.78rem;font-weight:800;letter-spacing:.08em;color:var(--orange-t)}
.cand .pwhich{margin:0;color:var(--muted);font-size:.9rem;font-weight:700}
.cand .pclue{margin:0;font-size:1.3rem;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.cand .pbtns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.cand .pbtn{min-height:72px;border-radius:16px;border:2px solid #dde2ec;background:#fff;color:var(--navy);font:inherit;font-size:1rem;font-weight:800;padding:8px;cursor:pointer;overflow-wrap:anywhere}
.cand .pbtn.right{background:var(--green);border-color:var(--green);color:#fff}
.cand .pbtn.wrong{background:var(--red-bg);border-color:#c0392b;color:var(--red)}
.cand .pbtn[disabled]{cursor:default;opacity:1}
.cand .pfb{border-radius:14px;padding:12px 14px}.cand .pfb.ok{background:#eef7f1}.cand .pfb.no{background:var(--red-bg)}
.cand .pfb b{font-size:.95rem}.cand .pfb.ok b{color:#17683a}.cand .pfb.no b{color:var(--red)}
.cand .pfb p{margin:4px 0 0;line-height:1.5}
.cand .pend{display:grid;gap:10px;text-align:center}
.cand .pairs-nojs .card{margin:0}

/* numbers drill */
.cand.drillpage{background:var(--navy2)}
.cand.drillpage .foot{color:#9fb0cc}.cand.drillpage .foot a{color:#c9d3e6}
.cand .drill{max-width:640px;margin:0 auto;display:grid;gap:14px;color:#fff}
.cand .dstart{background:var(--navy);border-radius:20px;padding:22px 18px;display:grid;gap:14px;text-align:center}
.cand .dstart p{margin:0;color:#dce3ef;font-size:1.05rem}
.cand .dplay{display:grid;gap:14px}
.cand .dtop{display:flex;justify-content:space-between;align-items:center;color:#c9d3e6;font-weight:700}
.cand .dclock{background:var(--orange-t);color:#fff;font-family:ui-monospace,Consolas,"Noto Sans Mono",monospace;padding:2px 10px;border-radius:8px;font-weight:800}
.cand .dcard{background:var(--navy);border-radius:22px;padding:26px 20px;min-height:170px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px}
.cand .dgroup{color:#ffd9c2;font-size:.78rem;font-weight:800;letter-spacing:.1em}
.cand .dk{font-size:1.45rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.cand .dopts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.cand .dopt{min-height:64px;border-radius:16px;background:var(--navy);border:2px solid #2b4a7a;color:#fff;font:inherit;font-size:1rem;font-weight:800;padding:6px;cursor:pointer;overflow-wrap:anywhere}
.cand .dopt.right{background:var(--green);border-color:var(--green)}
.cand .dopt.wrong{background:#8e2a20;border-color:#c0392b}
.cand .dopt[disabled]{cursor:default}
.cand .dend{display:grid;gap:10px;text-align:center;color:var(--navy)}

/* ── css/80-trainer.css ── */
/* Trainer part (redesign P2, BUILD-PLAN #12 + #15): the readiness card on My course (.cand), and the trainer (L1), training-head
   (L2), report (L3) and admin additions (.share / .admin): not-started alert + Send reminder, path split, readiness tiles. */

/* ── My course: readiness ring (prototype en-home.png) ── */
.cand .rdy{display:flex;align-items:center;gap:14px;padding:14px 16px}
.cand .rdy-ring{--p:0%;flex:none;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:conic-gradient(var(--green) 0 var(--p), #e7eaf1 var(--p) 100%)}
.cand .rdy-ring span{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:var(--navy)}
.cand .rdy-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.cand .rdy-h{font-size:1rem;font-weight:800;margin:0;color:var(--navy);overflow-wrap:anywhere}
.cand .rdy-s{font-size:.82rem;line-height:1.45;color:#4a5b78;margin:0;overflow-wrap:anywhere}

/* ── trainer / head / report / admin ── */
.share .l1figs,.share .l1figs+p{max-width:100%}
.share .l1figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0 4px}
.share .l1figs .tilebox{display:flex;flex-direction:column;gap:2px;min-width:0}
.share .l1figs .tilebox span{color:var(--muted);font-size:.85rem}
.share .l1figs .tilebox b{font-size:1.3rem;overflow-wrap:anywhere}
.share .l1figs .pathsplit b{font-size:1.05rem}
.share .l1figs small{overflow-wrap:anywhere}
.share .nsbox h2{margin-top:0}
.share .nslist{list-style:none;padding:0;margin:8px 0}
.share .nslist li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:6px 0;border-top:1px solid #f0e2bd}
.share .nslist li:first-child{border-top:0}
.share .nsname{min-width:0;overflow-wrap:anywhere}
.share .rembtn,.share .remwa,.share .remallbtn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.share .rembtn{font-weight:600;border-color:var(--brand);color:var(--brand)}
.share .remall{margin:8px 0 0}
.share .remallbtn{max-width:100%;white-space:normal}
.share .t .pathcell,.admin .t .pathcell{min-width:120px}
.share .reppath b{font-size:1.05em}
.admin .admfigs{margin:6px 0 10px;line-height:2}
.admin .pathtile{font-size:1rem}
@media print{.share .nsbox .nsact,.share .remall{display:none!important}}

/* ── css/90-night.css ── */
/* Phase 2 · "night" part: exam countdown chip (header), night-before card + "Last look" (My course), "How did it go?" card,
   "You passed!" screen, 3-question feedback with "Add more (optional)". Scoped to body.cand. Text orange #B9561C, green #1B7D45. */

/* countdown chip in the navy header (Design: orange box "Exam in 3 days · Thu 05 Nov" + "Access ends in …"; owner Q6 short chip) */
.cand .cdchip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border-radius:12px;padding:8px 12px;min-width:0;max-width:100%;flex:1 1 auto}
.cand .cdchip.exam{background:#b9561c}
.cand .cdchip .cdn{flex:none;background:#fff;color:var(--navy);border-radius:8px;padding:2px 8px;font-size:1.15rem;font-weight:900;line-height:1.3}
.cand .cdchip .cdt{display:flex;flex-direction:column;min-width:0;line-height:1.35}
.cand .cdchip .cdt b{color:#fff;font-size:.9rem;font-weight:800;overflow-wrap:anywhere}
.cand .cdchip .cdt small{color:#fff;font-size:.78rem;overflow-wrap:anywhere}
.cand .cdchip .cdt a{color:#fff;font-weight:700;font-size:.82rem;min-height:44px;display:inline-flex;align-items:center;margin:-8px 0 -10px;text-decoration:underline}
@media (min-width:900px){.cand .cdchip{flex:0 1 auto}}

/* night-before card */
.cand .nb{border:2px solid #b9561c}
.cand .nb h2{margin:0;font-size:1.2rem}
.cand .nb-date{margin:2px 0 10px;color:#b9561c;font-weight:800}
.cand .nb-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cand .nb-step{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.cand .nb-step:first-child{border-top:0}
.cand .nb-n{flex:none;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.cand .nb-b{flex:1;min-width:0}
.cand .nb-b>b{display:block;line-height:1.4;overflow-wrap:anywhere}
.cand .nb-b p{margin:4px 0;overflow-wrap:anywhere}
.cand .nb-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#b9561c}
.cand .nb-cname{font-weight:800}
.cand .nb-caddr{color:var(--muted)}
.cand .nb .et-acts{margin:10px 0 4px}
.cand .nb-closed{margin:8px 0}
.cand .nb-closed h3{color:var(--red);font-size:1rem;margin:0 0 6px}
.cand .nb-early{color:var(--muted);margin-top:8px!important}
.cand .nb-back{margin:4px 0 8px}
.cand .nb-back a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#b9561c}

/* "Last look": cheat sheet + TOP questions */
.cand .nb-last{margin-top:18px}
.cand .nb-last>h2{margin:0}
.cand .nb-last details{margin-top:12px}
.cand .nb-last summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:800;color:var(--navy);font-size:1.02rem;list-style-position:inside}
.cand .nb-sheet h3{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:#b9561c;margin:14px 0 4px}
.cand .nb-facts{margin:0}
.cand .nb-facts>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:7px 0;border-top:1px solid var(--line)}
.cand .nb-facts dt{flex:1 1 150px;min-width:0;overflow-wrap:anywhere}
.cand .nb-facts dd{margin:0;font-weight:800;text-align:right;flex:1 1 120px;min-width:0;overflow-wrap:anywhere}
.cand .nb-qs{margin:6px 0 0;padding-left:1.4em}
.cand .nb-qs li{padding:8px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.cand .nb-qs li:first-child{border-top:0}
.cand .nb-qs p{margin:4px 0 0;color:#1b7d45;font-weight:700}
.cand .nb-tag{display:inline-block;background:var(--peach2);color:#b9561c;font-size:.7rem;font-weight:800;border-radius:6px;padding:1px 6px;vertical-align:middle}
.cand .nb-full{margin-top:14px}

/* "How did it go?" card after the exam (owner Q12) */
.cand .howgo{border:2px solid var(--navy)}
.cand .howgo h2{margin:0 0 4px}
.cand .howgo-btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.cand .howgo-btns .btn{padding:8px 6px;font-size:.88rem;min-width:0;overflow-wrap:anywhere}
@media (max-width:380px){.cand .howgo-btns{grid-template-columns:1fr}}

/* "You passed!" — the navy screen */
.cand.passedpage main.wrap{max-width:none;padding:0}
.cand .yp{background:var(--navy);color:#fff;text-align:center;padding:40px 22px 28px;display:flex;flex-direction:column;align-items:center;gap:14px;min-height:60vh}
.cand .yp-tick{width:88px;height:88px;border-radius:50%;background:#1b7d45;color:#fff;font-size:2.8rem;font-weight:900;display:flex;align-items:center;justify-content:center}
.cand .yp h1{color:#fff;font-size:1.75rem;margin:0;overflow-wrap:anywhere}
.cand .yp p{color:#dce3ef;margin:0;max-width:440px;line-height:1.5}
.cand .yp-acts{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px;margin-top:auto;padding-top:24px}
.cand .yp-acts .btn{width:100%}
.cand .btn.yp-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}

/* 3-question feedback: "Add more (optional)" + the error line */
.cand .fb3 .note.bad{background:var(--red-bg);color:var(--red);border:1.5px solid #e7b4ad;font-weight:700}
.cand .fbmore summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:800;color:var(--navy)}
.cand .fbmore[open] summary{margin-bottom:8px}
.cand .fbextras{display:flex;flex-direction:column;gap:12px}
.cand .fbextras .card{box-shadow:none;border:1px solid var(--line);margin:0}
.cand .fbplain>label{display:grid;gap:6px;margin:0 0 12px}
.cand .fbplain>label.check{display:flex;align-items:center;gap:8px;min-height:44px;margin:0}
.cand .fbplain select,.cand .fbplain textarea{min-height:44px;width:100%}
.cand .fbfor{margin:0}
/* 0–10 never below 44 px: as many columns as fit (6 at 390, 5 at 360) */
.cand .fb3 .nps{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}
