:root{--page-bg: radial-gradient(circle at top, rgba(5, 86, 153, .18), transparent 55%), #f8fbff;--brand-blue: #0a7cd1;--brand-navy: #055699;--brand-slate: #0b2237;--brand-ice: #e8f2fb;--border: rgba(5, 86, 153, .15);--shadow: 0 20px 45px rgba(13, 22, 48, .15);--white: #ffffff}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--page-bg);color:var(--brand-slate);line-height:1.6}.auth-shell{max-width:1200px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;gap:2rem;padding:1.5rem 2rem 3rem}.hidden,[hidden]{display:none!important}.noscript-banner{padding:.75rem;background:var(--brand-blue);color:var(--white);text-align:center;font-size:.9rem}.site-header{display:flex;flex-direction:column;gap:.75rem}.brand-cluster{display:flex;align-items:center;gap:1.25rem}.brand-logo{width:clamp(230px,30vw,380px);height:auto}.header-copy h1{margin:0;font-size:clamp(2.2rem,4vw,3.25rem);color:var(--brand-slate)}.header-copy .subtext{margin:0;color:#0b2237bf;max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;color:#0b22378c;margin-bottom:.4rem}.subtext{font-size:1rem}.signup,.status-card,.leaders-section{width:100%}.signup{display:flex;justify-content:center}.signup-card{width:min(640px,100%);background:linear-gradient(135deg,#061d44,#11366b);color:var(--white);border-radius:18px;padding:2.5rem 3rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 30px 60px #061d4473}.clerk-container{min-height:420px;border-radius:1rem}.footnote{font-size:.9rem;color:#ffffffd9;margin:.5rem 0 0}.verification-note{max-width:640px;margin:-1rem auto 0;padding:.75rem 1rem;background:#061d4414;border:1px solid rgba(6,29,68,.18);border-radius:12px;color:#061d44d9;font-size:.95rem;text-align:center}.signup-error{margin-top:1rem;padding:1rem;border-radius:12px;background:#ffffff1a;color:#ffe6e6;text-align:center;border:1px solid rgba(255,255,255,.3)}.email-form{display:flex;flex-direction:column;gap:1rem}.email-form .form-group{display:flex;flex-direction:column;gap:.5rem}.email-form label{font-size:.9rem;font-weight:500;color:#ffffffe6}.email-form input[type=email]{padding:.875rem 1rem;font-size:1rem;border:2px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff1a;color:var(--white);transition:border-color .2s,background .2s}.email-form input[type=email]::-moz-placeholder{color:#ffffff80}.email-form input[type=email]::placeholder{color:#ffffff80}.email-form input[type=email]:focus{outline:none;border-color:#ffffff80;background:#ffffff26}.email-form input[type=email].invalid{border-color:#ff6b6b;background:#ff6b6b1a}.email-form .error{color:#f99;font-size:.85rem;margin:0}.form-hint{font-size:.95rem;color:#ffffffbf;margin:.25rem 0 .5rem}.btn.full-width{width:100%}.btn.full-width:disabled{opacity:.6;cursor:not-allowed}.switch-link{text-align:center;font-size:.9rem;color:#ffffffbf;margin-top:.5rem}.switch-link .btn.link{background:none;border:none;color:var(--white);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit;font-weight:500}.switch-link .btn.link:hover{color:#ffffffe6}.signin-divider{display:flex;align-items:center;text-align:center;margin:1.25rem 0;color:#fff9;font-size:.85rem}.signin-divider:before,.signin-divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.2)}.signin-divider span{padding:0 .75rem}.btn.secondary.full-width{width:100%;background:transparent;border:1px solid rgba(255,255,255,.3);color:var(--white)}.btn.secondary.full-width:hover{background:#ffffff1a;border-color:#ffffff80}#signin-success-message{text-align:center;padding:1rem 0}#signin-success-message h3{margin:0 0 .75rem;font-size:1.5rem}#email-success-message{text-align:center;padding:1rem 0}.success-icon{font-size:3rem;margin-bottom:1rem}#email-success-message h3{margin:0 0 .75rem;font-size:1.5rem}.success-text{color:#ffffffe6;font-size:1rem;margin:0 0 1rem}.status-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:1.25rem;padding:1rem 1.5rem;background:#fffffff2;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow);align-items:center}.status-item .label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#0b223799;margin-bottom:.2rem}.status-item .value{font-size:1rem;font-weight:600;color:var(--brand-slate)}.main-nav{background:var(--white);border-radius:20px;padding:1.5rem 2rem;border:1px solid rgba(5,86,153,.12);box-shadow:0 30px 60px #0b22371a}.nav-header{margin-bottom:1.5rem}.nav-header h2{font-size:1.5rem;font-weight:700;margin:.5rem 0 0;color:var(--brand-slate)}.nav-menu{display:flex;flex-direction:column;gap:.75rem}.nav-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--brand-ice);border:1px solid rgba(5,86,153,.1);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.nav-item:hover{background:#05569926;border-color:var(--brand-blue);transform:translate(4px)}.nav-icon{font-size:1.5rem;flex-shrink:0}.nav-content{flex:1}.nav-title{display:block;font-weight:600;font-size:1rem;color:var(--brand-slate);margin-bottom:.15rem}.nav-desc{display:block;font-size:.85rem;color:#6b7a8c}.nav-arrow{font-size:1.25rem;color:var(--brand-blue);flex-shrink:0}#school-nav-container{display:flex;flex-direction:column;gap:.5rem}.nav-item.school-nav{background:linear-gradient(135deg,#0556991f,#0556990a);border-left:3px solid var(--brand-blue)}.nav-item.school-nav:hover{background:#0556992e;border-color:var(--brand-blue)}.nav-item.new-school{border-style:dashed;border-left:3px dashed var(--brand-blue)}.nav-item.season-nav{background:linear-gradient(135deg,#10b9811f,#10b9810a);border-left:3px solid #10b981}.nav-item.season-nav:hover{background:#10b9812e;border-color:#10b981}.nav-item.season-nav .nav-icon{font-size:1.25rem}.nav-item.new-season{border-style:dashed;border-left:3px dashed #10b981}#season-nav-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.leaders-section{background:var(--white);border-radius:20px;padding:1.25rem 1.75rem;border:1px solid rgba(5,86,153,.12);box-shadow:0 30px 60px #0b22371a;display:flex;flex-direction:column;gap:.75rem}.leader-grid{display:flex;flex-direction:column;gap:1rem}.leader-card{border:1px solid rgba(5,86,153,.15);border-radius:12px;padding:.75rem 1rem;background:#fdfefe;display:flex;flex-direction:column;gap:.5rem}.leader-card-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.leader-card-top h3{margin:.25rem 0}.role-meta{font-size:.85rem;margin:0}.role-meta.required{color:var(--brand-navy);font-weight:600}.role-meta.optional{color:#0b223799}.status-pill{padding:.35rem .8rem;border-radius:999px;font-size:.85rem;font-weight:600;background:#0556991f;color:var(--brand-navy)}.status-pill.optional{background:#0556990d;color:#0b223799}.status-pill.needs-reinvite{background:#dc26261f;color:#b91c1c}.status-pill.accepted{background:#16a34a1f;color:#15803d}.leader-form label{font-weight:600;display:block;margin-bottom:.35rem}.leader-input{display:flex;gap:.75rem;align-items:center}.leader-input input{flex:1;border-radius:.9rem;border:1px solid rgba(11,34,55,.2);padding:.85rem 1rem;font-size:1rem}.leader-input.domain-fixed{flex-wrap:wrap}.leader-input.domain-fixed input{flex:0 1 180px;min-width:120px;border-radius:.9rem 0 0 .9rem;border-right:none}.domain-suffix{background:#0b223714;border:1px solid rgba(11,34,55,.2);border-left:none;border-radius:0 .9rem .9rem 0;padding:.85rem 1rem;font-size:1rem;color:#0b2237b3;white-space:nowrap}.section-subheading{font-size:1.1rem;font-weight:600;color:var(--brand-slate);margin:1.5rem 0 .25rem}.section-hint{font-size:.9rem;color:#0b2237a6;margin:0 0 .75rem}.scheduler-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1rem}.add-scheduler-btn{margin-top:.5rem}.leader-form .hint{font-size:.85rem;margin-top:.2rem;color:#0b2237a6}.leader-form .error{color:#c62828;font-size:.9rem;margin-top:.15rem;min-height:.6rem}.leader-summary{border-top:1px solid rgba(5,86,153,.12);padding-top:.6rem}.leader-summary dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.leader-summary dt{font-size:.85rem;color:#0b223799}.leader-summary dd{margin:0;font-weight:600;color:var(--brand-slate)}.leader-summary-actions{display:flex;gap:.75rem;margin-top:1rem}.leaders-cta{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.leaders-cta .cta-hint{margin:0;font-size:.9rem;color:#0b2237a6}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:999px;border:none;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn.primary{background:linear-gradient(135deg,var(--brand-blue),#1d8be5);color:var(--white);box-shadow:0 18px 30px #0556994d}.btn.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.secondary{background:var(--white);border:1px solid var(--border);color:var(--brand-navy)}.btn.ghost{background:#0556991f;color:var(--brand-navy);border:1px solid transparent}.btn.text{background:none;color:var(--brand-navy);padding:0;min-height:auto}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0 0;color:#0b2237b3;font-size:.9rem}.site-footer .footer-logo{width:120px}.config-section{max-width:800px;margin:0 auto 3rem}.config-header{margin-bottom:2rem}.config-steps{display:flex;gap:.5rem;margin-bottom:2rem;background:#0556990a;padding:.5rem;border-radius:12px}.config-steps .step{flex:1;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s;color:#6b7280}.config-steps .step:hover{background:#fff9}.config-steps .step.active{background:#fff;color:#055699;box-shadow:0 2px 8px #00000014}.config-steps .step.completed{color:#059669}.config-steps .step-num{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:currentColor;color:#fff;font-size:.75rem;font-weight:600}.config-steps .step.active .step-num,.config-steps .step.completed .step-num{background:currentColor}.config-steps .step-label{font-size:.85rem;font-weight:500}.config-step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.config-card{background:#fff;border-radius:16px;padding:1.5rem 2rem;margin-bottom:1.5rem;box-shadow:0 4px 20px #0b22370f}.config-card h3{margin:0 0 .25rem;font-size:1.1rem;color:#0b1f41}.config-hint{margin:0 0 1.25rem;font-size:.85rem;color:#6b7280}.copy-indicator{margin-top:.75rem;font-size:.9rem;color:#1f2937;background:#fef3c7;padding:.5rem .75rem;border-radius:.375rem;border-left:3px solid #f59e0b}.copy-badge{font-weight:600;color:#92400e}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:500;color:#374151;margin-bottom:.35rem}.form-group label .required{color:#dc2626}.form-group input[type=text],.form-group input[type=email],.form-group input[type=url],.form-group input[type=number],.form-group input[type=date]{width:100%;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#055699;box-shadow:0 0 0 3px #0556991a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.dynamic-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.dynamic-item{display:flex;gap:.5rem;align-items:center}.dynamic-item input{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem}.dynamic-item input:focus{outline:none;border-color:#055699}.btn.icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:1.2rem;background:#f3f4f6;color:#6b7280;border:none;cursor:pointer}.btn.icon:hover{background:#fecaca;color:#dc2626}.btn.small{padding:.4rem .8rem;font-size:.8rem}.time-periods-grid{display:flex;flex-direction:column;gap:.75rem}.time-period-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f9fafb;border-radius:8px}.time-period-item label{display:flex;align-items:center;gap:.5rem;min-width:140px}.tp-label{font-weight:500;color:#374151}.tp-times{display:flex;align-items:center;gap:.5rem}.tp-times input{width:70px;padding:.4rem .5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;text-align:center}.tp-times span{color:#6b7280;font-size:.85rem}.program-item{flex-direction:column;align-items:stretch;background:#f9fafb;padding:1rem;border-radius:8px}.program-main{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.program-main input{flex:1}.program-formats{display:flex;align-items:center;gap:.5rem}.program-formats label{font-size:.8rem;color:#6b7280;white-space:nowrap}.program-formats input{flex:1}.program-courses{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.program-courses label{font-size:.8rem;color:#6b7280;font-weight:600;display:block;margin-bottom:.5rem}.course-offerings-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.course-offering-item{display:flex;gap:.5rem;align-items:center;padding:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.course-offering-item input{flex:1}.course-offering-item input[data-field=course_id]{flex:0 0 80px}.add-course-btn{margin-top:.5rem}.config-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.config-error{color:#dc2626;background:#dc262614;padding:.75rem 1rem;border-radius:8px;margin-top:1rem;font-size:.9rem}.config-success{color:#059669;background:#10b98114;padding:.75rem 1rem;border-radius:8px;margin-top:1rem;font-size:.9rem}@media(max-width:900px){.auth-shell{padding:1.5rem}.status-card{grid-template-columns:repeat(2,minmax(0,1fr))}.leader-grid{grid-template-columns:1fr}.config-steps{flex-wrap:wrap}.config-steps .step{flex:1 1 45%}.form-row{grid-template-columns:1fr}}@media(max-width:600px){.auth-shell{padding:1rem}.signup-card{padding:2rem}.leader-input{flex-direction:column}.status-card{grid-template-columns:1fr}.config-steps .step{flex:1 1 100%}.config-steps .step-label{display:none}.time-period-item{flex-direction:column;align-items:flex-start}.tp-times{width:100%}}.invite-instructors-section{max-width:800px;margin:0 auto}.file-upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:2rem;text-align:center;transition:all .2s ease;cursor:pointer;background:#f9fafb}.file-upload-area:hover,.file-upload-area.drag-over{border-color:#055699;background:#eff6ff}.upload-placeholder .upload-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.upload-placeholder p{margin:.25rem 0;color:#4b5563}.upload-placeholder .hint{font-size:.8rem;color:#9ca3af}.btn.link{background:none;border:none;color:#055699;text-decoration:underline;padding:0;cursor:pointer;font-size:inherit}.btn.link:hover{color:#033d6b}.upload-preview{display:flex;align-items:center;justify-content:center;gap:.75rem}.upload-preview .file-icon{font-size:1.5rem}.upload-preview .file-name{font-weight:500;color:#1f2937}.instructor-preview{margin-top:1.5rem}.instructor-preview h4{margin:0 0 .75rem;font-size:1rem;color:#374151}.instructor-table-container{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.instructor-table{width:100%;border-collapse:collapse;font-size:.9rem}.instructor-table th,.instructor-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.instructor-table th{background:#f9fafb;font-weight:600;color:#374151;position:sticky;top:0}.instructor-table tbody tr:hover{background:#f9fafb}.instructor-table tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.sent,.status-badge.invited{background:#d1fae5;color:#065f46}.status-badge.error{background:#fee2e2;color:#991b1b}.invite-instructors-nav{border-left:3px solid #10b981}#nav-invite-leaders,.manage-users-nav{background:linear-gradient(135deg,#6b72801f,#6b72800a);border-left:3px solid #6b7280}#nav-invite-leaders:hover,.manage-users-nav:hover{background:#6b72802e;border-color:#4b5563}#manage-users-section,#manage-users-section .config-card{max-width:100%}#manage-users-section .instructor-table-container{max-height:500px}#manage-users-section .instructor-table th,#manage-users-section .instructor-table td{padding:.5rem .75rem;white-space:nowrap}#manage-users-section .instructor-table th:first-child,#manage-users-section .instructor-table td:first-child{white-space:normal;min-width:200px}.user-info{display:flex;flex-direction:column;gap:.125rem}.user-name{font-weight:500;color:#1f2937}.user-email{font-size:.8rem;color:#6b7280}.status-badge.success{background:#d1fae5;color:#065f46}.status-badge.warning{background:#fef3c7;color:#92400e}.status-badge.neutral{background:#f3f4f6;color:#6b7280}.action-buttons{display:flex;flex-wrap:wrap;gap:.25rem}.btn.small{padding:.25rem .5rem;font-size:.75rem}.btn.danger{background:#ef4444;color:#fff}.btn.danger:hover{background:#dc2626}.no-actions{color:#9ca3af}.schedule-management-section{background:var(--white);border-radius:20px;padding:1.5rem 2rem;border:1px solid rgba(5,86,153,.12);box-shadow:0 30px 60px #0b22371a;display:flex;flex-direction:column;gap:1.5rem}.schedule-mgmt-header h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--brand-slate)}.schedule-mgmt-desc{margin:0;color:#0b2237b3;font-size:.95rem}.schedule-list{display:flex;flex-direction:column;gap:.75rem;min-height:100px}.schedule-list .loading-indicator{text-align:center;padding:2rem;color:#0b223799}.schedule-list .error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:1rem;color:#b91c1c;text-align:center}.schedule-list .no-schedules{text-align:center;padding:2rem;background:#0556990a;border-radius:12px;color:#0b2237b3}.schedule-list .no-schedules p{margin:.5rem 0}.schedule-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#05569914,#05569905);border:1px solid rgba(5,86,153,.12);border-left:4px solid var(--brand-blue);border-radius:12px;transition:all .2s ease}.schedule-card:hover{background:#0556991f;transform:translate(4px)}.schedule-card-info h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--brand-slate)}.schedule-card-info .schedule-meta{margin:0;font-size:.85rem;color:#0b2237a6}.schedule-card-actions{display:flex;gap:.5rem}.btn.icon-btn{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:var(--white);border:1px solid rgba(5,86,153,.2);border-radius:8px;cursor:pointer;transition:all .2s ease}.btn.icon-btn:hover{background:var(--brand-ice);border-color:var(--brand-blue)}.btn.icon-btn.danger{background:#ef44440d;border-color:#ef444433}.btn.icon-btn.danger:hover{background:#ef444426;border-color:#ef4444}.btn.icon-btn:disabled{opacity:.5;cursor:not-allowed}.schedule-actions{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(5,86,153,.1)}.schedule-actions .btn.primary{background:linear-gradient(135deg,#0a7cd1,#055699);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.schedule-actions .btn.primary:hover{background:linear-gradient(135deg,#055699,#044178);transform:translateY(-1px);box-shadow:0 4px 12px #05569940}.schedule-actions .btn.primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.schedule-actions .btn.secondary{background:transparent;color:var(--brand-navy);border:1px solid rgba(5,86,153,.3);padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.schedule-actions .btn.secondary:hover{background:#05569914;border-color:var(--brand-blue)}
