:root { --black:#000; --ink:#f5f5f2; --muted:#969696; --line:#272727; --accent:#b8d7ff; --danger:#ff8e8e; --warning:#ffd166; --success:#80e2a7; }
* { box-sizing:border-box; } html,body { min-height:100%; } body { margin:0; background:var(--black); color:var(--ink); font-family:IBMPlex,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; } a:focus-visible,button:focus-visible,input:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.auth-shell { min-height:100vh; display:grid; grid-template-columns:minmax(260px,1fr) minmax(360px,540px); background:#000; }
.auth-intro { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:36px; overflow:hidden; border-right:1px solid var(--line); background:linear-gradient(135deg,#050505 15%,#101c31 100%); }
.auth-intro::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.7)); pointer-events:none; }.auth-intro>* { position:relative; z-index:1; }
.auth-wordmark { display:inline-flex; align-items:center; color:var(--ink); font-size:14px; letter-spacing:.13em; font-weight:800; text-decoration:none; }.auth-wordmark img { display:block; width:92px; height:48px; object-fit:contain; object-position:left center; }
.auth-intro-copy { max-width:520px; margin:auto 0; }.auth-kicker,.form-kicker { margin:0 0 16px; color:var(--accent); font-weight:700; font-size:11px; letter-spacing:.14em; }.auth-intro h1 { max-width:600px; margin:0; font-size:clamp(45px,6vw,90px); line-height:.92; letter-spacing:-.07em; font-weight:620; }.auth-intro-copy>p:last-child { max-width:380px; margin:24px 0 0; color:#b4b4b4; font-size:15px; line-height:1.5; }.auth-intro-footer { color:var(--muted); font-size:11px; }
.auth-panel { padding:70px 48px; display:flex; align-items:center; border-left:0; }.auth-card { width:100%; max-width:420px; margin:auto; }.auth-brand h1 { margin:0 0 8px; font-size:36px; line-height:1; letter-spacing:-.055em; font-weight:620; }.auth-subtitle { margin:0 0 38px; color:var(--muted); font-size:14px; line-height:1.45; }
.auth-form { border-top:1px solid var(--line); }.auth-form .form-group { margin:0; padding:19px 0; border-bottom:1px solid var(--line); }.form-label { display:block; margin-bottom:8px; color:#aaaeb8; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.form-control { display:block; width:100%; min-height:48px; padding:11px 13px; background:rgba(8,12,21,.78); border:1px solid rgba(184,215,255,.23); border-radius:8px; box-shadow:inset 0 1px 0 rgba(255,255,255,.035); color:var(--ink); caret-color:var(--accent); font:inherit; font-size:16px; outline:0; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease; }.form-control::placeholder { color:#727783; opacity:1; }.form-control:hover { border-color:rgba(184,215,255,.4); background:rgba(11,16,28,.86); }.form-control:focus,.form-control:focus-visible { color:#fff; outline:0; border-color:var(--accent); background:rgba(12,18,31,.96); box-shadow:0 0 0 3px rgba(184,215,255,.12),inset 0 1px 0 rgba(255,255,255,.055); }.form-control:-webkit-autofill,.form-control:-webkit-autofill:hover,.form-control:-webkit-autofill:focus { -webkit-text-fill-color:var(--ink); -webkit-box-shadow:0 0 0 1000px #0b101c inset,0 0 0 3px rgba(184,215,255,.1); caret-color:var(--accent); transition:background-color 9999s ease-out; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.form-row .form-group { min-width:0; }
.auth-error { margin:20px 0 0; padding:12px 0; border-top:1px solid rgba(255,155,155,.5); border-bottom:1px solid rgba(255,155,155,.5); color:var(--danger); font-size:13px; line-height:1.4; }.btn { width:100%; min-height:48px; margin-top:28px; padding:0 18px; border:1px solid var(--ink); border-radius:0; background:var(--ink); color:var(--black); cursor:pointer; font:inherit; font-size:13px; font-weight:700; transition:background-color .2s,border-color .2s; }.btn:hover { background:var(--accent); border-color:var(--accent); }.btn:disabled { opacity:.6; cursor:wait; }.auth-links { display:flex; justify-content:space-between; gap:18px; margin-top:22px; color:var(--muted); font-size:12px; }.auth-links a { text-decoration:none; border-bottom:1px solid #555; padding-bottom:3px; }.auth-links a:hover { color:var(--ink); border-color:var(--ink); }
.enter { animation:auth-enter .72s cubic-bezier(.22,1,.36,1) both; }.enter-1 { animation-delay:.05s; }.enter-2 { animation-delay:.16s; }.enter-3 { animation-delay:.27s; }.enter-4 { animation-delay:.38s; }.enter-5 { animation-delay:.49s; }
@keyframes auth-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:850px) { .auth-shell { display:block; }.auth-intro { min-height:250px; padding:25px; border-right:0; border-bottom:1px solid var(--line); }.auth-intro-copy { margin:48px 0 0; }.auth-intro h1 { font-size:48px; }.auth-intro-copy>p:last-child,.auth-intro-footer { display:none; }.auth-panel { padding:48px 24px 60px; }.auth-card { max-width:520px; } }
@media (max-width:480px) { .auth-panel { padding:38px 20px 50px; }.auth-intro h1 { font-size:41px; }.form-row { grid-template-columns:1fr; gap:0; }.auth-links { flex-direction:column; align-items:flex-start; gap:13px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

.form-control[data-validation-state="error"] { color:var(--ink); border-color:rgba(255,142,142,.82); background:rgba(45,13,18,.46); box-shadow:0 0 0 3px rgba(255,142,142,.08); }
.form-control[data-validation-state="warning"] { color:var(--ink); border-color:rgba(255,209,102,.8); background:rgba(42,32,7,.44); box-shadow:0 0 0 3px rgba(255,209,102,.07); }
.form-control[data-validation-state="success"] { color:var(--ink); border-color:rgba(128,226,167,.68); background:rgba(9,37,25,.42); box-shadow:0 0 0 3px rgba(128,226,167,.06); }
.form-control[data-validation-state="error"]:focus { border-color:var(--danger); box-shadow:0 0 0 3px rgba(255,142,142,.13); }
.form-control[data-validation-state="warning"]:focus { border-color:var(--warning); box-shadow:0 0 0 3px rgba(255,209,102,.12); }
.form-control[data-validation-state="success"]:focus { border-color:var(--success); box-shadow:0 0 0 3px rgba(128,226,167,.11); }
.field-error { display:block; min-height:16px; margin-top:6px; color:var(--muted); font-size:11px; line-height:1.35; }
.field-error[data-status="error"] { color:var(--danger); }
.field-error[data-status="warning"] { color:var(--warning); }
.field-error[data-status="success"] { color:var(--success); }
.auth-error[data-status="success"] { border-color:rgba(128,226,167,.55); color:var(--success); }
.auth-error[data-status="warning"] { border-color:rgba(255,209,102,.55); color:var(--warning); }
.auth-toast{position:fixed;right:24px;bottom:24px;z-index:1000;width:min(390px,calc(100vw - 32px));padding:18px 20px;border:1px solid rgba(128,226,167,.62);border-radius:12px;background:#10241a;color:#effff5;box-shadow:0 20px 54px rgba(0,0,0,.42);animation:auth-toast-in .34s cubic-bezier(.22,1,.36,1) both}.auth-toast strong{display:block;margin-bottom:6px;font-size:15px}.auth-toast p{margin:0;color:#c9ecd7;font-size:13px;line-height:1.5}.auth-toast button{position:absolute;top:8px;right:9px;width:32px;min-height:32px;margin:0;padding:0;border:0;border-radius:7px;background:transparent;color:#c9ecd7;cursor:pointer;font-size:21px}.auth-toast button:hover,.auth-toast button:focus-visible{background:rgba(255,255,255,.12);outline:2px solid var(--accent);outline-offset:1px}@keyframes auth-toast-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.auth-hint { display:block; margin-top:8px; color:var(--accent); font-size:12px; line-height:1.4; }
.form-note[data-status="error"] { color:var(--danger); }
.form-note[data-status="warning"] { color:var(--warning); }
.form-note[data-status="success"] { color:var(--success); }
.form-note { margin:14px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.auth-wordmark { display:inline-flex; align-items:center; width:180px; height:52px; color:transparent; background:url('../assets/branding/tshow-wordmark.png') left center/contain no-repeat; font-size:0; }
.auth-wordmark span { display:none; }
.password-control { display:flex; align-items:stretch; gap:8px; }
.password-control .form-control { flex:1; min-width:0; }
.password-toggle { min-width:76px; min-height:48px; padding:0 12px; border:1px solid rgba(184,215,255,.35); border-radius:6px; background:rgba(12,18,31,.9); color:var(--accent); cursor:pointer; font:inherit; font-size:12px; font-weight:700; }
.password-toggle:hover { border-color:var(--accent); background:rgba(25,35,56,.95); }
.password-toggle:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.invite-actions[hidden] { display:none!important; }
@media(max-width:480px){.auth-toast{right:16px;bottom:16px}}
