:root{--primary:#4361ee;--primary-light:#5a75f0;--primary-dark:#3a0ca3;--secondary:#4cc9f0;--secondary-light:#6dd4f3;--secondary-dark:#3ab8df;--bg:#f6f8fb;--bg-secondary:#eef2f7;--bg-card:#fff;--text:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--success:#16a34a;--error:#dc2626;--warning:#d97706;--info:#0284c7;--radius:14px;--radius-sm:10px;--radius-lg:20px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(15,23,42,.04);--shadow:0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.06);--shadow-md:0 2px 4px rgba(15,23,42,.04),0 6px 12px rgba(15,23,42,.08);--shadow-lg:0 4px 8px rgba(15,23,42,.05),0 16px 32px rgba(15,23,42,.1);--shadow-focus:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent);--ease:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.2,.8,.4,1);--t-fast:.12s;--t-base:.2s;--t-slow:.32s}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::-moz-selection{background:color-mix(in srgb,var(--primary) 30%,transparent);color:var(--text)}::selection{background:color-mix(in srgb,var(--primary) 30%,transparent);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 35%,transparent);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-muted) 60%,transparent);background-clip:padding-box}a{color:var(--primary);text-decoration:none;transition:color var(--t-fast) var(--ease)}a:hover{color:var(--primary-light)}h1,h2,h3,h4,h5,h6{color:var(--text);letter-spacing:-.011em;line-height:1.25}h1{font-weight:700}h2,h3{font-weight:600}.container{max-width:1200px;margin:0 auto;padding:0 24px}.page{padding:32px 0;min-height:calc(100vh - 140px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;border:1.5px solid transparent;cursor:pointer;transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease),border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),transform var(--t-fast) var(--ease);font-family:inherit;line-height:1.4;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:active:not(:disabled){transform:translateY(0) scale(.985)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 1px 2px #0f172a14,inset 0 1px #ffffff26}.btn-primary:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--secondary);color:#fff;border-color:var(--secondary)}.btn-secondary:hover:not(:disabled){background:var(--secondary-dark);border-color:var(--secondary-dark);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary)}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px;border-radius:12px}.btn-block{width:100%}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;transition:box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}.card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--primary) 18%,var(--border))}.card-body{padding:22px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px;letter-spacing:-.005em}.form-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease);background:#fff;color:var(--text)}.form-input:hover{border-color:var(--border-strong)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-input::-moz-placeholder{color:var(--text-muted)}.form-input::placeholder{color:var(--text-muted)}.form-input:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}textarea.form-input{min-height:80px;resize:vertical;line-height:1.5}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;letter-spacing:.01em;line-height:1.4}.badge-primary{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.badge-success{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.badge-warning{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.badge-error{background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error)}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-error{color:var(--error)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.spinner{width:36px;height:36px;border:3px solid color-mix(in srgb,var(--primary) 18%,transparent);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-center{display:flex;justify-content:center;align-items:center;padding:80px 0}.empty-state{text-align:center;padding:72px 24px;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius)}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--text-secondary)}.empty-state p{font-size:14px;color:var(--text-muted)}.alert{padding:14px 18px;border-radius:var(--radius-sm);font-size:14px;line-height:1.5;margin-bottom:16px;border-left:4px solid;display:flex;gap:8px}.alert-error{background:color-mix(in srgb,var(--error) 6%,transparent);color:var(--error);border-color:var(--error)}.alert-success{background:color-mix(in srgb,var(--success) 7%,transparent);color:var(--success);border-color:var(--success)}.alert-warning{background:color-mix(in srgb,var(--warning) 8%,transparent);color:var(--warning);border-color:var(--warning)}.progress-bar{height:8px;background:var(--bg-secondary);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:999px;transition:width var(--t-slow) var(--ease)}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:24px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:12px 18px;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;margin-bottom:-2px;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;white-space:nowrap}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.stat-card{padding:22px;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);transition:box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease)}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.stat-value{font-size:30px;font-weight:700;color:var(--primary);letter-spacing:-.02em;line-height:1.1}.stat-label{font-size:13px;color:var(--text-muted);margin-top:6px;font-weight:500}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.table-scroll>.data-table,.table-scroll>.results-table,.table-scroll>.user-table{box-shadow:none;border-radius:0}@media(max-width:768px){.container{padding:0 16px}.page{padding:20px 0}.card-body{padding:16px}.empty-state{padding:48px 16px}h1{font-size:24px}h2{font-size:18px}.stat-card{padding:16px}.stat-value{font-size:24px}.form-input{padding:12px 14px;font-size:15px}.data-table td,.data-table th,.results-table td,.results-table th,.user-table td,.user-table th{padding:10px;font-size:13px;white-space:nowrap}.actions-row{flex-wrap:wrap}.btn-lg{display:block;width:100%}}@media(max-width:480px){.container{padding:0 12px}.card-body{padding:14px}.empty-state{padding:36px 12px}h1{font-size:22px}}@media(max-width:600px){.form-actions,.modal-actions{flex-direction:column-reverse!important;align-items:stretch!important}.form-actions>.btn,.modal-actions>.btn{width:100%!important}}
