:root{color:var(--text);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page-bg:#050816;--shell-bg:radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 12%, transparent), transparent 32%), linear-gradient(135deg, #060918 0%, #0a1020 52%, #111827 100%);--surface:#0f172ac7;--surface-strong:#080d1cdb;--surface-soft:#0f172a94;--surface-input:#0e1832eb;--border:#94a3b82e;--border-strong:#94a3b86b;--text:#dde9f8;--text-strong:#f8fafc;--text-muted:#b0bfcf;--accent:#22d3ee;--accent-text:#0f172a;--accent-strong:#0ea5e9;--danger:#f87171;--shadow-soft:0 18px 40px #00000038;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--page-bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}input:focus,input:focus-visible,select:focus,select:focus-visible{outline:none;border-color:var(--accent)!important;background:color-mix(in srgb, var(--accent) 10%, var(--surface-input))!important;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)!important}select{background:var(--surface-input);color:var(--text-strong);border:1px solid var(--border-strong)}select option{background:var(--surface-strong);color:var(--text-strong)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#root{min-height:100vh}.app-shell{background:var(--shell-bg);grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid #94a3b829;flex-direction:column;gap:24px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:12px;min-height:44px;display:flex}.brand-mark{width:40px;height:40px;color:var(--accent-text);background:linear-gradient(135deg, var(--accent), #0891b2);border-radius:8px;flex-shrink:0;place-items:center;font-size:13px;font-weight:900;display:grid}.brand strong{color:var(--text-strong);letter-spacing:.04em;font-size:14px;display:block}.brand span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;display:block}.nav-group-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;font-size:10.5px;font-weight:700}.nav-list{gap:4px;display:grid}.nav-item{width:100%;min-height:38px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:28px 1fr;align-items:center;gap:10px;margin-bottom:3px;padding:6px 10px;font-size:13.5px;text-decoration:none;display:grid}.nav-item:hover,.nav-item.active{color:var(--text-strong);border-color:color-mix(in srgb, var(--accent) 42%, transparent);background:var(--surface)}.nav-icon{width:26px;height:26px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:6px;place-items:center;display:grid}.sidebar-footer{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding:12px 14px;font-size:12.5px;display:flex}.sidebar-footer button{color:var(--text-muted);background:0 0;border:none;align-items:center;gap:6px;font-size:12.5px;display:flex}.sidebar-footer button:hover{color:var(--accent)}.topbar{z-index:10;background:color-mix(in srgb, var(--surface-strong) 84%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid #94a3b829;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:14px 28px;display:flex;position:sticky;top:0}.content-area{width:100%;max-width:1440px;margin:0 auto;padding:28px}.module-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, transparent), transparent 42%), var(--surface);box-shadow:var(--shadow-soft);border:1px solid #94a3b829;border-radius:10px;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;padding:22px 26px;display:flex}.module-hero span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.module-hero h1{color:var(--text-strong);margin:6px 0;font-size:26px;line-height:1.2}.module-hero p{color:var(--text-muted);margin:0;font-size:14px}.panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:10px;padding:20px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.info-card{border:1px solid var(--border);background:var(--surface);min-height:120px;color:inherit;border-radius:10px;align-content:start;gap:8px;padding:16px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:grid}.info-card:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 6%, var(--surface));box-shadow:0 18px 44px color-mix(in srgb, var(--accent) 15%, transparent);transform:translateY(-2px)}.info-card strong{color:var(--text-strong);font-size:14.5px}.info-card p{color:var(--text-muted);margin:0;font-size:12.5px;line-height:1.5}table.data-table{border-collapse:collapse;width:100%;font-size:13.5px}table.data-table thead th{text-align:left;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px}table.data-table tbody td{color:var(--text);border-bottom:1px solid #94a3b81a;padding:12px 14px}table.data-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:7px;padding:9px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:hover{border-color:#64748b99;transform:translateY(-1px)}.btn-save{color:var(--accent-text);background:var(--accent);border-color:var(--accent);box-shadow:0 0 14px color-mix(in srgb, var(--accent) 35%, transparent);font-weight:700}.btn-save:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-danger{color:#f87171;background:#ef444414;border-color:#f8717166}.btn-danger:hover{color:#fca5a5;background:#ef44442e;border-color:#f87171}.icon-btn{color:var(--text-muted);background:0 0;border:none;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--accent)}.login-screen{background:#050b12 50%/cover;justify-content:flex-end;align-items:center;min-height:100vh;padding:24px 6vw;display:flex;position:relative;overflow:hidden}.login-glow{pointer-events:none;background:linear-gradient(90deg,#050b1226 0%,#050b128c 55%,#050b1226 100%);position:absolute;inset:0}.login-card{z-index:1;border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050a10b8;border-radius:20px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px 30px;display:flex;position:relative;box-shadow:0 30px 80px #0000008c}.login-lock{border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);width:52px;height:52px;color:var(--accent);box-shadow:0 0 40px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:16px;place-items:center;margin:0 auto;display:grid}.login-field{border:1px solid var(--border-strong);background:var(--surface-input);border-radius:10px;align-items:center;gap:10px;height:46px;padding:0 14px;display:flex}.login-field input{color:var(--text-strong);background:0 0;border:none;outline:none;flex:1;font-size:14px}.login-field svg{color:var(--text-muted);flex-shrink:0}.btn-login{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#fff;height:46px;box-shadow:0 12px 30px color-mix(in srgb, var(--accent) 30%, transparent);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.btn-login:disabled{opacity:.6;cursor:not-allowed}
