:root{--color-primary: #10b981;--color-primary-hover: #059669;--color-primary-muted: rgba(16, 185, 129, .12);--color-text: #0f172a;--color-text-muted: #64748b;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-danger: #dc2626;--color-danger-muted: rgba(220, 38, 38, .1);--color-sidebar: #0b1220;--color-sidebar-text: #e2e8f0;--color-sidebar-muted: #94a3b8;--radius: 10px;--shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .04);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--font-sans: "DM Sans", "Segoe UI", sans-serif;--font-display: "Sora", "DM Sans", sans-serif;--sidebar-width: 260px}html[data-theme=dark]{--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-bg: #0b1220;--color-surface: #111827;--color-border: #1f2937;--color-sidebar: #020617;--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .25)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg)}body{line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);margin:0;font-weight:600;letter-spacing:-.02em}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius);padding:.625rem 1rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-muted);color:var(--color-primary)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:.875rem;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:.7rem .85rem}.field input:hover,.field select:hover,.field textarea:hover{border-color:#94a3b8}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow)}table.data{width:100%;border-collapse:collapse;min-width:640px}table.data th,table.data td{padding:.85rem 1rem;text-align:start;border-bottom:1px solid var(--color-border);vertical-align:middle}table.data th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-bg) 70%,var(--color-surface))}table.data tr:hover td{background:var(--color-primary-muted)}table.data tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--color-primary-muted);color:var(--color-primary-hover)}.badge.danger{background:var(--color-danger-muted);color:var(--color-danger)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow)}.stat-card .label{color:var(--color-text-muted);font-size:.875rem}.stat-card .value{font-family:var(--font-display);font-size:1.75rem;margin-top:var(--space-2)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow)}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header h1{font-size:1.5rem}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;padding:var(--space-4);z-index:50}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:var(--color-surface);border-radius:calc(var(--radius) + 2px);border:1px solid var(--color-border);box-shadow:var(--shadow);padding:var(--space-5)}.modal h2{margin-bottom:var(--space-4)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.form-grid{display:grid;gap:var(--space-4)}.form-grid.two{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.state-block{display:grid;place-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center;color:var(--color-text-muted)}.skeleton{background:linear-gradient(90deg,var(--color-border),color-mix(in srgb,var(--color-border) 40%,var(--color-surface)),var(--color-border));background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:var(--radius);min-height:1rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.password-field{position:relative}.password-field input{padding-inline-end:2.75rem}.password-field .toggle{position:absolute;inset-inline-end:.35rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;padding:.4rem;display:grid;place-items:center;border-radius:8px}.password-field .toggle:hover{color:var(--color-primary);background:var(--color-primary-muted)}.search-select{position:relative}.search-select .dropdown{position:absolute;inset-inline:0;top:calc(100% + 4px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);max-height:240px;overflow:auto;z-index:20}.search-select .option{width:100%;text-align:start;border:0;background:transparent;padding:.65rem .85rem;cursor:pointer}.search-select .option:hover,.search-select .option.active{background:var(--color-primary-muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}
