/* Match the workspace charcoal / copper tokens in src/model/theme.css.
   Public pages cannot load the authenticated workspace stylesheet. */
:root {
  color-scheme:dark;
  --oe-bg:#141920;
  --oe-surface:#1c222b;
  --oe-surface-raised:#242d39;
  --oe-surface-hover:#2d3745;
  --oe-text:#edeff3;
  --oe-muted:#abb5c5;
  --oe-border:#38414d;
  --oe-border-strong:#495462;
  --oe-accent:#efb38d;
  --oe-accent-hover:#f6c5a6;
  --oe-accent-text:#241c17;
  --oe-accent-soft:#352e29;
  --oe-warning:#efcc87;
  --oe-warning-soft:#3a3222;
  --oe-danger:#f2a39b;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--oe-text);
  background:var(--oe-bg);
  font-synthesis:none;
  line-height:1.5;
}
*{box-sizing:border-box;scrollbar-color:var(--oe-border-strong) transparent}
body{margin:0;min-height:100dvh;display:flex;flex-direction:column;font-size:14px}
::selection{background:var(--oe-accent);color:var(--oe-accent-text)}
a{color:var(--oe-accent);text-underline-offset:3px}
a:hover{color:var(--oe-accent-hover)}
.site-header{border-bottom:1px solid var(--oe-border);background:var(--oe-surface)}
.header-inner{max-width:1200px;min-height:72px;margin:auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{display:inline-flex;align-items:center;gap:16px;text-decoration:none;color:var(--oe-text)}
.brand-mark{font-size:25px;font-weight:750;letter-spacing:-1.5px;color:var(--oe-accent)}
.brand-name{font-weight:600;font-size:14px;padding-left:16px;border-left:1px solid var(--oe-border-strong)}
.pilot-label{font-size:12px;color:var(--oe-muted)}
main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:48px 40px 64px}
#content:focus{outline:none}
h1{font-size:34px;font-weight:650;letter-spacing:-.8px;line-height:1.2;margin:0 0 16px}
h2{font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0 0 12px}
p{max-width:65ch;margin:0 0 16px;line-height:1.7}
.muted,small{color:var(--oe-muted)}
small{display:block;font-size:12px;line-height:1.6}
.card{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:9px;padding:28px;margin:24px 0}
.narrow{max-width:510px}
label{display:block;margin:20px 0 8px;font-weight:550;font-size:13px}
input,select,textarea{font:inherit;border:1px solid var(--oe-border-strong);border-radius:5px;padding:11px 12px;width:100%;min-height:44px;background:var(--oe-bg);color:var(--oe-text);accent-color:var(--oe-accent)}
input::placeholder,textarea::placeholder{color:var(--oe-muted);opacity:.75}
input:autofill{box-shadow:0 0 0 1000px var(--oe-bg) inset;-webkit-text-fill-color:var(--oe-text)}
textarea{min-height:96px;resize:vertical}
button,.button{display:inline-block;font:inherit;font-weight:600;border:1px solid var(--oe-accent);border-radius:5px;background:var(--oe-accent);color:var(--oe-accent-text);padding:10px 17px;min-height:42px;cursor:pointer;text-decoration:none;margin:16px 8px 0 0;text-align:center}
button:hover,.button:hover{background:var(--oe-accent-hover);border-color:var(--oe-accent-hover);color:var(--oe-accent-text)}
button.secondary,.button.secondary{background:var(--oe-surface-raised);color:var(--oe-text);border-color:var(--oe-border-strong)}
button.secondary:hover,.button.secondary:hover{background:var(--oe-surface-hover)}
button.danger{background:transparent;color:var(--oe-danger);border-color:var(--oe-border-strong)}
button.danger:hover{background:#3e282a;border-color:var(--oe-danger)}
button:disabled{opacity:.5;cursor:wait}
:focus-visible{outline:2px solid var(--oe-accent);outline-offset:3px}
.skip-link{position:absolute;left:16px;top:-100px;z-index:5;padding:10px 16px;border-radius:5px;background:var(--oe-accent);color:var(--oe-accent-text)}
.skip-link:focus{top:12px}
#notice:not(:empty){border:1px solid var(--oe-warning);background:var(--oe-warning-soft);color:var(--oe-warning);padding:14px 18px;border-radius:6px;margin:0 0 24px;overflow-wrap:anywhere}
.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:center;gap:clamp(40px,7vw,100px);padding:clamp(32px,7vh,80px) 0}
.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:650;color:var(--oe-accent);margin-bottom:24px}
.login-intro h1{font-size:clamp(38px,4.3vw,56px);line-height:1.12;letter-spacing:-1.8px;margin-bottom:24px}
.login-description{font-size:16px;color:var(--oe-muted);line-height:1.8;max-width:40ch}
.workspace-notes{margin:36px 0 0;padding-top:24px;border-top:1px solid var(--oe-border);display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:460px}
.workspace-notes dt{font-size:13px;font-weight:600;margin:0 0 7px}
.workspace-notes dd{margin:0;font-size:12px;line-height:1.7;color:var(--oe-muted)}
.login-card{margin:0;width:100%;padding:32px}
.login-card h2{font-size:22px;margin-bottom:8px}
.login-card>p{font-size:13px;color:var(--oe-muted);margin-bottom:26px}
.login-card button{width:100%;margin:24px 0 0;min-height:44px}
.login-card .invitation-help{border-top:1px solid var(--oe-border);margin:28px 0 0;padding-top:22px;font-size:12px;line-height:1.8}
.login-card .invitation-help strong{display:block;color:var(--oe-text);font-weight:550;margin-bottom:4px}
.login-access-note{font-size:12px;color:var(--oe-muted);margin:16px 4px 0;line-height:1.7}
table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
th,td{padding:14px 10px;border-bottom:1px solid var(--oe-border);vertical-align:top}
th{font-size:12px;color:var(--oe-muted);font-weight:550}
td button{font-size:12px;margin:0 6px 6px 0;padding:6px 10px;min-height:34px}
.table-wrap{overflow-x:auto;margin:24px 0}
.row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.row h1{flex:1;margin:0}
.row button{margin:0}
.badge{display:inline-block;background:var(--oe-accent-soft);color:var(--oe-accent);border-radius:4px;padding:3px 8px;font-size:12px;margin-left:6px}
code,pre{background:var(--oe-bg);border:1px solid var(--oe-border);border-radius:5px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
pre{white-space:pre-wrap;padding:16px}
.device-code{font-size:24px;letter-spacing:.14em;color:var(--oe-accent)}
.qr{width:240px;height:240px;max-width:100%;object-fit:contain;background:white;border-radius:6px}
details{margin:24px 0}
summary{cursor:pointer;font-weight:550}
details ul{padding-left:20px;font-size:13px;color:var(--oe-muted);line-height:1.8}
footer{max-width:1120px;width:calc(100% - 80px);margin:0 auto;border-top:1px solid var(--oe-border);display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-size:12px;color:var(--oe-muted)}
@media(max-width:800px){.login-layout{grid-template-columns:1fr;gap:24px;padding:8px 0;max-width:510px;margin:auto}.login-intro h1{font-size:42px}.login-intro .eyebrow{margin-bottom:16px}.workspace-notes{display:none}}
@media(max-width:520px){.header-inner{min-height:64px;padding:0 20px;gap:12px}.brand{gap:12px}.brand-name{padding-left:12px;font-size:13px}.pilot-label{font-size:11px}main{padding:32px 20px 40px}h1{font-size:28px}.login-intro h1{font-size:clamp(30px,9.7vw,38px);letter-spacing:-1.2px}.login-description{font-size:14px}.card{padding:22px}.login-card>p{margin-bottom:20px}footer{width:calc(100% - 40px);flex-wrap:wrap;gap:6px;font-size:11px}th,td{padding:10px 6px}}
