@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--color-primary:#0d9488;--color-primary-light:#14b8a6;--color-primary-dark:#0f766e;--color-primary-50:#f0fdfa;--color-primary-100:#ccfbf1;--color-primary-200:#99f6e4;--color-primary-500:#14b8a6;--color-primary-600:#0d9488;--color-primary-700:#0f766e;--color-primary-800:#115e59;--color-primary-900:#134e4a;--color-accent:#f59e0b;--color-accent-light:#fbbf24;--color-accent-dark:#d97706;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--color-white:#fff;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-gray-950:#020617;--sidebar-bg:#0f172a;--sidebar-hover:#1e293b;--sidebar-active:#0ea59926;--sidebar-text:#94a3b8;--sidebar-text-active:#14b8a6;--sidebar-width:260px;--sidebar-collapsed-width:72px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a,0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-sidebar:100;--z-header:90;--z-modal:200;--z-tooltip:300;--z-toast:400}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-gray-800);background:var(--color-gray-50);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;padding:.5rem 1rem;font-weight:500;line-height:1.4;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-200)}.btn-secondary:hover{background:var(--color-gray-200)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-dark);transform:translateY(-1px)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-ghost{color:var(--color-gray-600);background:0 0}.btn-ghost:hover{background:var(--color-gray-100)}.btn-sm{font-size:var(--font-size-xs);padding:.375rem .75rem}.btn-lg{font-size:var(--font-size-md);padding:.75rem 1.5rem}.btn-xl{font-size:var(--font-size-lg);padding:1rem 2rem}.card{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);padding:var(--space-6);transition:all var(--transition-base)}.card-hover:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary-200);transform:translateY(-2px)}.badge{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:.125rem .625rem;font-weight:600;line-height:1.6;display:inline-flex}.badge-primary{background:var(--color-primary-100);color:var(--color-primary-800)}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-info{color:#1e40af;background:#dbeafe}.badge-gray{background:var(--color-gray-100);color:var(--color-gray-700)}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-gray-700);font-weight:500}.form-input{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-gray-800);background:var(--color-white);transition:all var(--transition-fast);outline:none;padding:.5rem .75rem}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100)}.form-input::placeholder{color:var(--color-gray-400)}.form-select{border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-gray-800);background:var(--color-white)url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center;appearance:none;cursor:pointer;transition:all var(--transition-fast);outline:none;padding:.5rem 2rem .5rem .75rem}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100)}.table-container{border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{background:var(--color-gray-50);text-align:left;font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-gray-200);padding:.75rem 1rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-sm);color:var(--color-gray-700);padding:.75rem 1rem}.data-table tr:hover td{background:var(--color-gray-50)}.data-table tr:last-child td{border-bottom:none}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-var:var(--z-modal);z-index:var(--z-modal);background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:600px;max-height:90vh;animation:.3s slideUp;overflow-y:auto}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--font-size-lg);font-weight:600}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-6);border-top:1px solid var(--color-gray-200);display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:.5s fadeIn}.animate-slide-up{animation:.4s slideUp}.animate-slide-in-right{animation:.4s slideInRight}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.page-enter{animation:.3s fadeIn,.3s slideUp}.stat-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--color-gray-200);position:relative;overflow:hidden}.stat-card:after{content:"";opacity:.1;border-radius:50%;width:120px;height:120px;position:absolute;top:0;right:0;transform:translate(40px,-40px)}.stat-card-primary:after{background:var(--color-primary)}.stat-card-accent:after{background:var(--color-accent)}.stat-card-success:after{background:var(--color-success)}.stat-card-info:after{background:var(--color-info)}@media (max-width:768px){:root{--sidebar-width:0px}}
