:root{--bg: #0f1115;--surface: #161a23;--surface-2: #1c2130;--text: #e6e9ef;--text-mute: #a8b0bf;--primary: #6ea8fe;--primary-600: #4d8df3;--border: #2a3142;--danger: #ff6b6b;--warning: #ffb020;--success: #48c78e;--radius: 10px;--shadow: 0 8px 24px rgba(0,0,0,.35);--sm: 6px;--md: 12px;--lg: 18px}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;color:var(--text);background:radial-gradient(1200px 800px at 10% 0%,#141927,#0f1115,#0b0d12);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#121520,#0f121a);border-right:1px solid var(--border);padding:20px 16px}.sidebar h3{margin:4px 8px 16px;font-weight:700;letter-spacing:.5px}.sidebar nav ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;padding:10px 12px;border-radius:8px;color:var(--text-mute);border:1px solid transparent}.sidebar nav a:hover{background:#ffffff0a;color:var(--text)}.sidebar nav a.router-link-active{background:#6ea8fe1f;color:var(--text);border-color:#6ea8fe40}.content{padding:24px 28px}.topbar{position:sticky;top:0;z-index:10;background:#161a23cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:12px 20px}.brand{display:flex;align-items:center;gap:10px;font-weight:700}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px #6ea8fe26}.container{max-width:1080px;margin:0 auto;padding:0 8px}.card{background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.form-grid{display:grid;grid-template-columns:180px 1fr;gap:12px 14px;align-items:center}.form-row{display:flex;gap:10px;align-items:center}.label{width:160px;color:var(--text-mute);font-size:13px}input,select,button,textarea{font-size:14px}.input,input[type=text],input[type=number],input[type=password],input[type=search],textarea{background:#0f1219;color:var(--text);border:1px solid var(--border);padding:8px 10px;border-radius:8px;outline:none;transition:border-color .15s ease}.input:focus,input:focus,textarea:focus{border-color:#6ea8fe80;box-shadow:0 0 0 3px #6ea8fe26}select,.select{background:#0f1219;color:var(--text);border:1px solid var(--border);padding:8px 10px;border-radius:8px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#0f1219;color:var(--text);padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .02s ease}.btn:hover{background:#121626}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn-primary{border-color:#6ea8fe80;background:linear-gradient(180deg,#2a3a66,#1c2746)}.btn-primary:hover{background:linear-gradient(180deg,#32467e,#24315a)}.btn-secondary{background:#131828}.link{color:var(--primary)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table thead th{background:#131827;color:var(--text-mute);font-weight:600;padding:10px;text-align:left;border-bottom:1px solid var(--border)}.table tbody td{padding:10px;border-bottom:1px solid var(--border)}.table tbody tr:hover{background:#ffffff05}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);color:var(--text-mute)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.auth-center{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:420px}.space{height:12px}.muted{color:var(--text-mute)}@media (max-width: 980px){.layout{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5}.form-grid{grid-template-columns:1fr}.label{width:auto}}
