:root{color-scheme:light;--bg-top: #f6f9fd;--bg-bottom: #e9f0f8;--text-main: #0f1f33;--text-muted: #4f6074;--brand: #0f5da8;--brand-strong: #0a3f73;--surface: rgba(255, 255, 255, .88);--line: rgba(15, 31, 51, .12);--danger-bg: #fef2f2;--danger-text: #9f1239;--shadow-main: 0 20px 45px rgba(7, 32, 61, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Outfit,Segoe UI,sans-serif;color:var(--text-main);background:radial-gradient(circle at 0% 0%,rgba(21,101,192,.16),transparent 40%),radial-gradient(circle at 100% 100%,rgba(12,74,128,.18),transparent 42%),linear-gradient(145deg,var(--bg-top),var(--bg-bottom))}.login-page,.dashboard-page{width:min(1120px,92vw);margin:0 auto;min-height:100vh;display:grid;align-items:center;gap:28px;padding:40px 0}.login-page{grid-template-columns:1.15fr 1fr}.login-hero h1{margin:8px 0 14px;font-size:clamp(2rem,4vw,3rem);line-height:1.1;max-width:18ch}.login-hero p{max-width:42ch;color:var(--text-muted);line-height:1.6;margin:0}.eyebrow{margin:0;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.login-card,.dashboard-header,.stats-strip article,.app-card,.empty-state{border:1px solid var(--line);border-radius:20px;background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-main)}.login-card{padding:clamp(24px,3vw,36px)}.login-card h2{margin:0;font-size:1.6rem}.login-card p{margin-top:10px;color:var(--text-muted)}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1f3373;display:grid;place-items:center;padding:20px;z-index:30}.auth-popup{width:min(520px,92vw);border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-main);padding:22px}.auth-popup.is-warning{border-color:#f59e0b}.auth-popup.is-error{border-color:#ef4444}.auth-popup h3{margin:0;font-size:1.2rem}.auth-popup p{margin:10px 0 0;color:var(--text-muted);line-height:1.5}.auth-popup__hint{margin-top:12px;font-size:.9rem;color:#7c2d12}.primary-btn,.ghost-btn{border:0;border-radius:14px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.primary-btn{width:100%;margin-top:10px;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-strong));box-shadow:0 14px 24px #0f5da859}.primary-btn:hover:not(:disabled),.ghost-btn:hover{transform:translateY(-1px)}.primary-btn:disabled,.app-card:disabled{opacity:.75;cursor:not-allowed}.dashboard-page{align-items:start;grid-template-columns:1fr;padding-top:32px;padding-bottom:32px}.dashboard-header{padding:clamp(20px,2.5vw,30px);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-header h1{margin:10px 0 8px;font-size:clamp(1.5rem,3vw,2rem)}.dashboard-header p{margin:0;color:var(--text-muted)}.ghost-btn{background:#0f5da81a;color:var(--brand-strong)}.stats-strip{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.stats-strip article{padding:16px 18px}.stats-strip span{color:var(--text-muted);font-size:.9rem}.stats-strip strong{display:block;margin-top:8px;font-size:1.55rem}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.app-card{text-align:left;padding:18px;display:grid;gap:18px;cursor:pointer}.app-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 24px 40px #07203d2e}.app-card__top,.app-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.app-card__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;font-size:.9rem;font-weight:700;color:var(--brand-strong);background:linear-gradient(135deg,#d8ebff,#c4dcf7)}.app-card__badge{border-radius:999px;font-size:.75rem;font-weight:600;padding:5px 10px}.app-card__badge.is-enabled{color:#166534;background:#dcfce7}.app-card__badge.is-disabled{color:#a16207;background:#fef3c7}.app-card h3{margin:0 0 8px;font-size:1.1rem}.app-card p{margin:0;color:var(--text-muted);line-height:1.5}.app-card__bottom span{font-size:.8rem;color:var(--text-muted)}.app-card__bottom strong{color:var(--brand-strong);font-size:.9rem}.empty-state{padding:28px}.empty-state h2{margin:0}.empty-state p{margin:8px 0 0;color:var(--text-muted)}@media (max-width: 940px){.login-page{grid-template-columns:1fr;align-content:center}}@media (max-width: 640px){.dashboard-header{flex-direction:column}.stats-strip{grid-template-columns:1fr}}
