/* Sign-in page, BuildTrack "Launch" design system. Colors and sizes come from tokens.css. */
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
html{background:var(--bt-bg)}
body{background-color:var(--bt-bg);background-image:var(--bt-mesh);background-attachment:fixed;color:var(--bt-text);font:var(--bt-text-base)/1.5 var(--bt-font-ui);-webkit-font-smoothing:antialiased;transition:background-color var(--bt-dur-slow) var(--bt-ease-std),color var(--bt-dur-slow) var(--bt-ease-std)}
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--bt-dur-slow);animation-timing-function:var(--bt-ease-std)}
a{color:var(--bt-accent-text)}
button,input{font:inherit;color:inherit}
:focus-visible{outline:none;box-shadow:var(--bt-focus);border-radius:var(--bt-radius-sm)}
body.login{display:grid;place-items:center;min-height:100dvh;padding:max(24px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.login .box{width:min(440px,100%);display:grid;gap:var(--bt-space-6);animation:rise var(--bt-dur-slow) var(--bt-ease-out) both}
@keyframes rise{from{opacity:0;transform:translateY(var(--bt-rise))}to{opacity:1;transform:none}}
.brand{display:flex;align-items:center;gap:var(--bt-space-4)}
.brand-mark{width:56px;height:56px;flex:none;filter:drop-shadow(0 10px 24px rgba(245,197,66,.35))}
.wordmark{font-family:var(--bt-font-display);font-weight:800;font-size:var(--bt-text-2xl);letter-spacing:-.02em;line-height:1.1}
.wordmark b{font-weight:800;background:linear-gradient(135deg,var(--bt-gold-1),var(--bt-gold-2) 60%,var(--bt-gold-3));-webkit-background-clip:text;background-clip:text;color:transparent}
.wordmark i{font-style:normal;font-weight:600;font-size:var(--bt-text-md);letter-spacing:.02em;color:var(--bt-text-muted);margin-left:4px}
.tag{font-size:var(--bt-text-base);color:var(--bt-text-muted)}
.card{background:var(--bt-surface);border:1px solid var(--bt-line);border-radius:var(--bt-radius-lg);padding:var(--bt-space-6);display:grid;gap:var(--bt-space-4);backdrop-filter:blur(var(--bt-glass-blur));-webkit-backdrop-filter:blur(var(--bt-glass-blur));box-shadow:var(--bt-shadow-3)}
.entra{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 var(--bt-space-5);background:var(--bt-accent-grad);border:0;border-radius:var(--bt-radius-pill);color:var(--bt-text-on-accent);font-weight:700;font-size:var(--bt-text-base);text-decoration:none;box-shadow:0 8px 24px rgba(79,124,255,.35),0 1px 0 rgba(255,255,255,.25) inset;transition:box-shadow var(--bt-dur-fast) var(--bt-ease-std),transform var(--bt-dur-instant) var(--bt-ease-std),filter var(--bt-dur-fast)}
.entra svg{background:#fff;padding:3px;border-radius:5px;width:24px;height:24px;flex:none}
.entra:hover{box-shadow:var(--bt-accent-glow),0 1px 0 rgba(255,255,255,.3) inset;filter:brightness(1.06);transform:translateY(-1px)}
.entra:active{transform:scale(.98)}
.msg{border-radius:var(--bt-radius-sm);padding:10px var(--bt-space-3);font-size:var(--bt-text-sm)}
.msg.ok{background:var(--bt-pass-soft);color:var(--bt-pass)} .msg.bad{background:var(--bt-fail-soft);color:var(--bt-fail)}
.breakglass summary{cursor:pointer;color:var(--bt-text-muted);font-size:var(--bt-text-sm);font-weight:600;min-height:var(--bt-hit-min);display:flex;align-items:center;justify-content:center;border-radius:var(--bt-radius-pill);list-style:none}
.breakglass summary::-webkit-details-marker{display:none}
.breakglass summary:hover{color:var(--bt-text);background:color-mix(in srgb,var(--bt-raised) 60%,transparent)}
.breakglass form{display:grid;gap:var(--bt-space-3);margin-top:var(--bt-space-3)}
.breakglass label{display:grid;gap:6px;font-size:var(--bt-text-sm);font-weight:600;color:var(--bt-text-muted)}
.breakglass input{width:100%;min-height:var(--bt-hit-min);padding:0 var(--bt-space-3);background:color-mix(in srgb,var(--bt-raised) 70%,transparent);color:var(--bt-text);border:1px solid var(--bt-line);border-radius:var(--bt-radius-sm);font-size:17px;font-weight:500;transition:border-color var(--bt-dur-fast),box-shadow var(--bt-dur-fast)}
.breakglass input::placeholder{color:var(--bt-text-faint)}
.breakglass input:hover{border-color:var(--bt-line-strong)}
.breakglass input:focus{outline:none;border-color:var(--bt-accent);box-shadow:0 0 0 4px var(--bt-accent-soft),0 8px 24px rgba(79,124,255,.18)}
.go{min-height:var(--bt-hit-min);padding:0 var(--bt-space-5);margin-top:var(--bt-space-1);background:var(--bt-raised);color:var(--bt-text);border:1px solid var(--bt-line-strong);border-radius:var(--bt-radius-pill);font-size:var(--bt-text-base);font-weight:700;cursor:pointer;transition:border-color var(--bt-dur-fast),transform var(--bt-dur-instant)}
.go:hover{border-color:var(--bt-text-faint);transform:translateY(-1px)} .go:active{transform:scale(.98)}
.foot{text-align:center;font-size:var(--bt-text-sm);color:var(--bt-text-faint);margin:0}
.theme{position:fixed;top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));width:var(--bt-hit-min);height:var(--bt-hit-min);display:grid;place-items:center;border:0;border-radius:var(--bt-radius-pill);background:transparent;color:var(--bt-text-muted);cursor:pointer}
.theme:hover{background:var(--bt-raised);color:var(--bt-text)}
.theme svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login label[hidden]{display:none}
@media (max-width:480px){.wordmark{font-size:var(--bt-text-xl)} .brand-mark{width:48px;height:48px} .card{padding:var(--bt-space-5)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
