*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#0ea5e9;--primary-hover:#0284c7;--primary-light:#e0f2fe;--primary-dark:#0369a1;--success:#10b981;--success-light:#d1fae5;--danger:#ef4444;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--info:#6366f1;--info-light:#e0e7ff;--bg-page:#f8fafc;--bg-card:#fff;--bg-sidebar:#0f172a;--bg-sidebar-hover:#1e293b;--bg-sidebar-active:#1e3a5f;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-sidebar:#94a3b8;--text-sidebar-active:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.04);--sidebar-width:260px;--sidebar-collapsed-width:0px;--header-height:60px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}body,html{font-family:var(--font-sans);font-size:14px;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.page-header p{font-size:14px;color:var(--text-secondary);margin-top:4px}.loading-spinner{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted);font-size:15px}.error-message{background:var(--danger-light);color:var(--danger);padding:16px;border-radius:var(--radius-md);font-size:14px;font-weight:500}table{width:100%;border-collapse:collapse}table th{text-align:left;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;background:var(--bg-page);border-bottom:2px solid var(--border)}table td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-primary)}table tr:hover{background:#f8fafc}button{cursor:pointer;border:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-success{background:var(--success-light);color:#065f46}.badge-warning{background:var(--warning-light);color:#92400e}.badge-danger{background:var(--danger-light);color:#991b1b}.badge-info{background:var(--info-light);color:#3730a3}.badge-muted{background:#f1f5f9;color:#64748b}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:14px;transition:all .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-page);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{padding:6px 14px;font-size:12px}.btn-xs{padding:3px 10px;font-size:11px}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.modal-wide{max-width:720px}.modal-header{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:18px;font-weight:700}.modal-body{padding:20px 24px}.modal-footer{padding:0 24px 20px;display:flex;gap:10px;justify-content:flex-end}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.form-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);background:#fff;transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(14,165,233,.1)}.form-input::placeholder{color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-row-3{grid-template-columns:1fr 1fr 1fr}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-left:3px solid var(--primary)}.stat-card.green{border-left-color:var(--success)}.stat-card.amber{border-left-color:var(--warning)}.stat-card.red{border-left-color:var(--danger)}.stat-card.purple{border-left-color:var(--info)}.stat-card .stat-value{font-size:26px;font-weight:800;color:var(--text-primary)}.stat-card .stat-label{font-size:12px;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);margin-bottom:20px}.card-header{padding:16px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.card-header h3{font-size:15px;font-weight:700}.card-body{padding:20px}.tabs{display:flex;gap:2px;background:#f1f5f9;padding:3px;border-radius:var(--radius-md);margin-bottom:20px}.tab{padding:8px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tab.active{background:#fff;box-shadow:var(--shadow-sm)}.tab.active,.tab:hover:not(.active){color:var(--text-primary)}.table-container{overflow-x:auto}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0;font-size:13px;color:var(--text-secondary)}.pagination button{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;font-weight:600;color:var(--text-secondary)}.pagination button:disabled{opacity:.4;cursor:default}.pagination button:hover:not(:disabled){background:#f1f5f9}.search-bar{display:flex;gap:10px;margin-bottom:16px}.search-bar input{flex:1 1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px}.search-bar input:focus{outline:none;border-color:var(--primary)}@media (max-width:768px){.form-row{grid-template-columns:1fr}.stat-cards{grid-template-columns:1fr 1fr}}