/* Setup sign-off, screen size, checklist editor, brand guidance (2026-10-23) */

/* ---------- sign-off bar above a settings page ---------- */
.set-col{min-width:0}
.set-sign:empty{display:none}
.set-sign{margin-bottom:14px}
.setup-bar{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--danger,#dc2626)}
.setup-bar.ok{border-left-color:var(--success,#16a34a)}
.setup-n{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.setup-bar.ok .setup-n,.setup-row.ok .setup-n{background:var(--success,#16a34a)}
.setup-n svg{width:16px;height:16px}
.setup-t{flex:1;min-width:0}
.setup-t b{display:block;font-size:14px;color:var(--ink)}
.setup-t p{margin:3px 0 0;font-size:13px;line-height:1.5;color:var(--muted);text-wrap:pretty}
.setup-a{display:flex;align-items:center;gap:10px;flex:none}
.setup-todo{font-size:12.5px;font-weight:700;color:var(--danger,#dc2626)}
.setup-ok{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--success,#16a34a)}
.setup-ok svg{width:14px;height:14px}
.setup-a .btn svg{width:14px;height:14px}
@media (max-width:760px){.setup-bar{flex-wrap:wrap}.setup-t{flex-basis:calc(100% - 44px)}.setup-a{width:100%;justify-content:flex-end}}

/* ---------- the marks in the Settings menu and the sidebar ---------- */
.set-nav a{position:relative}
.setup-mark{margin-left:auto;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex:none}
.setup-mark svg{width:11px;height:11px}
.setup-mark.todo{background:var(--danger,#dc2626);color:#fff}
.setup-mark.ok{background:var(--success,#16a34a);color:#fff}
.set-nav a.on .setup-mark.todo{background:#fff;color:var(--danger,#dc2626)}
.set-nav a.on .setup-mark.ok{background:#fff;color:var(--success,#16a34a)}
.sb-settings .setup-left{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--danger,#dc2626);color:#fff;font-size:11.5px;font-weight:800;display:grid;place-items:center}

/* ---------- the gate ---------- */
.setup-list{display:grid;gap:8px}
.setup-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:inherit;background:#fff}
.setup-row:hover{border-color:var(--line2);background:var(--soft2,#f8fafc)}
.setup-row>div{flex:1;min-width:0}
.setup-row b{display:block;font-size:14px;color:var(--ink)}
.setup-row p{margin:2px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45;text-wrap:pretty}
.setup-row .setup-go{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap}
.setup-row.ok .setup-go{color:var(--success,#16a34a)}
.setup-row .setup-go svg{width:14px;height:14px}

/* ---------- Start here ---------- */
.start-count{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--danger,#dc2626)}
.start-count.ok{color:var(--success,#16a34a)}
.start-lead{margin:0 0 12px;font-size:13.5px;line-height:1.55;color:var(--body);text-wrap:pretty}
.start-step.locked{opacity:.6}
.start-step:not(.done) .n{background:var(--danger,#dc2626)}
.start-menus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.start-menus a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:inherit;background:#fff}
.start-menus a:hover{border-color:var(--line2)}
.start-menus b{font-size:13.5px;color:var(--ink)}
.start-menus span{grid-column:1;font-size:12.5px;color:var(--muted);line-height:1.45;text-wrap:pretty}
.start-menus svg{grid-column:2;grid-row:1/3;width:14px;height:14px;color:var(--muted)}
@media (max-width:760px){.start-menus{grid-template-columns:minmax(0,1fr)}}

/* ---------- password boxes inside the app (the sign-in pages have their own) ---------- */
.f.pw{position:relative}
.f.pw input{padding-right:44px}
.f.pw>button{position:absolute;right:6px;top:25px;width:32px;height:30px;border:0;background:transparent;color:var(--muted);border-radius:7px;display:grid;place-items:center;cursor:pointer}
.f.pw>button:hover,.f.pw>button.on{color:var(--ink);background:var(--soft2,#f1f4f9)}
.f.pw>button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- numbers on dark backgrounds read in bold white ---------- */
.pipe-node>.tn-h .pnum{color:#fff;font-weight:800;font-size:12px}

/* ---------- logos: a square mark sits beside the name; a wide one spans the menu ---------- */
.sb-brand.has-logo.sq{flex-wrap:nowrap;padding-right:52px}
.sb-brand.has-logo.sq .bm-img{width:auto;height:44px;max-height:44px;max-width:44px;object-fit:contain}
.sb-brand.has-logo.sq .bm-tile{width:auto;height:44px;padding:4px}
.sb-brand.has-logo.sq .bm-tile img{width:auto;height:36px;max-height:36px}
.sb-brand.has-logo.sq .t{flex-basis:auto;min-width:0;min-height:0;padding-right:0;display:block}
.sb-brand.has-logo.sq .t b{display:block}

/* ---------- screen size: the parts sized by the viewport follow the scale ---------- */
html[data-scale]:not([data-scale="1"]) body{min-height:var(--vh)}

/* ---------- System checklist editor ---------- */
.cle-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.cle-dirty{font-size:12.5px;font-weight:700;color:var(--danger,#dc2626)}
.cle-dirty:empty{display:none}
.cle-undo{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--navy);color:#fff;font-size:13px}
.cle-undo span{flex:1;min-width:0}
.cle-undo b{color:#fff}
.cle-undo .btn{background:#fff;color:var(--ink);border-color:#fff;flex:none}
.cle-list{display:flex;flex-direction:column;gap:8px}
.cle-phase{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.cle-phase.open{border-color:var(--line2);box-shadow:0 8px 24px -18px rgba(10,16,30,.35)}
.cle-phase.off{opacity:.55}
.cle-phase.off.open{opacity:1}
.cle-phase.off .cle-ph{background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(0,0,0,.025) 10px 20px)}
.cle-ph{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:8px 10px 8px 6px;background:#fff}
.cle-phase.open .cle-ph{background:#F8FAFC;border-bottom:1px solid var(--hair)}
.cle-tog{width:28px;height:28px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;color:var(--muted);cursor:pointer;flex:none}
.cle-tog svg{width:16px;height:16px;transition:transform .15s}
.cle-phase.open .cle-tog svg{transform:rotate(180deg)}
.cle-tog:hover{background:var(--soft2,#f1f4f9);color:var(--ink)}
.cle-num{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.cle .in.cle-name{flex:1;min-width:120px;max-width:360px;font-weight:800;height:34px}
.cle-gate{padding:2px 8px;border-radius:999px;background:#EFF6FF;color:#2563EB;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cle-meta{font-size:12px;color:var(--muted);white-space:nowrap}
.cle-acts{margin-left:auto;display:flex;align-items:center;gap:4px;flex:none}
.cle-acts .ck{font-size:12px;margin-right:4px}
.cle .ib.quiet{width:26px;height:26px}
.cle-rm{color:var(--muted)}
.cle-rm:hover{color:var(--danger,#dc2626);background:#FEF2F2}
.cle-body{display:none;padding:10px 12px 12px 44px;flex-direction:column;gap:10px}
.cle-phase.open .cle-body{display:flex}
.cle .in.cle-intro{height:34px;font-size:13px}
.cle-group{border:1px solid var(--line);border-radius:10px;background:#FBFCFD;padding:8px 10px 10px}
.cle-group.off{opacity:.55}
.cle-gh{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.cle-k{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);width:40px;flex:none}
.cle .in.cle-gname{flex:1;min-width:100px;max-width:320px;font-weight:700;height:32px}
.cle-gh .ck{font-size:12px;margin-left:auto}
.cle-steps{display:flex;flex-direction:column;gap:4px}
.cle-step{border-radius:8px;background:#fff;border:1px solid var(--hair);padding:4px 6px 4px 6px}
.cle-step.off{opacity:.55}
.cle-sh{display:flex;align-items:center;gap:6px}
.cle .in.cle-label{flex:1;min-width:80px;height:32px;font-size:13.5px}
.cle-more{height:26px;width:26px;padding:0;display:grid;place-items:center;color:var(--muted);border-radius:6px}
.cle-more svg{width:15px;height:15px}
.cle-step.more .cle-more{color:var(--ink);background:var(--soft2,#f1f4f9)}
.cle-sh .ck{margin-left:2px}
.cle-extra{display:none;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:6px;padding:6px 0 4px 46px}
.cle-step.more .cle-extra{display:grid}
.cle-extra .in{height:30px;font-size:12.5px}
.cle-add{align-self:flex-start;margin-top:4px}
.cle-group .cle-add{margin-top:6px}
.cle-empty{text-align:center;padding:36px 16px;border:1px dashed var(--line2);border-radius:12px}
.cle-empty b{display:block;font-size:15px;color:var(--ink)}
.cle-empty p{margin:4px 0 14px;color:var(--muted);font-size:13px}
.cl-pv-empty{padding:28px 16px;text-align:center;color:var(--muted);font-size:13px}
@media (max-width:760px){
  .cle-ph{flex-wrap:wrap}.cle-meta{display:none}.cle-acts{margin-left:0;width:100%;justify-content:flex-end}
  .cle-body{padding-left:10px}.cle-extra{grid-template-columns:minmax(0,1fr);padding-left:0}
  .cle-gh{flex-wrap:wrap}.cle-sh{flex-wrap:wrap}.cle .in.cle-label{flex-basis:100%}
}
.cle-undo[hidden]{display:none}
/* the editor is compact now, so the agent preview sits beside it from 1200px up */
@media (min-width:1200px){.set-main.cl-page{max-width:none}.set-main.wide .cl-wrap{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}.set-main.wide .cl-pv{position:sticky;top:16px;max-height:calc(var(--vh,100vh) - 32px)}}
@media (min-width:1700px){.set-main.wide .cl-wrap{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}}

/* ---------- Brand & agency: colour families, size guidance, where-it-shows previews ---------- */
.wl-fams{display:flex;flex-direction:column;gap:6px}
.wl-fam{display:flex;align-items:center;gap:12px;padding:6px 8px 6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.wl-fam.on{border-color:var(--navy)}
.wl-fam-n{display:inline-flex;align-items:center;gap:8px;width:120px;flex:none;font-size:13px;font-weight:700;color:var(--ink)}
.wl-fam-n i{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.wl-shades{display:flex;gap:6px;flex-wrap:wrap}
.wl-preset.wl-shade{height:32px;padding:0 10px 0 5px;gap:7px;font-size:12px;font-weight:600;color:var(--body)}
.wl-preset.wl-shade i{position:relative;display:block;width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.wl-preset.wl-shade i b{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;border:2px solid #fff}
.wl-preset.wl-shade.on{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset;color:var(--ink)}
@media (max-width:560px){.wl-fam{flex-wrap:wrap}.wl-fam-n{width:100%}}
.wl-spec{display:block;margin:-4px 0 8px;font-size:11.5px;color:var(--muted);line-height:1.45;text-wrap:pretty}
.wl-spec b{display:inline;color:var(--ink);font-weight:700}
.wl-msg.fixed.warn{color:#b45309}
.wl-use-h{margin:16px 0 8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.wl-use{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wl-use-c{display:flex;flex-direction:column;gap:6px;min-width:0}
.wl-use-c.wide{grid-column:1/-1}
.wl-use-l{font-size:11.5px;color:var(--muted);line-height:1.4;text-wrap:pretty}
.wl-use-side{border-radius:10px;overflow:hidden;color:#fff;height:128px}
.wl-use-side .sb-brand{padding:12px 12px 10px;gap:9px;border-bottom:1px solid rgba(255,255,255,.1)}
.wl-use-side .sb-brand .logo{width:30px;height:30px;border-radius:8px;font-size:11px;display:grid;place-items:center;font-weight:900;flex:none}
.wl-use-side .sb-brand .t b{font-size:12px;color:#fff}
.wl-use-side .sb-brand .t span{font-size:8px}
.wl-use-side .sb-brand.has-logo{flex-wrap:wrap;row-gap:6px}
.wl-use-side .sb-brand.has-logo .bm-img{width:100%;max-width:100%;max-height:48px;object-fit:contain;object-position:left center}
.wl-use-side .sb-brand.has-logo .bm-tile{width:100%;max-width:100%;height:auto;padding:6px 8px;border-radius:8px;display:flex;justify-content:center}
.wl-use-side .sb-brand.has-logo .bm-tile img{width:100%;height:auto;max-height:40px;max-width:100%;object-fit:contain}
.wl-use-side .sb-brand.has-logo .t b{display:none}
.wl-use-side.sq .sb-brand.has-logo,.wl-use-side .sb-brand.has-logo.sq{flex-wrap:nowrap}
.wl-use-side .sb-brand.has-logo.sq .bm-img{width:auto;height:36px;max-height:36px;max-width:36px}
.wl-use-side .sb-brand.has-logo.sq .bm-tile{width:auto;height:36px;padding:3px}
.wl-use-side .sb-brand.has-logo.sq .bm-tile img{width:auto;height:30px}
.wl-use-side .sb-brand.has-logo.sq .t b{display:block}
.wl-use-side .wl-pv-nav span{font-size:11px}
.wl-use-white{border:1px solid var(--line);border-radius:10px;background:#fff;height:128px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:12px}
.wl-use-login{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}
.wl-use-login img{max-height:34px;max-width:140px;object-fit:contain}
.wl-use-login b{font-size:13px;color:var(--ink)}
.wl-use-login i{display:block;height:8px;border-radius:4px;background:#e6e9ef;width:80%}
.wl-use-login i.s{width:60%}
.wl-use-login span{margin-top:2px;font-size:10px;font-weight:800;padding:5px 12px;border-radius:6px}
.wl-use .wl-pv-mail{width:100%}
.wl-use-hero{position:relative;aspect-ratio:16/5;border-radius:10px;overflow:hidden;color:#fff}
.wl-use-hero .ph{position:absolute;top:0;right:0;bottom:0;width:70%;background-size:cover;background-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.wl-use-hero .ph.none{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}
.wl-use-hero .tx{position:absolute;left:5%;top:50%;transform:translateY(-50%);max-width:58%}
.wl-use-hero .tx span{display:block;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em}
.wl-use-hero .tx b{display:block;font-size:clamp(14px,2.6vw,22px);line-height:1.1;margin-top:4px;color:#fff;text-wrap:balance}
.wl-use-hero .tx small{display:block;font-size:11px;margin-top:4px;opacity:.9;text-wrap:pretty}
@media (max-width:760px){.wl-use{grid-template-columns:minmax(0,1fr)}}

/* ---------- top notice (moves, follow-ups): where the eye already is ---------- */
#notice{position:fixed;left:50%;top:14px;transform:translate(-50%,-16px);z-index:450;display:flex;align-items:center;gap:12px;max-width:min(560px,calc(var(--vw,100vw) - 24px));padding:10px 10px 10px 12px;border-radius:14px;background:var(--navy);color:#fff;box-shadow:0 20px 50px -14px rgba(10,16,30,.6),0 4px 14px -6px rgba(10,16,30,.4);opacity:0;pointer-events:none;transition:opacity .2s,transform .22s cubic-bezier(.2,.8,.2,1)}
#notice.show{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
#notice .n-ic{width:28px;height:28px;border-radius:50%;background:var(--success,#16a34a);display:grid;place-items:center;flex:none}
#notice .n-ic svg{width:15px;height:15px;color:#fff}
#notice .n-t{display:flex;flex-direction:column;min-width:0}
#notice .n-m{font-size:13.5px;line-height:1.3;color:#fff}
#notice .n-m b{color:#fff;font-weight:800}
#notice .n-s{font-size:12px;color:#c7d0e3;margin-top:1px}
#notice .n-undo{height:30px;padding:0 12px;border:0;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;flex:none}
#notice .n-undo:hover{background:var(--gold)}
#notice .n-x{width:28px;height:28px;border:0;background:transparent;color:#c7d0e3;font-size:18px;line-height:1;border-radius:8px;cursor:pointer;flex:none}
#notice .n-x:hover{background:rgba(255,255,255,.12);color:#fff}
body.sample-data #notice{top:calc(var(--sample-h,36px) + 10px)}

/* ---------- follow-up picker ---------- */
.fu-bar.fu-new{gap:10px}
.fu-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.fu-when{font-size:13px;font-weight:700;color:var(--muted);padding:4px 10px;border-radius:999px;background:var(--soft2,#f1f4f9)}
.fu-when.on{color:#fff;background:var(--navy)}
.fu-when.shake{animation:fuShake .4s}
@keyframes fuShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.fu-pre .btn svg{width:13px;height:13px}
.fu-cal{border:1px solid var(--line);border-radius:10px;padding:8px 10px 10px;background:#fff}
.fu-cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.fu-cal-h b{font-size:13px;color:var(--ink)}
.fu-cal-h .ib{width:26px;height:26px;font-size:16px}
.fu-dow,.fu-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.fu-dow span{text-align:center;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 0}
.fu-d{height:30px;border:0;border-radius:7px;background:transparent;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.fu-d:hover{background:var(--soft2,#f1f4f9)}
.fu-d.out{color:var(--faint)}
.fu-d.past{color:var(--faint);cursor:default;background:transparent}
.fu-d.today{box-shadow:inset 0 0 0 1.5px var(--line2)}
.fu-d.on{background:var(--navy);color:#fff;box-shadow:none}
.fu-times{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--hair)}
.fu-times .btn.on{background:var(--navy);border-color:var(--navy);color:#fff}
.fu-other{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:11.5px;font-weight:700;color:var(--muted)}
.fu-other input{height:26px;border:1px solid var(--line2);border-radius:6px;padding:0 6px;font:inherit;font-size:12px}
#notice.err .n-ic{background:var(--danger,#dc2626);font-weight:900;font-size:15px}

/* ---------- lead card: a slim one-row header ---------- */
.rec2-h.slim{align-items:center;gap:12px;padding:12px 54px 12px 16px}
.mbox.rec2 .rec2-h.slim{padding-top:16px}
.rec2-h.slim .av{width:40px;height:40px;font-size:14px}
.rec2-h.slim h3{font-size:18px;margin-top:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;line-height:1.2}
.rec2-h.slim h3 .kicker{font-size:10px;margin:0}
.rec2-h.slim .sub{margin-top:2px;font-size:12.5px}
.rec2-h.slim .rec2-h-r{flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rec2-h.slim .acts{margin:0;flex-wrap:nowrap}
.rec2-h.slim .acts .btn.sm{height:32px;padding:0 10px}
.rec2-h.slim .rec2-stage{height:34px;max-width:210px}
.rec2-h.slim .rec2-stage select{height:32px;max-width:170px}
.rec2-h.slim .rec2-saved{position:absolute;right:56px;top:-2px;font-size:11px}
@media (max-width:900px){.rec2-h.slim{flex-wrap:wrap;padding:12px 52px 10px 14px}.rec2-h.slim .rec2-h-r{width:100%;justify-content:flex-start}}
/* the message under an upload box has room for two lines, so a size note never moves the page */
.wl-msg.fixed{min-height:36px;line-height:1.4}
@media (max-width:760px){.cle .in.cle-gname{flex:1 1 140px;max-width:none}.cle-gh .ck{margin-left:0}}

/* ---------- guide video: compact portrait (same chrome as IUL / AR tools) ---------- */
#guide{position:fixed;right:18px;bottom:18px;z-index:290;width:272px;max-width:calc(var(--vw,100vw) - 24px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 60px -18px rgba(10,16,30,.5),0 6px 18px -8px rgba(10,16,30,.3);overflow:hidden;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .24s cubic-bezier(.2,.8,.2,1)}
#guide.show{opacity:1;transform:none;pointer-events:auto}
#guide .g-h{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--navy,#141d31);color:#fff;justify-content:flex-end;min-height:0}
#guide .g-ic{display:none}
#guide .g-t{display:none}
#guide .g-h .sp{flex:1}
#guide .g-t{flex:1;min-width:0}
#guide .g-t b{display:block;font-size:12px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#guide .g-t span{display:none}
#guide .g-b{width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;font-size:18px;line-height:1;flex:none}
#guide .g-b:hover{background:rgba(255,255,255,.14);color:#fff}
#guide .g-b svg{width:14px;height:14px}
#guide .g-v{position:relative;aspect-ratio:9/16;width:100%;max-height:min(62vh,520px);background:#0b1220;overflow:hidden}
#guide .g-v iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
#guide .g-f{display:flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-top:1px solid var(--hair)}
#guide .g-f .g-b{color:var(--muted)}
#guide .g-f .g-b:hover{background:var(--soft2,#f1f4f9);color:var(--ink)}
#guide .g-f .sp{flex:1;min-width:4px}
#guide .g-no{font-size:11px;font-weight:600;color:var(--muted);min-height:24px;white-space:nowrap;line-height:1.2;flex:none}
#guide .g-no i{width:14px;height:14px}
#guide .g-pill{display:none;align-items:center;gap:8px;height:40px;padding:0 16px 0 12px;border:0;background:var(--navy);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
#guide .g-pill svg{width:16px;height:16px;color:var(--gold)}
#guide.min{width:auto;border-radius:999px;border:0}
#guide.min .g-h,#guide.min .g-v,#guide.min .g-f{display:none}
#guide.min .g-pill{display:inline-flex}
#guide.big{width:min(420px,calc(100vw - 48px));right:50%;bottom:50%;transform:translate(50%,50%);z-index:420}
#guide.big .g-h{padding:8px 6px 8px 12px}
#guide.big .g-t b{font-size:13px}
#guide.big .g-v{max-height:calc(100vh - 140px)}
body.has-guide #toast{bottom:calc(18px + 420px)}
@media (max-width:900px){#guide{right:10px;bottom:10px;width:min(300px,calc(100vw - 20px))}#guide.big{width:min(420px,calc(100vw - 16px))}}
.setup-bar.guide-only{border-left-color:var(--navy)}
.setup-bar.guide-only .setup-n svg{width:15px;height:15px}

/* ---------- smooth video: no backdrop blur behind the welcome popup, and the players get their own layer ---------- */
.mbd.wel-bd{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(10,16,30,.6)}
.wel-vid-in,.wel-vid-in iframe,#guide .g-v,#guide .g-v iframe{transform:translateZ(0);backface-visibility:hidden;will-change:transform}
.wel-snd{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(10,16,30,.9)}
.wel-vid-in{box-shadow:none}
.mbox.wel-m{box-shadow:0 30px 70px -30px rgba(0,0,0,.5)}
/* while the guide is in the corner, the page gets room at the bottom so nothing stays hidden under the player */
body.has-guide #setMain{padding-bottom:460px}

/* ---------- typed confirmation: the name is shown as it is, and capitals do not matter ---------- */
.cf-typed .cf-name{font-size:15px;font-weight:800;color:var(--ink);margin:4px 0 8px;letter-spacing:0;text-transform:none}
.cf-typed .hint{min-height:18px;font-size:12px;color:var(--muted)}
.cf-typed .hint.ok{color:var(--success,#16a34a);font-weight:700}

/* ---------- last login (2026-10-26): green within 2 days, amber 3–6, red a week or more / never ---------- */
.ll-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none;background:#94a3b8}
.ll-dot.ok{background:#16a34a}.ll-dot.warn{background:#f59e0b}.ll-dot.bad{background:#dc2626}.ll-dot.none{background:#cbd5e1}
.ll-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent;vertical-align:middle;letter-spacing:0;text-transform:none}
.ll-pill.ok{background:#ecfdf3;color:#166534;border-color:#bbf7d0}
.ll-pill.warn{background:#fffbeb;color:#92400e;border-color:#fde68a}
.ll-pill.bad{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.ll-pill.none{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.ah h1 .ll-pill.ah-ll{font-size:12.5px;height:26px;margin-left:4px;font-family:var(--sans)}
#teamTbl td.c-login_days,#teamTbl th.c-login_days{white-space:nowrap}
/* the sidebar is dark: bold white text, the colour lives in the dot */
.ll-txt{font-style:normal;font-weight:800;color:#fff;display:inline;line-height:inherit}
.ll-txt::before{content:"";width:7px;height:7px;border-radius:50%;background:#94a3b8;display:inline-block;vertical-align:1px;margin-right:4px}
.ll-txt.ok::before{background:#22c55e}.ll-txt.warn::before{background:#fbbf24}.ll-txt.bad::before{background:#f87171}.ll-txt.none::before{background:#94a3b8}
.ll-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;text-align:left;padding:12px 16px;border-radius:12px;border:1px solid #fecaca;background:#fef2f2;color:#7f1d1d;font:inherit;font-size:13.5px;cursor:pointer}
.ll-alert b{color:#991b1b}
.ll-alert span:not(.ll-dot){color:#7f1d1d;flex:1;min-width:0}
.ll-alert em{font-style:normal;font-weight:700;font-size:12.5px;color:#991b1b;text-decoration:underline}
.ll-alert:hover{border-color:#fca5a5}

/* ---------- activity log ---------- */
.al-people{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 12px}
.al-k{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.al-p{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:12.5px;cursor:pointer;color:var(--body)}
.al-p b{color:var(--ink);font-weight:700}
.al-p span:last-child{color:var(--muted)}
.al-p:hover{border-color:var(--line2)}
.al-p.on{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy) inset}
.al-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.al-bar select.in{width:auto;min-width:200px;height:36px}
.al-bar input.in{flex:1;min-width:200px;max-width:380px;height:36px}
.al-showing{font-size:12.5px;color:var(--muted)}
.al-list{border-top:1px solid var(--hair)}
.al-day{position:sticky;top:0;z-index:1;background:#fff;padding:12px 2px 6px;font-size:12px;font-weight:800;color:var(--ink);border-bottom:1px solid var(--hair)}
.al-row{display:grid;grid-template-columns:70px 26px minmax(0,1fr);gap:10px;align-items:start;padding:9px 2px;border-bottom:1px solid var(--hair);font-size:13.5px;line-height:1.45}
.al-t{color:var(--muted);font-size:12px;padding-top:2px;white-space:nowrap}
.al-ic{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--soft2,#f1f4f9);color:var(--navy)}
.al-ic svg{width:13px;height:13px}
.al-row.k-signin .al-ic{background:#ecfdf3;color:#166534}
.al-row.k-leads .al-ic{background:#eff6ff;color:#1d4ed8}
.al-row.k-system .al-ic{background:#f5f3ff;color:#6d28d9}
.al-row.k-progress .al-ic{background:#fffbeb;color:#b45309}
.al-b{min-width:0;color:var(--body);overflow-wrap:anywhere}
.al-who{color:var(--ink);cursor:pointer}
.al-who:hover{text-decoration:underline}
.al-role{display:inline-block;margin-left:6px;padding:0 6px;border-radius:5px;background:var(--soft2,#f1f4f9);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);vertical-align:1px}
.al-txt b{color:var(--ink)}
.al-empty{padding:28px 8px;text-align:center;color:var(--muted)}
.al-more{display:flex;justify-content:center;padding:14px 0 2px}
@media (max-width:760px){.al-row{grid-template-columns:54px minmax(0,1fr)}.al-ic{display:none}.al-bar select.in,.al-bar input.in{flex:1 1 100%;max-width:none}}
/* the Last login column fits without pushing Calls off the edge on laptop screens */
@media (min-width:768px) and (max-width:1700px){#teamTbl th,#teamTbl td{padding-left:10px;padding-right:10px}#teamTbl .c-prog{min-width:136px}#teamTbl .c-prog .prog{min-width:0}#teamTbl .ll-pill{padding:0 8px;font-size:11.5px}}
/* phones: the last login sits beside the progress bar, under the stage */
@media (max-width:767px){
  #teamTbl tr{grid-template-areas:"a s g" "p l g"}
  #teamTbl td.c-login_days{grid-area:l;justify-self:end}
  #teamTbl .ll-pill{height:20px;font-size:11px;padding:0 7px}
}
.roster .t span .ll-txt{padding:0;margin:0;font-size:inherit;width:auto;height:auto;background:none;border:0}
