:root{--bg: #0b1221;--panel: #0f172a;--surface: #ffffff;--muted: #64748b;--accent: #22d3ee;--accent-strong: #0ea5e9;--border: #1e293b;--shadow: 0 18px 50px rgba(2, 6, 23, .35)}.app-root{min-height:100vh;background:linear-gradient(120deg,#0b1221,#0f172a 50%,#0b1221);display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:20;background:#0f172aeb;color:#e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);box-shadow:0 10px 30px #02061759;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header-left,.app-header-right{display:flex;align-items:center;gap:12px}.app-logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));display:grid;place-items:center;font-weight:800;color:#0b1221;letter-spacing:.02em}.app-title-small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#cbd5e1}.app-subtitle{font-size:12px;color:#94a3b8;margin-top:2px}.header-user{font-weight:600}.app-body{flex:1;display:flex;gap:14px;padding:14px;align-items:flex-start}.sidebar{width:230px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;position:sticky;top:80px}.nav-item{width:100%;text-align:left;border-radius:12px;border:1px solid transparent;padding:10px 12px;background:transparent;color:#e2e8f0;font-weight:600}.nav-item:hover{border-color:#94a3b866;background:#94a3b814}.nav-item.active{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#0b1221;border-color:transparent;box-shadow:0 10px 35px #22d3ee59}.main-panel{flex:1;background:var(--surface);border-radius:16px;padding:16px;box-shadow:0 24px 60px #02061733;min-width:0}.login-container{max-width:540px;margin:32px auto;background:var(--surface);border-radius:18px;padding:20px;box-shadow:0 24px 60px #02061759;border:1px solid #e2e8f0;text-align:left}.app-title{margin:0 0 8px;color:#0f172a}.login-tabs{display:grid;grid-template-columns:repeat(2,1fr);background:var(--panel);padding:4px;border-radius:12px;gap:4px;margin:12px 0}.tab{border:none;background:transparent;color:#cbd5e1;padding:10px;border-radius:10px;font-weight:600}.tab.active{background:#fff;color:#0f172a;box-shadow:0 8px 30px #0f172a26}.login-form{display:flex;flex-direction:column;gap:10px}.login-form input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.error-banner{background:#fee2e2;color:#b91c1c;padding:10px 12px;border-radius:10px;margin-bottom:10px}button{border-radius:10px;border:1px solid #d0d7e2;background:#0f172a;color:#e2e8f0;padding:10px 12px;font-weight:600}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #0f172a29}button:active:not(:disabled){transform:translateY(0);box-shadow:none}input,select,textarea{font:inherit}@media(max-width:960px){.app-body{flex-direction:column}.sidebar{width:100%;position:static;flex-direction:row;flex-wrap:wrap}.nav-item{flex:1 1 calc(50% - 8px);text-align:center}.main-panel{padding:14px}.app-header{flex-wrap:wrap;gap:10px}.app-header-right{width:100%;justify-content:space-between}}@media(max-width:640px){.nav-item{flex:1 1 100%}.login-container{margin:16px 12px}.app-logo{width:38px;height:38px}}:root{font-family:Inter,Sora,SF Pro Display,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#0b1221;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 20%,rgba(34,211,238,.12),transparent 25%),radial-gradient(circle at 90% 20%,rgba(59,130,246,.12),transparent 25%),linear-gradient(120deg,#0b1221,#0f172a 45%,#0b1221);color:#0f172a}a{color:inherit;text-decoration:none}#root{min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}button:disabled{cursor:not-allowed;opacity:.7}
