*,*:before,*:after{box-sizing:border-box}:root{color-scheme:light;font-family:Plus Jakarta Sans,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#eef2f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--brand: #3b89a1;--brand-hover: #2a6b7f;--brand-soft: #e8f2f5;--brand-ring: rgba(59, 137, 161, .18);--surface: #ffffff;--surface-muted: #f8fafc;--surface-elevated: #ffffff;--text: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border: #e2e8f0;--border-strong: #cbd5e1;--sidebar-bg: linear-gradient(180deg, #101827 0%, #0c1424 100%);--sidebar-text: #cbd5e1;--sidebar-muted: #64748b;--sidebar-active-bg: rgba(59, 137, 161, .16);--sidebar-active-text: #7ec8db;--sidebar-hover: rgba(255, 255, 255, .06);--radius-sm: .5rem;--radius: .875rem;--radius-lg: 1rem;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .05);--shadow-md: 0 8px 24px rgba(15, 23, 42, .07);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .1)}body{margin:0;min-height:100vh;background:var(--bg, #eef2f6)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;font-size:.875rem;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:#94a3b8}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-muted)}.btn-sm{padding:.4rem .875rem;font-size:.8125rem}.tab-bar{display:inline-flex;gap:.25rem;padding:.25rem;margin-bottom:1rem;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm)}.tab{border:none;background:transparent;padding:.5rem 1rem;border-radius:calc(var(--radius-sm) - 2px);font-weight:600;font-size:.875rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.5rem;transition:background .15s,color .15s,box-shadow .15s}.tab:hover{color:var(--text)}.tab.active{background:var(--surface);color:var(--brand-hover);box-shadow:var(--shadow-xs)}.tab-count{background:var(--brand-soft);color:var(--brand-hover);padding:.1rem .45rem;border-radius:999px;font-size:.6875rem;font-weight:700}.tab.active .tab-count{background:var(--brand);color:#fff}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.field input,.field select,.field textarea{padding:.65rem .875rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.filter-input{padding:.6rem .875rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:200px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.filter-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-xs)}.card-title{margin:0 0 .35rem;font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.card-value{margin:0;font-size:1.875rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.table-card{padding:0;overflow:hidden}.table-card table{margin:0}table{border-collapse:collapse;width:100%}thead{background:var(--surface-muted)}th,td{text-align:left;padding:.875rem 1.125rem;border-bottom:1px solid var(--border)}th{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}tbody tr{transition:background .12s}tbody tr:hover{background:#fafbfd}tbody tr:last-child td{border-bottom:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-title{margin:0;font-size:1.375rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.page-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--text-muted)}.back-link{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.5rem;color:var(--brand);font-size:.8125rem;font-weight:600}.back-link:hover{color:var(--brand-hover)}.muted{color:var(--text-muted);font-size:.875rem}.toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filters-bar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.filters-bar .filter-input{box-shadow:var(--shadow-xs)}.row-link,.link-btn{color:var(--brand);font-weight:600;font-size:.875rem;text-decoration:none}.row-link:hover,.link-btn:hover{color:var(--brand-hover);text-decoration:underline}.link-btn{border:none;background:none;padding:0;margin-right:.875rem;cursor:pointer}.link-btn.danger{color:#dc2626}.link-btn.danger:hover{color:#b91c1c}.actions-cell{white-space:nowrap}.empty-cell{text-align:center;color:var(--text-muted);padding:2.5rem 1rem!important}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem 1.75rem;margin:0}.detail-item dt{margin:0 0 .3rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.detail-item dd{margin:0;color:var(--text);font-size:.9375rem;word-break:break-word}.detail-section-title{margin:0 0 1rem;font-size:.9375rem;font-weight:700;color:var(--text)}.error-banner{padding:.875rem 1rem;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.875rem}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.75rem 0;flex-wrap:wrap}.pagination-meta{color:var(--text-muted);font-size:.8125rem;font-weight:500}.stat-card{position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card:after{content:"";position:absolute;top:0;right:0;width:4rem;height:4rem;background:radial-gradient(circle at top right,var(--brand-soft),transparent 70%);pointer-events:none}.stat-card--highlight{border-color:#fcd34d;background:linear-gradient(135deg,#fffbeb,#fff)}.stat-card-link{text-decoration:none;color:inherit}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:1000;padding:1rem}.dialog-panel{width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.json-block{margin:0;padding:.875rem 1rem;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;overflow-x:auto;white-space:pre-wrap;color:var(--text-secondary)}.mini-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.mini-stat{padding:.875rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);transition:border-color .15s,box-shadow .15s}.mini-stat:hover{border-color:var(--brand-soft);box-shadow:var(--shadow-xs)}.mini-stat-value{display:block;font-size:1.375rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.mini-stat-label{display:block;margin-top:.2rem;font-size:.6875rem;font-weight:600;text-transform:capitalize;color:var(--text-muted)}.card+.card{margin-top:1rem}@media(max-width:900px){.page-header{flex-direction:column;align-items:stretch}.toolbar-actions{width:100%}}
