/* A broker's first day (11 Nov, Jordon's chosen mockups): the passkey card, setup one step a screen, the welcome tour over Home,
   Home's "Finish setting up" card and Tools on day one. Where KodoDesk speaks (the passkey card, setup, the tour) it is always
   KodoDesk's own navy and light blue in Outfit, whatever the office chose; inside the office (the card on Home, Tools) the
   office's own colours apply through the app's --navy. */
:root{--k-navy:#0b2f4a;--k-navy2:#11456a;--k-ink:#0f2233;--k-text:#3a4d5f;--k-muted:#6c7e90;--k-faint:#9aa9b7;--k-line:#e3e9ef;--k-line2:#eef2f6;--k-bg:#f6f9fb;
  --k-sky:#38b2d6;--k-sky2:#7fd3ea;--k-skybg:#eaf7fb;--k-skyline:#bfe6f2;--k-skyink:#0d6c8c;--k-red:#b42318;--k-shadow:0 1px 2px rgba(11,47,74,.06),0 8px 24px -8px rgba(11,47,74,.12)}
.k-i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}
.kx{font-family:Outfit,Inter,-apple-system,system-ui,sans-serif;color:var(--k-text);-webkit-font-smoothing:antialiased;line-height:1.5}
.kx b{font-weight:600;color:var(--k-ink)}
.kx a.kl,.kx .kl{color:var(--k-skyink);font-weight:500;cursor:pointer;text-decoration:none}.kx .kl:hover{text-decoration:underline}
.kb{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:8px;border:1px solid var(--k-line);background:#fff;color:var(--k-ink);font:500 14px/1 Outfit,Inter,sans-serif;white-space:nowrap;cursor:pointer;text-decoration:none}
.kb:hover{background:var(--k-bg)}.kb:disabled{opacity:.5;cursor:default}
.kb.pri{background:var(--k-navy);border-color:var(--k-navy);color:#fff;box-shadow:0 1px 2px rgba(11,47,74,.25),inset 0 1px 0 rgba(255,255,255,.08)}.kb.pri:hover{background:var(--k-navy2)}
.kb.ghost{border-color:transparent;background:none;color:var(--k-muted)}.kb.ghost:hover{background:var(--k-line2);color:var(--k-ink)}
.kb.sm{height:32px;padding:0 12px;font-size:13px;border-radius:7px}.kb.wide{width:100%}.kb.tall{height:44px}
.kb .k-i{width:16px;height:16px}
.k-tile{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:var(--k-skybg);color:var(--k-skyink)}
.k-tile .k-i{width:18px;height:18px}
.k-tick{flex:none;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--k-sky);color:#fff}
.k-tick .k-i{width:12px;height:12px;stroke-width:2.6}.k-tick.k-open{background:#fff;border:1.5px solid #cdd8e1}
.k-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:500;background:var(--k-line2);color:var(--k-text);white-space:nowrap}
.k-chip.sky{background:var(--k-skybg);color:var(--k-skyink)}.k-chip.navy{background:var(--k-navy);color:#fff}.k-chip .k-i{width:12px;height:12px;stroke-width:2.2}
.k-field{display:block}.k-field > span{display:block;font-size:12.5px;font-weight:500;color:var(--k-ink);margin-bottom:6px}
.k-in{width:100%;height:40px;border:1px solid #d6dfe7;border-radius:8px;background:#fff;padding:0 12px;font:400 14px Outfit,Inter,sans-serif;color:var(--k-ink);box-shadow:inset 0 1px 1px rgba(11,47,74,.03);outline:none}
.k-in:focus{border-color:var(--k-sky);box-shadow:0 0 0 3px rgba(56,178,214,.18)}.k-in::placeholder{color:var(--k-faint)}
.k-hint{font-size:12px;color:var(--k-muted);margin-top:6px}
.k-toggle{flex:none;width:38px;height:22px;border-radius:999px;background:#cdd8e1;position:relative;border:0;padding:0;cursor:pointer}
.k-toggle::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}
.k-toggle.on{background:var(--k-sky)}.k-toggle.on::after{left:19px}.k-toggle:disabled{opacity:.5;cursor:default}
.hc-mono{flex:none;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(140deg,var(--k-navy),var(--k-navy2));color:#fff;font:600 15px Outfit,Inter,sans-serif;letter-spacing:.02em;box-shadow:inset 0 -3px 0 var(--k-sky);overflow:hidden}

/* A person's picture anywhere in the app: a floor character, their initials or their photo. */
.pav{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;overflow:hidden;background:var(--k-line2)}
.pav img{width:100%;height:100%;object-fit:cover;display:block}
.pav.ini{background:linear-gradient(140deg,var(--k-navy),var(--k-navy2));color:#fff;font:600 11px Outfit,Inter,sans-serif;letter-spacing:.02em;box-shadow:inset 0 -2px 0 var(--k-sky)}
.pav.lg{width:40px;height:40px;border-radius:10px}.pav.lg.ini{font-size:14px}

/* The office's passkey card (the second half of mockup 2A, on the office's own address). */
.kpk{min-height:100vh;background:var(--k-bg);display:flex;flex-direction:column;align-items:center;padding:56px 20px}
.kpk .lg{height:20px;margin-bottom:34px}
.kpk .panel{width:100%;max-width:460px;background:#fff;border:1px solid var(--k-line);border-radius:16px;box-shadow:var(--k-shadow);padding:32px}
.kpk h1{text-align:center;font-size:20px;font-weight:600;color:var(--k-ink);letter-spacing:-.015em;margin:0}
.kpk .lead{text-align:center;color:var(--k-muted);margin:6px 0 22px;font-size:13.5px}
.kpk .pk{border-top:1px solid var(--k-line2);padding-top:22px}
.kpk .addr{display:flex;align-items:center;gap:10px;justify-content:center;font-size:13px;color:var(--k-ink);background:var(--k-skybg);border-radius:8px;padding:9px 12px;margin:0 0 18px;overflow-wrap:anywhere}
.kpk .addr .k-i{width:15px;height:15px;color:var(--k-skyink)}
.kpk .why{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.kpk .why div{text-align:center;font-size:11.5px;color:var(--k-muted);line-height:1.35}
.kpk .why .k-tile{margin:0 auto 6px;width:32px;height:32px}.kpk .why .k-tile .k-i{width:16px;height:16px}
.kpk .msg{font-size:12.5px;color:var(--k-red);text-align:center;margin:14px 0 0;min-height:0}.kpk .msg:empty{display:none}.kpk .msg.calm{color:var(--k-muted)}
.kpk .after{font-size:12.5px;color:var(--k-muted);text-align:center;margin-top:18px;max-width:460px}

/* Setup: one screen per step, a slim bar that always counts the same. */
.ob2{min-height:100vh;background:var(--k-bg);display:flex;flex-direction:column}
.ob2-top{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid var(--k-line);flex:none}
.ob2-top img{height:18px;display:block}.ob2-top .st{font-size:12px;color:var(--k-muted)}
.ob2-prog{padding:16px 28px 0;background:#fff;border-bottom:1px solid var(--k-line);flex:none}
.ob2-prog .segs,.ob2-prog .lbl{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:5px;max-width:960px;margin:0 auto}
.ob2-prog .segs i{height:4px;border-radius:4px;background:#e1e8ee;display:block}
.ob2-prog .segs i.d{background:var(--k-navy)}.ob2-prog .segs i.n{background:var(--k-sky)}
.ob2-prog .lbl{padding:7px 0 12px}
.ob2-prog .lbl span{font-size:11px;color:var(--k-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ob2-prog .lbl span.d{color:var(--k-navy)}.ob2-prog .lbl span.n{color:var(--k-skyink);font-weight:600}
.ob2-main{flex:1;padding:34px 20px 28px;display:flex;justify-content:center}
.ob2-in{width:100%;max-width:520px}
.ob2 h1{font-size:21px;font-weight:600;color:var(--k-ink);letter-spacing:-.015em;margin:0}
.ob2 .lead{color:var(--k-muted);margin:6px 0 22px;font-size:13.5px}
.ob2-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-top:1px solid var(--k-line);background:#fff;flex:none;position:sticky;bottom:0}
.ob2-foot .r{display:flex;gap:8px;align-items:center}.ob2-foot .why{font-size:12px;color:var(--k-muted);margin-right:6px}
.kpane{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:20px}
.kpane + .kpane{margin-top:12px}
.kpane-t{font-size:14px;margin:0}.kpane-d{font-size:12.5px;color:var(--k-muted);margin:2px 0 12px}
/* Office: the name, then the look */
.klooks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.klk{border:1px solid var(--k-line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit}
.klk:hover{border-color:#cfd9e2}.klk.on{border-color:var(--k-sky);box-shadow:0 0 0 3px rgba(56,178,214,.18)}
.klk-h{display:flex;align-items:center;gap:8px;font-size:13px}
.kradio{flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid #c5d1dc;background:#fff}.kradio.on{border:5px solid var(--k-navy)}
.ksw{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ksw > *{flex:none;margin:0!important;box-sizing:border-box;min-height:0;min-width:0}
.ksw i,.ksw button{width:22px;height:22px;border-radius:6px;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);border:0;padding:0;cursor:pointer}
.ksw button.on{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--k-sky)}
.ksw label.kmore{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--k-line2);color:var(--k-muted);font-size:14px;cursor:pointer;position:relative;overflow:hidden}
.ksw label.kmore input{position:absolute;inset:0;opacity:0;cursor:pointer}
.kown{display:flex;gap:10px;align-items:center}
.kldrop{flex:none;width:48px;height:48px;border-radius:10px;border:1.5px dashed #c8d4de;display:flex;align-items:center;justify-content:center;background:var(--k-bg);overflow:hidden;cursor:pointer;color:var(--k-skyink)}
.kldrop img{max-width:40px;max-height:40px;object-fit:contain;display:block}.kldrop .k-i{width:18px;height:18px}
.kprevs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.kprev{border:1px solid var(--k-line2);border-radius:10px;overflow:hidden;background:#fff}
.kprev .kph{height:46px;background:linear-gradient(120deg,#0b2f4a,#1b6a8f 60%,#7fd3ea);display:flex;align-items:center;padding:0 12px;gap:10px;color:#fff;font-size:13px;font-weight:500;min-width:0}
.kprev .kph span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kprev .kph img{height:24px;max-width:60px;object-fit:contain;flex:none;background:#fff;border-radius:5px;padding:2px}
.kprev .kph .klogo{height:12px;filter:brightness(0) invert(1);background:none;padding:0;max-width:80px}
.kprev .kpb{padding:9px 12px;font-size:12px;color:var(--k-muted)}
/* You: the picture */
.kav-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.kav{aspect-ratio:1;border-radius:12px;background:#fff;border:1px solid var(--k-line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:0;cursor:pointer}
.kav img{width:84%;height:84%;object-fit:cover;border-radius:9px;display:block}
.kav:hover{border-color:#cfd9e2}.kav.on{border-color:var(--k-sky);box-shadow:0 0 0 3px rgba(56,178,214,.25)}
.kav.on .k-tick{position:absolute;top:5px;right:5px;width:18px;height:18px}
.kav-more{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.kavo{display:flex;align-items:center;gap:12px;border:1px solid var(--k-line);border-radius:12px;padding:10px 12px;background:#fff;font:inherit;font-size:13px;color:inherit;text-align:left;cursor:pointer;position:relative}
.kavo:hover{border-color:#cfd9e2}.kavo.on{border-color:var(--k-sky);box-shadow:0 0 0 3px rgba(56,178,214,.25)}
.kavo .hc-mono{width:44px;height:44px}
.kavo .kup{flex:none;width:44px;height:44px;border-radius:10px;background:var(--k-bg);color:var(--k-skyink);border:1.5px dashed #c8d4de;display:flex;align-items:center;justify-content:center;overflow:hidden}
.kavo .kup img{width:100%;height:100%;object-fit:cover}
.kavo input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.kme-row{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--k-line2)}
/* Email */
.kprov{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kpv{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;font:inherit;color:inherit}
.kpv .kic{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.kpv .kic svg{display:block}
.kpv b{font-size:14px}.kpv small{font-size:12px;color:var(--k-muted)}
.kpv.done{border-color:var(--k-skyline);background:linear-gradient(180deg,#f3fbfe,#fff)}
.kpv .kok{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--k-skyink);font-weight:500;margin-top:6px;overflow-wrap:anywhere}
.kpv .kok .k-i{width:13px;height:13px;stroke-width:2.6}
.kpv .kb{margin-top:10px}
.kadmin{font-size:12px;color:var(--k-muted);margin:12px 0 0;text-align:center}
.ksendrow{display:flex;align-items:center;gap:14px}
.ksendrow .ktx{flex:1;min-width:0}.ksendrow .ktx b{font-size:14px}.ksendrow .ktx div{font-size:12.5px;color:var(--k-muted)}
.ksafe{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--k-muted);margin-top:14px;justify-content:center;text-align:center}
.ksafe .k-i{width:14px;height:14px;color:var(--k-skyink)}
/* Clients and charters, yachts */
.kdrop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:26px 18px;border:1.5px dashed #c8d4de;border-radius:12px;background:#fff;cursor:pointer}
.kdrop.over{border-color:var(--k-sky);background:var(--k-skybg)}.kdrop .k-tile{width:44px;height:44px;margin-bottom:4px}
.kdrop b{font-size:14px}.kdrop .or{font-size:12.5px;color:var(--k-muted)}
.ksrcs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.ksrc{display:flex;align-items:center;gap:7px;height:30px;padding:0 11px 0 6px;border:1px solid var(--k-line);border-radius:8px;background:#fff;font-size:12.5px;color:var(--k-ink);font-weight:500}
.ksrc i{width:20px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:10px;font-weight:700;color:#fff}
.kfile{display:flex;align-items:center;gap:12px}.kfile .k-tile{width:38px;height:38px}
.kfile .knm{font-weight:600;color:var(--k-ink);font-size:13.5px;overflow-wrap:anywhere}.kfile .kds{font-size:12px;color:var(--k-muted)}.kfile .kb{margin-left:auto}
.kfound{margin-top:16px;padding-top:16px;border-top:1px solid var(--k-line2)}
.kfound h2{font-size:12.5px;font-weight:600;color:var(--k-ink);margin:0 0 10px;display:flex;align-items:center;gap:8px;justify-content:flex-start;text-transform:none;letter-spacing:0}
.kmaps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kmp{display:flex;align-items:center;gap:8px;border:1px solid var(--k-line2);background:var(--k-bg);border-radius:8px;padding:8px 10px;font-size:12.5px;min-width:0}
.kmp .k-tick{width:16px;height:16px}.kmp .k-tick .k-i{width:10px;height:10px}
.kmp b{font-weight:600;white-space:nowrap}.kmp em{font-style:normal;margin-left:auto;color:var(--k-muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.kmp.miss{background:#fff;border-style:dashed}.kmp select{margin-left:auto;max-width:58%;border:1px solid var(--k-line);border-radius:6px;font:inherit;font-size:12px;padding:3px 4px;background:#fff;min-width:0}
.kmore{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;color:var(--k-skyink);font-weight:500;cursor:pointer;background:none;border:0;padding:0;font-family:inherit}
.kmore .k-i{width:14px;height:14px;transition:transform .15s}.kmore.open .k-i{transform:rotate(180deg)}
.kallmap{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:10px}
.kallmap label{display:grid;gap:4px;font-size:11.5px;font-weight:500;color:var(--k-muted)}
.kallmap select,.kasks select{border:1px solid var(--k-line);border-radius:7px;font:inherit;font-size:12.5px;padding:6px 8px;background:#fff;color:var(--k-ink);width:100%}
.kasks{display:grid;gap:10px;margin-top:14px}.kasks label{display:grid;gap:4px;font-size:12px;font-weight:500;color:var(--k-ink)}
.kcounts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.kcnt{border-radius:10px;background:var(--k-skybg);padding:12px 14px}
.kcnt b{font-size:20px;font-weight:600;color:var(--k-navy);letter-spacing:-.01em;display:block;line-height:1.2}.kcnt span{font-size:12px;color:var(--k-skyink)}
.kerr{color:var(--k-red);font-size:12.5px;margin-top:8px}
.kdone{display:flex;align-items:center;gap:12px}.kdone .ktx{flex:1;min-width:0}.kdone b{font-size:14px}.kdone div div{font-size:12.5px;color:var(--k-muted)}
.kyopt{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kyo{background:#fff;border:1px solid var(--k-line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.kyo .k-tile{margin-bottom:6px}.kyo b{font-size:14px}.kyo .d{font-size:12.5px;color:var(--k-muted);flex:1}
.kyo .k-in{height:36px;font-size:13px}.kyo .kb{margin-top:6px}.kyo form{display:grid;gap:8px;margin-top:4px}
.kyo.kdrop{align-items:flex-start;text-align:left;border-style:solid;cursor:pointer;padding:18px}
.kyrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--k-line2)}
.kyrow:first-child{border-top:0;padding-top:0}.kyrow:last-child{padding-bottom:0}
.kyrow .kpic{flex:none;width:52px;height:38px;border-radius:7px;background:linear-gradient(160deg,#cfeef8,#5bbfdc 55%,#0e5878);display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}
.kyrow .kpic img{width:100%;height:100%;object-fit:cover}.kyrow .kpic .k-i{width:20px;height:20px;stroke-width:1.6}
.kyrow .knm{font-size:13.5px;font-weight:600;color:var(--k-ink)}.kyrow .kds{font-size:12px;color:var(--k-muted)}
.kyrow > div{min-width:0}.kyrow .k-chip{margin-left:auto}
.kymore{font-size:12px;color:var(--k-muted);padding-top:10px;border-top:1px solid var(--k-line2)}
/* Team */
.kseat-f{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.kseat-f .k-in{height:38px}.kseat-f .kb{height:38px}
.kperson{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--k-line2)}
.kperson:first-child{border-top:0;padding-top:0}.kperson:last-child{padding-bottom:0}
.kperson .knm{font-size:13.5px;font-weight:600;color:var(--k-ink)}.kperson .kds{font-size:12px;color:var(--k-muted);overflow-wrap:anywhere}
.kperson > div{min-width:0}.kperson .k-chip{margin-left:auto}
/* Done */
.kdone-hero{text-align:center}
.kdone-hero .kbig{width:64px;height:64px;border-radius:50%;margin:6px auto 16px;background:linear-gradient(140deg,var(--k-navy),var(--k-sky));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -10px rgba(13,108,140,.6)}
.kdone-hero .kbig .k-i{width:28px;height:28px;stroke-width:2.4}
.kdone-list{list-style:none;margin:0;padding:0}
.kdone-list li{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--k-line2);font-size:13.5px;color:var(--k-ink)}
.kdone-list li:first-child{border-top:0;padding-top:0}.kdone-list li:last-child{padding-bottom:0}
.kdone-list li em{margin-left:auto;font-style:normal;font-size:12.5px;color:var(--k-muted);text-align:right;overflow-wrap:anywhere;min-width:0}
.kdone-list li.no{color:var(--k-muted)}
@media (max-width:640px){
  .ob2-top,.ob2-prog,.ob2-foot{padding-left:16px;padding-right:16px}
  .ob2-prog .lbl span{font-size:0}.ob2-prog .lbl span.n{font-size:11px;overflow:visible}
  .kav-grid{grid-template-columns:repeat(4,1fr)}.klooks,.kprevs,.kprov,.kyopt,.kav-more,.kmaps,.kallmap,.kseat-f{grid-template-columns:1fr}
  .ob2-foot .why{display:none}
}

/* The welcome tour over Home: the page dimmed but for one part, and a small card beside it. */
.tour-dim{position:fixed;inset:0;z-index:900;background:transparent}
.tour-hole{position:fixed;z-index:901;border-radius:12px;box-shadow:0 0 0 3px var(--k-sky2),0 0 0 9999px rgba(7,25,40,.58);pointer-events:none;transition:all .25s ease}
.tour-pop{position:fixed;z-index:902;width:300px;background:#fff;border-radius:12px;box-shadow:0 18px 40px -10px rgba(0,0,0,.35);padding:16px 18px 14px}
.tour-pop .arw{position:absolute;width:12px;height:12px;background:#fff;transform:rotate(45deg)}
.tour-pop .eb{font-size:11px;font-weight:600;color:var(--k-skyink);letter-spacing:.03em;text-transform:uppercase}
.tour-pop h2{font-size:15px;font-weight:600;color:var(--k-ink);margin:2px 0 4px;display:block}
.tour-pop p{font-size:12.5px;color:var(--k-text);line-height:1.5;margin:0}
.tour-pop .ft{display:flex;align-items:center;gap:8px;margin-top:14px}
.tour-pop .dots{display:flex;gap:4px;margin-right:auto}
.tour-pop .dots i{width:6px;height:6px;border-radius:50%;background:#d6dfe7;display:block}.tour-pop .dots i.on{background:var(--k-navy);width:16px;border-radius:4px}
.tour-wel{position:fixed;inset:0;z-index:903;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(7,25,40,.58)}
.tour-wel .card2{width:420px;max-width:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.tour-wel .hd{height:120px;background:linear-gradient(140deg,#0b2f4a,#11456a 55%,#2a8fb4);display:flex;align-items:center;justify-content:center}
.tour-wel .hd .pav{width:64px;height:64px;border-radius:14px;box-shadow:0 0 0 3px rgba(255,255,255,.9)}.tour-wel .hd .pav.ini{font-size:22px}
.tour-wel .bd{padding:22px 24px}
.tour-wel h2{font-size:18px;font-weight:600;color:var(--k-ink);margin:0;display:block}
.tour-wel p{color:var(--k-muted);font-size:13px;margin:4px 0 16px}
.tour-wel .ft{display:flex;gap:8px;justify-content:flex-end}

/* Home's "Finish setting up" card, at the top of the right-hand column. */
.kfin{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0 4px}
.kfin-h{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.kfin-h b{font-size:14px;display:block;color:var(--ink)}.kfin-h span{font-size:12px;color:var(--ink3)}
.kringw{flex:none;position:relative;width:46px;height:46px}
.kringw > svg{display:block;transform:rotate(-90deg)}
.kringw > b{position:absolute;inset:0;display:flex!important;align-items:center;justify-content:center;font-size:12px!important;font-weight:600;color:var(--k-navy)}
.kringw > b .k-i{width:14px;height:14px;stroke-width:2.6;color:var(--k-skyink)}
.kfl{list-style:none;margin:0;padding:0}
.kfl li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.kfl li:first-child{border-top:0}.kfl li:last-child{padding-bottom:0}
.kfl li .ktx{flex:1;min-width:0}.kfl li .ktx b{font-size:12.5px;display:block;line-height:1.3;color:var(--ink)}.kfl li .ktx span{font-size:11.5px;color:var(--ink3);display:block}
.kfl li.kok .ktx b{color:var(--ink3);font-weight:500;text-decoration:line-through;text-decoration-color:#c7d2db}
.kfin-fold{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0 4px}
.kfin-fold .kringw{width:36px;height:36px}
.kfin-fold b{font-size:13px;display:block;color:var(--ink)}.kfin-fold span{font-size:12px;color:var(--ink3)}.kfin-fold .link{margin-left:auto;font-size:12px}

/* Tools on day one: what works now, then what unlocks as you go. */
.ktg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:18px}
.tcd{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px;min-height:168px;text-align:left;font:inherit;color:inherit;cursor:pointer}
.tcd:hover{border-color:#cbd5e1;box-shadow:0 4px 14px -8px rgba(11,47,74,.25)}
.tcd .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}
.tcd .t-tile{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:var(--aqua);color:var(--navy)}
.tcd .t-tile .ico{width:18px;height:18px;margin:0}
.tcd b{font-size:14px;color:var(--ink)}.tcd .ln{font-size:12px;color:var(--blue);font-weight:600}
.tcd p{font-size:12.5px;color:var(--ink2);line-height:1.45;flex:1;margin:2px 0 0}
.tcd .go{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--navy);font-weight:600;margin-top:8px}.tcd .go .ico{width:14px;height:14px}
.tcd.off{background:#fbfcfd;border-style:dashed;border-color:#d8e1e8;cursor:default;box-shadow:none}
.tcd.off b{color:var(--ink3)}.tcd.off .ln{color:var(--ink3);font-weight:500}.tcd.off p{color:var(--ink3);flex:none}.tcd.off .t-tile{background:#eef2f6;color:var(--ink3)}
.tcd .unl{display:flex;gap:8px;align-items:flex-start;margin-top:auto;padding:9px 10px;border-radius:8px;background:#eef2f6;font-size:12px;color:var(--ink2);line-height:1.4}
.tcd.off .p-gap{height:10px;flex:none}
.tcd .unl .ico{width:14px;height:14px;margin-top:1px;color:var(--ink3)}.tcd .unl a{display:block;margin-top:2px;font-size:12px}
.tools-h4{font-size:11px;font-weight:700;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;margin:30px 0 0;display:flex;align-items:center;gap:10px}
.tools-h4::after{content:"";flex:1;height:1px;background:var(--line)}

/* Home under the floor (11 Nov): what needs an answer and what is coming, two cards side by side. */
.hcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;align-items:start}
.home.onfloor .hcards{padding:0 16px}
.hcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 14px 6px;min-width:0}
.hcard h2{display:flex;align-items:center;gap:8px;font-size:13.5px;margin:0 0 8px}
.hcard h2 .t-tile{flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--aqua);color:var(--navy)}
.hcard h2 .t-tile .ico{width:15px;height:15px}
.hcard h2 .link{margin-left:auto;font-weight:600}
.hcard .hc-empty{margin:2px 0 10px}
@media (max-width:1100px){.hcards{grid-template-columns:minmax(0,1fr)}}
.tcd .unl a.link{color:var(--k-skyink)}
