.reg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.reg-modal{position:relative;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;padding:32px}.reg-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:20px;color:#999;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s}.reg-close:hover{background:#f0f0f0;color:#333}.reg-header{margin-bottom:24px}.reg-header h2{margin:0 0 8px;font-size:22px;font-weight:700;color:#1a1a2e}.reg-header p{margin:0;font-size:14px;color:#666;line-height:1.5}.reg-alert{background:#fff5f5;border:1px solid #fecaca;border-left:4px solid #C4373F;color:#c4373f;padding:12px 16px;border-radius:6px;font-size:14px;margin-bottom:20px}.reg-form{display:flex;flex-direction:column;gap:16px}.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reg-field{display:flex;flex-direction:column;gap:4px}.reg-field label{font-size:13px;font-weight:600;color:#444}.reg-field .req{color:#c4373f}.reg-field input,.reg-field select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background:#fff;transition:border-color .15s,box-shadow .15s}.reg-field input:focus,.reg-field select:focus{outline:none;border-color:#9d4db8;box-shadow:0 0 0 3px #9d4db81a;background:#fff}.reg-field input::placeholder{color:#bbb}.reg-btn{padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s}.reg-btn-primary{background:linear-gradient(135deg,#9d4db8,#77278b);color:#fff;margin-top:8px}.reg-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #77278b4d}.reg-btn-primary:disabled{opacity:.5;cursor:not-allowed}.reg-success{text-align:center;padding:20px 0}.reg-success-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#9d4db8,#77278b);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.reg-success h2{margin:0 0 12px;color:#1a1a2e}.reg-success p{color:#555;font-size:15px;line-height:1.5;margin:0 0 8px}.reg-success-note{font-size:13px!important;color:#888!important;margin-top:16px!important;padding:12px 16px;background:#f8f5fa;border-radius:6px}.reg-section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#77278b;border-bottom:1px solid #eee;padding-bottom:6px;margin-bottom:-4px}.reg-horse-entry-flat{display:flex;flex-direction:column;gap:12px}.reg-horse-entry{background:#f9f7fb;border:1px solid #ece4f0;border-radius:8px;padding:14px 14px 6px;display:flex;flex-direction:column;gap:12px}.reg-horse-header{display:flex;justify-content:space-between;align-items:center}.reg-horse-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#9d4db8}.reg-horse-remove{background:none;border:none;font-size:16px;color:#bbb;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s}.reg-horse-remove:hover{background:#fce8e8;color:#c4373f}.reg-add-horse{background:none;border:1px dashed #ccc;border-radius:8px;padding:10px;font-size:13px;font-weight:600;color:#77278b;cursor:pointer;transition:all .15s}.reg-add-horse:hover{border-color:#9d4db8;background:#f9f5fb}@media (max-width: 600px){.reg-modal{padding:24px 20px}.reg-row{grid-template-columns:1fr;gap:12px}}:root{--purple-deep: #77278B;--purple-mid: #9D4DB8;--purple-light: #F3E8F8;--purple-text: #77278B;--gold: #b07a2a;--gold-light: #f5e9cc;--sand: #faf8f7;--sand-border: #e0d9d0;--ink: #1a1a1a;--ink-soft: #4a4a4a;--ink-muted: #737373;--white: #ffffff}.leaderboard-root{font-family:Segoe UI,Trebuchet MS,sans-serif;color:var(--ink)}.leaderboard-shell{background:var(--sand);border:1px solid var(--sand-border);border-radius:0 0 24px 24px;overflow:hidden;box-shadow:0 8px 40px #1414141a}.hero{position:relative;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:var(--white)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:url(/hero-horse.png) center / cover no-repeat}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(105deg,rgba(60,10,75,.88) 0%,rgba(60,10,75,.72) 45%,rgba(60,10,75,.28) 75%,transparent 100%),linear-gradient(to top,rgba(50,8,65,.82) 0%,transparent 55%)}.hero-content{position:relative;z-index:2;padding:28px 40px 36px;display:flex;flex-direction:column;gap:0}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;border-radius:999px;background:#ffffff21;border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:fit-content}.badge-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px #4ade8047;flex-shrink:0;animation:lbPulse 2.2s ease-in-out infinite}@keyframes lbPulse{0%,to{box-shadow:0 0 0 3px #4ade8047}50%{box-shadow:0 0 0 6px #4ade801a}}.lb-search-row{display:flex;align-items:center;gap:12px;padding:0 28px 16px;border-bottom:1px solid var(--sand-border)}.lb-search-row .search-box{flex:1}.register-btn{padding:8px 18px;background:var(--purple-deep);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s}.register-btn:hover{background:var(--purple-mid);transform:translateY(-1px)}.hero-logo{max-height:60px;width:auto;object-fit:contain;margin-bottom:16px;filter:brightness(0) invert(1);opacity:.95;align-self:flex-start}.hero-title{margin:0;font-size:clamp(30px,4.5vw,52px);line-height:1.04;letter-spacing:-.03em;font-weight:700;text-shadow:0 2px 16px rgba(0,0,0,.35)}.hero-subtitle{margin:12px 0 0;max-width:520px;font-size:17px;line-height:1.5;color:#ffffffd1;text-shadow:0 1px 8px rgba(0,0,0,.25)}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.meta-chip{padding:8px 14px;border-radius:999px;font-size:12px;font-weight:500;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.01em}.lb-content{padding:28px 36px 36px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--white);border:1px solid var(--sand-border);border-radius:16px;padding:18px 20px;box-shadow:0 1px 4px #0000000a;transition:box-shadow .18s ease}.stat-card:hover{box-shadow:0 4px 14px #00000014}.stat-label{font-size:13px;color:var(--ink-muted);margin-bottom:6px;font-weight:500;letter-spacing:.01em}.stat-value{font-size:36px;line-height:1;letter-spacing:-.03em;font-weight:700;color:var(--ink)}.stat-value-small{font-size:26px;line-height:1.1;letter-spacing:-.02em;font-weight:700;color:var(--ink)}.lb-controls{display:grid;gap:14px;margin-bottom:20px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--sand-border);background:var(--white);color:var(--ink);border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:all .16s ease;letter-spacing:.01em}.chip:hover{border-color:var(--purple-mid);color:var(--purple-mid);transform:translateY(-1px)}.chip.active{background:var(--purple-mid);border-color:var(--purple-mid);color:var(--white);box-shadow:0 2px 10px #9d4db840}.chip.active:hover{color:var(--white)}.search-box{position:relative}.search-input{width:100%;border:1px solid var(--sand-border);border-radius:10px;padding:9px 16px 9px 42px;font-size:14px;background:var(--white);color:var(--ink);outline:none;box-shadow:inset 0 1px #fffc;transition:border-color .16s,box-shadow .16s;box-sizing:border-box}.search-input:focus{border-color:var(--purple-mid);box-shadow:0 0 0 3px #9d4db81f}.search-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:var(--ink-muted);font-size:16px;pointer-events:none}.table-card{background:var(--white);border:1px solid var(--sand-border);border-radius:18px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th{text-align:left;font-size:12px;color:var(--ink-muted);font-weight:600;padding:16px 18px 12px;border-bottom:1px solid var(--sand-border);background:#faf9f6;letter-spacing:.05em;text-transform:uppercase}.leaderboard-table th:first-child{width:36px;padding:16px 0 12px 12px}.leaderboard-table td{padding:16px 18px;border-bottom:1px solid #eeeae3;vertical-align:middle;font-size:14px}.leaderboard-table tbody tr:last-child td{border-bottom:none}.leaderboard-table th.center,.leaderboard-table td.center{text-align:center!important}.leaderboard-table th.right,.leaderboard-table td.right{text-align:right!important}.data-row{cursor:pointer;transition:background .15s ease}.data-row:hover{background:#f8f3fb}.data-row:focus{outline:2px solid var(--purple-mid);outline-offset:-2px}.data-row.expanded{background:#f5edfb}.data-row.expanded:hover{background:#efe4f7}.chevron-cell{width:36px;padding:16px 0 16px 14px!important;color:var(--ink-muted)}.chevron{display:inline-block;font-size:20px;line-height:1;font-weight:300;transform:rotate(0);transition:transform .22s ease,color .15s ease;color:var(--ink-muted);-webkit-user-select:none;user-select:none}.chevron.open{transform:rotate(90deg);color:var(--purple-mid)}.rank{width:56px;font-size:17px;font-weight:700;color:var(--ink-soft)}.rank.top3{color:var(--gold)}.class-tag{display:inline-flex;align-items:center;justify-content:center;min-width:50px;padding:6px 10px;border-radius:10px;background:var(--sand);border:1px solid var(--sand-border);font-weight:700;font-size:12px;color:var(--ink-soft);letter-spacing:.02em}.rider-name{font-size:16px;font-weight:700;line-height:1.2;margin-bottom:3px;color:var(--ink)}.horse-name{font-size:13px;color:var(--ink-soft);font-style:italic}.school-cell{color:var(--ink-soft);font-size:13px}.results-cell{width:80px;text-align:center!important;font-weight:700;font-size:17px;color:var(--ink)}.avg-cell{width:120px;text-align:right!important}.score-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 13px;border-radius:999px;background:var(--purple-light);color:var(--purple-text);font-weight:700;font-size:14px;min-width:72px}.score-pill.qualifying{background:transparent;color:#9a9fa5;min-width:auto;padding:0;border-radius:0;font-weight:500;font-style:italic;font-size:13px}.accordion-row td{padding:0!important;border-bottom:1px solid var(--sand-border)!important;background:#faf5fd}.accordion-cell{padding:0!important}.accordion-panel{padding:20px 28px 24px 52px;border-top:1px solid #e4d2ee;animation:lbSlideDown .2s ease}@keyframes lbSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.accordion-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.accordion-rider-label{font-size:14px;font-weight:700;color:var(--purple-deep)}.accordion-event-count{font-size:12px;color:var(--ink-muted);font-weight:500}.accordion-empty{font-size:13px;color:var(--ink-muted);font-style:italic;margin:0;padding:4px 0}.event-grid{display:flex;flex-direction:column;gap:0;border:1px solid #e4d2ee;border-radius:12px;overflow:hidden;background:var(--white)}.event-grid-header{display:grid;grid-template-columns:1fr 100px 90px;padding:8px 16px;background:#f5edfb;border-bottom:1px solid #e4d2ee}.event-grid-header-cell{font-size:11px;font-weight:700;color:var(--purple-deep);text-transform:uppercase;letter-spacing:.07em}.event-grid-header-cell:nth-child(2){text-align:right}.event-grid-header-cell:nth-child(3){text-align:center}.event-row{display:grid;grid-template-columns:1fr 100px 90px;align-items:center;padding:10px 16px;border-bottom:1px solid #f2eaf7;transition:background .12s ease}.event-row:last-child{border-bottom:none}.event-row:hover{background:#faf5fd}.event-row-name{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;padding-right:12px}.event-row-date{font-size:12px;font-weight:400;color:var(--ink-muted);margin-left:6px;white-space:nowrap}.event-row-score{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em;text-align:right;font-variant-numeric:tabular-nums}.event-row-mer{display:flex;align-items:center;justify-content:center}.footer-note{margin-top:16px;color:var(--ink-muted);font-size:13px;line-height:1.5}.lb-message{padding:20px;color:var(--ink-muted);font-size:14px}.lb-error{padding:14px 18px;margin-bottom:18px;border:1px solid #f3c1c1;background:#fff5f5;color:#a4262c;border-radius:12px;font-size:14px}.mobile-label{display:none}@media (max-width: 960px){.lb-content{padding:20px 20px 28px}.hero-content{padding:22px 22px 28px}.hero{min-height:260px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leaderboard-table thead{display:none}.leaderboard-table,.leaderboard-table tbody,.leaderboard-table td{display:block;width:100%}.leaderboard-table tbody tr.data-row,.leaderboard-table tbody tr.accordion-row{display:block}.leaderboard-table tbody tr.data-row{position:relative;padding:12px 0;border-bottom:1px solid var(--sand-border)}.leaderboard-table td{border:none;padding:6px 16px}.chevron-cell{position:absolute;top:12px;right:16px;padding:0!important;width:auto}.accordion-panel{padding:16px 16px 20px}.event-grid-header,.event-row{grid-template-columns:1fr 80px 70px;padding:9px 12px}.rank,.results-cell,.avg-cell{width:auto;text-align:left!important}.mobile-label{display:inline-block;width:88px;color:var(--ink-muted);font-weight:600;font-size:12px}}@media (max-width: 640px){.stats-grid{grid-template-columns:1fr 1fr}.chip{padding:9px 14px;font-size:13px}.hero-logo{max-height:44px}.hero-title{font-size:26px}.hero-subtitle{font-size:15px}.lb-search-row{flex-direction:column;padding:0 16px 12px}.register-btn{width:100%;text-align:center}}.lb-disclaimer{padding:16px 28px}.lb-disclaimer p{margin:0;font-size:12px;line-height:1.6;color:var(--ink-muted)}:root{--purple-deep: #77278B;--purple-mid: #9D4DB8;--purple-light: #F3E8F8;--sand: #faf8f7;--sand-border: #e0d9d0;--ink: #1a1a1a;--ink-soft: #4a4a4a;--ink-muted: #737373;--white: #ffffff;--error-bg: #fff5f5;--error-border: #f3c1c1;--error-text: #a4262c}.admin-login-root{display:flex;min-height:100vh;font-family:Segoe UI,Trebuchet MS,sans-serif}.admin-hero-panel{position:relative;flex:1 1 55%;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.admin-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/hero-horse.png) center / cover no-repeat;z-index:0}.admin-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(105deg,rgba(60,10,75,.88) 0%,rgba(60,10,75,.72) 45%,rgba(60,10,75,.28) 75%,transparent 100%),linear-gradient(to top,rgba(50,8,65,.9) 0%,transparent 55%)}.admin-hero-content{position:relative;z-index:2;padding:40px 48px;color:var(--white);display:flex;flex-direction:column;gap:0}.admin-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;border-radius:999px;background:#ffffff21;border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:fit-content}.admin-badge-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px #4ade8047;flex-shrink:0;animation:adminPulse 2.2s ease-in-out infinite}@keyframes adminPulse{0%,to{box-shadow:0 0 0 3px #4ade8047}50%{box-shadow:0 0 0 6px #4ade801a}}.admin-hero-title{margin:0;font-size:clamp(32px,4vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1.04;text-shadow:0 2px 16px rgba(0,0,0,.35)}.admin-hero-subtitle{margin:14px 0 0;font-size:16px;line-height:1.5;color:#ffffffc7;text-shadow:0 1px 8px rgba(0,0,0,.25);max-width:340px}.admin-form-panel{flex:0 0 420px;min-height:100vh;background:var(--sand);display:flex;align-items:center;justify-content:center;padding:48px 40px;border-left:1px solid var(--sand-border);box-sizing:border-box}.admin-form-inner{width:100%;max-width:340px;display:flex;flex-direction:column;gap:28px}.admin-form-header{display:flex;flex-direction:column;gap:8px}.admin-form-title{margin:0;font-size:28px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.admin-form-subtitle{margin:0;font-size:14px;color:var(--ink-muted);line-height:1.5}.admin-form-subtitle strong{color:var(--ink-soft);font-weight:600}.admin-step{display:flex;flex-direction:column;gap:12px}.admin-form-group{display:flex;flex-direction:column;gap:7px}.admin-label{font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.06em}.admin-otp-input{width:100%;padding:14px 18px;border:2px solid var(--sand-border);border-radius:12px;font-size:28px;font-family:Courier New,monospace;font-weight:700;letter-spacing:14px;text-align:center;color:var(--ink);background:var(--white);transition:border-color .18s ease,box-shadow .18s ease;box-sizing:border-box;outline:none}.admin-otp-input:focus{border-color:var(--purple-mid);box-shadow:0 0 0 3px #9d4db81f}.admin-otp-input:disabled{background:#f5f4f2;color:#999;cursor:not-allowed}.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 20px;border:none;border-radius:12px;font-size:14px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:all .18s ease;font-family:inherit;box-sizing:border-box}.btn-microsoft{background:var(--white);color:var(--ink);border:1.5px solid var(--sand-border);box-shadow:0 1px 4px #0000000f}.btn-microsoft:hover:not(:disabled){border-color:#c0b5c8;box-shadow:0 4px 14px #0000001a;transform:translateY(-1px)}.ms-icon{width:20px;height:20px;flex-shrink:0}.btn-primary{background:linear-gradient(135deg,#9d4db8,#77278b);color:var(--white);box-shadow:0 2px 10px #77278b33}.btn-primary:hover:not(:disabled){box-shadow:0 6px 18px #77278b52;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink-muted);border:1.5px solid var(--sand-border);font-weight:600}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:#c0b5c8;background:var(--white)}.admin-alert{padding:11px 14px;border-radius:10px;font-size:13px;line-height:1.5}.admin-alert-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.admin-login-hint{font-size:12px;color:var(--ink-muted);text-align:center;line-height:1.5;margin:4px 0 0}@media (max-width: 1024px){.admin-hero-panel{flex:1 1 45%}.admin-form-panel{flex:0 0 380px;padding:40px 32px}}@media (max-width: 768px){.admin-login-root{flex-direction:column}.admin-hero-panel{flex:none;min-height:280px}.admin-form-panel{flex:none;min-height:unset;width:100%;padding:40px 24px;border-left:none;border-top:1px solid var(--sand-border)}.admin-form-inner{max-width:400px}.admin-hero-content{padding:28px 28px 36px}}@media (max-width: 480px){.admin-hero-panel{min-height:240px}.admin-form-panel{padding:32px 20px}.admin-otp-input{font-size:24px;letter-spacing:10px}}.admin-qr-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px;background:var(--sand);border-radius:12px;margin-bottom:20px}.admin-qr-code{width:240px;height:240px;border:2px solid var(--sand-border);border-radius:8px;padding:8px;background:var(--white)}.admin-qr-hint{font-size:12px;color:var(--ink-muted);text-align:center;margin:0}.admin-manual-key{font-family:Courier New,monospace;font-size:13px;font-weight:600;color:var(--purple-deep);background:var(--white);padding:12px 16px;border-radius:8px;border:1px solid var(--sand-border);letter-spacing:2px;word-break:break-all;-webkit-user-select:all;user-select:all}.admin-email-input{width:100%;padding:12px 16px;border:1.5px solid var(--sand-border);border-radius:10px;font-size:15px;font-family:inherit;background:var(--white);transition:border-color .18s ease,box-shadow .18s ease;box-sizing:border-box;outline:none}.admin-email-input:focus{border-color:var(--purple-mid);box-shadow:0 0 0 3px #9d4db81f}.admin-email-input:disabled{background:#f5f4f2;color:#999;cursor:not-allowed}:root{--purple-deep: #77278B;--purple-mid: #9D4DB8;--purple-light: #F3E8F8;--sand: #faf8f7;--sand-border: #e0d9d0;--ink: #1a1a1a;--ink-soft: #4a4a4a;--ink-muted: #737373;--white: #ffffff;--success-bg: #e6f7ed;--success-border: #d4edda;--success-text: #107c10;--error-bg: #fff5f5;--error-border: #f3c1c1;--error-text: #a4262c;--warning-bg: #fff8e1;--warning-border: #ffe082;--warning-text: #b45309}.manager-container{background:var(--white);border:1px solid var(--sand-border);border-radius:18px;box-shadow:0 1px 4px #0000000a;overflow:hidden}.manager-header{padding:24px 28px;border-bottom:1px solid var(--sand-border);display:flex;justify-content:space-between;align-items:center;background:#faf9f6;gap:16px}.manager-header button{width:auto;flex-shrink:0}.manager-header h2{margin:0 0 5px;font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.manager-header p{margin:0;font-size:13px;color:var(--ink-muted)}.manager-header-actions{display:flex;gap:8px;align-items:center}.alert-success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.season-selector{padding:14px 28px;display:flex;align-items:center;gap:12px;background:var(--sand);border-bottom:1px solid var(--sand-border)}.season-selector label{font-size:12px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em}.season-selector select{padding:7px 12px;border:1.5px solid var(--sand-border);border-radius:8px;font-size:13px;font-family:inherit;background:var(--white);color:var(--ink);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease;outline:none}.season-selector select:focus{border-color:var(--purple-mid);box-shadow:0 0 0 3px #9d4db81f}.search-box{padding:14px 28px;border-bottom:1px solid var(--sand-border);display:flex;align-items:center;gap:10px;background:var(--white)}.search-icon{font-size:16px;color:var(--ink-muted);flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:13px;font-family:inherit;color:var(--ink);background:transparent}.search-input::placeholder{color:#bbb}.manager-form{padding:24px 28px;background:var(--purple-light);border-bottom:1px solid #e4d2ee}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group input,.form-group select{padding:10px 13px;border:1.5px solid #ddd0e8;border-radius:10px;font-size:14px;font-family:inherit;background:var(--white);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease;outline:none}.form-group input::placeholder{color:#bbb}.form-group input[type=checkbox]{width:auto;padding:0;border:none;box-shadow:none;accent-color:var(--purple-mid)}.form-group .checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--ink-soft);cursor:pointer;padding-top:8px}.form-actions{display:flex;gap:8px;margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .18s ease;letter-spacing:.03em;font-family:inherit;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#9d4db8,#77278b);color:var(--white);box-shadow:0 2px 8px #77278b2e}.btn-primary.cancel{background:var(--white);color:var(--ink-muted);border:1.5px solid var(--sand-border);box-shadow:none}.btn-primary.cancel:hover{color:var(--ink);border-color:#c0b5c8;box-shadow:none;transform:none}.btn-ghost{background:var(--white);color:var(--ink-muted);border:1.5px solid var(--sand-border);box-shadow:none}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:#c0b5c8;background:var(--sand)}.btn-secondary:hover:not(:disabled){background:var(--purple-light)}.btn-danger{background:var(--error-text);color:var(--white);border:none;box-shadow:0 2px 8px #a4262c2e}.btn-danger:hover:not(:disabled){box-shadow:0 5px 14px #a4262c47;transform:translateY(-1px)}.btn-outline-sm{padding:7px 13px;font-size:12px;font-weight:700;border:1.5px solid var(--sand-border);border-radius:8px;background:var(--white);color:var(--ink-soft);cursor:pointer;transition:all .16s ease;font-family:inherit;white-space:nowrap}.btn-outline-sm:hover{border-color:var(--purple-mid);color:var(--purple-deep);background:var(--purple-light)}.manager-table{overflow-x:auto;padding:0 28px 24px}.manager-table table{width:100%;border-collapse:collapse;font-size:13px}.manager-table thead{border-bottom:1px solid var(--sand-border)}.manager-table th{padding:13px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.07em;background:#faf9f6}.manager-table tbody tr{border-bottom:1px solid #eeeae3;transition:background .14s ease}.manager-table tbody tr:last-child{border-bottom:none}.manager-table tbody tr:hover{background:#f8f3fb}.manager-table td{padding:14px 12px;color:var(--ink);vertical-align:middle}.cards-list{display:flex;flex-direction:column;gap:4px;padding:16px 28px 24px}.rider-card{background:var(--white);border:1px solid var(--sand-border);border-radius:10px;padding:12px 16px;transition:background .14s ease,border-color .14s ease}.rider-card:hover{background:#faf5fc;border-color:#d9c8e4}.rider-header{display:flex;align-items:center;cursor:pointer;gap:0;min-width:0;overflow:hidden}.rider-chevron{display:inline-block;margin-right:12px;transition:transform .2s ease;font-size:18px;color:var(--ink-muted);min-width:20px;flex-shrink:0}.rider-chevron.expanded{transform:rotate(90deg)}.rider-info{flex:1;min-width:0}.rider-name{font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.rider-name.red-rider{color:var(--error-text)}.rider-meta{font-size:12px;color:var(--ink-muted);margin-top:2px}.red-rider-badge{display:inline-flex;align-items:center;margin-left:8px;font-size:11px;font-weight:700;color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);padding:2px 7px;border-radius:6px;letter-spacing:.03em}.rider-score{font-size:14px;font-weight:700;color:#1b5e20;min-width:80px;text-align:right;flex-shrink:0}.rider-score.qualifying{color:var(--ink-muted);font-weight:500}.rider-result-count{font-size:12px;color:var(--ink-muted);text-align:right;min-width:70px;flex-shrink:0}.rider-actions{display:flex;gap:6px;margin-left:12px;flex-shrink:0;align-items:center;padding-left:4px}.results-panel{padding:12px 0 4px 32px;border-top:1px solid #eeeae3;margin-top:12px}.results-panel-header{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #eee;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted)}.results-panel-header .col-center,.results-row .col-center{text-align:center}.results-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding-bottom:10px;align-items:center}.result-event-name{font-weight:500;font-size:13px;color:var(--ink)}.result-event-date{font-size:11px;color:var(--ink-muted);margin-top:2px}.result-score{text-align:center;font-size:13px;color:var(--ink)}.mer-badge{text-align:center;font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px}.mer-badge.pass{background:#c8e6c9;color:#1b5e20}.mer-badge.fail{background:#ffccbc;color:#d84315}.mer-badge.other{background:var(--error-bg);color:var(--error-text)}.results-empty{padding:8px 0;color:var(--ink-muted);font-size:13px}.class-group{display:flex;flex-direction:column;gap:4px}.class-group-title{font-size:12px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;padding:8px 28px 6px;background:var(--sand);border-top:1px solid var(--sand-border);border-bottom:1px solid var(--sand-border)}.class-groups-wrapper{display:flex;flex-direction:column;gap:0}.class-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:8px;background:var(--sand);border:1px solid var(--sand-border);font-weight:700;font-size:12px;color:var(--ink-soft);letter-spacing:.02em}.status-active{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:8px;background:var(--success-bg);border:1px solid var(--success-border);font-weight:700;font-size:12px;color:var(--success-text);letter-spacing:.02em}.status-inactive{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:8px;background:#f5f5f5;border:1px solid #ddd;font-weight:700;font-size:12px;color:#999;letter-spacing:.02em}.actions{display:flex;gap:6px}.btn-action{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1.5px solid var(--sand-border);border-radius:8px;background:var(--white);color:var(--ink-muted);cursor:pointer;font-size:14px;transition:all .16s ease;line-height:1}.btn-action:hover{border-color:#c0b5c8}.btn-edit:hover{background:#e8f8f2;border-color:#9dd4bc;color:#0f7a5b}.btn-delete:hover{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.btn-view:hover{background:#e8f0ff;border-color:#7da8d8;color:#06c}.loading,.no-data{padding:48px 28px;text-align:center;color:var(--ink-muted);font-size:14px}@media (max-width: 768px){.manager-header{flex-direction:column;gap:14px;padding:20px}.manager-form,.manager-table,.alert,.cards-list,.search-box{padding-left:20px;padding-right:20px}.form-row{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog{background:var(--white);border-radius:14px;box-shadow:0 8px 32px #00000026;max-width:420px;width:90%;overflow:hidden}.modal-header{padding:20px 24px;border-bottom:1px solid var(--sand-border)}.modal-header h3{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.modal-body{padding:20px 24px;color:var(--ink);font-size:14px;line-height:1.5}.modal-body p{margin:0 0 10px}.modal-body p:last-child{margin-bottom:0}.modal-body .modal-warning{font-size:12px;color:var(--error-text)}.modal-footer{padding:16px 24px;border-top:1px solid var(--sand-border);display:flex;gap:10px;justify-content:flex-end}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;margin-bottom:8px;flex-wrap:wrap;gap:8px}.pagination-bar--bottom{margin-top:12px;margin-bottom:0;justify-content:center}.pagination-info{font-size:13px;color:var(--ink-muted, #6b7280)}.pagination-info strong{color:var(--ink, #111827)}.pagination-controls{display:flex;align-items:center;gap:4px}.page-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:15px;cursor:pointer;transition:background .12s,border-color .12s}.page-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-current{font-size:13px;font-weight:600;color:#374151;padding:0 10px;white-space:nowrap}.event-results-viewer{padding:20px;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.event-results-viewer.loading,.event-results-viewer.error{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:18px;color:#666}.event-header{margin-bottom:30px}.btn-back{background:none;border:none;color:#06c;font-size:16px;cursor:pointer;padding:8px 12px;border-radius:4px;transition:background-color .2s;margin-bottom:15px}.btn-back:hover{background-color:#f0f0f0}.event-info h2{margin:0 0 8px;font-size:28px;color:#333}.event-meta{margin:0;color:#666;font-size:14px}.results-container{display:flex;flex-direction:column;gap:12px}.class-section{border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 4px #0000000d}.class-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px;background:linear-gradient(135deg,#f5f5f5,#efefef);border:none;cursor:pointer;font-size:16px;font-weight:600;color:#333;transition:background .2s}.class-header:hover{background:linear-gradient(135deg,#efefef,#e5e5e5)}.class-header.expanded{background:linear-gradient(135deg,#e8f4f8,#dceef5);color:#06c}.class-name{font-weight:700;min-width:60px}.result-count{font-size:14px;color:#666;margin-left:auto;margin-right:16px}.toggle-icon{font-size:12px;transition:transform .2s}.class-results{overflow-x:auto}.results-table{width:100%;border-collapse:collapse;font-size:14px}.results-table thead{background:#f9f9f9;border-bottom:2px solid #e0e0e0}.results-table th{padding:12px;text-align:left;font-weight:600;color:#555;white-space:nowrap}.results-table tbody tr{border-bottom:1px solid #eee;transition:background-color .15s}.results-table tbody tr:hover{background-color:#f9f9f9}.results-table td{padding:12px}.col-rank{width:60px;text-align:center}.col-rider{width:150px;min-width:150px}.col-horse{width:140px;min-width:140px}.col-score{width:90px;text-align:center;font-weight:600}.col-mer-status{width:120px;text-align:center}.col-dressage{width:100px;text-align:center}.col-xc{width:90px;text-align:center}.col-sj{width:80px;text-align:center}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e3f2fd;color:#06c;font-weight:700}.numeric-status .rank-badge{background:#c8e6c9;color:#2e7d32}.x-status .rank-badge{background:#ffccbc;color:#d84315}.rider-name{font-weight:500;color:#333}.horse-name{color:#666;font-size:13px}.score-value{padding:4px 8px;border-radius:4px;display:inline-block;min-width:50px}.score-numeric-pass .score-value{background:#e8f5e9;color:#1b5e20}.score-disqualified .score-value{background:#ffebee;color:#c62828}.score-default .score-value{background:#fff3e0;color:#e65100}.mer-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-weight:500;font-size:12px;white-space:nowrap}.mer-pass{background:#c8e6c9;color:#1b5e20}.mer-x{background:#ffccbc;color:#d84315}.mer-fail-xcj,.mer-fail-xct,.mer-fail-sj,.mer-fail-dr{background:#ffe0b2;color:#e65100}.mer-fail-ae,.mer-fail-e,.mer-fail-r,.mer-fail-scr,.mer-fail-wd,.mer-e,.mer-r,.mer-wd-xc,.mer-wd-sj,.mer-ae,.mer-scr{background:#ffccbc;color:#d84315}.result-row.numeric-status{background:#fafafa}.result-row.x-status{background:#fff5f5}.error-message{color:#d32f2f;padding:20px;background:#ffebee;border-radius:8px;margin-bottom:20px}.no-results{text-align:center;padding:40px 20px;color:#999;font-size:16px}@media (max-width: 768px){.event-results-viewer{padding:12px}.event-info h2{font-size:20px}.results-table{font-size:12px}.results-table th,.results-table td{padding:8px}.col-rider,.col-horse{width:100px;min-width:100px}.result-count{margin-right:8px}.rider-name{font-size:13px}.horse-name{font-size:11px}}:root{--purple-deep: #77278B;--purple-mid: #9D4DB8;--purple-light: #F3E8F8;--sand: #faf8f7;--sand-border: #e0d9d0;--ink: #1a1a1a;--ink-soft: #4a4a4a;--ink-muted: #737373;--white: #ffffff;--success-bg: #e6f7ed;--success-border: #b8e3c5;--success-text: #107c10;--error-bg: #fff5f5;--error-border: #f3c1c1;--error-text: #a4262c}.uploader-container{background:var(--white);border:1px solid var(--sand-border);border-radius:18px;box-shadow:0 1px 4px #0000000a;overflow:hidden}.uploader-header{padding:24px 28px;border-bottom:1px solid var(--sand-border);background:#faf9f6}.uploader-header h2{margin:0 0 5px;font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.uploader-header p{margin:0;font-size:13px;color:var(--ink-muted)}.alert{margin:16px 28px 0;padding:11px 16px;border-radius:10px;font-size:13px;line-height:1.5}.alert-error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.uploader-form{padding:28px}.form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--sand-border)}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section>label{display:block;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select{padding:10px 13px;border:1.5px solid var(--sand-border);border-radius:10px;font-size:14px;font-family:inherit;background:var(--white);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease;outline:none}.form-group input:focus,.form-group select:focus{border-color:var(--purple-mid);box-shadow:0 0 0 3px #9d4db81f}.form-group input:disabled,.form-group select:disabled{background:var(--sand);color:var(--ink-muted);cursor:not-allowed}.drop-zone{border:2px dashed var(--sand-border);border-radius:14px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .18s ease;background:var(--sand);position:relative}.drop-zone:hover{border-color:var(--purple-mid);background:var(--purple-light)}.drop-zone.drag-over{border-color:var(--purple-mid);background:var(--purple-light);box-shadow:0 0 0 3px #9d4db81f}.file-input{display:none}.file-preview{display:flex;align-items:center;gap:16px;justify-content:center}.file-icon{font-size:32px;flex-shrink:0}.file-info{text-align:left}.file-name{font-size:14px;font-weight:700;color:var(--ink);word-break:break-all}.file-size{font-size:12px;color:var(--ink-muted);margin-top:3px}.drop-zone-content{pointer-events:none}.drop-icon{display:block;font-size:38px;margin-bottom:12px}.drop-text{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 5px}.drop-hint{font-size:13px;color:var(--ink-muted);margin:0}.file-hint{font-size:12px;color:var(--ink-muted);margin:10px 0 0}.progress-section{margin-top:20px;padding:20px;background:var(--sand);border:1px solid var(--sand-border);border-radius:12px}.progress-bar{height:22px;background:#ece5f0;border-radius:999px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#9d4db8,#77278b);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:11px;font-weight:700;transition:width .3s ease;border-radius:999px;letter-spacing:.04em}.progress-text{text-align:center;color:var(--ink-muted);font-size:13px;margin:0}.result-section{margin-top:20px;padding:20px 24px;border-radius:14px;background:var(--success-bg);border:1px solid var(--success-border);border-left:4px solid var(--success-text)}.result-section.error{background:var(--error-bg);border-color:var(--error-border);border-left-color:var(--error-text)}.result-header{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.result-icon{font-size:22px;line-height:1;color:var(--success-text);flex-shrink:0}.result-section.error .result-icon{color:var(--error-text)}.result-header h3{margin:0;font-size:14px;font-weight:700;color:var(--ink)}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(16,124,16,.15)}.result-section.error .result-stats{border-bottom-color:#a4262c26}.stat{text-align:center;background:#fff9;border-radius:10px;padding:10px 8px}.stat-label{display:block;font-size:11px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.stat-value{display:block;font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.stat-value.success{color:var(--success-text)}.stat-value.error{color:var(--error-text)}.stat-value.warning{color:#d88b00}.errors-section{margin:14px 0;padding:14px 16px;background:#a4262c0d;border-radius:10px;border:1px solid var(--error-border)}.errors-section h4{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--error-text);text-transform:uppercase;letter-spacing:.05em}.error-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.error-list li{font-size:12px;color:var(--ink-soft);padding:3px 0;line-height:1.4}.more-errors{color:var(--ink-muted);font-style:italic}.result-actions{margin-top:14px;text-align:center}.confirmation-text{font-size:13px;color:var(--success-text);margin:0 0 12px;font-weight:500}.result-section.error .confirmation-text{color:var(--error-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .18s ease;font-family:inherit;letter-spacing:.03em}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:linear-gradient(135deg,#9d4db8,#77278b);color:var(--white);width:100%;margin-top:12px;box-shadow:0 2px 8px #77278b2e}.btn-primary:hover:not(:disabled){box-shadow:0 5px 14px #77278b4d;transform:translateY(-1px)}.btn-secondary{background:var(--white);color:var(--purple-deep);border:1.5px solid var(--purple-deep)}.btn-secondary:hover{background:var(--purple-light)}.uploader-info{padding:28px;background:var(--purple-light);border-top:1px solid #e4d2ee}.uploader-info h3{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--ink)}.uploader-info p{margin:0 0 14px;font-size:13px;color:var(--ink-muted)}.format-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.format-list li{font-size:13px;color:var(--ink-soft);padding-left:20px;position:relative;line-height:1.45}.format-list li:before{content:"✓";position:absolute;left:0;color:var(--purple-mid);font-weight:700}@media (max-width: 768px){.uploader-form,.uploader-header,.uploader-info,.alert{padding-left:20px;padding-right:20px}.form-row{grid-template-columns:1fr}.drop-zone{padding:28px 16px}.result-stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.format-list{grid-template-columns:1fr}}.nominate-importer{max-width:720px}.nominate-header{margin-bottom:24px}.nominate-header h2{font-size:20px;font-weight:700;margin:0 0 6px}.nominate-header p{font-size:13px;color:#6b7280;margin:0;line-height:1.5}.ni-alert{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.ni-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.ni-form{display:flex;flex-direction:column;gap:16px}.ni-mode-toggle{display:inline-flex;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;width:fit-content}.ni-mode-btn{padding:7px 18px;font-size:13px;font-weight:600;background:#fff;border:none;cursor:pointer;color:#6b7280;transition:background .15s,color .15s}.ni-mode-btn.active{background:#6d28d9;color:#fff}.ni-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ni-field{display:flex;flex-direction:column;gap:4px}.ni-field label{font-size:13px;font-weight:600;color:#111827}.ni-optional{font-weight:400;color:#9ca3af}.ni-hint{font-size:11px;color:#9ca3af}.ni-field input,.ni-field select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;color:#111827;background:#fff}.ni-field input:focus,.ni-field select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.ni-url-preview{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:12px}.ni-url-label{font-weight:600;color:#6b7280;white-space:nowrap}.ni-url-link{color:#7c3aed;word-break:break-all;text-decoration:none}.ni-url-link:hover{text-decoration:underline}.ni-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:14px}.ni-result-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:#15803d}.ni-result-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#16a34a;color:#fff;border-radius:50%;font-size:14px;font-weight:700;flex-shrink:0}.ni-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ni-stat{background:#fff;border:1px solid #d1fae5;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.ni-stat span{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.ni-stat strong{font-size:20px;font-weight:700;color:#111827}.ni-stat--warn{border-color:#fde68a;background:#fffbeb}.ni-stat--warn strong{color:#92400e}.ni-not-registered-hint{font-size:13px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:8px 12px;margin:0}.ni-classes-seen{font-size:13px;color:#374151;margin:0}.ni-note{font-size:12px;color:#6b7280;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:8px 12px;margin:0}.ni-warnings{font-size:12px;color:#92400e}.ni-warnings summary{cursor:pointer;font-weight:600;padding:4px 0}.ni-warnings ul{margin:6px 0 0 16px;padding:0}.ni-cleanup{margin-top:32px;padding:20px;background:#fff8f8;border:1px solid #fecaca;border-radius:8px}.ni-cleanup h3{font-size:14px;font-weight:700;color:#991b1b;margin:0 0 6px}.ni-cleanup p{font-size:13px;color:#374151;margin:0 0 14px;line-height:1.5}.ni-cleanup-confirm p{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:10px 12px;margin-bottom:12px}.ni-cleanup-actions{display:flex;gap:10px}.ni-cleanup-result{display:flex;flex-direction:column;gap:10px}.ni-cleanup-result p{margin:0;color:#15803d}.ni-cleanup-list{font-size:12px;color:#374151;margin:6px 0 0 16px;padding:0;max-height:200px;overflow-y:auto}.btn-danger-outline{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:#dc2626;border:1px solid #dc2626;transition:background .15s,color .15s}.btn-danger-outline:hover{background:#dc2626;color:#fff}.btn-danger{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;background:#dc2626;color:#fff;border:none;transition:background .15s}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed}.ni-info{margin-top:32px;padding:16px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.ni-info h3{font-size:14px;font-weight:700;margin:0 0 10px;color:#374151}.ni-info ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.ni-info li{font-size:13px;color:#6b7280;line-height:1.4}.ni-info li strong{color:#374151}.ni-info li code{font-family:monospace;background:#e2e8f0;padding:1px 4px;border-radius:3px}@media (max-width: 600px){.ni-row{grid-template-columns:1fr}.ni-result-grid{grid-template-columns:repeat(2,1fr)}}:root{--purple-deep: #77278B;--purple-mid: #9D4DB8;--purple-light: #F3E8F8;--purple-text: #77278B;--sand: #faf8f7;--sand-border: #e0d9d0;--ink: #1a1a1a;--ink-soft: #4a4a4a;--ink-muted: #737373;--white: #ffffff}.admin-dashboard{display:flex;flex-direction:column;height:100vh;background:var(--sand);font-family:Segoe UI,Trebuchet MS,sans-serif;color:var(--ink)}.admin-header{background:linear-gradient(135deg,#9d4db8,#77278b);color:var(--white);box-shadow:0 2px 12px #77278b38;flex-shrink:0}.header-content{max-width:1400px;margin:0 auto;width:100%;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.header-title h1{font-size:20px;font-weight:700;margin:0 0 3px;letter-spacing:-.02em}.header-title p{font-size:13px;opacity:.8;margin:0;font-weight:400}.header-actions{display:flex;gap:20px;align-items:center}.token-timer{font-size:13px;opacity:.85;font-weight:500}.token-timer span{font-weight:700;font-family:Courier New,monospace;font-size:14px}.btn-logout{padding:8px 18px;background:#ffffff24;color:var(--white);border:1.5px solid rgba(255,255,255,.28);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease;font-family:inherit;letter-spacing:.02em}.btn-logout:hover{background:#ffffff3d;border-color:#ffffff73}.admin-container{display:flex;flex:1;overflow:hidden}.admin-nav{width:230px;background:#1e0f26;border-right:none;padding:20px 12px 16px;display:flex;flex-direction:column;gap:2px;flex-shrink:0}.nav-section-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff47;padding:4px 12px 10px;margin-top:4px}.nav-item{flex:0;padding:11px 13px;border:none;background:transparent;color:#ffffff8c;cursor:pointer;transition:background .14s ease,color .14s ease;display:flex;align-items:center;gap:12px;border-radius:10px;font-family:inherit;text-align:left;width:100%}.nav-item:hover{background:#ffffff12;color:#ffffffe6}.nav-item:focus-visible{outline:2px solid rgba(157,77,184,.7);outline-offset:1px}.nav-item.active{background:var(--purple-mid);color:var(--white);box-shadow:0 2px 10px #77278b66}.nav-item.active:hover{background:#a855c4}.nav-icon{flex-shrink:0;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;transition:background .14s ease}.nav-item.active .nav-icon{background:#ffffff2e}.nav-item:hover:not(.active) .nav-icon{background:#ffffff1a}.nav-text{display:flex;flex-direction:column;gap:1px;min-width:0}.nav-label{font-size:13px;font-weight:600;line-height:1.2;letter-spacing:.01em}.nav-description{font-size:11px;font-weight:400;opacity:.6;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item.active .nav-description{opacity:.75}.nav-spacer{flex:1}.nav-footer{padding:14px 12px 4px;border-top:1px solid rgba(255,255,255,.08);margin-top:8px}.nav-footer-season{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:#ffffff59;letter-spacing:.01em}.nav-footer-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 2px #4ade8040;flex-shrink:0;animation:navPulse 2.4s ease-in-out infinite}@keyframes navPulse{0%,to{box-shadow:0 0 0 2px #4ade8040}50%{box-shadow:0 0 0 5px #4ade8014}}.admin-main{flex:1;overflow:auto;padding:32px;background:var(--sand)}@media (max-width: 768px){.header-content{flex-direction:column;gap:14px;align-items:flex-start;padding:18px 20px}.header-actions{width:100%;gap:14px}.admin-container{flex-direction:column}.admin-nav{width:100%;flex-direction:row;padding:8px 12px;gap:6px;border-bottom:1px solid rgba(255,255,255,.08)}.nav-section-label,.nav-spacer,.nav-footer{display:none}.nav-item{flex:1;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 8px;border-radius:10px}.nav-icon{width:28px;height:28px}.nav-text{align-items:center}.nav-description{display:none}.nav-label{font-size:11px;font-weight:600}.admin-main{padding:20px 16px}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#fff;color:#333;line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.app-footer{background:#f8f9fa;border-top:1px solid #e5e7eb;padding:30px;text-align:center;color:#666;margin-top:auto;font-size:14px;display:flex;justify-content:center;align-items:center;gap:20px}.app-footer p{margin:0}.app-footer p a{color:#77278b;text-decoration:none;font-weight:600}.app-footer p a:hover{text-decoration:underline}.admin-link{padding:6px 12px;background:#77278b;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.admin-link:hover{background:#9d4db8;box-shadow:0 2px 8px #77278b33}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#fff;color:#333;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column}
