:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;background-color:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:#166534;text-decoration:none}a:hover{text-decoration:underline}code{background:#e2e8f0;border-radius:4px;padding:.1em .35em;font-size:.9em}.shell{flex-direction:column;min-height:100vh;display:flex}.topnav{background:#1f2937;border-bottom:1px solid #374151;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.brand{color:#fff;align-items:center;gap:.55rem;font-weight:700;display:inline-flex}.brand-logo{object-fit:contain;border-radius:4px;width:2.25rem;height:2.25rem}.topnav-actions{align-items:center;gap:1rem;display:flex}.topnav-actions a{color:#fff}.topnav-actions a:hover{color:#e5e7eb}.logout-btn{color:#fff;align-items:center;padding:.2rem;display:inline-flex}.logout-icon{object-fit:contain;width:1.15rem;height:1.15rem}.main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.25rem}.main-wide{max-width:none;margin:0;padding:0}.page{width:100%}.page.narrow{max-width:520px;margin:0 auto}.page.center{text-align:center;padding:3rem 1rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{margin:0 0 .25rem;font-size:1.5rem}.breadcrumb{color:#64748b;margin:0 0 .5rem;font-size:.875rem}.muted{color:#64748b;margin:.25rem 0 0}.muted.small{font-size:.8125rem}.error{color:#b91c1c;margin:.5rem 0}.info{color:#166534;margin:.5rem 0;font-size:.9rem}.login-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.login-tabs .tab{font:inherit;cursor:pointer;color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:.5rem .75rem}.login-tabs .tab.active{color:#14532d;background:#f0fdf4;border-color:#166534;font-weight:600}.login-help{margin-top:1.25rem;line-height:1.45}.login-brand{align-items:center;gap:.7rem;margin-bottom:.3rem;display:flex}.login-brand h1{margin:0}.login-brand-logo{object-fit:contain;border-radius:6px;width:2.75rem;height:2.75rem}.registration-hero{background:linear-gradient(#fff 0%,#f8fafc 100%);margin-bottom:.9rem}.public-registration-form{gap:.85rem}.public-registration-form input,.public-registration-form textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.public-registration-header{border-bottom:1px solid #e2e8f0;margin-bottom:.15rem;padding-bottom:.65rem}.public-registration-kicker{color:#64748b;margin:0 0 .2rem;font-size:.78rem}.public-registration-header h1{margin:0 0 .35rem;font-size:1.35rem;line-height:1.25}.public-registration-intro{color:#334155;white-space:pre-wrap;margin:0 0 .45rem;font-size:.9rem;line-height:1.45}.public-registration-meta{margin:0}.public-registration-section{flex-direction:column;gap:.5rem;display:flex}.public-registration-section-title{color:#0f172a;margin:0;font-size:.92rem;font-weight:700}.public-registration-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.public-registration-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem;display:grid}.public-registration-team-name,.public-registration-comments{grid-column:1/-1}.public-registration-members{flex-direction:column;gap:.45rem;display:flex}.public-registration-member{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.45rem;padding:.55rem .65rem;display:flex}.public-registration-member-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.public-registration-member-num{color:#334155;margin-right:auto;font-size:.8rem;font-weight:700}.public-registration-member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .65rem;display:grid}.public-registration-member-grid label{gap:.2rem;min-width:0;font-size:.78rem}.public-registration-member-dni{grid-column:1/-1;max-width:16rem}.public-registration-captain{white-space:nowrap;align-items:center;margin:0;flex-direction:row!important;gap:.3rem!important;font-size:.78rem!important;font-weight:600!important}.public-registration-captain input{width:auto;margin:0}.public-registration-member-remove{flex-shrink:0}.public-registration-terms{border-top:1px solid #e2e8f0;padding-top:.15rem}.public-registration-terms-text{margin:0;line-height:1.45}.public-registration-terms-accept{margin:.5rem 0 0}.public-registration-actions{justify-content:flex-start;display:flex}.registration-member-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:.65rem;padding:.65rem .75rem}.registration-member-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}@media (width<=720px){.public-registration-contact-grid,.public-registration-member-grid{grid-template-columns:1fr}.public-registration-member-dni{max-width:none}}.registration-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.55rem .7rem}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.card.empty{text-align:center;padding:2rem}.card.section{margin-bottom:1.25rem}.card.section h2{margin:0 0 .75rem;font-size:1.1rem}.form{flex-direction:column;gap:1rem;display:flex}.form label{color:#334155;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:600;display:flex}.form input,.form textarea,.form select{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .65rem}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.inline-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.inline-form input,.inline-form select{font:inherit;border:1px solid #cbd5e1;border-radius:8px;min-width:120px;padding:.45rem .6rem}.input-narrow{width:4.5rem}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.span-full{grid-column:1/-1}@media (width<=640px){.grid-2,.grid-3{grid-template-columns:1fr}}.span-2{grid-column:1/-1}.row{display:flex}.row.gap{gap:.5rem}.row.gap.wrap{flex-wrap:wrap}.inline-form .input-grow{flex:200px;min-width:200px}.registration-link-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;display:flex}.registration-members-list{margin:0;padding-left:1rem}.registration-members-list li{margin:.15rem 0}.row.align-center{align-items:center}.btn{font:inherit;cursor:pointer;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem 1rem}.btn.primary{color:#fff;background:#166534;border-color:#14532d}.btn.primary:hover{background:#14532d}.btn.secondary:hover{background:#f8fafc}.btn.danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.btn.danger:hover{background:#fee2e2}.btn.link{color:#166534;background:0 0;border:none;padding:.25rem .5rem}.btn.link.danger{color:#b91c1c}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.compact{padding:.35rem .72rem;font-size:.84rem}.list{margin:0;padding:0;list-style:none}.list-item{margin-bottom:.5rem}.list-link{color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem 1.1rem;display:block}.list-link:hover{border-color:#86efac;text-decoration:none}.list-title{font-weight:600;display:block}.list-meta{color:#64748b;margin-top:.2rem;font-size:.8125rem;display:block}.table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.875rem}.table th,.table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.5rem .4rem}.table th{color:#64748b;font-weight:600}.challenge-sort-list{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.challenge-sort-row{touch-action:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex}.challenge-sort-cell{align-items:center;gap:.35rem;display:flex}.challenge-sort-cell.grow{flex:1;min-width:0}.challenge-sort-cell.narrow{flex-shrink:0}.drag-handle{cursor:grab;color:#475569;background:#e2e8f0;border:none;border-radius:6px;padding:.25rem .4rem;font-size:1rem;line-height:1}.drag-handle:active{cursor:grabbing}.order-badge{color:#14532d;background:#dcfce7;border-radius:6px;justify-content:center;min-width:1.75rem;padding:.15rem .45rem;font-size:.9rem;font-weight:700;display:inline-flex}.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.challenge-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:.75rem 0 1rem;padding:1rem}.team-summary-block{margin-top:.35rem;margin-bottom:.75rem}.challenge-summary-metrics{flex-wrap:wrap;gap:1.25rem 2.5rem;margin-bottom:.25rem;display:flex}.challenge-summary-metric{flex-direction:column;gap:.15rem;min-width:8rem;display:flex}.challenge-summary-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.challenge-summary-value{color:#0f172a;font-size:1.35rem;font-weight:700;line-height:1.2}.challenge-summary-value.over-capacity{color:#dc2626}.challenge-summary-hint{font-weight:400}.challenge-tag-stats{border-top:1px solid #e2e8f0;margin-top:.85rem;padding-top:.9rem}.challenge-tag-stats-title{color:#334155;margin:0 0 .65rem;font-size:.95rem;font-weight:600}.challenge-tag-stats-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.challenge-tag-stat-row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.challenge-tag-stat-row-muted{opacity:.92}.challenge-tag-stat-bubble{flex-shrink:0}.challenge-tag-stat-label-plain{color:#64748b;min-width:5.5rem;font-size:.8rem;font-weight:600}.challenge-tag-stat-bar-wrap{background:#e2e8f0;border-radius:4px;flex:120px;min-width:48px;height:7px;overflow:hidden}.challenge-tag-stat-bar{background:#0ea5e9;border-radius:4px;min-width:3px;height:100%;transition:width .2s}.challenge-tag-stat-bar-muted{background:#94a3b8}.challenge-tag-stat-count{color:#0f172a;flex-shrink:0;font-size:.85rem}.challenge-tier{margin-top:1.5rem}.tier-heading{color:#0f172a;margin:0 0 .5rem;font-size:1rem}.tag-field{margin-bottom:.5rem}.tag-field-label{color:#334155;margin-bottom:.35rem;font-size:.875rem;font-weight:600;display:block}.tag-bubbles{flex-wrap:wrap;gap:.35rem;min-height:0;margin-bottom:.5rem;display:flex}.tag-bubbles-inline{margin-top:.45rem;margin-bottom:0}.tag-bubble{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;align-items:center;gap:.2rem;padding:.2rem .45rem .2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.tag-bubble-static{padding-left:.55rem;padding-right:.55rem}.tag-bubble-remove{cursor:pointer;color:#0369a1;background:0 0;border:none;border-radius:4px;padding:0 .15rem;font-size:1rem;line-height:1}.tag-bubble-remove:hover{background:#0369a11f}.tag-input-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tag-input{min-width:140px;font:inherit;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:.45rem .6rem}.tag-suggestions{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.65rem;display:flex}.tag-suggestion-chip{font:inherit;cursor:pointer;color:#475569;background:#f8fafc;border:1px dashed #94a3b8;border-radius:999px;padding:.25rem .55rem;font-size:.75rem}.tag-suggestion-chip:hover{color:#14532d;background:#f0fdf4;border-color:#166534}.slide-over-root{z-index:1000;justify-content:flex-end;display:flex;position:fixed;inset:0}.slide-over-backdrop{cursor:pointer;background:#0f172a73;border:none;position:absolute;inset:0}.slide-over-wide .slide-over-panel{width:min(580px,100vw)}.slide-over-panel{background:#fff;flex-direction:column;width:min(420px,100vw);max-width:100%;height:100%;animation:.2s ease-out slideOverIn;display:flex;position:relative;box-shadow:-8px 0 24px #0f172a1f}@keyframes slideOverIn{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-over-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .75rem;display:flex}.slide-over-header h2{margin:0;font-size:1.1rem}.slide-over-close{cursor:pointer;color:#475569;background:#f1f5f9;border:none;border-radius:8px;width:2rem;height:2rem;font-size:1rem;line-height:1}.slide-over-close:hover{background:#e2e8f0}.slide-over-body{flex:1;padding:1rem;overflow:auto}.slide-over-footer{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem;display:flex}.confirm-dialog-root{z-index:1100;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-dialog-backdrop{cursor:pointer;background:#0f172a73;border:none;position:absolute;inset:0}.confirm-dialog-panel{background:#fff;border-radius:12px;flex-direction:column;width:min(440px,100%);max-height:min(90vh,640px);animation:.18s ease-out confirmDialogIn;display:flex;position:relative;box-shadow:0 20px 48px #0f172a2e}@keyframes confirmDialogIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-dialog-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .75rem;display:flex}.confirm-dialog-header h2{margin:0;font-size:1.05rem}.confirm-dialog-close{cursor:pointer;color:#475569;background:#f1f5f9;border:none;border-radius:8px;width:2rem;height:2rem;font-size:1.1rem;line-height:1}.confirm-dialog-close:hover{background:#e2e8f0}.confirm-dialog-body{flex-direction:column;gap:.85rem;padding:1rem;display:flex;overflow:auto}.confirm-dialog-footer{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.85rem 1rem 1rem;display:flex}.confirm-dialog-lead{margin:0;line-height:1.45}.confirm-dialog-alert{border-radius:8px;margin:0;padding:.65rem .75rem;font-size:.88rem;line-height:1.45}.confirm-dialog-alert-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.confirm-dialog-checkbox{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:.5rem;margin:0;padding:.65rem .75rem;font-size:.88rem;line-height:1.45;display:flex}.confirm-dialog-checkbox input{flex-shrink:0;margin-top:.2rem}.registration-status-change-flow{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.registration-status-change-arrow{color:#94a3b8;font-weight:700}.row-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.btn.danger.ghost{color:#b91c1c;background:0 0}.btn.danger.ghost:hover{background:#fef2f2}.challenge-sort-row-readonly .order-badge{margin-left:.15rem}.review-page .review-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.review-page-sub{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.review-role-pill{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.extra-points-panel{margin-bottom:1rem}.extra-points-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.extra-points-title{margin:0 0 .2rem;font-size:1rem}.extra-points-desc{margin:0}.extra-points-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.extra-points-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .55rem;display:flex}.extra-points-item-main{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;min-width:0;display:flex}.extra-points-value{color:#334155;background:#e2e8f0;border-radius:999px;padding:.1rem .45rem;font-size:.88rem;font-weight:700}.extra-points-value.positive{color:#14532d;background:#dcfce7}.extra-points-value.negative{color:#991b1b;background:#fee2e2}.extra-points-comment{flex-basis:100%}.extra-points-item-actions{flex-shrink:0;gap:.35rem;display:flex}.extra-points-form{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem}.extra-points-form-grid{grid-template-columns:minmax(0,1.4fr) 6.5rem minmax(0,1fr);gap:.55rem .75rem;margin-bottom:.55rem;display:grid}.extra-points-form-grid label{flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;display:flex}.extra-points-form-grid input,.extra-points-form-grid select{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .55rem}.extra-points-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.score-pill-extra-pos{color:#14532d;background:#dcfce7}.score-pill-extra-neg{color:#991b1b;background:#fee2e2}@media (width<=720px){.extra-points-form-grid{grid-template-columns:1fr}.extra-points-item{flex-direction:column;align-items:stretch}}.review-stats-bar{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #dbe7f3;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:.9rem 1.4rem;margin-bottom:1rem;padding:.95rem 1rem;display:flex}.review-stat{text-align:center;background:#ffffffb3;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:.1rem;min-width:7.2rem;padding:.45rem .6rem;display:flex}.review-stat-label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:.7rem;font-weight:600}.review-stat-value{color:#0f172a;font-size:1.18rem;font-weight:700}.review-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:.7rem;display:flex}.review-filters{flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;display:flex}.review-meta-filters{grid-template-columns:minmax(0,1fr);gap:.6rem .75rem;margin-bottom:.6rem;display:grid}.review-subfilter-label{color:#334155;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .3rem;font-size:.78rem;font-weight:600}.review-subfilter-chips{flex-wrap:wrap;gap:.35rem;display:flex}.review-multiselect{position:relative}.review-multiselect-summary{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .65rem;list-style:none;display:flex}.review-multiselect-summary::-webkit-details-marker{display:none}.review-multiselect-label{color:#334155;text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.review-multiselect-value{color:#475569;font-size:.82rem}.review-multiselect[open] .review-multiselect-summary{border-color:#86efac}.review-multiselect-menu{background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-height:240px;margin-top:.3rem;padding:.4rem .55rem;overflow:auto}.review-multiselect-option{color:#334155;align-items:center;gap:.45rem;padding:.25rem 0;font-size:.85rem;display:flex}.review-tag-filters{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.review-bulk-actions{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-bottom:.8rem;display:flex}.review-bulk-actions.compact{gap:.4rem .6rem;margin-bottom:0}.review-bulk-count{font-weight:600}.review-filter-chip{font:inherit;cursor:pointer;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.35rem .75rem;font-size:.8125rem}.review-filter-chip:hover{border-color:#94a3b8}.review-filter-chip.active{color:#fff;background:#14532d;border-color:#14532d}.review-empty{margin-top:.5rem}.review-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width>=900px){.review-layout{grid-template-columns:minmax(220px,320px) minmax(0,1fr)}}.review-list-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:min(70vh,520px);overflow:auto}.review-submission-list{margin:0;padding:.35rem;list-style:none}.review-list-item{width:100%;color:inherit;background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:.5rem;padding:.55rem .6rem;display:flex}.review-list-item:hover{background:#f1f5f9}.review-list-item.active{background:#ecfdf5;outline:1px solid #86efac}.review-list-item-main{text-align:left;width:100%;font:inherit;cursor:pointer;color:inherit;background:0 0;border:none;align-items:flex-start;gap:.5rem;padding:0;display:flex}.review-bulk-check{margin-top:.2rem;display:inline-flex}.review-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.35rem}.review-status-dot.status-pending{background:#f59e0b}.review-status-dot.status-reviewed{background:#3b82f6}.review-status-dot.status-approved{background:#16a34a}.review-list-item-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.review-list-team{font-size:.875rem;font-weight:600}.review-list-challenge{color:#475569;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.review-detail-panel{min-width:0}.review-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.1rem 1.25rem}.review-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.review-detail-title{margin:0;font-size:1.15rem}.review-challenge-description{color:#475569;margin:.45rem 0 0;font-size:.9rem;line-height:1.45}.review-badge{text-transform:uppercase;color:#475569;background:#f1f5f9;border-radius:6px;padding:.25rem .5rem;font-size:.7rem;font-weight:700}.review-badge.status-pending{color:#c2410c;background:#fff7ed}.review-badge.status-reviewed{color:#1d4ed8;background:#eff6ff}.review-badge.status-approved{color:#15803d;background:#f0fdf4}.review-detail-tags{margin-bottom:.75rem}.review-media-wrap{background:#0f172a;border-radius:10px;justify-content:center;align-items:center;min-height:160px;margin:.75rem 0 1rem;display:flex;overflow:hidden}.review-media{max-width:100%;max-height:min(55vh,480px);display:block}.review-media-link{line-height:0;display:block}.review-section-title{color:#334155;margin:0 0 .35rem;font-size:.9rem;font-weight:600}.review-score-hint{margin:0 0 .5rem}.review-score-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.review-score-btn{font:inherit;cursor:pointer;color:#334155;background:#fff;border:2px solid #cbd5e1;border-radius:10px;min-width:4.5rem;padding:.55rem 1rem;font-size:1rem;font-weight:700}.review-score-btn:hover{color:#14532d;border-color:#166534}.review-score-btn.active,.review-score-btn.active.score-100{color:#14532d;background:#ecfdf5;border-color:#166534}.review-score-btn.active.score-50{color:#854d0e;background:#fef9c3;border-color:#ca8a04}.review-score-btn.active.score-0{color:#991b1b;background:#fee2e2;border-color:#dc2626}.review-calculated-preview{color:#475569;margin:.65rem 0 0;font-size:.9rem}.review-flags-section{margin-top:1rem}.review-flag-grid{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.review-flag-toggle{cursor:pointer;align-items:center;gap:.35rem;font-size:.875rem;display:flex}.review-comment-block{flex-direction:column;gap:.35rem;margin-top:1rem;display:flex}.review-comment-block textarea{font:inherit;resize:vertical;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .6rem}.review-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;display:flex}.ranking-page .ranking-table-wrap{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-radius:12px;padding:.25rem;overflow:auto}.ranking-table{background:#fff;border-radius:10px;min-width:1140px;overflow:hidden}.ranking-table th,.ranking-table td{text-align:center;vertical-align:middle}.ranking-table thead th{z-index:1;background:#f8fafc;border-bottom:2px solid #dbe7f3;position:sticky;top:0}.ranking-table tbody tr:nth-child(odd){background:#fff}.ranking-table tbody tr:nth-child(2n){background:#f8fafc}.ranking-table tbody tr:hover{background:#eefcf4}.ranking-table .sticky-col{z-index:2;background:inherit;position:sticky;left:0}.ranking-table thead .sticky-col{z-index:3;background:#f8fafc}.rank-seq{color:#14532d;min-width:2.8rem}.team-name-cell{font-weight:600}.score-pill{border-radius:999px;min-width:3.2rem;padding:.2rem .45rem;font-weight:700;display:inline-block}.score-pill-final{color:#166534;background:#dcfce7}.score-pill-temporal{color:#1d4ed8;background:#dbeafe}.bucket{border-radius:999px;min-width:1.9rem;padding:.12rem .42rem;font-weight:700;display:inline-block}.bucket-100{color:#166534;background:#dcfce7}.bucket-50{color:#854d0e;background:#fef9c3}.bucket-0{color:#991b1b;background:#fee2e2}.bucket-pending{color:#9a3412;background:#ffedd5}.sort-btn{font:inherit;cursor:pointer;color:#334155;background:0 0;border:none;padding:0;font-weight:700}.sort-btn:hover{color:#14532d;text-decoration:underline}@media (width<=720px){.review-meta-filters{grid-template-columns:1fr}}@media (width>=980px){.review-meta-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}.badge{color:#334155;background:#e2e8f0;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;line-height:1.4;display:inline-block}.badge.admin{color:#14532d;background:#dcfce7}.badge.danger{color:#991b1b;background:#fee2e2}.badge.role-admin{color:#1e3a8a;background:#e0e7ff}.badge.role-corrector,.badge.status-pending{color:#92400e;background:#fef3c7}.badge.status-accepted{color:#14532d;background:#dcfce7}.badge.status-revoked,.badge.status-expired{color:#475569;background:#e2e8f0}.invitation-link-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.invitation-link-row input{flex:280px;min-width:0;font-size:.78rem}.toast-stack{z-index:1000;pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(360px,100vw - 2rem);display:flex;position:fixed;top:1rem;right:1rem}.toast{pointer-events:auto;color:#f8fafc;background:#1f2937;border-left:4px solid #38bdf8;border-radius:10px;padding:.75rem 1rem;font-size:.92rem;line-height:1.35;animation:.22s ease-out both toast-in;box-shadow:0 10px 25px -10px #0f172a73}.toast.toast-exit{animation:.22s ease-in forwards toast-out}.toast-success{background:#14532d;border-left-color:#4ade80}.toast-error{background:#7f1d1d;border-left-color:#f87171}.toast-info{background:#1e3a8a;border-left-color:#60a5fa}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.98)}}.team-form{grid-template-columns:1fr auto auto;align-items:end;gap:.5rem;display:grid}.team-form label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}@media (width<=600px){.team-form{grid-template-columns:1fr}}.gymkhana-shell{align-items:stretch;width:100%;min-height:calc(100vh - 3.5rem);display:flex}.gymkhana-sidebar-backdrop{z-index:40;cursor:pointer;background:#0f172a73;border:none;position:fixed;inset:0}.gymkhana-sidebar{z-index:50;background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:.25rem;width:220px;min-height:calc(100vh - 3.5rem);padding:.85rem .65rem 1rem;transition:transform .22s,width .22s,opacity .22s;display:flex;position:sticky;top:0;overflow-y:auto}.gymkhana-shell.sidebar-collapsed .gymkhana-sidebar{opacity:0;pointer-events:none;border-right-width:0;width:0;padding-left:0;padding-right:0;overflow:hidden}.gymkhana-sidebar-header{border-bottom:1px solid #e2e8f0;margin-bottom:.55rem;padding-bottom:.55rem}.gymkhana-sidebar-top{justify-content:space-between;align-items:flex-start;gap:.35rem;display:flex}.gymkhana-sidebar-breadcrumb{min-width:0;margin:0;font-size:.78rem;line-height:1.35}.gymkhana-sidebar-breadcrumb-sep{color:#94a3b8;margin:0 .2rem}.gymkhana-sidebar-breadcrumb .gymkhana-sidebar-title{color:#0f172a;font-weight:700}.gymkhana-sidebar-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.15rem .35rem;font-size:1.35rem;line-height:1;display:none}.gymkhana-sidebar-close:hover{color:#0f172a;background:#e2e8f0}.gymkhana-sidebar-meta{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:.35rem 0 0;display:flex}.gymkhana-sidebar-code{letter-spacing:.03em;color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;font-weight:700}.gymkhana-status-badge[data-status=preparing]{color:#3730a3;background:#e0e7ff;border-color:#c7d2fe}.gymkhana-status-badge[data-status=active]{color:#14532d;background:#dcfce7;border-color:#bbf7d0}.gymkhana-status-badge[data-status=finished]{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.gymkhana-status-badge[data-status=corrected]{color:#5b21b6;background:#ede9fe;border-color:#ddd6fe}.gymkhana-status-badge[data-status=archived]{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.gymkhana-sidebar-meta .gymkhana-status-badge{padding:.2rem .5rem .2rem .4rem;font-size:.72rem}.gymkhana-nav{flex-direction:column;flex:1;gap:.65rem;display:flex}.gymkhana-nav-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.gymkhana-nav-section-head{background:linear-gradient(#f1f5f9 0%,#e8eef5 100%);border-bottom:1px solid #dbe3ee;align-items:center;gap:.5rem;padding:.45rem .55rem;display:flex}.gymkhana-nav-section-phase{color:#fff;background:#1f2937;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;font-size:.68rem;font-weight:700;display:inline-flex}.gymkhana-nav-section-label{letter-spacing:.05em;text-transform:uppercase;color:#334155;font-size:.72rem;font-weight:700}.gymkhana-nav-section-items{border-left:3px solid #cbd5e1;flex-direction:column;gap:.1rem;margin-left:.55rem;padding:.35rem .35rem .45rem;display:flex}.gymkhana-nav-link{color:#475569;border-radius:5px;padding:.38rem .5rem;font-size:.86rem;line-height:1.35;text-decoration:none;display:block}.gymkhana-nav-link:hover{color:#0f172a;background:#f1f5f9;text-decoration:none}.gymkhana-nav-link.active{color:#14532d;background:#dcfce7;font-weight:600;box-shadow:inset 2px 0 #16a34a}.gymkhana-sidebar-actions{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.65rem}.gymkhana-main{background:#f1f5f9;flex:1;min-width:0;padding:.75rem 1.25rem 1.75rem}.gymkhana-main-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.85rem;padding:.35rem 0;display:flex}.gymkhana-sidebar-toggle{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.85rem;display:inline-flex}.gymkhana-sidebar-toggle:hover{background:#f8fafc;border-color:#94a3b8}.gymkhana-sidebar-toggle-icon{border-top:2px solid;border-bottom:2px solid;width:.95rem;height:.7rem;position:relative}.gymkhana-sidebar-toggle-icon:before{content:"";border-top:2px solid;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.gymkhana-main-toolbar-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gymkhana-toolbar-sep{margin:0 .35rem}.gymkhana-page{width:100%;max-width:min(1120px,100%);margin:0 auto}.gymkhana-page.narrow{max-width:min(680px,100%)}.gymkhana-page.ranking-page,.gymkhana-page.review-page{max-width:min(1320px,100%)}.gymkhana-layout-error{margin:0 0 .75rem}.gymkhana-main .card.form,.gymkhana-main .card.section>.form,.gymkhana-main .card.section form.form{max-width:40rem}.gymkhana-main .form label:not(.row) input,.gymkhana-main .form label:not(.row) textarea,.gymkhana-main .form label:not(.row) select,.gymkhana-main .card.section>.form input,.gymkhana-main .card.section>.form textarea,.gymkhana-main .card.section>.form select,.gymkhana-main .card.section form.form input,.gymkhana-main .card.section form.form textarea,.gymkhana-main .card.section form.form select{box-sizing:border-box;width:100%;max-width:100%}.gymkhana-main .form .grid-2,.gymkhana-main .form .grid-3{max-width:40rem}.gymkhana-main .form .grid-title-code{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.gymkhana-main .form .grid-general-top{grid-template-columns:minmax(0,2fr) minmax(0,1.15fr) 4.75rem;align-items:end}.gymkhana-main .form .general-max-teams input{text-align:center;padding-left:.35rem;padding-right:.35rem}@media (width<=640px){.gymkhana-main .form .grid-general-top{grid-template-columns:1fr}.gymkhana-main .form .general-max-teams input{text-align:left}}.gymkhana-main .label-with-hint>span:first-child{align-items:center;gap:.35rem;display:inline-flex}.field-hint{vertical-align:middle;display:inline-flex;position:relative}.field-hint-trigger{color:var(--muted,#6b7280);cursor:help;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;padding:0;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.field-hint-trigger:hover,.field-hint-trigger:focus-visible{color:var(--text,#111827);background:#0000000f;outline:none}.field-hint-popover{z-index:30;border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);width:max(15rem,220px);max-width:18rem;color:var(--text,#374151);text-align:left;border-radius:.45rem;padding:.55rem .65rem;font-size:.78rem;font-weight:400;line-height:1.4;display:none;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 6px 18px #0000001a}.field-hint:hover .field-hint-popover,.field-hint:focus-within .field-hint-popover{display:block}.field-hint-popover p{margin:0}.field-hint-popover p+p{margin-top:.35rem}.input-with-action{align-items:center;gap:.5rem;display:flex}.input-with-action input{flex:1;min-width:0}.input-with-action .btn.compact{white-space:nowrap;flex-shrink:0}.gymkhana-main .form-actions{justify-content:flex-start}.gymkhana-main .form-actions .btn,.gymkhana-main .card.section>.form>.btn,.gymkhana-main .card.section form.form>.btn{align-self:flex-start;width:auto}.gymkhana-main .team-form{grid-template-columns:1fr;max-width:36rem}.gymkhana-main .team-form input,.gymkhana-main .team-form textarea,.gymkhana-main .team-form select{box-sizing:border-box;width:100%;max-width:100%}.gymkhana-main .inline-form{max-width:44rem}.gymkhana-main .inline-form input{flex:0 auto;width:auto;min-width:5.5rem;max-width:11rem}.gymkhana-main .inline-form input[placeholder=Nom\ equip]{max-width:13rem}.gymkhana-main .inline-form .input-narrow{width:4.5rem;max-width:4.5rem}.gymkhana-main .page-header .btn,.gymkhana-main .card.section .btn:not(.link){width:auto}.gymkhana-main .invitation-link-row{max-width:40rem}.gymkhana-main .invitation-link-row input{flex:12rem;min-width:0;max-width:24rem}.gymkhana-main .gymkhana-filter-row input[type=text]{flex:0 18rem;width:min(100%,18rem);max-width:18rem}.gymkhana-main .gymkhana-filter-row select{width:auto;max-width:12rem}.gymkhana-main .card.section>.muted.small code{word-break:break-all}.gymkhana-main .table{width:100%}.gymkhana-main .table input,.gymkhana-main .table select,.gymkhana-main .table textarea{width:auto;max-width:none}.gymkhana-main .review-filter-chip,.gymkhana-main .review-score-btn,.gymkhana-main .section-heading-row .btn{width:auto}.gymkhana-main .review-detail-card{max-width:52rem}.pill-status-select{display:inline-block;position:relative}.pill-status-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .55rem .3rem .45rem;font-size:.78rem;font-weight:600;line-height:1.3;list-style:none;transition:box-shadow .15s,border-color .15s,transform .1s;display:inline-flex}.pill-status-trigger::-webkit-details-marker{display:none}.pill-status-select[open] .pill-status-trigger{box-shadow:0 0 0 2px #3b82f62e}.gymkhana-main .form .gymkhana-status-select{width:100%;display:block}.gymkhana-main .form .gymkhana-status-select .pill-status-trigger{box-sizing:border-box;width:100%;font-size:inherit;border-radius:8px;justify-content:space-between;padding:.5rem .65rem}.registration-status-select[data-status=all] .pill-status-trigger,.registration-status-badge[data-status=all]{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.registration-status-select[data-status=registered] .pill-status-trigger,.registration-status-badge[data-status=registered]{color:#1e40af;background:#dbeafe;border-color:#bfdbfe}.registration-status-select[data-status=waitlist] .pill-status-trigger,.registration-status-badge[data-status=waitlist]{color:#92400e;background:#fef3c7;border-color:#fde68a}.registration-status-select[data-status=confirmed] .pill-status-trigger,.registration-status-badge[data-status=confirmed]{color:#14532d;background:#dcfce7;border-color:#bbf7d0}.registration-status-select[data-status=paid] .pill-status-trigger,.registration-status-badge[data-status=paid]{color:#0f766e;background:#ccfbf1;border-color:#99f6e4}.registration-status-select[data-status=rejected] .pill-status-trigger,.registration-status-badge[data-status=rejected]{color:#991b1b;background:#fee2e2;border-color:#fecaca}.registration-status-select[data-status=cancelled] .pill-status-trigger,.registration-status-badge[data-status=cancelled]{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.pill-status-dot{opacity:.55;background:currentColor;border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem}.pill-status-chevron{opacity:.65;flex-shrink:0;transition:transform .15s}.pill-status-select[open] .pill-status-chevron{transform:rotate(180deg)}.pill-status-menu{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:max(100%,10.5rem);padding:.3rem;position:absolute;top:calc(100% + .3rem);left:0;box-shadow:0 10px 28px #0f172a1f}.pill-status-option{color:#334155;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:.45rem;padding:.45rem .55rem;font-size:.8rem;font-weight:600;display:flex}.pill-status-option:hover{background:#f8fafc}.pill-status-option.is-active{background:#f1f5f9}.pill-status-option[data-status=registered] .pill-status-dot{color:#2563eb}.pill-status-option[data-status=waitlist] .pill-status-dot{color:#d97706}.pill-status-option[data-status=confirmed] .pill-status-dot{color:#16a34a}.pill-status-option[data-status=paid] .pill-status-dot{color:#0d9488}.pill-status-option[data-status=rejected] .pill-status-dot{color:#dc2626}.pill-status-option[data-status=cancelled] .pill-status-dot{color:#94a3b8}.pill-status-option[data-status=all] .pill-status-dot{color:#64748b}.pill-status-badge,.registration-status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .55rem .25rem .45rem;font-size:.78rem;font-weight:600;line-height:1.3;display:inline-flex}.gymkhana-status-select[data-status=preparing] .pill-status-trigger{color:#3730a3;background:#e0e7ff;border-color:#c7d2fe}.gymkhana-status-select[data-status=active] .pill-status-trigger{color:#14532d;background:#dcfce7;border-color:#bbf7d0}.gymkhana-status-select[data-status=finished] .pill-status-trigger{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.gymkhana-status-select[data-status=corrected] .pill-status-trigger{color:#5b21b6;background:#ede9fe;border-color:#ddd6fe}.gymkhana-status-select[data-status=archived] .pill-status-trigger{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.pill-status-option[data-status=preparing] .pill-status-dot{color:#4f46e5}.pill-status-option[data-status=active] .pill-status-dot{color:#16a34a}.pill-status-option[data-status=finished] .pill-status-dot{color:#ea580c}.pill-status-option[data-status=corrected] .pill-status-dot{color:#7c3aed}.pill-status-option[data-status=archived] .pill-status-dot{color:#94a3b8}.gymkhana-main .gymkhana-filter-row .registration-status-select{flex-shrink:0}.registration-email-templates-hint{margin-bottom:1rem}.registration-email-templates-hint .registration-email-var{margin:0 .25rem .25rem 0;font-size:.78rem}.registration-email-tabs{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:0;margin-bottom:0;display:flex}.registration-email-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;margin:0 0 -1px;padding:.55rem .85rem;font-size:.84rem;font-weight:600;transition:color .15s,border-color .15s,background .15s}.registration-email-tab:hover{color:#334155;background:#f8fafc}.registration-email-tab.is-active{color:#0f172a;background:#fff;border-bottom-color:#2563eb}.registration-email-editor{flex-direction:column;gap:.85rem;min-height:22rem;padding:1rem 0 0;display:flex}.registration-email-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.registration-email-editor-title{margin:0;font-weight:600}.registration-email-body-field textarea,.rich-email-textarea{resize:vertical;min-height:14rem}.rich-email-format-hint{margin:.15rem 0 .5rem}.rich-email-editor{background:#fff;border:1px solid #d1dce8;border-radius:8px;flex-direction:column;gap:0;display:flex;overflow:hidden}.rich-email-toolbar{background:#f1f5f9;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:.25rem;padding:.4rem .5rem;display:flex}.rich-email-toolbar-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;min-width:2rem;height:2rem;padding:0 .45rem;font-size:.85rem;line-height:1;display:inline-flex}.rich-email-toolbar-btn:hover{background:#f8fafc;border-color:#94a3b8}.rich-email-toolbar-glyph{text-align:center;min-width:1ch;display:inline-block}.rich-email-toolbar-glyph-b{font-weight:700}.rich-email-toolbar-glyph-i{font-style:italic}.rich-email-toolbar-glyph-u{text-decoration:underline}.rich-email-textarea{box-shadow:none!important;border:none!important;border-radius:0!important}.rich-email-textarea:focus{box-shadow:none!important}.registration-config-form{flex-direction:column;gap:.85rem;width:100%;max-width:none;display:flex}.registration-config-section{flex-direction:column;gap:1.35rem;display:flex}.registration-config-section>h2{margin-bottom:0}.registration-public-link-bar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding:.85rem 1rem;display:flex}.registration-public-link-label{color:#1e293b;white-space:nowrap;font-size:.9rem;font-weight:700}.registration-public-link-url{word-break:break-all;color:#166534;text-underline-offset:2px;flex:12rem;min-width:0;font-size:.88rem;line-height:1.35;text-decoration:underline}.registration-public-link-url:hover{color:#14532d}.registration-public-link-actions{flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-left:auto;display:flex}.registration-open-toggle{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.4rem;margin:0;padding:.4rem .65rem;font-size:.84rem;font-weight:600;display:inline-flex}.registration-open-toggle input{cursor:pointer;margin:0}.registration-config-block{flex-direction:column;gap:.75rem;display:flex}.registration-config-subheading{color:#0f172a;border-bottom:1px solid #e8eef4;margin:0;padding-bottom:.4rem;font-size:.95rem;font-weight:700}.registration-config-options{flex-direction:column;gap:.65rem;display:flex}.registration-auto-accept{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e8eef4;border-radius:10px;align-items:flex-start;gap:.55rem;margin:0;padding:.7rem .85rem;font-size:.86rem;font-weight:500;line-height:1.45;display:flex}.registration-auto-accept input{flex-shrink:0;margin-top:.2rem}.registration-config-fields{flex-direction:column;gap:.85rem;display:flex}.team-capacity-bar{background:#e2e8f0;border-radius:999px;height:.35rem;margin-top:.45rem;overflow:hidden}.team-capacity-bar-fill{background:#22c55e;border-radius:999px;height:100%;transition:width .2s}.team-capacity-bar-fill.over-capacity{background:#f59e0b}.capacity-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:0 0 .75rem;padding:.5rem .65rem;font-size:.84rem}.registration-config-messages{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.registration-config-limits{background:#f8fafc;border:1px solid #e8eef4;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.55rem 1.15rem;padding:.75rem .9rem;display:flex}.registration-limit-item{color:#334155;align-items:center;gap:.45rem;margin:0;font-size:.84rem;font-weight:600;display:inline-flex}.registration-limit-item input{font:inherit;box-sizing:border-box;text-align:center;border:1px solid #cbd5e1;border-radius:8px;width:4.25rem;padding:.4rem .5rem}.registration-limit-hint{color:#94a3b8;font-size:.78rem;font-weight:500}.registration-limit-range .registration-limit-sep{color:#94a3b8;font-weight:500}.registration-config-field{flex-direction:column;gap:.4rem;margin:0;display:flex}.registration-config-field-box{background:#f8fafc;border:1px solid #e8eef4;border-radius:10px;padding:.8rem .9rem}.registration-config-field-title{color:#1e293b;font-size:.88rem;font-weight:700;display:block}.registration-config-field input,.registration-config-field textarea,.registration-config-textarea{font:inherit;box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #d1dce8;border-radius:8px;width:100%;padding:.55rem .7rem;line-height:1.45}.registration-config-field textarea,.registration-config-textarea{resize:vertical;min-height:4.5rem}.registration-config-field textarea:focus,.registration-config-textarea:focus,.registration-config-field input:focus{border-color:#86efac;outline:none;box-shadow:0 0 0 2px #22c55e26}.registration-config-footer{justify-content:flex-start;padding-top:.15rem;display:flex}.team-members-inline{margin:0;padding:0;list-style:none}.team-members-inline li{margin:.12rem 0;font-size:.86rem}.team-member-captain{color:#166534;font-size:.78rem;font-weight:600}.team-participants-summary{background:#f1f5f9;border-radius:999px;padding:.15rem .45rem;font-size:.8rem;display:inline-block}.registration-info-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:background .15s,border-color .15s;display:inline-flex}.registration-info-btn:hover{background:#f8fafc;border-color:#cbd5e1}.registration-info-btn.has-comments{background:#f0fdf4;border-color:#bbf7d0}.registration-info-icon{font-size:1rem;line-height:1}.registration-detail-view{flex-direction:column;gap:1rem;display:flex}.registration-detail-grid{grid-template-columns:1fr 1fr;gap:.65rem 1rem;margin:0;display:grid}.registration-detail-grid-compact{margin-top:.35rem}.registration-detail-grid dt{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0;font-size:.72rem;font-weight:700}.registration-detail-grid dd{color:#0f172a;word-break:break-word;margin:.15rem 0 0;font-size:.9rem}.registration-detail-span{grid-column:1/-1}.registration-detail-members-title{margin:0;font-size:.92rem}.team-registration-info{background:#f8fafc;margin:0;padding:.75rem}.team-registration-info h3{font-size:.92rem}.team-members-editor{border-top:1px solid #e2e8f0;margin-top:.5rem;padding-top:.75rem}.team-members-editor-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.team-members-editor-head h3{margin:0;font-size:.95rem}.team-member-edit-row{grid-template-columns:1fr 1fr 5.5rem auto auto;align-items:center;gap:.4rem;margin-bottom:.45rem;display:grid}.team-member-edit-row.is-removed{opacity:.45}.team-member-edit-row input{font:inherit;border:1px solid #cbd5e1;border-radius:6px;min-width:0;padding:.4rem .5rem}.team-member-captain-toggle{white-space:nowrap;align-items:center;gap:.3rem;margin:0;font-size:.78rem;font-weight:600;display:inline-flex}.team-edit-form label:not(.team-member-captain-toggle){max-width:none}@media (width<=560px){.team-member-edit-row{grid-template-columns:1fr 1fr}.team-member-captain-toggle,.team-member-edit-row .btn{grid-column:1/-1;justify-self:start}}@media (width<=900px){.registration-config-messages{grid-template-columns:1fr 1fr}}@media (width<=560px){.registration-config-messages{grid-template-columns:1fr}.registration-config-limits{flex-direction:column;align-items:flex-start}.registration-public-link-bar{flex-direction:column;align-items:stretch}.registration-public-link-actions{justify-content:space-between;margin-left:0}}.staff-invite-form{flex-wrap:wrap;align-items:flex-end;gap:.65rem;max-width:none;margin-top:.5rem;display:flex}.staff-invite-form label{color:#334155;flex-direction:column;gap:.3rem;margin:0;font-size:.875rem;font-weight:600;display:flex}.staff-invite-email{flex:14rem;min-width:12rem}.staff-invite-role{flex:0 11rem;min-width:9rem}.staff-invite-form input,.staff-invite-form select{font:inherit;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.5rem .65rem}.staff-invite-submit{flex:none;align-self:flex-end}.messages-page .messages-compose{max-width:none}.messages-compose-intro{border-bottom:1px solid #e2e8f0;margin:0 0 1rem;padding-bottom:.85rem}.messages-compose-body{grid-template-columns:minmax(0,1.4fr) minmax(220px,.9fr);align-items:start;gap:1.25rem;display:grid}.messages-compose-fields{flex-direction:column;gap:.85rem;display:flex}.messages-compose-fields label{color:#334155;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:600;display:flex}.messages-compose-fields input,.messages-compose-fields textarea{font:inherit;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.55rem .7rem}.messages-compose-aside{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.85rem}.messages-recipients-title{margin:0 0 .25rem;font-size:.9rem}.messages-recipients-summary{margin:0 0 .65rem}.messages-recipients-chips{flex-wrap:wrap;gap:.4rem;display:flex}.messages-compose-footer{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.1rem;padding-top:.85rem;display:flex}.messages-compose-hint{margin:0}.messages-compose-footer .btn{margin-left:auto}@media (width<=768px){.messages-compose-body{grid-template-columns:1fr}.messages-compose-footer .btn{width:100%;margin-left:0}}@media (width<=900px){.gymkhana-sidebar{opacity:1;pointer-events:auto;width:min(280px,86vw);min-height:100vh;padding:1rem .75rem 1.25rem;position:fixed;top:0;bottom:0;left:0;transform:translate(0);box-shadow:4px 0 24px #0f172a2e}.gymkhana-shell.sidebar-collapsed .gymkhana-sidebar{opacity:1;border-right-width:1px;width:min(280px,86vw);padding:1rem .75rem 1.25rem;transform:translate(-105%)}.gymkhana-sidebar-close{display:inline-flex}.gymkhana-main{padding:.65rem .85rem 1.5rem}.gymkhana-main-toolbar-meta{display:none}}.gymkhana-control-stack{flex-direction:column;gap:.75rem;width:100%;max-width:40rem;display:flex}.gymkhana-main .gymkhana-page.control-page .card.form.gymkhana-control-form,.gymkhana-main .gymkhana-page.control-page .gymkhana-control-form .grid-2{max-width:none}.gymkhana-control-status{margin-bottom:0;padding:.75rem 1rem}.gymkhana-control-kicker{text-transform:uppercase;letter-spacing:.04em;margin:0 0 .2rem;font-size:.68rem}.gymkhana-control-timer-wrap{text-align:center;width:100%}.gymkhana-control-timer{font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--text,#0f172a);margin:0;font-size:clamp(1.25rem,3.5vw,1.65rem);font-weight:700;line-height:1.2}.gymkhana-control-timer.is-critical{color:#dc2626}.gymkhana-control-timer.is-ended{color:#64748b}.gymkhana-control-meta{margin:.4rem 0 0;line-height:1.35}.gymkhana-control-meta-sep{margin:0 .35rem}.gymkhana-control-form .section-title{margin:0 0 .75rem;font-size:1rem}.gymkhana-control-edit-row{align-items:end}.gymkhana-control-readonly-note{margin:0}.gymkhana-control-actions{flex-wrap:wrap;gap:.5rem;display:flex}.public-ranking-page{background:linear-gradient(#f8fafc 0%,#eef2f7 100%);min-height:100vh;padding:1.25rem 1rem 2rem}.public-ranking-shell{width:100%;max-width:min(1120px,100%);margin:0 auto}.public-ranking-header{margin-bottom:1rem}.public-ranking-kicker{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 .25rem;font-size:.8rem}.public-ranking-team-form{margin-bottom:1rem;padding:.9rem 1rem}.public-ranking-team-input-row{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.public-ranking-team-input-row input{flex:12rem;min-width:0}.public-ranking-my-team{color:#14532d;background:#ecfdf5;border-radius:8px;margin:.65rem 0 0;padding:.55rem .7rem;font-size:.92rem}.public-ranking-footer{margin-top:1rem}.public-ranking-link-card{margin-bottom:1rem;padding:.75rem 1rem}.public-ranking-link-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.public-ranking-link-url{word-break:break-all;color:#166534;text-underline-offset:2px;flex:16rem;text-decoration:underline}.public-ranking-link-url:hover{color:#14532d}.public-ranking-visible-toggle{margin-bottom:.5rem;font-weight:500}.public-ranking-link-hidden{margin:.35rem 0 0}.ranking-table-public{min-width:860px}.ranking-table-wrap-public{margin-top:0}.ranking-table tbody tr.ranking-row-mine{box-shadow:inset 0 0 0 2px #22c55e;background:#ecfdf5!important}.ranking-table tbody tr.ranking-row-mine:hover{background:#dcfce7!important}.sort-btn.is-active{color:#14532d;font-weight:700}.sort-btn-dir{font-size:.75rem}.gymkhana-page.insights-page{max-width:min(1280px,100%)}.insights-charts{flex-direction:column;gap:1rem;display:flex}.insights-charts-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.insights-chart-card{padding:1rem 1.1rem}.insights-chart-header{margin-bottom:.85rem}.insights-chart-title{margin:0 0 .25rem;font-size:1rem}.insights-empty{margin:0}.insights-bar-list{flex-direction:column;gap:.55rem;max-height:22rem;margin:0;padding:0 .15rem 0 0;list-style:none;display:flex;overflow-y:auto}.insights-bar-row{flex-direction:column;gap:.25rem;display:flex}.insights-bar-meta{justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.82rem;display:flex}.insights-bar-label{text-overflow:ellipsis;white-space:nowrap;color:#334155;min-width:0;overflow:hidden}.insights-bar-value{color:#14532d;font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.insights-bar-track{background:#e2e8f0;border-radius:999px;height:.55rem;overflow:hidden}.insights-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#4ade80 0%,#16a34a 100%);height:100%;transition:width .35s}.insights-bar-fill-teams{background:linear-gradient(90deg,#93c5fd 0%,#2563eb 100%)}.insights-bar-fill-challenges{background:linear-gradient(90deg,#4ade80 0%,#16a34a 100%)}.insights-heatmap-card{padding-bottom:.75rem}.insights-heatmap-legend{flex-wrap:wrap;gap:.5rem .85rem;margin-top:.55rem;display:flex}.insights-heatmap-legend-item{color:#64748b;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.insights-breakdown-filters{flex-wrap:wrap;gap:.35rem;margin-top:.55rem;display:flex}.insights-filter-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:600}.insights-filter-chip.is-active{color:#14532d;background:#ecfdf5;border-color:#16a34a}.insights-filter-hint{margin:.45rem 0 0}.insights-stack-legend{flex-wrap:wrap;gap:.45rem .75rem;margin-top:.45rem;display:flex}.insights-stack-legend-item{color:#64748b;align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.insights-stack-track{border-radius:inherit;min-width:0;height:100%;display:flex;overflow:hidden}.insights-stack-seg{flex:auto;min-width:2px;height:100%;display:block}.insights-stack-seg-empty{background:#e2e8f0;width:100%}.insights-stack-seg-score100,.insights-heatmap-cell-score100{background:#22c55e}.insights-stack-seg-score50,.insights-heatmap-cell-score50{background:#eab308}.insights-stack-seg-score0,.insights-heatmap-cell-score0{background:#f87171}.insights-stack-seg-pending,.insights-heatmap-cell-pending{background:#cbd5e1}.insights-heatmap-scroll{max-width:100%;padding-bottom:.25rem;overflow:auto}.insights-heatmap-table{border-collapse:separate;border-spacing:3px;table-layout:fixed}.insights-heatmap-row-head{width:8.5rem;min-width:8.5rem}.insights-heatmap-col-head{vertical-align:bottom;width:1.35rem;min-width:1.35rem;max-width:1.35rem;padding:0}.insights-heatmap-col-head span{text-align:center;color:#475569;writing-mode:vertical-rl;text-overflow:ellipsis;white-space:nowrap;max-height:3.4rem;font-size:.68rem;font-weight:700;line-height:1;display:inline-block;overflow:hidden;transform:rotate(180deg)}.insights-heatmap-row-label{color:#334155;text-align:left;white-space:nowrap;text-overflow:ellipsis;width:8.5rem;min-width:8.5rem;max-width:8.5rem;padding-right:.35rem;font-size:.72rem;font-weight:500;overflow:hidden}.insights-heatmap-cell-wrap{text-align:center;vertical-align:middle;width:1.35rem;min-width:1.35rem;max-width:1.35rem;padding:0}.insights-heatmap-cell{vertical-align:middle;border:1px solid #0f172a0f;border-radius:3px;width:1.15rem;height:1.15rem;display:inline-block}.insights-heatmap-cell-none{background:#f1f5f9}@media (width<=900px){.insights-charts-row{grid-template-columns:1fr}}.manual-submissions-form .manual-submissions-file-name{margin-top:.25rem;display:block}.manual-submissions-warning{color:#92400e;background:#fffbeb;border-radius:8px;margin:0;padding:.55rem .7rem;font-size:.88rem}.media-export-panel{padding:1rem 1.1rem}.media-export-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;margin-bottom:1rem;display:grid}.media-export-filter{flex-direction:column;gap:.25rem;min-width:0;display:flex}.media-export-filter-label{color:#334155;font-size:.82rem;font-weight:600}.media-export-filter-hint{margin-top:-.1rem}.media-export-select{position:relative}.media-export-select-summary{cursor:pointer;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .65rem;font-size:.88rem;list-style:none}.media-export-select-summary::-webkit-details-marker{display:none}.media-export-select[open] .media-export-select-summary{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a1f}.media-export-select-menu{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:12rem;margin-top:.35rem;padding:.45rem .55rem;overflow-y:auto;box-shadow:0 8px 20px #0f172a14}.media-export-select-option{align-items:center;gap:.4rem;padding:.2rem 0;font-size:.84rem;display:flex}.media-export-type-select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.45rem .65rem;font-size:.88rem}.media-export-summary{margin:0 0 .75rem}.media-export-delete-opt{color:#334155;margin:0 0 .75rem;font-size:.88rem}.challenge-io-panel{margin-bottom:1.25rem}.challenge-io-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.challenge-io-title{margin:0 0 .25rem;font-size:1rem}.challenge-io-actions{flex-wrap:wrap;gap:.45rem;display:flex}.challenge-io-schema{margin:0 0 1rem;font-size:.9rem}.challenge-io-schema summary{cursor:pointer;color:#334155;font-weight:600}.challenge-io-schema-table-wrap{margin-top:.65rem;overflow-x:auto}.challenge-io-import{margin-bottom:.75rem}.file-picker-field{flex-direction:column;gap:.35rem;display:flex}.file-picker-label{color:#334155;flex-shrink:0;font-size:.88rem;font-weight:600}.file-picker-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.file-picker-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker-name{flex:1;min-width:8rem}.file-picker-name.is-empty{font-style:italic}.file-picker-hint{display:block}.challenge-io-errors ul{margin:.35rem 0 0;padding-left:1.2rem;font-size:.88rem}.challenge-io-preview{border-top:1px solid #e2e8f0;padding-top:.85rem}.challenge-io-preview-table-wrap{margin:.5rem 0;overflow-x:auto}.table.compact th,.table.compact td{padding:.35rem .5rem;font-size:.85rem}.media-storage-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 1.25rem;padding:1rem 1.1rem}.media-storage-title{margin:0 0 .2rem;font-size:1rem}.media-storage-track{background:#e2e8f0;border-radius:999px;height:10px;margin-top:.75rem;overflow:hidden}.media-storage-track-unlimited{background:linear-gradient(90deg,#cbd5e1 0%,#e2e8f0 100%)}.media-storage-fill{background:#3b82f6;border-radius:999px;height:100%;transition:width .25s}.media-storage-fill.is-warning{background:#f59e0b}.media-storage-fill.is-full{background:#ef4444}.media-storage-full-note{margin:.75rem 0 0;font-size:.88rem}.media-storage-limit-edit{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:.85rem}.media-storage-limit-row{gap:.5rem;margin-top:.35rem;display:flex}.media-storage-limit-row input{flex:1;min-width:0}@media (width<=900px){.media-export-filters-grid{grid-template-columns:1fr}}.prizes-panel{flex-direction:column;gap:1rem;display:flex}.prizes-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.prizes-section-header h2{margin:0 0 .2rem}.prizes-tag-cloud{flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex}.prizes-tag-cloud-compact{margin-bottom:0}.prizes-tag{border:1px solid #0000;border-radius:999px;align-items:center;gap:.2rem;padding:.28rem .55rem;font-size:.82rem;font-weight:600;line-height:1.2;display:inline-flex}.prizes-tag.inline-demo{vertical-align:middle;padding:.15rem .45rem;font-size:.75rem}.prizes-tag-idle{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.prizes-tag-active{color:#14532d;background:#dcfce7;border-color:#86efac}.prizes-tag-toggle{cursor:pointer;font:inherit;transition:opacity .12s,transform .12s}.prizes-tag-toggle:hover:not(:disabled){transform:translateY(-1px)}.prizes-tag-toggle:disabled{opacity:.65;cursor:wait}.prizes-tag-remove{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 0 0 .1rem;font-size:1rem;line-height:1}.prizes-tag-remove:hover{opacity:1}.prizes-add-form{margin-top:.25rem}.prizes-add-form input{flex:16rem;min-width:0}.prizes-table-wrap{overflow-x:auto}.prizes-table td{vertical-align:top}.ranking-prizes-cell{min-width:6rem;max-width:14rem}.ranking-prizes-text{color:#14532d;font-size:.88rem;font-weight:600}
