:root{color-scheme:dark;--bg: #0b0818;--panel: rgba(23, 16, 42, .9);--panel-strong: rgba(35, 22, 64, .95);--primary: #c9a7ff;--primary-dark: #8b5cf6;--energy: #34ff8a;--energy-2: #00f5a0;--energy-soft: rgba(52, 255, 138, .14);--energy-border: rgba(52, 255, 138, .35);--energy-glow: 0 10px 45px rgba(52, 255, 138, .22);--muted: #b8b3d2;--text: #f7f5ff;--border: rgba(201, 167, 255, .26);--glow: 0 10px 45px rgba(122, 231, 255, .25), 0 10px 65px rgba(201, 167, 255, .28);--radius: 16px;font-family:Bai Jamjuree,SF Pro Rounded,Noto Sans SC,Helvetica Neue,sans-serif}body{margin:0;background:radial-gradient(circle at 18% 20%,rgba(201,167,255,.16),transparent 28%),radial-gradient(circle at 82% 12%,rgba(99,255,230,.12),transparent 24%),linear-gradient(135deg,#0c0a1a,#0b0818 55%,#0f0a23);color:var(--text);min-height:100vh}*{box-sizing:border-box}a{color:inherit;text-decoration:none}a:hover{color:var(--primary)}button{cursor:pointer}.auth-shell{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.auth-card{width:min(420px,100%);background:var(--panel);border:1px solid rgba(201,167,255,.3);border-radius:var(--radius);padding:36px;box-shadow:0 20px 60px #1a13388c,var(--glow)}.auth-card h1{margin:0 0 12px}.form-grid{display:grid;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--muted)}input,select,textarea{padding:12px;border-radius:10px;border:1px solid rgba(201,167,255,.28);background:#120e24b8;color:var(--text);font-size:15px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #c9a7ff33}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:none;padding:12px 20px;font-size:15px;font-weight:600;transition:transform .15s ease,filter .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#c9a7ff,#7de2ff);color:#0b0818;box-shadow:var(--glow)}.btn-primary:hover{filter:brightness(1.06)}.btn-secondary{background:#231a3ccc;color:var(--text);border:1px solid rgba(201,167,255,.24)}.btn-text{background:transparent;color:var(--primary);font-weight:500}.alert{border-radius:12px;padding:12px 14px;font-size:14px;background:#94a3b81f}.alert.error{border:1px solid rgba(239,68,68,.4);color:#fca5a5}.alert.success{border:1px solid var(--energy-border);color:var(--energy);box-shadow:var(--energy-glow)}.app-shell{display:flex;min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(201,167,255,.18),transparent 40%),radial-gradient(circle at 92% 22%,rgba(96,245,255,.12),transparent 32%),linear-gradient(160deg,#0c0a1c,#0f0b24,#0b0818)}.app-sidebar{width:240px;padding:28px 24px;background:#120c22e6;border-right:1px solid rgba(201,167,255,.22);display:flex;flex-direction:column;gap:28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-brand{display:flex;flex-direction:column}.app-brand span{font-size:20px;font-weight:700}.app-brand small{font-size:12px;color:var(--muted)}.app-nav{display:flex;flex-direction:column;gap:10px}.app-nav a{padding:10px 14px;border-radius:10px;color:var(--muted);font-weight:500}.app-nav a.active,.app-nav a:hover{color:var(--text);background:#c9a7ff24}.app-main{flex:1;padding:clamp(20px,4vw,48px);display:flex;flex-direction:column;gap:24px}.panel{background:var(--panel);border:1px solid rgba(201,167,255,.22);border-radius:var(--radius);padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 80px #0c081973,var(--glow)}.panel.energy{border-color:var(--energy-border);box-shadow:var(--energy-glow),var(--glow)}.panel h2{margin:0}.grid-cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;background:var(--energy-soft);color:var(--energy);border:1px solid var(--energy-border)}.link-inline{font-size:13px;color:var(--primary)}@media (max-width: 840px){.app-shell{flex-direction:column}.app-sidebar{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.app-nav{flex-direction:row;flex-wrap:wrap;gap:8px}.app-nav a{padding:8px 12px}}
