/* Shared shell for the signed-OUT pages (sign in, create account).
   Same design system as the portal itself: light by default, Inter, the same
   tokens — so the front door and the inside of the app look like one product
   rather than two. The dark Master Hub look is Samuel's cockpit, not theirs. */
:root{
  --bg:#F0F2F5; --surface:#FFFFFF; --raised:#F7F8FA;
  --line:#DCE0E6; --line2:#E9EBEF;
  --txt:#1C1E21; --sub:#606770; --dim:#8A8D91;
  --blue:#0A66C2; --blue-ink:#0A66C2; --blue-soft:#E7F0FA;
  --green:#0A7C42; --green-soft:#E6F4EC;
  --amber:#B25E02; --amber-soft:#FDF1E3;
  --red:#C0392B; --red-soft:#FDECEA;
  --shadow:0 1px 2px rgba(0,0,0,.08);
  --radius:10px;
}
html[data-theme="dark"]{
  --bg:#18191A; --surface:#242526; --raised:#2C2D2E;
  --line:#3A3B3C; --line2:#323334;
  --txt:#E4E6EB; --sub:#B0B3B8; --dim:#8A8D91;
  --blue:#4A9EFF; --blue-ink:#4A9EFF; --blue-soft:#1C3049;
  --green:#4ADE80; --green-soft:#153024;
  --amber:#FBBF24; --amber-soft:#3A2E12;
  --red:#FF7B72; --red-soft:#3B1D1B;
  --shadow:0 1px 2px rgba(0,0,0,.4);
}
*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--bg)}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--txt);
  font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;padding:34px 20px 60px}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
button{font-family:inherit}

.top{width:100%;max-width:460px;display:flex;align-items:center;gap:11px;margin-bottom:22px}
.blogo{width:38px;height:38px;border-radius:10px;background:var(--blue);color:#fff;display:flex;
  align-items:center;justify-content:center;font-weight:700;font-size:15px;flex:none}
.bname{font-weight:700;font-size:16px;line-height:1.25}
.bsub{font-size:12.5px;color:var(--dim)}
.themebtn{margin-left:auto;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:var(--surface);color:var(--sub);cursor:pointer;display:flex;align-items:center;justify-content:center}
.themebtn:hover{background:var(--raised);color:var(--txt)}
.themebtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}

.card{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:30px 28px 26px;box-shadow:var(--shadow)}
h1{font-size:24px;font-weight:700;line-height:1.25;margin-bottom:8px}
.lede{font-size:14.5px;color:var(--sub);line-height:1.7;margin-bottom:22px}
.lede b{color:var(--txt);font-weight:600}
label{display:block;font-size:12px;font-weight:700;color:var(--dim);text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:6px}
input.ip{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--txt);
  font-family:inherit;font-size:14.5px;padding:11px 13px;outline:none;margin-bottom:16px}
input.ip:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
input.ip::placeholder{color:var(--dim)}
.code{text-align:center;font-size:26px;letter-spacing:.34em;font-weight:700;padding:14px 13px}
.btn{width:100%;background:var(--blue);color:#fff;border:none;border-radius:8px;padding:13px 18px;
  font-size:14.5px;font-weight:600;cursor:pointer;display:block;text-align:center;text-decoration:none}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn:disabled{opacity:.55;cursor:wait}
.btn.sec{background:var(--raised);color:var(--txt);border:1px solid var(--line);margin-top:10px}
.btn.sec:hover{background:var(--line2);filter:none}
.flash{padding:12px 14px;border-radius:8px;font-size:14px;margin-bottom:16px;display:none}
.flash.err{display:block;background:var(--red-soft);color:var(--red)}
.flash.ok{display:block;background:var(--green-soft);color:var(--green)}
.foot{width:100%;max-width:460px;text-align:center;font-size:13px;color:var(--dim);
  margin-top:18px;line-height:1.8}
.alt{text-align:center;font-size:14px;color:var(--sub);margin-top:20px;padding-top:18px;
  border-top:1px solid var(--line2)}
.alt a{font-weight:600}

.gbtn{display:none;width:100%;align-items:center;justify-content:center;gap:10px;background:var(--surface);
  color:var(--txt);border:1px solid var(--line);border-radius:8px;font-weight:600;font-size:14.5px;
  padding:12px;margin-bottom:16px;cursor:pointer;text-decoration:none}
.gbtn:hover{background:var(--raised);text-decoration:none}
.gbtn svg{width:18px;height:18px;flex:none}
.or{display:none;align-items:center;gap:12px;margin:0 0 16px;color:var(--dim);font-size:11.5px;font-weight:600}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line2)}
.on{display:flex}

/* what the hub runs for them — the automations behind the portal */
.apps{width:100%;max-width:460px;margin-top:22px}
.apps .at{font-size:12px;font-weight:700;color:var(--dim);text-transform:uppercase;
  letter-spacing:.06em;text-align:center;margin-bottom:12px}
.appgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}
.app{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 8px;
  text-align:center}
.app .ai{width:34px;height:34px;border-radius:9px;background:var(--raised);
  display:flex;align-items:center;justify-content:center;margin:0 auto 7px;overflow:hidden}
.app .ai img{width:22px;height:22px;object-fit:contain;display:block}
html[data-theme="dark"] .app .ai{background:#fff}
.app .al{font-size:11.5px;font-weight:600;color:var(--sub);line-height:1.35}

.bar{display:flex;gap:5px;width:100%;max-width:460px;margin-bottom:14px}
.bar i{height:3px;flex:1;border-radius:9px;background:var(--line)}
.bar i.on{background:var(--blue);display:block}
.pick{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.p{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1.5px solid var(--line);
  border-radius:10px;cursor:pointer;background:var(--surface);font-size:14.5px;font-weight:500;line-height:1.45}
.p:hover{border-color:var(--blue);background:var(--raised)}
.p.sel{border-color:var(--blue);background:var(--blue-soft);font-weight:600}
.p .bx{width:20px;height:20px;border-radius:6px;border:2px solid var(--line);flex:none;position:relative}
.p.sel .bx{border-color:var(--blue);background:var(--blue)}
.p.sel .bx::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.hint{font-size:13px;color:var(--dim);line-height:1.65;margin:-8px 0 16px}
@media(max-width:520px){ body{padding:22px 14px 50px} .card{padding:24px 20px 22px} }
