/* XPScerpto Auth Gateway R15 — theme-aware product and administration boundaries. */
*{box-sizing:border-box}
:root{
  --auth-bg:var(--xps-color-canvas,#030811);
  --auth-bg-deep:var(--xps-color-canvas-deep,#02060b);
  --auth-panel:var(--xps-color-surface,#07131e);
  --auth-panel-2:var(--xps-color-surface-raised,#0b1b28);
  --auth-line:var(--xps-color-border,#18364a);
  --auth-line-strong:var(--xps-color-border-strong,#28536b);
  --auth-text:var(--xps-color-text,#edf7f7);
  --auth-muted:var(--xps-color-text-muted,#91aeb5);
  --auth-field:var(--xps-color-surface-raised,#0c1b27);
  --auth-field-text:var(--xps-color-text,#edf7f7);
  --auth-accent:#36d6c6;
  --auth-accent-strong:#79f1e6;
  --auth-on-accent:#001b18;
  --auth-danger:var(--xps-color-danger,#e46d78);
  --auth-shadow:var(--xps-shadow-color,rgba(0,0,0,.42));
}
html[data-theme="light"],html[data-theme-mode="light"]{
  --auth-bg:#edf3f6;--auth-bg-deep:#e4edf2;--auth-panel:#f8fbfc;--auth-panel-2:#ffffff;
  --auth-line:#c8d8de;--auth-line-strong:#a8c1ca;--auth-text:#102029;--auth-muted:#5f747d;
  --auth-field:#ffffff;--auth-field-text:#102029;--auth-accent:#007a70;--auth-accent-strong:#005f58;
  --auth-on-accent:#ffffff;--auth-shadow:rgba(29,59,70,.14)
}
body.auth-gateway{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 16% 12%,color-mix(in srgb,var(--auth-accent) 13%,transparent),transparent 32%),radial-gradient(circle at 86% 84%,color-mix(in srgb,var(--auth-accent-strong) 7%,transparent),transparent 28%),linear-gradient(135deg,var(--auth-bg-deep),var(--auth-bg) 52%,var(--auth-bg-deep));color:var(--auth-text);display:grid;place-items:center;padding:clamp(14px,3vw,36px);overflow-x:hidden}
body.auth-gateway:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.3;background-image:linear-gradient(color-mix(in srgb,var(--auth-accent) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--auth-accent) 8%,transparent) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.auth-shell-flagship{position:relative;width:min(1180px,100%);min-height:min(740px,calc(100vh - 72px));display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);border:1px solid var(--auth-line);border-radius:30px;overflow:hidden;background:color-mix(in srgb,var(--auth-panel) 92%,transparent);box-shadow:0 42px 140px var(--auth-shadow),inset 0 1px 0 color-mix(in srgb,var(--auth-text) 5%,transparent);backdrop-filter:blur(22px)}
.auth-intro{position:relative;min-width:0;padding:clamp(32px,5vw,66px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--auth-panel) 95%,var(--auth-accent) 5%),var(--auth-bg-deep))}
html[data-theme="light"] .auth-intro,html[data-theme-mode="light"] .auth-intro{background:linear-gradient(145deg,#f6fafb,#eaf2f5)}
.auth-intro:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;left:50%;top:49%;transform:translate(-38%,-44%);background:radial-gradient(circle,color-mix(in srgb,var(--auth-accent) 14%,transparent),transparent 64%);filter:blur(8px);pointer-events:none}
.auth-brand-row{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}
.auth-wordmark{display:inline-flex;align-items:center;min-width:0;color:inherit;text-decoration:none}
.auth-wordmark img{display:block;width:clamp(142px,18vw,184px);height:auto;object-fit:contain}
.auth-theme-slot{display:flex;align-items:center;justify-content:flex-end;min-width:46px;min-height:46px}
.auth-intro-copy{position:relative;z-index:2;align-self:center;max-width:660px;padding-top:42px}
.auth-kicker,.auth-panel-head>span{display:block;margin-bottom:14px;color:var(--auth-accent);font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.auth-intro h1{margin:0 0 22px;max-width:14ch;font-size:clamp(2.75rem,4.8vw,4.75rem);line-height:.95;letter-spacing:-.052em;font-weight:780;text-wrap:balance}
.auth-intro p{margin:0;max-width:55ch;color:var(--auth-muted);line-height:1.75;font-size:1.02rem}
.auth-system-map{position:relative;z-index:2;align-self:end;width:min(510px,88%);aspect-ratio:1.55;margin:28px auto 12px;border:1px solid color-mix(in srgb,var(--auth-accent) 22%,transparent);border-radius:50%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--auth-accent) 12%,transparent),transparent 28%),radial-gradient(circle at 50% 50%,transparent 49%,color-mix(in srgb,var(--auth-accent) 18%,transparent) 50%,transparent 51%);box-shadow:inset 0 0 50px color-mix(in srgb,var(--auth-accent) 7%,transparent)}
.auth-system-map:before,.auth-system-map:after{content:"";position:absolute;inset:19% 9%;border:1px solid color-mix(in srgb,var(--auth-accent) 22%,transparent);border-radius:50%;transform:rotate(18deg)}
.auth-system-map:after{inset:29% 19%;transform:rotate(-18deg)}
.auth-map-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:126px;height:126px;border-radius:50%;display:grid;place-content:center;text-align:center;border:1px solid color-mix(in srgb,var(--auth-accent) 48%,transparent);background:color-mix(in srgb,var(--auth-panel-2) 94%,var(--auth-accent) 6%);box-shadow:0 0 44px color-mix(in srgb,var(--auth-accent) 14%,transparent)}
.auth-map-core img{width:54px;height:54px;margin:0 auto 7px;object-fit:contain;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--auth-accent) 28%,transparent))}
.auth-map-core small{color:var(--auth-accent);font-weight:900;letter-spacing:.12em}.auth-map-core b{font-size:.95rem;margin-top:2px}
.auth-map-node{position:absolute;padding:8px 11px;border:1px solid color-mix(in srgb,var(--auth-accent) 24%,transparent);border-radius:999px;background:color-mix(in srgb,var(--auth-panel) 92%,transparent);color:var(--auth-text);font-size:.76rem;font-weight:800;white-space:nowrap}.auth-map-node.n1{left:4%;top:22%}.auth-map-node.n2{right:1%;top:20%}.auth-map-node.n3{left:8%;bottom:17%}.auth-map-node.n4{right:2%;bottom:17%}
.auth-boundary-strip{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;color:var(--auth-muted);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.auth-boundary-strip i{height:1px;background:linear-gradient(90deg,var(--auth-accent),color-mix(in srgb,var(--auth-accent) 12%,transparent))}.auth-boundary-strip small{font-size:inherit}
.auth-panel{position:relative;z-index:2;padding:clamp(36px,5vw,68px);display:grid;align-content:center;background:linear-gradient(180deg,var(--auth-panel-2),var(--auth-panel));color:var(--auth-text);border-inline-start:1px solid var(--auth-line)}
.auth-panel-head{margin-bottom:34px}.auth-panel-head>span{color:var(--auth-accent)}.auth-panel h2{margin:0 0 10px;font-size:clamp(2rem,3vw,3rem);letter-spacing:-.04em}.auth-panel-head p{margin:0;color:var(--auth-muted)}
.auth-form{display:grid;gap:18px}.auth-form label{display:grid;gap:8px;font-size:.82rem;font-weight:800;color:var(--auth-text)}.auth-form input{width:100%;padding:15px 16px;border:1px solid var(--auth-line-strong);border-radius:13px;background:var(--auth-field);color:var(--auth-field-text);font:inherit;outline:none;transition:border-color .18s,box-shadow .18s}.auth-form input:focus{border-color:var(--auth-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--auth-accent) 15%,transparent)}.auth-form button{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--auth-accent);border-radius:13px;padding:15px 17px;background:var(--auth-accent);color:var(--auth-on-accent);font:inherit;font-weight:850;cursor:pointer;box-shadow:0 16px 34px color-mix(in srgb,var(--auth-accent) 18%,transparent)}.auth-form button span{font-size:1.25rem}.auth-form button:disabled{opacity:.55;cursor:wait}.auth-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:23px;padding-top:22px;border-top:1px solid var(--auth-line)}.auth-links a{color:var(--auth-accent);font-weight:750;text-decoration:none}.auth-message{min-height:1.4em;margin:14px 0 0;color:var(--auth-danger)}.auth-setup{display:none!important}
.auth-gateway .xps-theme-icon-button{border:1px solid var(--auth-line-strong);background:var(--auth-panel-2);color:var(--auth-text);border-radius:12px;min-width:44px;min-height:44px;display:grid;place-items:center;cursor:pointer}.auth-gateway .xps-theme-icon-button svg{width:20px;height:20px}
@media(max-width:840px){body.auth-gateway{padding:0}.auth-shell-flagship{width:100%;min-height:100vh;grid-template-columns:1fr;border:0;border-radius:0}.auth-intro{min-height:46vh;padding:28px 24px}.auth-intro-copy{padding-top:32px}.auth-intro h1{font-size:clamp(2.6rem,11vw,4.2rem)}.auth-system-map{width:min(460px,94%);margin-top:30px}.auth-boundary-strip{display:none}.auth-panel{padding:38px 24px 52px;border-inline-start:0;border-top:1px solid var(--auth-line)}}
@media(max-width:480px){.auth-intro{min-height:420px}.auth-wordmark img{width:138px}.auth-system-map{width:100%;aspect-ratio:1.7}.auth-map-core{width:104px;height:104px}.auth-map-core img{width:42px;height:42px}.auth-map-node{font-size:.68rem;padding:7px 9px}.auth-intro h1{font-size:clamp(2.45rem,12vw,3.6rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
