/* Platform layer: auth, onboarding, settings views. Builds on the console tokens in app.css. */
.banner.info{background:var(--info-soft);border-color:var(--info);color:var(--info)}
.linklike{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.btn.big{min-height:46px;padding:0 22px;font-size:1rem}
.hint{font-size:.8rem;color:var(--muted);margin:-4px 0 0}
.brand-row{display:flex;align-items:center;gap:10px;font-size:1.05rem}

/* auth */
.auth{min-height:100%}
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.auth-pitch{background:radial-gradient(1200px 600px at 110% -10%,#13505A 0%,transparent 60%),var(--side);color:#E6EEF6;padding:56px clamp(24px,5vw,72px);display:flex;flex-direction:column;justify-content:center;gap:22px}
.auth-pitch h2{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.35;max-width:18ch;color:#fff}
.pitch-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:46ch}
.pitch-list li{padding-inline-start:26px;position:relative;color:#C8D3E1;line-height:1.75}
.pitch-list li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:12px;height:12px;border-radius:4px;background:#3FB5BF}
.pitch-list b{color:#fff}
.pitch-foot{color:#93A3B8;font-size:.9rem;margin:0}
.auth-side{display:grid;place-items:center;padding:32px 20px;background:var(--bg)}
.auth-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:30px;display:grid;gap:12px;box-shadow:0 10px 30px #0F1B2A12}
.auth-card h1{font-size:1.45rem}
.auth-card p{margin:0}
.auth-alt{font-size:.88rem;color:var(--muted);text-align:center}
@media (max-width:860px){.auth-wrap{grid-template-columns:minmax(0,1fr)}.auth-pitch{padding:32px 20px;gap:14px}.auth-pitch h2{font-size:1.4rem}.pitch-list li:nth-child(n+3){display:none}}

/* onboarding */
.onboard{min-height:100vh;background:var(--bg)}
.ob-wrap{min-height:100vh;display:flex;flex-direction:column}
.ob-head{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:14px clamp(16px,4vw,40px);background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}
.ob-steps{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap}
.ob-steps li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.88rem;padding:4px 10px;border-radius:99px}
.ob-steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--idle-soft);font-size:.78rem;font-weight:700}
.ob-steps li.on{color:var(--ink);background:var(--accent-soft)}.ob-steps li.on span{background:var(--accent);color:var(--accent-ink)}
.ob-steps li.done span{background:var(--ok-soft);color:var(--ok)}
.ob-main{flex:1;display:grid;place-items:start center;padding:clamp(20px,5vw,56px) 16px}
.ob-card{width:min(760px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,4vw,36px);display:grid;gap:14px}
.ob-card h1{font-size:clamp(1.3rem,2.4vw,1.8rem)}
.ob-card p{margin:0}
.ob-sub{font-size:1.05rem;margin-top:8px}
.big-input{display:flex;gap:8px}
.big-input input{flex:1;min-width:0;min-height:52px;font-size:1.05rem;border:1.5px solid var(--line);border-radius:10px;padding:0 14px;background:var(--surface)}
.big-input input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.ob-actions{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.ob-live{background:var(--sunk);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;gap:8px}
.ob-progress{display:block}
.ob-steps-live{margin:8px 0 0;padding-inline-start:20px;color:var(--muted);font-size:.86rem;display:grid;gap:2px}
.ob-site a{font-weight:600}
.spin{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent);margin-inline-end:6px;animation:pulse 1.1s infinite;vertical-align:middle}
.okdot,.baddot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-inline-end:6px;vertical-align:middle}
.okdot{background:var(--ok)}.baddot{background:var(--bad)}
.connect-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.cp{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:6px;align-content:start;justify-items:start}
.cp .muted{font-size:.82rem}
@media (max-width:560px){.big-input{flex-direction:column}}

/* shell additions */
.org-box{display:grid;line-height:1.3;min-width:0}
.org-box b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.org-plan{font-size:.74rem;color:#93A3B8}
.org-sel{width:100%;min-height:34px;border-radius:8px;border:1px solid #ffffff22;background:#ffffff10;color:#fff;margin-bottom:8px;padding:0 8px}
.org-sel option{color:#000}
.me-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem}
.me-row .muted{color:#93A3B8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr}
.nav-more{margin-top:8px;border-top:1px solid #ffffff14;padding-top:6px}
.nav-more summary{cursor:pointer;color:#93A3B8;font-size:.82rem;padding:6px 10px;list-style:none}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::after{content:" ▾"}
.nav-more[open] summary::after{content:" ▴"}

/* connect / plan / meters */
.cx .pick{display:grid;gap:8px;margin-top:10px;background:var(--warn-soft);border-radius:8px;padding:10px}
.meters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.meter-top{display:flex;justify-content:space-between;font-size:.84rem;color:var(--muted);margin-bottom:4px}
.meter-bar{height:8px;border-radius:99px;background:var(--idle-soft);overflow:hidden}
.meter-bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.meter-bar i.hot{background:var(--warn)}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:10px;align-content:start}
.plan.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.plan .price b{font-size:1.6rem}
.plan ul{margin:0;padding-inline-start:18px;color:var(--muted);font-size:.88rem;display:grid;gap:2px}
.ownv{display:block;background:var(--sunk);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-family:var(--mono);font-size:.78rem;overflow-wrap:anywhere;width:100%}
.rng{display:grid;grid-template-columns:minmax(90px,160px) 1fr 48px;gap:10px;align-items:center;font-size:.86rem;padding:4px 0}
.rng-bar{position:relative;height:12px;background:var(--idle-soft);border-radius:99px}
.rng-bar i{position:absolute;top:0;bottom:0;background:var(--accent-soft);border-radius:99px}
.rng-bar b{position:absolute;top:-3px;width:4px;height:18px;margin-inline-start:-2px;background:var(--accent);border-radius:4px}
.sim-in{width:96px;min-height:34px}
.exps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.exp{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:12px 0;border-top:1px solid var(--line);align-items:start}
.exp:first-child{border-top:0}
.exp-n{color:var(--muted);font-weight:700}
.exp-main .muted{font-size:.82rem}
.exp-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:6px}
.exp-ice{display:grid;justify-items:end;gap:2px;font-size:.8rem}
.exp-ice b{font-size:1.15rem}
@media (max-width:560px){.exp{grid-template-columns:22px minmax(0,1fr)}.exp-ice{grid-column:2;justify-items:start;grid-auto-flow:column;align-items:center;gap:8px}}
@media (max-width:640px){
  .sim-t table,.sim-t tbody,.sim-t tr,.sim-t td{display:block;width:100%}
  .sim-t thead{display:none}
  .sim-t tr{border-top:1px solid var(--line);padding:8px 0}
  .sim-t td{display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;padding:4px 8px;text-align:start}
  .sim-t td::before{content:attr(data-l);color:var(--muted);font-size:.82rem}
  .sim-t .sim-in{width:110px}
}
.sess .sess-top{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}
.sess .actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.live-wrap{position:fixed;inset:0;background:#0F1B2Acc;z-index:60;display:grid;place-items:center;padding:12px}
.live{background:var(--surface);border-radius:14px;width:min(1100px,100%);max-height:100%;overflow:auto;padding:12px;display:grid;gap:10px}
.live-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.live-head .grow{flex:1}
.live-screen{position:relative;background:#000;border-radius:8px;overflow:hidden;min-height:200px;display:grid;place-items:center}
.live-screen img{display:block;width:100%;height:auto;cursor:pointer;outline:none}
.live-screen img:focus{box-shadow:0 0 0 3px var(--accent) inset}
.live-screen p{position:absolute;color:#fff}
.live-keys{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.live-keys input{flex:1;min-width:180px;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px}
@media (max-width:700px){.live-wrap{padding:0}.live{border-radius:0;height:100%;padding:8px}.live-screen{min-height:0}}
.sim-notes{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.sim-notes span{font-size:.78rem;padding:3px 10px;border-radius:99px;background:var(--info-soft);color:var(--info);cursor:help}
.sim-notes span.w{background:var(--warn-soft);color:var(--warn)}
