@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--color-bg:#0d0f14;--color-bg-secondary:#131720;--color-surface:#1a1f2e;--color-surface-2:#212840;--color-border:#ffffff12;--color-border-hover:#ffffff24;--color-primary:#6366f1;--color-primary-hover:#4f52e0;--color-primary-glow:#6366f140;--color-accent:#22d3ee;--color-accent-glow:#22d3ee33;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--color-score-high:#10b981;--color-score-mid:#f59e0b;--color-score-low:#ef4444;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-text-subtle:#64748b;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-primary:0 4px 24px var(--color-primary-glow);--transition:.2s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{background-color:var(--color-bg);color:var(--color-text);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{outline:none;font-family:inherit}.page-wrapper{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.main-content--wide{max-width:1400px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition);padding:1.5rem}.card:hover{border-color:var(--color-border-hover)}.card--glass{-webkit-backdrop-filter:blur(20px);background:#1a1f2eb3}.card--glow{box-shadow:var(--shadow-primary);border-color:#6366f14d}.btn{border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary)}.btn--primary:hover{background:var(--color-primary-hover);box-shadow:0 6px 28px var(--color-primary-glow);transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)}.btn--secondary{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover{border-color:var(--color-border-hover);background:#2a3050}.btn--danger{color:var(--color-danger);background:#ef444426;border-color:#ef44444d}.btn--danger:hover{background:#ef444440}.btn--ghost{color:var(--color-text-muted);background:0 0}.btn--ghost:hover{color:var(--color-text);background:var(--color-surface-2)}.btn--sm{border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.8rem}.btn--lg{padding:.875rem 2rem;font-size:1rem;font-weight:600}.btn--full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--color-text-muted);letter-spacing:.01em;font-size:.85rem;font-weight:500}.form-input{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition);width:100%;padding:.75rem 1rem;font-size:.95rem}.form-input::placeholder{color:var(--color-text-subtle)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.form-select{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--transition);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;width:100%;padding:.75rem 2.5rem .75rem 1rem;font-size:.95rem}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}.form-error{color:var(--color-danger);align-items:center;gap:.25rem;font-size:.8rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.badge{letter-spacing:.03em;border-radius:100px;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge--primary{color:var(--color-primary);background:#6366f126}.badge--success{color:var(--color-success);background:#10b98126}.badge--warning{color:var(--color-warning);background:#f59e0b26}.badge--danger{color:var(--color-danger);background:#ef444426}.score-high{color:var(--color-score-high)}.score-mid{color:var(--color-score-mid)}.score-low{color:var(--color-score-low)}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th{text-align:left;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;padding:.9rem 1rem}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:#ffffff05}.data-table td.avg-row{color:var(--color-accent);background:#22d3ee0d;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scoreCount{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.fade-in{animation:.4s forwards fadeIn}.slide-up{animation:.5s forwards slideUp}.alert{border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.alert--error{color:#fca5a5;background:#ef44441a;border-color:#ef444440}.alert--success{color:#6ee7b7;background:#10b9811a;border-color:#10b98140}.alert--info{color:#93c5fd;background:#3b82f61a;border-color:#3b82f640}.empty-state{text-align:center;color:var(--color-text-muted);padding:4rem 2rem}.empty-state__icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.empty-state__title{color:var(--color-text-muted);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.empty-state__subtitle{color:var(--color-text-subtle);font-size:.875rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-lg);padding:2rem;animation:.3s slideUp;overflow-y:auto}.modal__header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal__title{font-size:1.1rem;font-weight:700}.modal__close{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);padding:.375rem .625rem;font-size:1rem}.modal__close:hover{color:var(--color-text);border-color:var(--color-border-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-surface-2);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}@media (max-width:768px){.main-content{padding:1.25rem 1rem}.hide-mobile{display:none!important}}@media (min-width:769px){.hide-desktop{display:none!important}}
