:root{--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--accent: #2563eb;--sidebar-bg: #0f172a;--sidebar-text: #cbd5e1;--sidebar-active: #1e293b;--danger: #dc2626}@media (prefers-color-scheme: dark){:root{--bg: #0b1220;--surface: #111827;--border: #1f2937;--text: #e5e7eb;--text-muted: #9ca3af}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}h1{font-size:1.5rem;margin:0 0 1rem}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{position:relative;overflow:hidden;background:linear-gradient(160deg,#0f172a,#1e293b 60%,#1d3a8a);display:flex;align-items:center;padding:4rem}.auth-brand-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35}.auth-brand-blob-a{width:420px;height:420px;background:#2563eb;top:-120px;left:-100px}.auth-brand-blob-b{width:320px;height:320px;background:#7c3aed;bottom:-100px;right:-80px}.auth-brand-content{position:relative;z-index:1;color:#e5e7eb;max-width:440px}.auth-brand-mark{height:28px;width:auto;margin-bottom:2.5rem;display:block}.auth-brand-content h1{font-size:2rem;line-height:1.25;color:#fff;margin:0 0 1rem}.auth-brand-content p{color:#cbd5e1;line-height:1.6;margin:0 0 2rem}.auth-brand-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.auth-brand-features li{color:#e5e7eb;font-size:.9rem;padding-left:1.5rem;position:relative}.auth-brand-features li:before{content:"✓";position:absolute;left:0;color:#60a5fa;font-weight:700}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg)}.auth-form-card{width:100%;max-width:380px}.auth-form-card h2{font-size:1.5rem;margin:0 0 .35rem}.auth-form-subtitle{color:var(--text-muted);margin:0 0 1.5rem;font-size:.9rem}.auth-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.auth-field label{font-size:.8rem;color:var(--text-muted)}.auth-field input{padding:.6rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.95rem}.auth-field input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.auth-form-card form>button[type=submit]{width:100%;margin-top:.5rem;padding:.7rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer}.auth-form-card form>button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-button-link{display:block;width:100%;margin-top:.5rem;padding:.7rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-weight:600;font-size:.95rem;text-align:center;text-decoration:none;box-sizing:border-box}.auth-form-links{display:flex;justify-content:flex-end;margin-bottom:1rem;font-size:.85rem}.auth-form-links a,.auth-form-footer a{color:var(--accent);text-decoration:none}.auth-form-footer{margin-top:1.25rem;text-align:center;font-size:.85rem;color:var(--text-muted)}.auth-notice{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;border-radius:6px;padding:.6rem .75rem;font-size:.85rem;margin-bottom:1rem}.auth-error{color:var(--danger);font-size:.85rem;margin:0 0 .75rem}.auth-resend{display:flex;align-items:center;justify-content:flex-end;margin:-.5rem 0 1rem}.auth-resend-timer{font-size:.8rem;color:var(--text-muted)}.auth-resend-link{background:none;border:none;color:var(--accent);font-size:.8rem;cursor:pointer;padding:0}.auth-resend-link:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 860px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.app-shell.sidebar-collapsed{grid-template-columns:64px 1fr}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;overflow-y:auto}.sidebar-brand{padding:1rem;display:flex;align-items:center;height:24px}.sidebar-brand img{height:100%;width:auto}.sidebar-group{margin-bottom:.5rem}.sidebar-group-label{padding:.5rem 1rem .25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.sidebar-link{display:block;padding:.5rem 1rem;color:var(--sidebar-text);text-decoration:none;font-size:.9rem}.sidebar-link:hover,.sidebar-link.active{background:var(--sidebar-active);color:#fff}.app-main{display:flex;flex-direction:column;min-width:0}.topbar{height:56px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;padding:0 1rem;background:var(--surface)}.collapse-btn{border:none;background:transparent;font-size:1.1rem;cursor:pointer;color:var(--text)}.topbar-search{flex:1;color:var(--text-muted)}.topbar-user{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.topbar-user button{border:1px solid var(--border);background:transparent;color:var(--text);padding:.35rem .75rem;border-radius:6px;cursor:pointer}.content{padding:1.5rem;overflow-y:auto}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem}.stat-card-label{font-size:.8rem;color:var(--text-muted)}.stat-card-value{font-size:1.5rem;font-weight:700;margin-top:.25rem}.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.area-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem}.area-panel h2{font-size:1rem;margin:0 0 .5rem}.area-placeholder{color:var(--text-muted);font-size:.85rem}
