:root { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif; color:#182436; background:#edf1f6; color-scheme:light; }
* { box-sizing:border-box; }
body { margin:0; }
.login-page { min-height:100svh; display:grid; place-items:center; padding:24px; background:radial-gradient(ellipse at top,#f8faff,#e8eef6); }
.login-card { width:min(100%,440px); padding:36px; border:1px solid #dce3ee; border-radius:18px; background:white; box-shadow:0 16px 48px #1c355410; }
.brand { color:#1e4c95; font-weight:750; font-size:18px; letter-spacing:1px; }
.brand span,.desktop-toolbar strong span { margin-left:10px; font-size:14px; font-weight:400; letter-spacing:0; color:#667589; }
h1 { margin:30px 0 12px; font-size:25px; font-weight:650; }
.description { font-size:14px; line-height:1.7; color:#667589; margin:0 0 24px; }
label { display:block; font-size:14px; font-weight:550; margin:18px 0 8px; }
input:not([type=checkbox]) { width:100%; padding:13px 14px; border:1px solid #cfd8e5; border-radius:8px; font:inherit; background:#fbfcfe; }
input:focus-visible { outline:3px solid #c9ddfb; border-color:#3c71ba; }
.remember { display:flex; gap:8px; align-items:center; font-weight:400; }
input[type=checkbox] { margin:0; width:16px; height:16px; accent-color:#285eb1; }
.storage-note { font-size:12px; line-height:1.5; color:#7b8796; margin:0 0 20px; }
button { font:inherit; cursor:pointer; }
#submit { width:100%; padding:13px; border:0; border-radius:8px; color:white; background:#285eb1; font-weight:600; }
#submit:disabled { opacity:.6; cursor:wait; }
.error { color:#b8293b; font-size:13px; line-height:1.5; }
footer { margin-top:28px; padding-top:18px; border-top:1px solid #edf0f5; font-size:12px; color:#7b8796; line-height:1.8; }
a { color:#285eb1; text-decoration:none; }
a:hover { text-decoration:underline; }
.desktop-page { height:100svh; display:flex; flex-direction:column; background:#101822; }
.desktop-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:12px 18px; color:#1e3350; background:#f7f9fc; border-bottom:1px solid #d8e0eb; font-size:13px; }
.desktop-toolbar #status { flex:1; min-width:180px; color:#61728b; }
.desktop-toolbar button { background:white; border:1px solid #cfd8e5; border-radius:6px; padding:7px 10px; margin-left:5px; color:#285eb1; }
#screen { flex:1; min-height:0; width:100%; overflow:hidden; }
@media(max-width:540px) { .login-card { padding:26px; } .desktop-toolbar { padding:10px; } .desktop-toolbar button { font-size:12px; margin:0 4px 0 0; } }
