/* SetScreens portal — faithful v77 gate reproduction.
   Every rule below is copied from docs/design/controller-v77.14.html
   (line refs in comments) or is the minimal glue between them. */

@font-face{
  font-family:"Archivo";font-style:normal;font-weight:640 700;font-stretch:100%;font-display:swap;
  src:url("fonts/Archivo-640-700-vietnamese.woff2") format("woff2");
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face{
  font-family:"Archivo";font-style:normal;font-weight:640 700;font-stretch:100%;font-display:swap;
  src:url("fonts/Archivo-640-700-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Archivo";font-style:normal;font-weight:640 700;font-stretch:100%;font-display:swap;
  src:url("fonts/Archivo-640-700-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/IBMPlexSans-Regular.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/IBMPlexMono-Regular.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/IBMPlexMono-Medium.woff2") format("woff2");
}

/* ————— DESIGN TOKENS — v77 :root, lines 13–24, verbatim ————— */
:root{
  --ink:#0D1015; --bg:#12151C; --panel:#181C25; --raise:#1F2430; --well:#0A0C10;
  --line:rgba(255,255,255,.09); --line-soft:rgba(255,255,255,.05);
  --text:#EFF1F5; --muted:#98A1B2; --dim:#7B8595;
  --comm:#2C5CC4; --comm-dk:#234A9E;
  --safe:#2FBE71; --warn:#E0A93E; --rec:#E5352B;
  --disp:"Archivo",sans-serif; --body:"IBM Plex Sans",sans-serif; --mono:"IBM Plex Mono",monospace;
  --r-card:10px; --r-chip:7px;
}
*{margin:0;padding:0;box-sizing:border-box}
/* body — v77 line 26 adapted for a scrollable page */
body{background:var(--ink);color:var(--text);font-family:var(--body);font-size:14px;
     min-height:100vh;display:flex;flex-direction:column}
button{font-family:inherit;cursor:pointer;color:inherit;background:none;border:0}
a{color:var(--muted)} a:hover{color:var(--text)}
.mono{font-family:var(--mono)}
.portal-page :focus-visible{outline:2px solid var(--rec);outline-offset:2px}
.gate :focus-visible{outline:2px solid var(--rec);outline-offset:3px}

/* ————— THE GATE — v77 line 275, verbatim gradient ————— */
.gate{flex:1;position:relative;display:flex;flex-direction:row;align-items:stretch;
      background:radial-gradient(ellipse at 50% 36%,#141821 0%,var(--well) 74%)}

/* left: brand pane — shared by every auth-family and Console auth gate */
.brandpane{position:relative;flex:1;display:flex;align-items:flex-start;justify-content:flex-start;
  min-width:0;padding:44px;overflow:hidden}
.lockup-hero{width:min(150px,12vw);height:auto}
.brandpane::before{content:"ONE PROP CAN PLAY YOUR ENTIRE CAST — SCENE BY SCENE.";position:absolute;
  left:44px;top:50%;width:min(430px,calc(100% - 88px));transform:translateY(-50%);color:var(--text);
  font-family:var(--disp);font-size:clamp(28px,3.1vw,48px);font-weight:700;letter-spacing:-.045em;
  line-height:1.02;text-wrap:balance}
.brandpane::after{content:"© SETSCREENS · ACCOUNT PORTAL";position:absolute;left:44px;bottom:40px;
  color:var(--dim);font-family:var(--mono);font-size:9px;letter-spacing:.12em}

/* right: form pane — the v77 card, centered; divider = the v77 column line */
.formpane{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;
  border-left:1px solid var(--line);overflow:auto}

/* back link — v77 .gateback, lines 286–287 */
.gateback{position:absolute;top:22px;left:22px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.1em;color:var(--dim);padding:9px 14px;border:1px solid transparent;
  border-radius:8px;text-decoration:none}
.gateback:hover{color:var(--text);border-color:var(--line)}

/* ————— LOGIN CARD — v77 lines 288–292, verbatim ————— */
.logincard{width:min(430px,100%);display:flex;flex-direction:column;padding:36px;
  border:1px solid var(--line);border-radius:var(--r-card);background:linear-gradient(145deg,var(--raise),var(--panel));
  box-shadow:0 26px 68px rgba(0,0,0,.34),0 1px 0 rgba(255,255,255,.035) inset}
.logincard .lockup{width:230px;height:auto;margin:0 0 44px} /* legacy, unused on split gate */
.logincard h2{font-family:var(--disp);font-weight:700;font-size:20px;margin-bottom:8px}
.logincard .sub{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--dim);
  margin-bottom:34px;line-height:1.9;text-transform:uppercase}

/* ————— FORM FIELDS — v77 .f, lines 211–214, verbatim ————— */
.f{margin-bottom:22px}
.f label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  color:var(--dim);text-transform:uppercase;margin-bottom:8px}
.f input{width:100%;height:44px;background:var(--well);border:1px solid var(--line);border-radius:8px;
  color:var(--text);font-family:var(--body);font-size:14px;padding:0 13px}
.f input:focus{border-color:var(--comm)}

/* Console TOTP/enrolment content stays inside the shared raised auth card. */
.console-totp-secret{margin:0 0 26px;padding:18px;border:1px solid var(--line);border-radius:8px;
  background:var(--well)}
.console-totp-secret>p,.console-totp-resume{color:var(--muted);font-size:13px;line-height:1.6}
.console-totp-facts{display:grid;gap:16px;margin-top:18px}
.console-totp-facts dt{margin-bottom:6px;color:var(--dim);font-family:var(--mono);font-size:9px;
  letter-spacing:.14em;text-transform:uppercase}
.console-totp-facts dd{color:var(--text);font-family:var(--mono);font-size:11px;line-height:1.55;
  overflow-wrap:anywhere;word-break:break-word}
.console-totp-facts code{font:inherit;color:inherit}
.console-totp-resume{margin:0 0 26px;padding:14px 16px;border-left:2px solid var(--warn);background:var(--well)}

/* ————— PRIMARY BUTTON — v77 .save lines 219–220 + gate override line 292 ————— */
.save{background:var(--comm);border-radius:8px;color:#fff;font-family:var(--disp);
  font-weight:640;font-size:13px;letter-spacing:.04em;padding:12px 26px}
.save:hover{background:var(--comm-dk)}
.logincard .save{width:100%;margin-top:6px;padding:14px}

/* secondary line under the form — v77 mono voice */
.altline{margin-top:26px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
  color:var(--dim)}
.altline a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.altline a:hover{color:var(--text)}
.resend-form{margin-top:24px;padding-top:20px;border-top:1px dashed var(--line)}
.resend-form .f{margin-bottom:10px}
.quiet-action{border:0;background:none;padding:0;color:var(--muted);font-family:var(--mono);
  font-size:10.5px;letter-spacing:.08em;text-decoration:underline;text-underline-offset:3px}
.quiet-action:hover{color:var(--text)}

/* error / notice line, same voice */
.formnote{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--warn);
  margin-bottom:18px;line-height:1.8}
.formnote.ok{color:var(--safe)}

/* ————— ACCOUNT PAGE — v77 .usage voice (lines 221–222) for status lines ————— */
.acct .usage{margin-top:34px;padding-top:22px;border-top:1px dashed var(--line);
  font-family:var(--mono);font-size:10.5px;color:var(--dim);line-height:2;letter-spacing:.04em}
.acct .usage b{color:var(--muted);font-weight:500}
.acct .ok{color:var(--safe)}
.acct p{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:14px}
.acct h3{font-family:var(--disp);font-weight:680;font-size:15px;margin:26px 0 10px}

/* ————— ACCOUNT SHELL — v79 portal IA on the v77 token grammar ————— */
.portal-page{display:block;background:var(--ink);color:var(--text);--portal-dim:#AAB2C0}
.portal-topbar{border-bottom:1px solid var(--line);background:var(--well)}
.portal-topbar-inner{width:min(1120px,100%);min-height:64px;margin:0 auto;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px}
.portal-brand{font-family:var(--disp);font-weight:680;font-size:15px;letter-spacing:.01em}
.portal-account-email{min-width:0;color:var(--portal-dim);font-family:var(--mono);font-size:11px;
  letter-spacing:.03em;overflow-wrap:anywhere;text-align:right}
.portal-account-menu{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;
  color:var(--portal-dim);font-family:var(--mono);font-size:11px}
.portal-account-menu form{flex:0 0 auto}
.portal-text-action{padding:0;color:var(--portal-dim);font-family:var(--mono);font-size:10px;
  letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}
.portal-text-action:hover{color:var(--text)}
.portal-ghost-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;
  padding:6px 10px;border:1px solid var(--line);border-radius:7px;color:var(--portal-dim);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.055em;text-decoration:none}
.portal-ghost-action:hover{border-color:var(--portal-dim);color:var(--text)}
.ghost-danger{border-color:rgba(198,0,0,.46);color:#FF918B}
.ghost-danger:hover{border-color:var(--rec);color:#FFB0AB}
.portal-main{width:min(1120px,100%);margin:0 auto;padding:64px 28px 84px}
.portal-flash{margin:0 0 28px;padding:13px 15px;border:1px solid rgba(47,190,113,.42);
  border-radius:8px;background:rgba(47,190,113,.08);color:var(--text);font-size:13px;line-height:1.55}
.portal-pagehead{margin-bottom:34px}
.portal-pagehead h1{font-family:var(--disp);font-size:clamp(28px,4vw,42px);line-height:1.08;
  font-weight:700;letter-spacing:-.025em;margin-bottom:12px}
.portal-pagehead p,.portal-fact{color:var(--portal-dim);font-size:14px;line-height:1.65}
.portal-primary,.portal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card)}
.portal-primary{padding:34px;margin-bottom:20px}
.portal-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:18px;
  font-family:var(--mono);font-size:10px;line-height:1.5;letter-spacing:.14em;color:var(--safe);margin-bottom:11px}
.portal-eyebrow span:first-child{border:1px solid rgba(47,190,113,.42);border-radius:999px;padding:4px 8px}
.portal-primary-title{display:flex;align-items:baseline;justify-content:space-between;gap:18px;
  padding-bottom:28px;border-bottom:1px solid var(--line)}
.portal-primary h2,.portal-card h2{font-family:var(--disp);font-weight:680}
.portal-primary-title h2{font-size:25px;line-height:1.2}
.portal-primary-title span{color:var(--portal-dim);font-family:var(--mono);font-size:10px;letter-spacing:.08em}
.portal-primary>h2{font-size:25px;margin-bottom:12px}
.state-banner{margin-top:20px;border-left:3px solid var(--warn);background:var(--raise);padding:13px 15px;
  color:var(--text);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;line-height:1.6}
.state-canceled{border-left-color:var(--rec)}
.device-block{padding-top:30px}
.device-block>h3,.timeline-wrap h3{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;margin-bottom:17px}
.portal-card h3{font-family:var(--disp);font-size:14px;font-weight:680;margin-bottom:17px}
.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fact-grid div,.fact-list div{min-width:0}
.fact-grid dt,.fact-list dt,.timeline-grid dt{font-family:var(--mono);font-size:9.5px;line-height:1.4;
  letter-spacing:.11em;text-transform:uppercase;color:var(--portal-dim);margin-bottom:7px}
.fact-grid dd,.fact-list dd,.timeline-grid dd{color:var(--text);font-size:13px;line-height:1.55}
.breakable{overflow-wrap:anywhere}
.timeline-wrap{margin-top:30px;padding-top:28px;border-top:1px dashed var(--line)}
.timeline-bar{height:2px;margin:24px 8px 18px;background:linear-gradient(90deg,var(--comm),var(--safe),var(--warn))}
.timeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.incomplete-timeline{margin-top:28px;padding-top:25px;border-top:1px dashed var(--line)}
.device-revoke-action{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft)}
.allocation-actions{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}
.allocation-actions>h3{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;margin-bottom:17px}
.allocation-controller{padding:18px 0;border-top:1px solid var(--line-soft)}
.allocation-controller h4{margin-bottom:14px;font-family:var(--body);font-size:13px;font-weight:400}
.allocation-action-grid{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}
.allocation-action-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}
.allocation-action-form label{color:var(--portal-dim);font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.allocation-action-form input,.allocation-action-form select{height:34px;min-width:72px;padding:5px 8px;border:1px solid var(--line);
  border-radius:7px;background:var(--well);color:var(--text);font-family:var(--body);font-size:12px}
.allocation-action-form select{min-width:150px}
.allocation-action-form input[type="number"]{width:74px}
.allocation-detach-form{margin-left:auto}
.portal-eyebrow-neutral{color:var(--portal-dim)}
.portal-eyebrow-neutral span:first-child{border-color:var(--line)}
.plan-title{align-items:flex-start}
.plan-summary{display:grid;justify-items:end;gap:6px;text-align:right}
.plan-summary strong{color:var(--text);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.07em}
.plan-summary span{max-width:560px;line-height:1.55}
.seat-board{padding-top:30px}
.seat-zone,.controller-card,.releasing-zone{border:1px solid var(--line);border-radius:9px;background:var(--well)}
.seat-zone{padding:18px}
.seat-zone-heading,.controller-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.seat-zone h3,.controller-card h3,.releasing-zone h3{font-family:var(--mono);font-size:10px;font-weight:500;
  letter-spacing:.13em;text-transform:uppercase}
.seat-zone-heading>span{color:var(--safe);font-family:var(--mono);font-size:9px;letter-spacing:.09em}
.seat-chip-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;min-height:42px}
.seat-chip{display:inline-flex;min-width:62px;max-width:220px;flex-direction:column;justify-content:center;gap:4px;
  padding:9px 10px;border:1px solid rgba(44,92,196,.58);border-radius:var(--r-chip);background:rgba(44,92,196,.11);
  color:var(--text);font-family:var(--mono);font-size:9px;line-height:1.35;letter-spacing:.06em;user-select:none}
.seat-chip[draggable="true"]{cursor:grab}
.seat-chip[draggable="true"]:active{cursor:grabbing}
.seat-chip b{font-weight:500}
.seat-chip small{color:var(--portal-dim);font:inherit;font-size:8px;letter-spacing:.03em}
.seat-chip-emergency{border-color:rgba(224,169,62,.62);background:rgba(224,169,62,.12)}
.seat-chip-emergency b{color:#F0C66F}
.seat-chip.is-pending{border-style:dashed;border-color:rgba(224,169,62,.62);background:rgba(224,169,62,.07)}
.seat-chip.is-dragging{opacity:.42}
.seat-zone.is-drag-over,.controller-card.is-drag-over{border-color:var(--safe);box-shadow:0 0 0 2px rgba(47,190,113,.12)}
.seat-zone-empty,.controller-empty{color:var(--portal-dim);font-family:var(--mono);font-size:9px;line-height:1.6;letter-spacing:.08em}
.controller-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.controller-card{min-width:0;padding:18px;background:var(--raise)}
.controller-card.is-offline{border-style:dashed}
.controller-card.is-offline::after{content:"DRAG TARGET OFFLINE";display:block;margin-top:14px;color:var(--portal-dim);
  font-family:var(--mono);font-size:8px;letter-spacing:.1em}
.controller-card-head>div{min-width:0}
.controller-key{margin-top:7px;color:var(--portal-dim);font-family:var(--mono);font-size:9px;letter-spacing:.05em;overflow-wrap:anywhere}
.controller-presence{flex:0 0 auto;color:var(--portal-dim);font-family:var(--mono);font-size:8.5px;line-height:1.55;
  letter-spacing:.07em;text-align:right}
.presence-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:999px;background:var(--dim)}
.is-online .presence-dot{background:var(--safe);box-shadow:0 0 0 3px rgba(47,190,113,.12)}
.controller-allocation{margin-top:16px;padding-top:13px;border-top:1px solid var(--line-soft);color:var(--portal-dim);
  font-family:var(--mono);font-size:9px;line-height:1.6;letter-spacing:.065em}
.releasing-zone{margin-top:14px;padding:18px;border-style:dashed;background:rgba(224,169,62,.04)}
.releasing-zone ul{display:grid;gap:9px;margin-top:14px;list-style:none}
.releasing-zone li{color:var(--portal-dim);font-family:var(--mono);font-size:9px;line-height:1.65;letter-spacing:.035em}
.releasing-zone b{color:var(--text);font-weight:500}
.seat-board-controls{margin-top:22px}
.seat-board-controls>summary{cursor:pointer;color:var(--portal-dim);font-family:var(--mono);font-size:9.5px;
  letter-spacing:.08em;text-transform:uppercase}
.seat-board-controls[open]>summary{color:var(--text)}
.allocation-actions-inner{margin-top:18px}
.portal-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.portal-card{padding:28px;min-width:0}
.portal-card h2{font-size:18px;margin-bottom:24px}
.fact-list{display:grid;gap:17px}
.fact-list div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.fact-list div:last-child{padding-bottom:0;border-bottom:0}
#checkout-intent-form{margin-top:20px}
.billing-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft)}
.billing-pagehead{width:min(680px,100%);margin-left:auto;margin-right:auto}
.billing-form-panel h2{font-family:var(--disp);font-size:24px;line-height:1.2}
.billing-seat-form{margin-top:24px}
.session-list{list-style:none;display:grid;gap:0}
.session-list li{position:relative;padding:15px 88px 15px 0;border-top:1px solid var(--line-soft);min-width:0}
.session-list li:last-child{padding-bottom:0}
.session-title{font-size:13px;line-height:1.4;margin-bottom:6px}
.session-title span{margin-left:7px;border:1px solid rgba(47,190,113,.42);border-radius:999px;
  padding:2px 7px;color:var(--safe);font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase}
.session-meta{color:var(--portal-dim);font-family:var(--mono);font-size:9.5px;line-height:1.65;
  letter-spacing:.025em;overflow-wrap:anywhere}
.session-action{position:absolute;right:0;top:18px}
.sessions-others-action{margin-top:20px;padding-top:18px;border-top:1px solid var(--line-soft)}
.password-block{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.security-quiet-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.security-quiet-row h3{margin:0}
.password-form{display:grid;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line-soft)}
.portal-field label{display:block;margin-bottom:7px;color:var(--portal-dim);font-family:var(--mono);
  font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}
.portal-field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);
  border-radius:8px;background:var(--well);color:var(--text);font-family:var(--body);font-size:14px}
.portal-field input:focus{outline:none;border-color:var(--comm)}
.portal-field input[aria-invalid="true"]{border-color:var(--rec)}
.field-error{margin-top:7px;color:#FF918B;font-size:12px;line-height:1.45}
.password-submit{justify-self:start;background:transparent}
.confirm-panel{width:min(680px,100%);margin:26px auto 0;padding:34px;border:1px solid var(--line);
  border-radius:12px;background:var(--panel)}
.confirm-panel>.portal-eyebrow{margin-bottom:18px;color:#FF918B;font-family:var(--mono);font-size:9px;
  letter-spacing:.12em}
.confirm-panel h1{font-family:var(--disp);font-size:clamp(25px,4vw,36px);line-height:1.12}
.confirm-panel>p:not(.portal-eyebrow){margin-top:18px;color:var(--portal-dim);font-size:14px;line-height:1.7}
.confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:30px}
.seat-confirm-dialog{width:min(744px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);
  padding:0;border:0;background:transparent;color:var(--text);overflow:auto}
.seat-confirm-dialog::backdrop{background:rgba(4,7,12,.76)}
.seat-confirm-dialog>.confirm-panel{margin:0}
.seat-confirm-dialog>.portal-confirm{width:100%;margin:0;padding:34px;border:1px solid var(--line);
  border-radius:12px;background:var(--panel)}

@media (max-width:640px){
  .portal-topbar-inner{min-height:58px;padding:11px 18px;align-items:flex-start;gap:12px}
  .portal-brand{font-size:13px;white-space:nowrap}
  .portal-account-email{font-size:9.5px}
  .portal-account-menu{gap:5px;font-size:9px}
  .portal-main{padding:40px 18px 64px}
  .portal-pagehead{margin-bottom:26px}
  .portal-primary{padding:24px 20px}
  .portal-primary-title{display:block;padding-bottom:22px}
  .portal-primary-title span{display:block;margin-top:8px}
  .plan-summary{justify-items:start;margin-top:14px;text-align:left}
  .controller-grid{grid-template-columns:1fr}
  .controller-card-head{display:block}
  .controller-presence{margin-top:12px;text-align:left}
  .seat-chip{max-width:100%}
  .fact-grid{grid-template-columns:1fr}
  .timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .portal-secondary{grid-template-columns:1fr}
  .portal-card{padding:24px 20px}
  .fact-list div{display:block}
  .fact-list dd{margin-top:4px}
}

/* mobile */
@media (max-width:639px){
  .gate{flex-direction:column}
  .brandpane{flex:0 0 290px;padding:34px 24px}
  .lockup-hero{width:min(190px,54vw)}
  .brandpane::before{left:24px;top:145px;width:calc(100% - 48px);transform:none;font-size:clamp(26px,8vw,38px)}
  .brandpane::after{left:24px;bottom:28px}
  .formpane{border-left:0;border-top:1px solid var(--line);padding:28px 20px 48px;align-items:flex-start}
  .logincard{padding:28px 24px}
}

/* ————— OWNER CONSOLE — v79 exception-first shell, reusing the local token/font system ————— */
.console-page{display:block;background:var(--ink);color:var(--text);--console-dim:#AAB2C0}
.console-page :focus-visible{outline:2px solid var(--rec);outline-offset:2px}
.console-topbar{min-height:64px;padding:0 28px;border-bottom:1px solid var(--line);background:var(--well);
  display:flex;align-items:center;justify-content:space-between;gap:24px}
.console-brand{font-family:var(--disp);font-size:15px;font-weight:680}
.console-owner{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--console-dim);
  font-family:var(--mono);font-size:10px;letter-spacing:.035em}
.console-owner-email{overflow-wrap:anywhere}
.console-owner form{flex:0 0 auto}
.console-signout{padding:0;color:var(--console-dim);font-family:var(--mono);font-size:10px;text-decoration:underline;text-underline-offset:3px}
.console-signout:hover{color:var(--text)}
.console-frame{width:min(1516px,100%);margin:0 auto;display:grid;grid-template-columns:196px minmax(0,1fr)}
.console-rail{min-height:calc(100vh - 64px);padding:54px 28px;border-right:1px solid var(--line);background:var(--well);
  display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.console-rail>a,.console-rail>span{min-height:34px;padding:10px 0;text-decoration:none}
.console-nav-active{position:relative;color:var(--text)}
.console-nav-active>span{position:absolute;left:-28px;top:8px;width:2px;height:18px;background:var(--rec)}
.console-nav-unavailable{color:var(--console-dim)}
.console-main{width:min(1320px,100%);padding:58px clamp(28px,4vw,64px) 84px}
.console-pagehead{margin-bottom:42px}
.console-kicker{margin-bottom:10px;color:var(--rec);font-family:var(--mono);font-size:9px;letter-spacing:.16em}
.console-pagehead h1{font-family:var(--disp);font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.025em}
.console-pagehead>p:last-child,.console-pagehead>h1+p{margin-top:12px;color:var(--console-dim);line-height:1.6}
.console-freshness,.portal-freshness{display:flex;align-items:center;gap:10px;margin-top:14px;color:var(--dim);font-family:var(--mono);font-size:9px;letter-spacing:.08em}
.console-freshness .console-ghost-action,.portal-freshness .portal-ghost-action{font-size:9px}
.console-section{margin-top:42px}
.console-section>h2{margin-bottom:16px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.console-empty,.console-event-empty{padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  color:var(--console-dim);font-family:var(--mono);font-size:10px;letter-spacing:.1em}
.console-attention-list,.console-event-list{list-style:none;border-top:1px solid var(--line)}
.console-attention-row{display:grid;grid-template-columns:34px 58px minmax(0,1fr) auto;align-items:start;gap:12px;
  padding:18px 0;border-bottom:1px solid var(--line)}
.console-row-number{color:var(--console-dim);font-family:var(--mono);font-size:9px;padding-top:4px}
.console-badge{justify-self:start;min-width:43px;padding:3px 6px;border:1px solid rgba(229,53,43,.55);border-radius:999px;
  color:#FF918B;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-align:center}
.console-attention-info .console-badge{border-color:rgba(61,123,250,.55);color:#8FB2FF}
.console-row-title{font-family:var(--mono);font-size:10.5px;letter-spacing:.055em;line-height:1.5}
.console-row-detail{margin-top:5px;color:var(--console-dim);font-size:12px;line-height:1.5}
.console-attention-row>time,.console-event-list time{color:var(--console-dim);font-family:var(--mono);font-size:9px;line-height:1.5;white-space:nowrap}
.console-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.console-facts>div{min-width:0;min-height:112px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.console-facts dt{color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.105em;line-height:1.4}
.console-facts dd{margin-top:14px;font-family:var(--disp);font-size:22px;font-weight:680}
.console-facts p{margin-top:6px;color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.05em}
.console-event-list li{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.console-event-source{color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.1em}
.console-event-list p{font-family:var(--mono);font-size:10px;letter-spacing:.05em}
.console-event-list div>span{display:block;margin-top:5px;color:var(--console-dim);font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}
.console-account-table{border-top:1px solid var(--line);font-family:var(--mono);font-size:9px;letter-spacing:.035em}
.console-account-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.5fr) minmax(0,.5fr) minmax(0,.8fr) minmax(0,.55fr) minmax(0,.9fr);
  gap:14px;align-items:center;min-height:54px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.console-account-row:not(.console-account-head):hover{background:rgba(255,255,255,.025)}
.console-account-head{min-height:38px;color:var(--console-dim);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.console-account-email{overflow-wrap:anywhere}
.console-chip{display:inline-block;padding:3px 7px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
.console-chip-owner{border-color:rgba(229,53,43,.55);color:#FF918B}
.console-pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:18px;color:var(--console-dim);
  font-family:var(--mono);font-size:9px;letter-spacing:.12em}
.console-pagination a,.console-account-pagehead a{color:var(--text);text-underline-offset:3px}
.console-clock-anomaly{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 20px;
  border:1px solid rgba(229,53,43,.55);color:#FF918B;font-family:var(--mono);font-size:9px;letter-spacing:.055em;line-height:1.5}
.console-clock-anomaly span{color:var(--console-dim);text-align:right}
.console-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:42px;background:var(--line);border:1px solid var(--line)}
.console-detail-card{min-width:0;padding:24px;background:var(--ink)}
.console-detail-device{grid-column:1/-1}
.console-detail-card>h2{margin-bottom:18px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.console-detail-card dl{border-top:1px solid var(--line)}
.console-detail-card dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.console-detail-card dt{color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase}
.console-detail-card dd{font-family:var(--mono);font-size:9.5px;line-height:1.5;overflow-wrap:anywhere}
.console-detail-empty{padding:14px 0;color:var(--console-dim);font-family:var(--mono);font-size:9px;letter-spacing:.08em}
.console-detail-card .console-lease-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-left:1px solid var(--line)}
.console-detail-card .console-lease-timeline>div{display:block;padding:14px;border-right:1px solid var(--line)}
.console-detail-card .console-lease-timeline dd{margin-top:8px}
.console-mono-break{overflow-wrap:anywhere}
.console-flash{margin-bottom:28px;padding:13px 16px;border:1px solid rgba(61,123,250,.55);color:#AFC6FF;
  font-family:var(--mono);font-size:9px;letter-spacing:.055em;line-height:1.5}
.console-ghost-action{display:inline-block;color:var(--text);font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-underline-offset:3px}
.console-account-pagehead .console-ghost-action{margin-top:12px;padding:8px 10px;border:1px solid var(--line);text-decoration:none}
.console-grant-panel{max-width:760px}
.console-grant-form{display:grid;grid-template-columns:150px minmax(220px,1fr);gap:20px;padding-top:20px;border-top:1px solid var(--line)}
.console-grant-form>div{min-width:0}
.console-grant-form label{display:block;margin-bottom:8px;color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase}
.console-grant-form input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:0;background:var(--well);color:var(--text);font-family:var(--mono);font-size:10px}
.console-grant-note{grid-column:1/-1}
.console-field-help,.console-field-error{margin-top:7px;color:var(--console-dim);font-size:11px;line-height:1.45}
.console-field-error{color:#FF918B}
.console-ghost-button{justify-self:start;padding:9px 12px;border:1px solid var(--line);color:var(--text);font-family:var(--mono);font-size:9px;letter-spacing:.055em}
.console-grant-confirm{max-width:760px}
.console-grant-confirm dl{border-top:1px solid var(--line);margin-bottom:20px}
.console-grant-confirm dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.console-grant-confirm dt{color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase}
.console-grant-confirm dd{font-family:var(--mono);font-size:9.5px;overflow-wrap:anywhere}
.console-force-action{margin-top:18px}
.console-device-list{list-style:none;border-top:1px solid var(--line)}
.console-device-list>li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr) auto;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}
.console-device-identity>p{font-family:var(--disp);font-size:17px;font-weight:680}
.console-device-identity>span,.console-device-timeline{display:block;margin-top:6px;color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;line-height:1.5}
.console-device-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.console-device-list dt,.console-ops-facts dt{color:var(--console-dim);font-family:var(--mono);font-size:8px;letter-spacing:.09em;text-transform:uppercase}
.console-device-list dd,.console-ops-facts dd{margin-top:6px;font-family:var(--mono);font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.console-revoke-head{max-width:900px}
.console-revoke-panel{max-width:820px;padding-top:20px;border-top:1px solid var(--line)}
.console-revoke-panel>h2{margin-bottom:16px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.console-revoke-panel>p{max-width:760px;line-height:1.65}
.console-revoke-note{margin-top:16px;color:var(--console-dim);font-size:12px}
.console-revoke-panel form{margin-top:28px}
.console-revoke-panel label{display:block;margin-bottom:8px;color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase}
.console-revoke-panel textarea{width:100%;min-height:116px;padding:11px;border:1px solid var(--line);border-radius:0;resize:vertical;background:var(--well);color:var(--text);font-family:var(--mono);font-size:10px;line-height:1.5}
.console-revoke-actions{display:flex;align-items:center;gap:12px;margin-top:20px}
.console-revoke-actions a{text-decoration:none}
.console-ops-list{list-style:none;border-top:1px solid var(--line)}
.console-ops-list li{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(200px,1fr) minmax(170px,.8fr);gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:9px;line-height:1.5}
.console-ops-list code{font:inherit;overflow-wrap:anywhere}
.console-ops-list time{color:var(--console-dim);text-align:right}
.console-ops-head{color:var(--console-dim);font-size:8px!important;letter-spacing:.09em;text-transform:uppercase}
.console-ops-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.console-ops-facts>div{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.console-limit-line,.console-ops-single{padding:13px 0;color:var(--console-dim);font-family:var(--mono);font-size:9px;letter-spacing:.06em}
.console-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.console-section-head .console-ghost-action{flex:0 0 auto}
.console-subscriber-list{list-style:none;border-top:1px solid var(--line)}
.console-subscriber-list li{display:grid;grid-template-columns:minmax(220px,1.2fr) 90px minmax(190px,1fr) minmax(210px,1fr);align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:9px;line-height:1.45}
.console-subscriber-list time{color:var(--console-dim)}
.console-subscriber-list-full li{grid-template-columns:minmax(260px,1.4fr) minmax(190px,1fr) 100px}
.console-subscriber-pending li{grid-template-columns:minmax(220px,1.2fr) 90px minmax(190px,1fr) minmax(190px,1fr) auto}
.console-subscriber-pending form{justify-self:end}
.console-quiet-link{font-family:var(--mono);font-size:9px;letter-spacing:.05em}
.console-licence-list{list-style:none;border-top:1px solid var(--line)}
.console-licence-list>li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,2.3fr);align-items:start;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}
.console-licence-account{font-family:var(--mono);font-size:10px;overflow-wrap:anywhere}
.console-licence-chips{display:flex;flex-wrap:wrap;gap:7px}
.console-licence-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.console-licence-list dt{color:var(--console-dim);font-family:var(--mono);font-size:8px;letter-spacing:.09em;text-transform:uppercase}
.console-licence-list dd{margin-top:6px;font-family:var(--mono);font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.console-licence-note{grid-column:span 2}
.console-licence-history{margin-top:26px}
.console-licence-history>h3{margin-bottom:12px;color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.11em;text-transform:uppercase}
.console-licence-history ol{list-style:none;border-top:1px solid var(--line)}
.console-licence-history li{display:grid;grid-template-columns:minmax(104px,.7fr) 72px 80px minmax(160px,1fr) minmax(150px,1fr);align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:8.5px;line-height:1.45}
.console-licence-history time{color:var(--console-dim);text-align:right}
.console-support>.console-section-head{align-items:center;margin-bottom:16px}
.console-support>.console-section-head h2,.console-support h3{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.console-support-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.console-support-grid h3,.console-support-billing h3{margin-bottom:14px;color:var(--console-dim);font-size:8.5px}
.console-support-facts>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.console-support-facts dt{color:var(--console-dim);font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.console-support-facts dd{font-family:var(--mono);font-size:9px;line-height:1.5}
.console-support-outbox{list-style:none}
.console-support-outbox li{padding:10px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:8.5px;line-height:1.55}
.console-support-outbox code,.console-support-outbox li>span{display:block;margin-top:5px;color:var(--console-dim);font:inherit;overflow-wrap:anywhere}
.console-mail-failed,.console-mail-dead-letter{border-color:rgba(229,53,43,.55);color:#FF918B}
.console-mail-sent{border-color:rgba(61,123,250,.55);color:#AFC6FF}
.console-support-billing{padding-top:22px}
.console-support-billing>p{font-family:var(--mono);font-size:9px;line-height:1.6}
.console-support-billing .console-ghost-action{margin-top:12px}
.console-seat-support{padding:24px;border:1px solid var(--line);background:var(--panel)}
.console-seat-support-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.console-seat-support-head h2,.console-lease-diagnostics>h2{margin-top:9px;font-family:var(--disp);font-size:22px;letter-spacing:-.02em}
.console-seat-badge{display:inline-block;padding:3px 7px;border:1px solid rgba(47,190,113,.55);border-radius:999px;
  color:#75DBA1;font-family:var(--mono);font-size:8px;letter-spacing:.1em}
.console-seat-badge.is-neutral{border-color:var(--line);color:var(--console-dim)}
.console-seat-support-summary{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;
  font-family:var(--mono);font-size:9px;line-height:1.5}
.console-seat-support-summary strong{font-family:var(--disp);font-size:17px}
.console-seat-support-summary span{color:var(--console-dim)}
.console-seat-desync{margin-top:20px;padding:13px 15px;border:1px solid rgba(229,53,43,.55);color:#FF918B;
  font-family:var(--mono);font-size:9px;line-height:1.6;letter-spacing:.05em}
.console-seat-board{margin-top:24px}
.console-seat-zone{padding:18px;border:1px solid var(--line);background:var(--well)}
.console-seat-zone-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.console-seat-zone-head h3,.console-controller-card h3,.console-releasing-zone h3,.console-lease-diagnostics h3{
  font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.11em;text-transform:uppercase}
.console-seat-zone-head span{color:var(--console-dim);font-family:var(--mono);font-size:8.5px;letter-spacing:.08em}
.console-seat-chip-list{display:flex;flex-wrap:wrap;gap:8px}
.console-seat-chip{display:inline-flex;min-width:88px;max-width:100%;flex-direction:column;gap:4px;padding:8px 9px;
  border:1px solid rgba(44,92,196,.65);border-radius:7px;background:var(--panel);font-family:var(--mono);font-size:8px}
.console-seat-chip b{font-size:9px;letter-spacing:.08em}.console-seat-chip code{color:var(--console-dim);font:inherit;overflow-wrap:anywhere}
.console-seat-chip small{color:var(--console-dim);font:7.5px/1.45 var(--mono)}
.console-seat-chip.is-pending{border-style:dashed;border-color:var(--warn)}
.console-seat-chip.is-emergency{border-color:rgba(224,169,62,.7);color:#F0C76F}
.console-controller-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.console-controller-card{min-width:0;padding:18px;border:1px solid var(--line);background:var(--well)}
.console-controller-card>header{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.console-controller-card>header code{display:block;margin-top:6px;color:var(--console-dim);font:8px/1.5 var(--mono);overflow-wrap:anywhere}
.console-controller-presence{flex:0 0 auto;color:var(--console-dim);font-family:var(--mono);font-size:8px;letter-spacing:.08em}
.console-controller-presence span{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--dim)}
.console-controller-card.is-online .console-controller-presence{color:#75DBA1}.console-controller-card.is-online .console-controller-presence span{background:var(--safe)}
.console-controller-facts{margin-bottom:14px}.console-controller-facts>div{display:grid;grid-template-columns:116px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.console-controller-facts dt{color:var(--console-dim);font:8px/1.45 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.console-controller-facts dd{font:8.5px/1.45 var(--mono);overflow-wrap:anywhere}
.console-controller-allocation{margin-top:15px;color:var(--console-dim);font:8.5px/1.55 var(--mono);letter-spacing:.06em}
.console-releasing-zone{margin-top:12px;padding:18px;border:1px solid rgba(224,169,62,.45);background:rgba(224,169,62,.035)}
.console-releasing-zone ul{list-style:none;margin-top:12px;border-top:1px solid var(--line)}
.console-releasing-zone li{padding:10px 0;border-bottom:1px solid var(--line);font:8.5px/1.55 var(--mono)}
.console-lease-diagnostics>section{margin-top:24px}.console-lease-diagnostics>section>h3{margin-bottom:14px;color:var(--console-dim)}
.console-grant-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.console-grant-group{min-width:0;padding:18px;border:1px solid var(--line);background:var(--panel)}
.console-grant-group h4{font:9px/1.55 var(--mono);font-weight:500;overflow-wrap:anywhere}
.console-grant-group ol{list-style:none;margin-top:12px;border-top:1px solid var(--line)}
.console-grant-group li{padding:12px 0;border-bottom:1px solid var(--line);font:8.5px/1.55 var(--mono);overflow-wrap:anywhere}
.console-grant-group li p{margin-top:6px;color:var(--console-dim)}
.console-diagnostic-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line)}
.console-diagnostic-table{width:100%;min-width:900px;border-collapse:collapse;font:8.5px/1.5 var(--mono)}
.console-diagnostic-table th,.console-diagnostic-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.console-diagnostic-table th{color:var(--console-dim);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.console-diagnostic-table td code,.console-diagnostic-table td small{display:block;max-width:220px;margin-top:4px;color:var(--console-dim);font:inherit;overflow-wrap:anywhere}
.console-rate-locked{margin-top:22px;padding:14px;border:1px solid rgba(229,53,43,.55);color:#FF918B!important;font-family:var(--mono);font-size:9px;letter-spacing:.055em}
.notify-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.console-info-line{margin:18px 0;padding:12px 14px;border:1px solid rgba(61,123,250,.38);background:rgba(61,123,250,.055);color:#AFC6FF!important;font-family:var(--mono);font-size:9px;line-height:1.65;letter-spacing:.055em}

@media (max-width:959px){
  .console-topbar{padding:12px 20px;align-items:flex-start}
  .console-owner{flex-wrap:wrap;font-size:9px}
  .console-frame{display:block}
  .console-rail{min-height:0;padding:0 20px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto;gap:20px}
  .console-rail>a,.console-rail>span{flex:0 0 auto;padding:14px 0}
  .console-nav-active>span{left:0;top:auto;bottom:0;width:100%;height:2px}
  .console-main{padding:42px 20px 64px}
  .console-account-table,.console-device-list,.console-licence-list{border-top:0}
  .console-account-head{display:none}
  .console-account-row:not(.console-account-head),.console-device-list>li,.console-licence-list>li{min-width:0;margin-bottom:12px;padding:18px;border:1px solid var(--line);background:var(--panel)}
  .console-account-row:not(.console-account-head){grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .console-account-row:not(.console-account-head)>[role="cell"]{min-width:0;overflow-wrap:anywhere}
  .console-account-row:not(.console-account-head)>[role="cell"]::before{content:attr(data-label);display:block;margin-bottom:6px;color:var(--console-dim);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
  .console-device-list>li,.console-licence-list>li{grid-template-columns:1fr}
  .console-device-list dl,.console-licence-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .console-list-destructive{display:none}
}
@media (max-width:640px){
  .console-topbar{display:block}
  .console-owner{margin-top:8px;justify-content:flex-start}
  .console-attention-row{grid-template-columns:28px 48px minmax(0,1fr)}
  .console-attention-row>time{grid-column:3;margin-top:3px;white-space:normal}
  .console-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .console-event-list li{grid-template-columns:64px minmax(0,1fr)}
  .console-event-list time{grid-column:2;white-space:normal}
  .console-clock-anomaly{display:block}
  .console-clock-anomaly span{display:block;margin-top:8px;text-align:left}
  .console-detail-grid{grid-template-columns:1fr}
  .console-detail-device{grid-column:auto}
  .console-detail-card dl>div{grid-template-columns:1fr}
  .console-detail-card .console-lease-timeline{grid-template-columns:1fr}
  .console-grant-form{grid-template-columns:1fr}
  .console-grant-note{grid-column:auto}
  .console-grant-confirm dl>div{grid-template-columns:1fr}
  .console-device-list>li{grid-template-columns:1fr}
  .console-device-list dl{grid-template-columns:1fr}
  .console-ops-list li{grid-template-columns:1fr}
  .console-ops-list time{text-align:left}
  .console-ops-facts{grid-template-columns:1fr}
  .console-section-head{display:block}
  .console-section-head .console-ghost-action{margin-top:12px}
  .console-subscriber-list li,.console-subscriber-list-full li{grid-template-columns:1fr;gap:7px}
  .console-subscriber-pending form{justify-self:start}
  .console-licence-list>li{grid-template-columns:1fr}
  .console-licence-list dl{grid-template-columns:1fr}
  .console-licence-note{grid-column:auto}
  .console-licence-history li{grid-template-columns:1fr}
  .console-licence-history time{text-align:left}
  .console-support-grid{grid-template-columns:1fr}
  .console-support-facts>div{grid-template-columns:1fr}
  .console-seat-support-head{display:block}
  .console-seat-support-summary{align-items:flex-start;margin-top:16px;text-align:left}
  .console-controller-grid,.console-grant-ledger{grid-template-columns:1fr}
  .console-controller-card>header{display:block}
  .console-controller-presence{margin-top:10px}
  .console-controller-facts>div{grid-template-columns:1fr}
}

.console-operations-actions{display:flex;justify-content:flex-end;margin-top:-26px;margin-bottom:34px}
.console-announce-panel{max-width:840px}
.console-announce-form{display:grid;gap:22px;padding:24px;border:1px solid var(--line);background:var(--panel)}
.console-announce-form label,.console-announce-form legend{display:block;margin-bottom:8px;color:var(--console-dim);
  font-family:var(--mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.console-announce-form input[type="text"],.console-announce-form>div>input,.console-announce-form textarea{width:100%;padding:11px 12px;
  border:1px solid var(--line);border-radius:7px;background:var(--well);color:var(--text);font:13px/1.55 var(--body)}
.console-announce-form textarea{min-height:260px;resize:vertical}
.console-announce-form input:focus,.console-announce-form textarea:focus{outline:none;border-color:var(--comm)}
.console-announce-form fieldset{display:grid;gap:9px;border:0}
.console-announce-form fieldset label{display:flex;align-items:center;gap:9px;margin:0;color:var(--text);font-family:var(--body);
  font-size:13px;letter-spacing:0;text-transform:none}
.console-announce-facts{display:grid;grid-template-columns:2fr 1fr 120px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.console-announce-facts>div{padding:17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.console-announce-facts dt{color:var(--console-dim);font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.console-announce-facts dd{margin-top:8px;font-size:13px;overflow-wrap:anywhere}
.console-dedup-note{margin-top:18px;color:var(--console-dim);font-size:12px;line-height:1.6}
.console-mail-preview{margin-top:24px;padding:22px;border:1px solid var(--line);background:var(--panel)}
.console-mail-preview h3{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.11em;text-transform:uppercase}
.console-mail-preview p{margin-top:16px;font-size:13px}
.console-mail-preview pre{margin-top:16px;padding:18px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;
  border:1px solid var(--line);background:var(--well);color:var(--text);font:12px/1.7 var(--mono)}

@media (max-width:640px){
  .console-operations-actions{justify-content:flex-start;margin-top:-18px}
  .console-announce-facts{grid-template-columns:1fr}
}
