:root{--bg-primary: #f8f9ff;--bg-secondary: #ffffff;--surface: #f8f9ff;--surface-low: #eff4ff;--surface-container: #e5eeff;--surface-high: #dce9ff;--surface-bright: #ffffff;--surface-variant: #d3e4fe;--color-primary: #004ac6;--color-primary-hover: #003ea8;--color-primary-soft: #dbe1ff;--color-primary-strong: #2563eb;--color-secondary: #565e74;--color-success: #006242;--color-warning: #b26a00;--color-danger: #ba1a1a;--text-main: #0b1c30;--text-muted: #434655;--text-subtle: #737686;--text-inverse: #ffffff;--border: #c3c6d7;--border-soft: rgba(195, 198, 215, .45);--font-body: "Geist", "Inter", "Segoe UI", sans-serif;--card-shadow: 0 4px 20px rgba(15, 23, 42, .05);--card-shadow-hover: 0 10px 30px rgba(15, 23, 42, .08);--radius: 8px;--radius-sm: 4px}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{background:radial-gradient(circle at 50% -10%,#e5eeff,#e5eeff00 42%),var(--bg-primary);color:var(--text-main);font-family:var(--font-body);font-size:14px;letter-spacing:0;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-family:var(--font-body);font-weight:600;letter-spacing:0;margin:0}h1{font-size:30px;line-height:36px}h2{font-size:24px;line-height:32px}h3,h5{font-size:18px;line-height:26px}p{margin:0}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;line-height:1;vertical-align:middle}.glass-panel,.card{background:#ffffffe6;border:1px solid var(--border-soft)!important;border-radius:var(--radius)!important;box-shadow:var(--card-shadow)}.glass-panel{padding:24px}.card-header,.card-body{padding:24px!important}.card-header{border-bottom:1px solid var(--border-soft)!important}.glass-panel:hover{box-shadow:var(--card-shadow-hover)}button,.btn{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-family:var(--font-body);font-size:14px;font-weight:600;gap:8px;height:40px;justify-content:center;letter-spacing:0;padding:0 16px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.btn-primary,.bg-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--text-inverse)!important}.btn-primary:hover{background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important}.btn-secondary{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--text-inverse)}.btn-outline,.btn-outline-secondary,.btn-outline-primary{background:#fff;border:1px solid var(--border)!important;color:var(--text-main)!important}.btn-outline:hover,.btn-outline-secondary:hover,.btn-outline-primary:hover{background:var(--surface-low)!important;color:var(--color-primary)!important}.btn-sm{font-size:13px!important;height:36px;padding:0 12px!important}.btn-icon{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-subtle);cursor:pointer;display:inline-flex;font-size:14px;height:34px;justify-content:center;padding:0;width:34px}.btn-icon:hover{background:var(--surface-low);color:var(--color-primary)}.btn-icon.delete:hover{background:#ffdad6;color:var(--color-danger)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}label,.form-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:0;line-height:16px;text-transform:uppercase}input,select,textarea,.form-control,.form-select{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-body);font-size:14px;min-height:40px;padding:8px 12px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26;outline:none}.table-container{background:#fff;border-radius:var(--radius);overflow-x:auto}table,.table{border-collapse:collapse;margin:0;text-align:left;width:100%}thead th,th{background:var(--surface-bright);border-bottom:1px solid var(--border-soft)!important;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:0;padding:15px 24px!important;text-transform:uppercase}tbody tr{min-height:64px}td{border-bottom:1px solid rgba(195,198,215,.28)!important;color:var(--text-main);font-size:14px;padding:16px 24px!important;vertical-align:middle}tbody tr:last-child td{border-bottom:none!important}tbody tr:hover td{background:var(--surface-low)}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:0;line-height:16px;padding:4px 9px}.badge-success{background:#007d551a;border:1px solid rgba(0,98,66,.22);color:var(--color-success)}.badge-warning{background:#fff8e1;border:1px solid rgba(178,106,0,.22);color:var(--color-warning)}.badge-danger{background:#ffdad6;border:1px solid rgba(186,26,26,.2);color:var(--color-danger)}.text-primary,.primary-text{color:var(--color-primary)!important}.text-muted{color:var(--text-muted)!important}.font-semibold,.fw-semibold{font-weight:600}.font-bold,.fw-bold{font-weight:700}.empty-state{color:var(--text-muted);padding:42px 24px;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .22s ease forwards}
