*{box-sizing:border-box}#root{min-height:100vh}html,body{width:100%;min-height:100%}body{color:#f8fafc;background:#0b1020;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}.ballot-page{width:min(1200px,100% - 32px);max-width:100%;margin:0 auto;padding:40px 0}.page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.page-header h1{margin:4px 0 0;font-size:clamp(2rem,4vw,3rem);line-height:1.05}.eyebrow{color:#94a3b8;margin:0}.save-button{color:#fff;background:#2563eb;border:1px solid #334155;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:auto;padding:12px 18px;font-weight:700;display:inline-flex}.save-button:hover:not(:disabled){background:#1d4ed8}.ballot-toolbar{background:#121a2d;border:1px solid #26324d;border-radius:14px;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px;padding:16px 20px;display:flex}.voter-field{flex-direction:column;gap:8px;display:flex}.voter-field>span{color:#94a3b8;font-size:.9rem;font-weight:700}.voter-field select{color:#fff;background:#0b1020;border:1px solid #475569;border-radius:8px;outline:none;min-width:180px;padding:10px 36px 10px 12px}.voter-field select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}.ballot-summary{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.ballot-summary span{color:#94a3b8;font-size:.9rem}.message{border:1px solid;border-radius:10px;align-items:center;gap:9px;margin-bottom:16px;padding:11px 14px;display:flex}.loading-message{color:#cbd5e1;background:#111827;border-color:#334155}.success-message{color:#bbf7d0;background:#1665342e;border-color:#166534}.error-message{color:#fecaca;background:#991b1b2e;border-color:#991b1b}.centered-message{color:#cbd5e1;justify-content:center;align-items:center;gap:10px;min-height:50vh;display:flex}.centered-message p{margin:0}@keyframes spin{to{transform:rotate(360deg)}}.ballot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.panel{background:#121a2d;border:1px solid #26324d;border-radius:14px;min-width:0;padding:20px}.panel h2{margin:0}.panel input{color:#fff;background:#0b1020;border:1px solid #475569;border-radius:8px;outline:none;width:100%;margin:16px 0;padding:12px}.panel input::placeholder{color:#94a3b8}.panel input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}.team-list,.ranking-list{flex-direction:column;gap:8px;max-height:650px;padding-right:4px;display:flex;overflow-y:auto}.ranking-list{position:relative;overflow-x:hidden}.team-row{color:#fff;text-align:left;background:#182238;border:1px solid #26324d;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;padding:12px;display:grid}.team-row:hover:not(:disabled){background:#1e2b45;border-color:#3b82f6}.ranking-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.ranking-header span{color:#cbd5e1;font-weight:700}.ranking-row{color:#fff;background:#182238;border:1px solid #26324d;border-radius:8px;grid-template-columns:28px 32px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.ranking-row.dragging{border-color:#60a5fa}.ranking-row strong{color:#cbd5e1;text-align:center}.ranking-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drag-handle{color:#94a3b8;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:32px;padding:0;display:inline-flex}.drag-handle:hover:not(:disabled){color:#fff;background:#26324d}.drag-handle:active{cursor:grabbing}.remove-button{color:#fca5a5;background:0 0;border:0;align-items:center;gap:5px;width:auto;min-width:0;padding:4px 6px;line-height:1.2;display:inline-flex}.remove-button:hover:not(:disabled){color:#fecaca}.empty-state{color:#94a3b8;text-align:center;margin:0;padding:12px}.team-list::-webkit-scrollbar{width:10px}.ranking-list::-webkit-scrollbar{width:10px}.team-list::-webkit-scrollbar-track{background:#0f172a;border-radius:999px}.ranking-list::-webkit-scrollbar-track{background:#0f172a;border-radius:999px}.team-list::-webkit-scrollbar-thumb{background:#64748b;border-radius:999px}.ranking-list::-webkit-scrollbar-thumb{background:#64748b;border-radius:999px}.drag-overlay-row{cursor:grabbing;pointer-events:none;border-color:#60a5fa;width:420px;min-width:320px;max-width:calc(100vw - 32px);box-shadow:0 16px 40px #00000073}.overlay-grip{color:#94a3b8;justify-content:center;align-items:center;display:flex}.save-status{color:#94a3b8;text-align:right;min-height:24px;margin-top:14px;font-size:.9rem}@media (width<=800px){.ballot-page{width:min(100% - 20px,1200px);padding:24px 0}.page-header{flex-direction:column;align-items:flex-start}.ballot-toolbar{flex-direction:column;align-items:stretch}.ballot-summary{align-items:flex-start}.voter-field select{width:100%}.ballot-grid{grid-template-columns:1fr}.team-list,.ranking-list{max-height:500px}.drag-overlay-row{width:min(420px,100vw - 32px)}}@media (width<=520px){.panel{padding:14px}.ranking-row{grid-template-columns:26px 28px minmax(0,1fr)}.remove-button{grid-column:3;justify-self:start}.drag-overlay-row{min-width:0}.save-status{text-align:left}}.team-card-main{align-items:center;gap:12px;min-width:0;display:flex}.team-card-text{flex-direction:column;gap:3px;min-width:0;display:flex}.team-card-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-card-text small,.ranking-team-text small{color:#94a3b8;font-size:.76rem}.team-logo{object-fit:contain;flex:0 0 34px;width:34px;height:34px}.team-add-label{color:#93c5fd;font-weight:700}.ranking-team{align-items:center;gap:10px;min-width:0;display:flex}.ranking-logo{flex-basis:30px;width:30px;height:30px}.ranking-team-text{flex-direction:column;gap:2px;min-width:0;display:flex}.ranking-team-text>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-number{font-variant-numeric:tabular-nums}.header-actions{align-items:center;gap:12px;display:flex}.compare-link-button,.refresh-button,.back-link{justify-content:center;align-items:center;gap:8px;display:inline-flex}.compare-link-button{color:#dbeafe;background:#182238;border:1px solid #334155;border-radius:10px;padding:12px 16px;font-weight:700;text-decoration:none}.compare-link-button:hover{background:#1e2b45;border-color:#60a5fa}.team-card{cursor:pointer}.team-add-button{color:#93c5fd;background:0 0;border:0;width:auto;padding:6px;font-weight:700}.team-add-button:hover:not(:disabled){color:#dbeafe}.drawer-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#020617b8;justify-content:flex-end;display:flex;position:fixed;inset:0}.team-resume-drawer{background:#0f172a;border-left:1px solid #334155;width:min(460px,100%);height:100%;padding:24px;animation:.18s ease-out drawer-slide-in;overflow-y:auto;box-shadow:-18px 0 50px #0006}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid #26324d;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:22px;display:flex}.drawer-team-heading{align-items:center;gap:16px;display:flex}.drawer-team-logo{object-fit:contain;width:68px;height:68px}.drawer-eyebrow,.drawer-mascot{color:#94a3b8;margin:0}.drawer-header h2{margin:4px 0;font-size:1.8rem}.drawer-close-button{color:#cbd5e1;background:#182238;border:1px solid #334155;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.drawer-close-button:hover{color:#fff;border-color:#64748b}.resume-stat-grid{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;display:grid}.resume-stat{background:#121a2d;border:1px solid #26324d;border-radius:10px;flex-direction:column;gap:5px;padding:14px;display:flex}.resume-stat span,.resume-metrics span{color:#94a3b8;font-size:.82rem}.resume-section{margin-top:26px}.resume-section h3{margin:0 0 12px}.resume-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.resume-list li{background:#121a2d;border:1px solid #26324d;border-radius:8px;padding:11px 13px}.resume-empty,.resume-note{color:#94a3b8}.resume-note{margin-top:28px;font-size:.84rem}.resume-metrics{flex-direction:column;gap:9px;display:flex}.resume-metrics>div{border-bottom:1px solid #26324d;justify-content:space-between;align-items:center;gap:18px;padding:10px 0;display:flex}.compare-page{width:min(1200px,100% - 32px);margin:0 auto;padding:40px 0}.compare-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.compare-header h1{margin:5px 0 0}.back-link{color:#93c5fd;width:fit-content;margin-bottom:16px;text-decoration:none}.refresh-button{color:#fff;background:#182238;border:1px solid #334155;border-radius:9px;width:auto;padding:10px 14px}.comparison-warning{color:#fde68a;background:#854d0e2e;border-color:#854d0e}.comparison-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.comparison-summary-card{background:#121a2d;border:1px solid #26324d;border-radius:11px;justify-content:space-between;align-items:center;padding:16px;display:flex}.comparison-summary-card span{color:#94a3b8}.comparison-summary-card strong{font-size:1.25rem}.comparison-table{grid-template-columns:1fr 1fr;gap:22px;display:grid}.comparison-column{background:#121a2d;border:1px solid #26324d;border-radius:14px;flex-direction:column;gap:8px;min-width:0;padding:18px;display:flex}.comparison-column-header{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.comparison-column-header h2{margin:0}.comparison-column-header span{color:#94a3b8;font-weight:700}.comparison-team{color:#fff;text-align:left;background:#182238;border:1px solid #26324d;border-left-width:4px;border-radius:9px;grid-template-columns:32px 34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.comparison-team:hover{background:#1e2b45}.comparison-rank{color:#cbd5e1;text-align:center;font-weight:700}.comparison-logo{object-fit:contain;width:31px;height:31px}.comparison-team-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.comparison-difference{color:#94a3b8;white-space:nowrap;font-size:.75rem}.comparison-same{border-left-color:#22c55e}.comparison-close{border-left-color:#84cc16}.comparison-medium{border-left-color:#f59e0b}.comparison-far,.comparison-unranked{border-left-color:#ef4444}.comparison-legend{color:#cbd5e1;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:.85rem;display:flex}.comparison-legend span{background:#121a2d;border-left:4px solid;border-radius:4px;padding:7px 10px}.legend-same{border-color:#22c55e!important}.legend-close{border-color:#84cc16!important}.legend-medium{border-color:#f59e0b!important}.legend-far{border-color:#ef4444!important}@media (width<=800px){.header-actions,.compare-header{flex-direction:column;align-items:stretch}.comparison-summary-grid,.comparison-table{grid-template-columns:1fr}.compare-link-button,.save-button{width:100%}}@media (width<=520px){.resume-stat-grid{grid-template-columns:1fr}.comparison-team{grid-template-columns:28px 32px minmax(0,1fr)}.comparison-difference{grid-column:3}}.login-page{background:radial-gradient(circle at 0 0,#2563eb2e,#0000 35%),radial-gradient(circle at 100% 100%,#3b82f61f,#0000 40%),#080d1d;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172aeb;border:1px solid #94a3b833;border-radius:22px;flex-direction:column;gap:20px;width:min(100%,420px);padding:34px;display:flex;box-shadow:0 24px 70px #00000073,inset 0 1px #ffffff0a}.login-card .eyebrow{color:#60a5fa;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.login-card h1{color:#f8fafc;margin:-6px 0 0;font-size:clamp(2rem,5vw,2.6rem);line-height:1.05}.login-copy{color:#94a3b8;margin:-8px 0 4px;line-height:1.6}.login-field{flex-direction:column;gap:8px;display:flex}.login-field span{color:#cbd5e1;font-size:.9rem;font-weight:700}.login-field input{box-sizing:border-box;color:#f8fafc;width:100%;font:inherit;background:#0f172a;border:1px solid #334155;border-radius:11px;outline:none;padding:13px 14px;transition:border-color .16s,box-shadow .16s,background .16s}.login-field input:hover{border-color:#475569}.login-field input:focus{background:#111c33;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f629}.login-button{color:#fff;width:100%;min-height:48px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#2563eb,#3b82f6);border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;margin-top:4px;font-weight:800;transition:transform .16s,box-shadow .16s,opacity .16s;display:inline-flex;box-shadow:0 12px 30px #2563eb47}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 36px #2563eb5c}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.65}.login-card .error-message{color:#fca5a5;background:#7f1d1d40;border:1px solid #f8717159;border-radius:10px;padding:11px 13px;font-size:.9rem}.spin{animation:.8s linear infinite spin}@media (width<=520px){.login-page{padding:16px}.login-card{border-radius:18px;padding:26px 22px}}.admin-page{color:#f8fafc;background:radial-gradient(circle at 0 0,#2563eb26,#0000 34%),radial-gradient(circle at 100% 100%,#3b82f61a,#0000 38%),#080d1d;min-height:100vh;padding:36px 24px 64px}.admin-header{justify-content:space-between;align-items:flex-start;gap:24px;width:min(100%,1180px);margin:0 auto 28px;display:flex}.admin-header .eyebrow{color:#60a5fa;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.admin-header h1{margin:0 0 10px;font-size:clamp(2rem,4vw,2.8rem);line-height:1.05}.admin-header p{color:#94a3b8;margin:0;line-height:1.6}.admin-create-card,.admin-weeks-card{box-sizing:border-box;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172aeb;border:1px solid #94a3b82e;border-radius:20px;width:min(100%,1180px);margin:0 auto 24px;padding:26px;box-shadow:0 22px 60px #00000052,inset 0 1px #ffffff0a}.admin-section-title{align-items:center;gap:10px;margin-bottom:20px;display:flex}.admin-section-title svg{color:#60a5fa}.admin-section-title h2{flex:1;margin:0;font-size:1.35rem}.admin-section-title>span{color:#94a3b8;font-size:.9rem}.admin-form-grid,.admin-week-fields{grid-template-columns:minmax(110px,.7fr) minmax(90px,.55fr) minmax(240px,2fr) minmax(140px,.9fr);gap:16px;display:grid}.admin-form-grid{margin-bottom:18px}.admin-form-grid label,.admin-week-fields label{flex-direction:column;gap:8px;display:flex}.admin-form-grid label span,.admin-week-fields label span{color:#cbd5e1;font-size:.82rem;font-weight:700}.admin-form-grid input,.admin-form-grid select,.admin-week-fields input,.admin-week-fields select{box-sizing:border-box;color:#f8fafc;width:100%;min-height:44px;font:inherit;background:#0b1224;border:1px solid #334155;border-radius:11px;outline:none;padding:11px 12px;transition:border-color .16s,box-shadow .16s,background .16s}.admin-form-grid input:hover,.admin-form-grid select:hover,.admin-week-fields input:hover,.admin-week-fields select:hover{border-color:#475569}.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-week-fields input:focus,.admin-week-fields select:focus{background:#101a30;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f624}.admin-create-card>.save-button{min-width:150px}.admin-week-list{gap:16px;display:grid}.admin-week-row{background:linear-gradient(145deg,#0f172af5,#0b1224f5);border:1px solid #94a3b824;border-radius:15px;padding:20px;transition:border-color .16s,transform .16s,box-shadow .16s}.admin-week-row:hover{border-color:#60a5fa4d;transform:translateY(-1px);box-shadow:0 14px 32px #0003}.admin-week-meta{color:#94a3b8;border-top:1px solid #94a3b81f;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding-top:16px;font-size:.92rem;display:flex}.admin-row-actions{align-items:center;gap:10px;display:flex}.admin-row-actions .save-button,.admin-delete-button,.admin-header .compare-link-button{min-height:42px;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:750;text-decoration:none;transition:transform .16s,box-shadow .16s,opacity .16s,border-color .16s;display:inline-flex}.admin-header .compare-link-button{color:#dbeafe;background:#111a2e;border:1px solid #334155}.admin-header .compare-link-button:hover{border-color:#3b82f6;transform:translateY(-1px)}.admin-delete-button{color:#fca5a5;background:#7f1d1d38;border:1px solid #f8717152}.admin-delete-button:hover:not(:disabled){border-color:#f8717199;transform:translateY(-1px);box-shadow:0 10px 24px #7f1d1d3d}.admin-delete-button:disabled,.admin-row-actions .save-button:disabled{opacity:.55;cursor:not-allowed}.admin-loading{color:#94a3b8;justify-content:center;align-items:center;gap:10px;min-height:140px;display:flex}.admin-page>.message{box-sizing:border-box;width:min(100%,1180px);margin:0 auto 20px}@media (width<=900px){.admin-form-grid,.admin-week-fields{grid-template-columns:1fr 1fr}.admin-title-field{grid-column:1/-1}}@media (width<=650px){.admin-page{padding:22px 14px 44px}.admin-header{flex-direction:column}.admin-header .compare-link-button{width:100%}.admin-create-card,.admin-weeks-card{border-radius:16px;padding:20px}.admin-form-grid,.admin-week-fields{grid-template-columns:1fr}.admin-title-field{grid-column:auto}.admin-week-meta{flex-direction:column;align-items:stretch}.admin-row-actions{width:100%}.admin-row-actions button{flex:1}.admin-create-card>.save-button{width:100%}}:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;background:#0b1020;font-family:Arial,Helvetica,sans-serif}html,body,#root{min-width:320px;min-height:100%}body{margin:0}
