html,body,#root{min-height:100%}body{margin:0}:root{color:#17242d;font-synthesis:none;text-rendering:optimizelegibility;background:#f6fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color:#edf4f7;background:#10171d}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.68}.page-shell,.authenticated-shell,.loading-screen{min-height:100vh}.page-shell{color:#17242d;background:radial-gradient(circle at 7% 18%,#00b3e11f,#0000 25rem),radial-gradient(circle at 92% 73%,#00b3e11a,#0000 28rem),linear-gradient(135deg,#f7fbfd 0%,#eef7fb 100%)}:root[data-theme=dark] .page-shell,:root[data-theme=dark] .authenticated-shell,:root[data-theme=dark] .loading-screen{color:#edf4f7;background:radial-gradient(circle at 7% 18%,#00b3e121,#0000 25rem),radial-gradient(circle at 92% 73%,#00b3e114,#0000 28rem),#10171d}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff6b;border-bottom:1px solid #26354014;justify-content:space-between;align-items:center;height:96px;padding:0 clamp(28px,4.7vw,76px);display:flex}:root[data-theme=dark] .topbar{background:#10171d9e;border-color:#ffffff14}.top-logo{width:clamp(145px,12vw,190px);height:auto;display:block}.top-actions{align-items:center;gap:12px;display:flex}.theme-button,.logout-button{min-height:48px;color:inherit;background:#ffffffb8;border:1px solid #22313c1f;border-radius:999px;padding:0 18px}.theme-button{align-items:center;gap:10px;display:inline-flex}.theme-icon{background:#6e7f90;border-radius:50%;width:15px;height:15px;box-shadow:inset 5px -3px #f8fbfc}:root[data-theme=dark] .theme-button,:root[data-theme=dark] .logout-button{background:#ffffff0d;border-color:#ffffff1f}:root[data-theme=dark] .theme-icon{box-shadow:inset 5px -3px #10171d}.login-layout{grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);align-items:center;gap:clamp(50px,7vw,120px);max-width:1430px;min-height:calc(100vh - 96px);margin:0 auto;padding:64px clamp(34px,5.5vw,90px) 82px;display:grid}.intro-panel{max-width:660px}.intro-panel h1{letter-spacing:-.06em;max-width:650px;margin:0;font-size:clamp(4.2rem,6.2vw,6.7rem);font-weight:820;line-height:.95}.intro-panel p{color:#6a7c91;max-width:650px;margin:30px 0 0;font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.56}:root[data-theme=dark] .intro-panel p,:root[data-theme=dark] .muted{color:#9aaab4}.status-row{color:#536572;background:#ecfff7cc;border-radius:999px;align-items:center;gap:11px;margin-top:31px;padding:11px 17px;font-size:.9rem;display:inline-flex}:root[data-theme=dark] .status-row{color:#a7b4bd;background:#29bb6f1a}.status-dot{background:#99a4ac;border-radius:50%;width:10px;height:10px}.status-dot.ok{background:#20b76b;box-shadow:0 0 0 6px #20b76b1a}.status-dot.error{background:#e05252;box-shadow:0 0 0 6px #e052521a}.login-card-wrap{justify-content:center;display:flex}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #1b29340f;border-radius:28px;flex-direction:column;gap:24px;width:min(100%,540px);padding:clamp(36px,4vw,52px);display:flex;box-shadow:0 34px 90px #17364a21}:root[data-theme=dark] .login-card,:root[data-theme=dark] .signed-in-card{background:#18222af0;border-color:#ffffff17;box-shadow:0 30px 90px #00000057}.login-brand{flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:6px;display:flex}.card-logo{width:165px;height:auto;display:block}.dashboard-label{color:#8191a5;letter-spacing:.44em;padding-left:5px;font-size:.68rem;font-weight:720}.login-card h2{letter-spacing:-.04em;margin:0 0 8px;font-size:2rem}.muted{color:#75869a;margin:0;font-size:1rem;line-height:1.55}.login-card label{flex-direction:column;gap:9px;display:flex}.login-card label>span{font-size:.87rem;font-weight:750}.login-card input{color:#1e2830;background:#fbfcfd;border:1px solid #d8e1e8;border-radius:13px;outline:none;width:100%;min-height:56px;padding:0 16px;transition:border-color .12s,box-shadow .12s}.login-card input:focus{border-color:#00a9d1;box-shadow:0 0 0 4px #00bee81c}:root[data-theme=dark] .login-card input{color:#f3f7f9;background:#111a20;border-color:#34444f}.login-button{color:#061820;background:linear-gradient(90deg,#08aee0 0%,#04bee8 100%);border:0;border-radius:13px;min-height:58px;font-size:1rem;font-weight:850;box-shadow:0 10px 26px #00aedc2e}.login-button:hover:not(:disabled){filter:brightness(.97)}.form-message{color:#007d9c;background:#00bee817;border-radius:10px;margin-top:-8px;padding:11px 13px;font-size:.84rem;line-height:1.45}:root[data-theme=dark] .form-message{color:#64dff6}.security-note{color:#8b979f;text-align:center;font-size:.77rem}.loading-screen{color:#6e7e8a;background:#f6fafc;place-content:center;justify-items:center;gap:18px;display:grid}.loading-logo{width:190px}.authenticated-shell{background:radial-gradient(circle at 15% 20%,#00b3e11c,#0000 28rem),linear-gradient(135deg,#f8fbfd 0%,#eef7fb 100%)}.signed-in-card{background:#fffffff0;border-radius:26px;width:min(760px,100% - 40px);margin:90px auto;padding:48px;box-shadow:0 28px 80px #17364a1f}.signed-in-logo{width:180px}.signed-in-card h1{letter-spacing:-.045em;margin:34px 0 12px;font-size:2.3rem}.signed-in-card>p{color:#6d7c88;line-height:1.7}.signed-in-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px;display:grid}.signed-in-meta>div{background:#00aedc0f;border-radius:14px;flex-direction:column;gap:8px;padding:18px;display:flex}.signed-in-meta span{color:#7d8b96;font-size:.8rem}@media (width<=900px){.login-layout{grid-template-columns:1fr;padding-top:42px}.intro-panel{text-align:center;margin:0 auto}.intro-panel h1{font-size:clamp(3.6rem,12vw,5.8rem)}.intro-panel p{margin-left:auto;margin-right:auto}.signed-in-meta{grid-template-columns:1fr}}@media (width<=560px){.topbar{height:78px;padding:0 18px}.top-logo{width:120px}.login-layout{min-height:calc(100vh - 78px);padding:32px 18px 58px}.intro-panel{display:none}.login-card{border-radius:20px;padding:30px 22px}.theme-button{min-height:43px;padding:0 13px}.logout-button{display:none}}
