:root{--bg-app:#f4f6f9;--bg-panel:#fff;--bg-panel-solid:#fff;--bg-panel-hover:#f8fafc;--bg-input:#fff;--bg-active:#e0f2fe;--border-color:#e2e8f0;--border-color-hover:#cbd5e1;--border-color-active:#0284c7;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--color-primary:#0284c7;--color-primary-hover:#0369a1;--color-secondary:#6366f1;--color-success:#10b981;--color-success-bg:#ecfdf5;--color-warning:#f59e0b;--color-warning-bg:#fffbeb;--color-danger:#ef4444;--color-danger-bg:#fef2f2;--header-bg:#1e40af;--header-text:#f1f5f9;--header-text-hover:#fff;--header-active-bg:#ffffff26;--gradient-primary:linear-gradient(135deg, #0284c7, #0369a1);--gradient-success:linear-gradient(135deg, #10b981, #059669);--gradient-danger:linear-gradient(135deg, #ef4444, #dc2626);--gradient-warning:linear-gradient(135deg, #f59e0b, #d97706);--gradient-panel:linear-gradient(180deg, #fff 0%, #f8fafc 100%);--glass-blur:blur(8px);--shadow-sm:0 1px 3px #0000000d, 0 1px 2px #0000001a;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-glow:0 0 15px #0284c733;--sidebar-width:250px;--header-height:54px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--transition-fast:all .15s cubic-bezier(.4, 0, .2, 1);--transition-normal:all .25s cubic-bezier(.4, 0, .2, 1);--transition-slow:all .4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.25}a{color:var(--color-primary);transition:var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}.app-container{background-color:var(--bg-app);flex-direction:column;min-height:100vh;display:flex}.main-content{min-width:0;transition:var(--transition-normal);flex-direction:column;flex:1;margin-left:0;display:flex}.page-container{flex-direction:column;flex:1;gap:16px;width:100%;max-width:100%;margin:0;padding:16px 24px;animation:.3s ease-out fadeIn;display:flex}.page-with-sidebar{align-items:flex-start;gap:16px;width:100%;display:flex}.filter-sidebar{width:var(--sidebar-width);background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;gap:16px;padding:16px;display:flex}.main-data-area{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.filter-section-title{color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);margin-bottom:10px;padding-bottom:6px;font-size:.8rem;font-weight:700}.nav-menu-item{align-items:center;display:flex;position:relative}.nav-dropdown{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;background:#fff;flex-direction:column;min-width:180px;padding:4px 0;animation:.15s ease-out fadeIn;display:none;position:absolute;top:100%;left:0}.nav-menu-item:hover .nav-dropdown{display:flex}.nav-dropdown-item{color:var(--text-secondary);text-align:left;cursor:pointer;width:100%;transition:var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;display:flex}.nav-dropdown-item:hover{background:var(--bg-panel-hover);color:var(--color-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.glass-panel{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition-normal)}.glass-panel:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{color:var(--text-secondary);background:#f8fafc;border:1px solid #cbd5e1}.btn-secondary:hover{color:var(--text-primary);background:#f1f5f9;border-color:#94a3b8}.btn-success{background:var(--color-success);border-color:var(--color-success);color:#fff}.btn-success:hover{background:#059669;border-color:#059669}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-panel-hover);color:var(--text-primary)}.btn-icon-only{border-radius:var(--radius-md);width:32px;height:32px;padding:0}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.form-group{flex-direction:column;gap:4px;width:100%;margin-bottom:12px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.form-input,.form-select,.form-textarea{background-color:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);transition:var(--transition-fast);outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:.85rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #0284c726}.form-input::placeholder{color:var(--text-muted)}.form-input.error{border-color:var(--color-danger)}.table-container{border-radius:var(--radius-md);width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.custom-table th{color:var(--text-secondary);border-bottom:2px solid var(--border-color);background-color:#f1f5f9;padding:12px 16px;font-weight:700}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);transition:var(--transition-fast);padding:12px 16px}.custom-table tbody tr{transition:var(--transition-fast)}.custom-table tbody tr:nth-child(2n){background-color:#f8fafc}.custom-table tbody tr:hover{background-color:#f0f7ff!important}.custom-table tbody tr:last-child td{border-bottom:none}.badge{border-radius:var(--radius-sm);text-transform:uppercase;align-items:center;gap:3px;padding:2px 6px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid #10b98133}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning);border:1px solid #f59e0b33}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid #ef444433}.search-wrapper{width:100%;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{padding-left:32px!important}.page-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-title-area{flex-direction:column;gap:2px;display:flex}.page-subtitle{color:var(--text-secondary);font-size:.8rem}.grid-cols-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.grid-cols-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=1200px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.page-with-sidebar{flex-direction:column}.filter-sidebar{width:100%}}.stat-card{align-items:center;gap:12px;padding:16px;display:flex}.stat-icon{border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-info{flex-direction:column;gap:1px;display:flex}.stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:600}.stat-value{font-size:1.25rem;font-weight:700}.modal-overlay{z-index:1000;background-color:#0f172a66;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);background:var(--bg-panel-solid);border:1px solid var(--border-color);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s cubic-bezier(.34,1.56,.64,1) scaleUp;display:flex;overflow-y:auto}@keyframes scaleUp{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-title{font-size:1.1rem;font-weight:700}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.toast-container{z-index:1001;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);color:var(--text-primary);border-left:4px solid var(--color-primary);box-shadow:var(--shadow-lg);background-color:#fff;align-items:center;gap:8px;min-width:260px;padding:10px 16px;font-size:.85rem;animation:.3s cubic-bezier(.16,1,.3,1) slideInRight;display:flex}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-warning{border-left-color:var(--color-warning)}.loading-spinner{border:3px solid #0284c71a;border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.filter-checkbox-group{flex-direction:column;gap:8px;display:flex}.filter-checkbox-item{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.filter-checkbox-item input[type=checkbox],.filter-checkbox-item input[type=radio]{width:15px;height:15px;accent-color:var(--color-primary);cursor:pointer}
