@import"https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Zen+Old+Mincho:wght@700;900&display=swap";:root{--primary-900: #3E0703;--primary-700: #660B05;--primary-600: #8C1007;--primary-500: #A31208;--primary-400: #C41A0E;--primary-100: #FFE4E1;--primary-50: #FFF0C4;--slate-900: #0f172a;--slate-800: #1e293b;--slate-700: #334155;--slate-600: #475569;--slate-500: #64748b;--slate-400: #94a3b8;--slate-300: #cbd5e1;--slate-200: #e2e8f0;--slate-100: #f1f5f9;--slate-50: #f8fafc;--white: #ffffff;--success-500: #22c55e;--success-100: #dcfce7;--warning-500: #f59e0b;--warning-100: #fef3c7;--error-500: #ef4444;--error-100: #fee2e2;--sport-red-1-bg: #FFE4E1;--sport-red-1-border: #8C1007;--sport-red-2-bg: #FECACA;--sport-red-2-border: #660B05;--sport-red-3-bg: #FCD5D2;--sport-red-3-border: #A31208;--sport-red-4-bg: #FFD5CC;--sport-red-4-border: #B91C1C;--sport-red-5-bg: #FEE2E2;--sport-red-5-border: #DC2626;--sport-red-6-bg: #FFDAD6;--sport-red-6-border: #C41A0E;--accent-cream: #FFF0C4;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:linear-gradient(135deg,var(--slate-100) 0%,var(--primary-50) 100%);color:var(--slate-800);min-height:100vh;line-height:1.5}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--slate-900)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--primary-700) 0%,var(--primary-600) 100%);color:var(--white);box-shadow:var(--shadow-md),0 4px 14px #8c100766}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 6px 20px #8c100780}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--white);color:var(--slate-700);border:1px solid var(--slate-200);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--slate-50);border-color:var(--slate-300)}.btn-ghost{background:transparent;color:var(--slate-600);padding:8px 12px}.btn-ghost:hover{background:var(--slate-100);color:var(--primary-600)}.btn-icon{padding:10px;border-radius:var(--radius-sm)}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.875rem;font-weight:600;color:var(--slate-700)}.input{padding:12px 16px;font-size:1rem;border:1px solid var(--slate-200);border-radius:var(--radius-md);background:var(--white);transition:all var(--transition-fast);outline:none}.input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #8c100726}.input::placeholder{color:var(--slate-400)}.card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--slate-200);box-shadow:var(--shadow-md)}.card-glass{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--slate-500)}.font-bold{font-weight:700}.font-semibold{font-weight:600}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-slideUp{animation:slideUp .3s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--slate-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}@media(max-width:767px){html{font-size:14px}.btn{padding:10px 20px}}:root{--login-bg: #FFF9F2;--login-red: #A63C3C;--login-red-dark: #8B2E2E;--login-beige: #F5E6D3;--login-text: #4A3B32;--login-paper: #ffffff}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;background:var(--login-bg);font-family:"Noto Serif JP",serif;color:var(--login-text)}.login-background{position:absolute;inset:0;overflow:hidden;z-index:0}.bg-shape{position:absolute;border-radius:50%;filter:blur(60px)}.bg-shape-1{width:600px;height:600px;background:radial-gradient(circle,rgba(166,60,60,.08),transparent 70%);top:-20%;right:-10%;animation:sun-rise 20s infinite alternate ease-in-out}.bg-shape-2{width:500px;height:500px;background:radial-gradient(circle,rgba(245,230,211,.4),transparent 70%);bottom:-15%;left:-10%;filter:blur(80px)}.bg-shape-3{width:300px;height:300px;background:radial-gradient(circle,rgba(166,60,60,.05),transparent);top:40%;left:20%;animation:float 15s infinite ease-in-out}@keyframes sun-rise{0%{transform:scale(1);opacity:.8}to{transform:scale(1.1);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.login-card{position:relative;z-index:10;width:100%;max-width:400px;background:var(--login-paper);border-radius:2px;padding:48px 40px;box-shadow:0 4px 6px -1px #00000005,0 10px 30px #a63c3c14;border:1px solid rgba(245,230,211,.5)}.login-header{text-align:center;margin-bottom:40px}.brand-wrapper{display:flex;flex-direction:column;align-items:center}.brand-title{font-family:Zen Old Mincho,serif;font-size:2.2rem;font-weight:900;color:var(--login-red);margin:0;line-height:1.2;letter-spacing:.05em}.brand-highlight{color:var(--login-text)}.brand-line{width:60px;height:3px;background-color:var(--login-beige);margin:12px 0 16px;border-radius:2px}.brand-subtitle{font-family:"Noto Serif JP",serif;font-size:.8rem;color:#8d7b6f;letter-spacing:.15em;text-transform:uppercase}.login-form{display:flex;flex-direction:column;gap:24px}.input-group label{display:block;color:var(--login-text);font-size:.9rem;margin-bottom:8px;font-weight:700}.input-wrapper{position:relative;border-bottom:2px solid #E5D5C5;transition:all .3s ease}.input-wrapper:focus-within{border-bottom-color:var(--login-red)}.input-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);color:#b0a090;font-size:1.2rem;transition:color .3s ease}.input{width:100%;background:transparent;border:none;padding:12px 12px 12px 36px;color:var(--login-text);font-family:"Noto Serif JP",serif;font-size:1.05rem;outline:none;box-shadow:none}.input:focus{outline:none;box-shadow:none;border-color:transparent}.input::placeholder{color:#d0c0b0;font-size:.95rem}.input-wrapper:focus-within .input-icon{color:var(--login-red)}.error-message{background:#fff2f2;border-left:3px solid var(--login-red);color:var(--login-red);padding:12px;border-radius:4px;display:flex;align-items:center;gap:8px;font-size:.9rem;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.remember-me-group{display:flex;align-items:center;margin-top:-8px}.remember-me-group label{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--login-text);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:400}.remember-me-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--login-red);cursor:pointer;flex-shrink:0}.login-btn{margin-top:16px;background:var(--login-red);color:#fff;border:none;padding:16px;border-radius:4px;font-family:"Noto Serif JP",serif;font-weight:700;font-size:1rem;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #a63c3c33;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.login-btn:hover:not(:disabled){background:var(--login-red-dark);transform:translateY(-1px);box-shadow:0 6px 16px #a63c3c4d}.login-btn:disabled{opacity:.7;cursor:not-allowed;background:#d0b0b0;box-shadow:none}.btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.login-footer{margin-top:32px;text-align:center}.login-footer p{color:#9d8b80;font-size:.85rem}@media(max-width:480px){.login-card{padding:32px 24px;box-shadow:none;border:none;background:transparent}.login-container{background:var(--login-paper);padding:0}.brand-title{font-size:2rem}}.sports-selector-container{padding:10px 20px;background-color:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:center;gap:15px;overflow-x:auto;-webkit-overflow-scrolling:touch}.sports-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.sport-pill{padding:6px 12px;border-radius:20px;border:1px solid transparent;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.sport-pill:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.sport-pill.inactive{border-style:dashed}.sport-pill.inactive:hover{background-color:#eee!important;color:#666!important}.dark-mode .sports-selector-container{background-color:#1e1e1e;border-bottom-color:#333}.dark-mode .sport-pill.inactive{background-color:#2d2d2d!important;border-color:#444!important;color:#888!important}.dark-mode .sport-pill.inactive:hover{background-color:#3d3d3d!important;color:#aaa!important}.schedule-header .sports-selector-container{background-color:transparent!important;border-bottom:none;padding:4px 16px 12px;justify-content:center}.schedule-header .sport-pill.inactive{background-color:#0003!important;border-color:#f5e6d333!important;color:#f5e6d399!important}.schedule-header .sport-pill.inactive:hover{background-color:#0000004d!important;color:#f5e6d3!important}.schedule-header .sport-pill.active{box-shadow:0 2px 4px #0003;border:1px solid rgba(255,255,255,.3)!important}.sports-grid-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:600px;margin:0 auto;flex-wrap:unset}.sports-grid-layout .sport-pill{padding:14px 10px;font-size:1.05rem;font-weight:600;text-align:center;white-space:normal;border-radius:12px;min-height:48px;display:flex;align-items:center;justify-content:center}.settings-modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;animation:fadeIn .15s ease-out}.settings-modal{background:#fff;border-radius:14px;width:100%;max-width:460px;padding:24px 24px 20px;box-shadow:0 24px 60px #00000040;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.settings-modal-header h2{margin:0;font-size:20px;font-weight:700;color:#0f172a}.settings-modal-close{background:none;border:none;cursor:pointer;color:#64748b;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.settings-modal-close:hover{background:#f1f5f9;color:#0f172a}.settings-modal-subtitle{margin:0 0 18px;color:#64748b;font-size:13px;line-height:1.5}.settings-form{display:flex;flex-direction:column;gap:14px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field label{font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.4px}.settings-input-wrap{position:relative;display:flex;align-items:center}.settings-input-icon{position:absolute;left:12px;color:#94a3b8;pointer-events:none}.settings-input-wrap input{width:100%;padding:12px 12px 12px 38px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.settings-input-wrap input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.settings-hint{display:inline-flex;align-items:center;gap:4px;font-size:12px;margin-top:2px}.settings-hint-ok{color:#16a34a}.settings-hint-error{color:#dc2626}.settings-hint-neutral{color:#64748b}.settings-hint .spin{animation:spin 1s linear infinite}.settings-server-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:13px}.settings-actions{display:flex;gap:10px;margin-top:4px}.settings-actions .btn{flex:1;padding:12px;font-size:14px;font-weight:600}.settings-actions .btn:disabled{opacity:.5;cursor:not-allowed}.settings-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:#16a34a}.settings-success p{margin:0;color:#0f172a;font-weight:500}.schedule-container{display:flex;flex-direction:column;height:100vh;background-color:#f8fafc;font-family:Inter,system-ui,-apple-system,sans-serif;color:#1e293b;overflow:hidden}.schedule-container *{scrollbar-width:none;-ms-overflow-style:none}.schedule-container *::-webkit-scrollbar{display:none}.schedule-header{display:flex;flex-direction:column;gap:12px;padding:16px 24px;background:linear-gradient(to bottom,#600000,#400000);border-bottom:1px solid #701010;flex-shrink:0;box-shadow:0 4px 12px #0003}.schedule-header{display:flex;flex-direction:column;gap:8px;padding:10px 24px;background:linear-gradient(180deg,#570000,#3e0000);border-bottom:1px solid #501010;flex-shrink:0;box-shadow:0 4px 20px #00000040;position:relative;z-index:20}.header-top-row{display:flex;align-items:center;justify-content:center;min-height:48px;position:relative;z-index:1000}.header-row-1-mobile{display:none;flex-direction:column;align-items:center;gap:4px;position:relative;z-index:1000}.header-row-2-mobile{display:none;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.header-single-row{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1000}.header-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-center-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex:1;min-width:0}.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.sports-selector-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;overflow:hidden}.sports-selector-collapse.open{grid-template-rows:1fr}.sports-selector-collapse>*{min-height:0}.header-welcome{display:flex;align-items:center;gap:6px;background:#3a0000;padding:4px 16px;border-radius:12px;border:1px solid #4a1010}.header-brand{display:flex;align-items:center;justify-content:flex-start}.back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:99px;color:#f8e7d5;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.back-btn:hover{background:#ffffff26;transform:translate(-2px)}.title-block{display:none}.header-center-school{display:flex;justify-content:center;align-items:center;position:relative;min-width:0}.school-switcher-wrapper.large{position:relative;display:flex;align-items:center;gap:8px;cursor:pointer;transition:transform .2s ease;margin-top:0}.school-switcher-wrapper.large{position:relative;display:flex;align-items:center;gap:8px;cursor:pointer;transition:transform .2s ease;margin-top:0;z-index:1050}.school-switcher-wrapper.large:hover{transform:scale(1.02)}.school-title-static{font-size:1.75rem;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);cursor:pointer}.select-arrow.large{font-size:.9rem;color:#fff9;transition:transform .2s ease;pointer-events:none}.select-arrow.large.open{transform:rotate(180deg)}.dropdown-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:999;cursor:default}.custom-dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#4a0000;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 0;min-width:220px;box-shadow:0 10px 30px #00000080;z-index:1000;max-height:400px;overflow-y:auto;margin-top:8px;animation:fadeInDropdown .2s ease-out}@keyframes fadeInDropdown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.custom-dropdown-item{padding:12px 20px;color:#f8e7d5;font-weight:600;font-size:1rem;cursor:pointer;transition:background .1s ease;white-space:nowrap;text-align:center}.custom-dropdown-item:hover{background:#ffffff1a;color:#fff}.custom-dropdown-item.selected{background:#ffffff26;color:#fff;font-weight:700}@media(max-width:768px){.custom-dropdown-menu{position:fixed;top:80px;left:50%;width:90%;max-width:320px;box-shadow:0 20px 50px #000c}}.header-center-school .school-title-static{font-size:1.75rem;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.header-user{display:flex;justify-content:flex-end;align-items:center;gap:12px}.welcome-label{font-size:.85rem;color:#e6d0c0;font-weight:500;margin-right:4px}.user-name-display{font-size:.85rem;color:#fff;font-weight:700}.logout-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;background:#4a1008;border:1px solid #6a2a1a;border-radius:10px;color:#e6d0c0;cursor:pointer;transition:all .2s ease;height:36px;font-weight:600;font-size:.85rem}.logout-btn:hover{background:#ffffff26;color:#fff;border-color:#fff6}@media(max-width:768px){.header-single-row{display:none}.header-row-1-mobile,.header-row-2-mobile{display:flex}.header-welcome{padding:2px 12px}.welcome-label{font-size:.65rem;opacity:.8;text-transform:uppercase;letter-spacing:.05em}.user-name-display{font-size:1rem;font-weight:800}.logout-btn{width:36px;height:36px;padding:0;justify-content:center}.logout-text{display:none}.back-btn{position:absolute;top:16px;left:16px;padding:4px 8px;z-index:10}}.header-nav-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.week-navigation{display:flex;align-items:center;gap:4px;background:#300000;padding:4px;border-radius:12px;border:1px solid #4a1a10;box-shadow:0 1px 3px #0000001a}.nav-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;color:#f5e6d3;cursor:pointer;transition:all .2s ease}.nav-arrow:hover{background:#ffffff1a;color:#fff}.week-display{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#f5e6d3;font-weight:700;font-size:.9rem;min-width:200px;justify-content:center}.calendar-icon{flex-shrink:0;opacity:.8;color:#e6a696}.week-range{white-space:nowrap}.btn-today{padding:10px 20px;background:#4a1008;border:1px solid #6a2a1a;border-radius:10px;color:#f5e6d3;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:none}.btn-today:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8c100759}.btn-today:active{transform:translateY(0)}@media(max-width:768px){.header-nav-row{width:100%;justify-content:space-between;gap:8px}.week-navigation{flex:1;justify-content:space-between;background:#0000004d;padding:4px 8px}.nav-arrow{width:44px;height:44px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:24px}.nav-arrow svg{width:24px;height:24px;min-width:24px;min-height:24px;color:#fff;stroke-width:3px}.nav-arrow:active{background:#ffffff4d}.week-display{flex:1;min-width:0;padding:0 4px;font-size:.8rem;justify-content:center}.week-range{font-size:.8rem}.btn-today{padding:10px 12px;font-size:.8rem}}.day-selector-mobile{display:none;gap:6px;padding:10px 16px;background:#f5e6d3;border-bottom:2px solid #d4b8a0;flex-shrink:0;overflow-x:auto;position:relative;z-index:15}.day-selector-mobile .day-tab{flex:1;min-width:45px;display:flex;flex-direction:column;align-items:center;padding:8px 6px;background:#ffffff80;border:2px solid rgba(139,70,50,.1);border-radius:10px;cursor:pointer;transition:all .2s;color:#4a0404}.day-selector-mobile .day-tab.active{background:#660b05;border-color:#660b05;color:#fff;box-shadow:0 4px 12px #660b0540}.day-selector-mobile .day-tab.today{border-color:#8c1007}.day-selector-mobile .day-tab .day-name{font-size:.65rem;font-weight:700;text-transform:uppercase;opacity:.8}.day-selector-mobile .day-tab .day-num{font-size:1rem;font-weight:800}@media(max-width:768px){.day-selector-mobile{display:flex}}.schedule-grid-wrapper{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:0;cursor:grab;-webkit-user-select:none;user-select:none}.schedule-grid-wrapper.is-dragging{cursor:grabbing}.schedule-grid{display:flex;background:#fff;min-height:500px;min-width:max-content}.time-axis{width:60px;flex-shrink:0;background:#f5e6d3;border-right:1px solid #E8D4B8;position:sticky;left:0;z-index:600}.time-axis-header{height:86px;border-bottom:none;background:#e8d4b8;position:sticky;top:0;z-index:601}.time-marker{width:100%;border-top:1px solid rgba(139,0,0,.15)}.time-marker span{position:absolute;top:-10px;right:10px;font-size:.8rem;font-weight:700;color:#334155}.day-column{flex:1;min-width:160px;display:flex;flex-direction:column;border-right:none;z-index:1;background:#fff8f0}.day-column:last-child{border-right:none}.day-column.day-alt,.day-column.day-alt .room-header,.day-column.day-alt .day-header{background:#e8d4b8}.day-column.day-alt .day-header .day-name,.day-column.day-alt .room-header{color:#64748b}.day-column.day-alt .day-header .day-num{color:#1e293b}.day-column.today .day-header{background:#660b05!important;color:#fff}.day-column.today .day-header .day-name,.day-column.today .day-header .day-num{color:#fff}.day-header{height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:none;background:#fff8f0;position:sticky;top:0;z-index:500}.day-header .day-name{font-size:.7rem;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.05em}.day-header .day-num{font-size:1.1rem;font-weight:800;color:#1e293b}.room-columns{display:flex;flex:1}.room-column{flex:1;min-width:100px;display:flex;flex-direction:column;border-right:none}.room-column:last-child{border-right:none}.room-header{height:36px;padding:10px 8px 4px;font-size:.85rem;font-weight:700;color:#8b0000;background:#fff8f0;border-bottom:none;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:sticky;top:50px;z-index:400}.room-content{position:relative;flex:1}.grid-line{border-top:1px solid rgba(139,0,0,.15);box-sizing:border-box;pointer-events:none}.class-card{position:absolute;left:2px;right:2px;border-radius:4px;border-left:4px solid #8C1007;padding:4px 6px;cursor:pointer;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;z-index:10;transition:all .15s ease;overflow:hidden;box-sizing:border-box;background:#ffe4e1}.class-card:hover{transform:scale(1.02);z-index:50;box-shadow:0 8px 16px -4px #0000001f;background:#fff}.class-card.registered{background:#10b981!important;border-left-color:#059669!important;color:#fff!important}.class-card.registered .class-sport,.class-card.registered .class-time,.class-card.registered .registration-count{color:#fff!important}.class-card.registered:hover{background:#059669!important}.class-card.not-bookable{opacity:.6;cursor:default}.class-card.not-bookable:hover{transform:none;box-shadow:0 1px 3px #0000000d}.class-card.active-session{animation:pulse-session 2s infinite;border-left-color:#ef4444}@keyframes pulse-session{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.class-card-content{display:flex;flex-direction:column;gap:1px;flex:1;min-height:0}.class-sport{font-weight:700;font-size:.75rem;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.class-time{font-size:.65rem;font-weight:600;color:inherit;opacity:.9;display:flex;align-items:center;gap:3px;white-space:nowrap}.class-room{font-size:.6rem;color:#64748b;display:flex;align-items:center;gap:2px}.registration-count{margin-top:auto;font-size:.65rem;font-weight:700;color:inherit;opacity:.85;display:flex;align-items:center;gap:3px}.now-badge{position:absolute;top:2px;right:2px;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;font-size:.5rem;font-weight:700;padding:2px 5px;border-radius:3px;text-transform:uppercase;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.registered-badge{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:20;box-shadow:0 1px 2px #0000001a}.locked-badge{position:absolute;top:2px;right:2px;width:14px;height:14px;background:#94a3b8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;width:100%;max-width:500px;max-height:90vh;border-radius:20px;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column}.modal-content.admin-modal{max-width:640px}.modal-header{padding:20px 24px;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:flex-start}.modal-header h3{margin:0;font-size:1.3rem;font-weight:800;color:#1e293b}.modal-date{font-size:.85rem;color:#64748b;margin-top:4px}.close-btn{background:#f1f5f9;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s}.close-btn:hover{background:#e2e8f0;color:#1e293b}.modal-body{padding:24px;overflow-y:auto;flex:1;background:#f8fafc}.admin-modal .modal-body{background:#f5e6d3}.class-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.detail-item{display:flex;align-items:center;gap:10px;font-size:.95rem;color:#475569}.detail-item svg{color:#8c1007;flex-shrink:0}.admin-attendance-view{border-top:none;padding-top:8px}.admin-stats-row{display:flex;gap:14px;margin-bottom:20px;justify-content:center}.stat-card{background:#8c1007;border:none;border-radius:16px;padding:20px 16px;text-align:center;flex:1;aspect-ratio:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:140px;box-shadow:0 4px 12px #8c100740;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #8c100759}.stat-card.highlight{background:#660b05;border:none;box-shadow:0 4px 12px #660b054d}.stat-card.highlight:hover{box-shadow:0 6px 18px #660b0566}.stat-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fffc;margin-bottom:6px;display:block}.stat-value{font-size:2.2rem;font-weight:800;color:#fff;line-height:1;display:block}.stat-card.highlight .stat-value{color:#fff}.stats-section{margin-bottom:20px;background:#fff;padding:16px;border-radius:12px;border:1px solid rgba(140,16,7,.12)}.stats-section label{display:block;font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.headcount-control{display:flex;align-items:center;gap:12px}.headcount-input{width:80px;padding:12px;border:2px solid #e2e8f0;border-radius:10px;font-size:1.5rem;font-weight:700;text-align:center;color:#1e293b;transition:all .2s}.headcount-input:focus{outline:none;border-color:#8c1007;box-shadow:0 0 0 3px #8c100726}.expected-count{color:#64748b;font-size:.9rem}.registrations-list{background:#fff;border-radius:12px;padding:16px;border:1px solid rgba(140,16,7,.12);margin-bottom:16px}.registrations-list h4{font-size:.95rem;font-weight:700;color:#1e293b;margin:0 0 12px;display:flex;align-items:center;gap:8px}.registrations-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.registrations-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff8f0;border-radius:10px;border:1px solid rgba(140,16,7,.08);transition:all .2s}.registrations-list li:hover{border-color:#8c100733}.registrations-list li.attended{background:#dcfce7;border-color:#86efac}.student-info{display:flex;flex-direction:column;gap:2px}.student-info .name{font-weight:600;font-size:.95rem;color:#1e293b}.student-info .phone{font-size:.8rem;color:#64748b}.attendance-toggle{display:flex;align-items:center;gap:6px;border-radius:20px;padding:6px 14px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent}.attendance-toggle.present{background:#dcfce7;border-color:#86efac;color:#15803d}.attendance-toggle.present:hover{background:#bbf7d0;transform:translateY(-1px)}.attendance-toggle.absent{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.attendance-toggle.absent:hover{background:#e2e8f0;color:#475569}.no-data{color:#64748b;font-style:italic;font-size:.9rem;text-align:center;padding:24px;background:#fff8f0;border-radius:10px}.admin-search-section{background:#fff;border-radius:12px;padding:16px;border:1px solid rgba(140,16,7,.12);position:relative}.admin-search-section h4{font-size:.9rem;font-weight:700;color:#1e293b;margin:0 0 12px;display:flex;align-items:center;gap:8px}.admin-search-section h4 svg{color:#8c1007}.admin-search-controls{display:flex;gap:8px;align-items:stretch}.admin-search-input-wrap{flex:1;position:relative;display:flex;align-items:center}.admin-search-input-wrap .search-icon{position:absolute;left:10px;color:#94a3b8;pointer-events:none}.admin-search-input{width:100%;padding:9px 12px 9px 32px;border:2px solid #e2e8f0;border-radius:10px;font-size:.85rem;color:#1e293b;background:#fff8f0;transition:all .2s}.admin-search-input:focus{outline:none;border-color:#8c1007;box-shadow:0 0 0 3px #8c10071a;background:#fff}.admin-search-input::placeholder{color:#94a3b8}.search-spinner{width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #8C1007;border-radius:50%;animation:spin .6s linear infinite;position:absolute;right:10px}.search-spinner.small{width:14px;height:14px;position:static}.admin-school-filter-wrap{position:relative;display:flex;align-items:center;min-width:120px}.admin-school-filter-wrap .filter-icon{position:absolute;left:8px;color:#94a3b8;pointer-events:none;z-index:1}.admin-school-filter{width:100%;padding:9px 24px 9px 26px;border:2px solid #e2e8f0;border-radius:10px;font-size:.8rem;color:#1e293b;background:#fff8f0;cursor:pointer;transition:all .2s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.admin-school-filter:focus{outline:none;border-color:#8c1007;box-shadow:0 0 0 3px #8c10071a}.admin-search-results{margin-top:8px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001a;overflow:hidden;max-height:240px;overflow-y:auto}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f1f5f9}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#fff8f0}.search-result-info{display:flex;flex-direction:column;gap:1px}.search-result-name{font-weight:600;font-size:.9rem;color:#1e293b}.search-result-school{font-size:.75rem;color:#64748b}.search-add-btn{width:30px;height:30px;border-radius:50%;border:none;background:#8c1007;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.search-add-btn:hover{background:#660b05;transform:scale(1.1)}.search-add-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.search-no-results{padding:16px;text-align:center;color:#94a3b8;font-size:.85rem;font-style:italic}.modal-footer{padding:16px 24px;border-top:1px solid #f1f5f9;display:flex;gap:12px}.register-btn{flex:1;padding:14px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.register-btn.primary{background:linear-gradient(135deg,#660b05,#8c1007);color:#fff}.register-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8c10074d}.register-btn.success{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.register-btn:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.booking-locked-message{background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;padding:12px;margin-bottom:16px;color:#92400e;font-size:.9rem}.loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b}.loading-spinner{width:40px;height:40px;border:4px solid #f1f5f9;border-top:4px solid #8C1007;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media(max-width:1024px){.schedule-header{padding:14px 20px}.week-display{min-width:180px}}@media(max-width:768px){.schedule-header{padding:12px 16px;gap:10px}.back-btn{padding:6px 10px}.back-btn-text{display:none}.week-navigation{flex:1;min-width:0}.week-display{flex:1;min-width:0;padding:6px 8px;font-size:.8rem}.week-range{overflow:hidden;text-overflow:ellipsis}.nav-arrow{width:32px;height:32px;flex-shrink:0}.btn-today{padding:8px 14px;font-size:.8rem;flex-shrink:0}.day-header{display:none}.room-header{top:0!important}.schedule-grid-wrapper{padding:0;margin-top:-1vh;position:relative;z-index:10;background:#f5e6d3}.schedule-grid{min-width:100%}.day-column{display:none}.day-column.mobile-visible{display:flex;min-width:0;background:#f5e6d3!important;min-height:100%}.day-column.mobile-visible .day-header,.day-column.mobile-visible .room-header{background:#e8d4b8!important}.time-axis-header{height:36px}.registered-badge{inset:auto 4px 4px auto;width:18px;height:18px;background:#10b981;box-shadow:0 2px 4px #10b9814d}.class-card.registered{border-left-width:4px}}@media(max-width:480px){.schedule-header{padding:10px 12px;gap:8px}.title-block h1{font-size:1.1rem}.week-display{font-size:.75rem;padding:4px 6px}.calendar-icon{display:none}.nav-arrow{width:28px;height:28px}.btn-today{padding:6px 12px}}.dark-mode.schedule-container{background-color:#1a1a2e;color:#e8e0d5}.dark-mode .schedule-header{background:linear-gradient(to bottom,#500000,#300000);border-bottom-color:#400000}.dark-mode .title-block h1{color:#f5e6d3}.dark-mode .school-subtitle,.dark-mode .welcome-text{color:#e6a696}.dark-mode .back-btn,.dark-mode .logout-btn{background:#ffffff0d;border-color:#f5e6d333;color:#f5e6d3}.dark-mode .back-btn:hover,.dark-mode .logout-btn:hover{background:#ffffff26;border-color:#f5e6d366;color:#fff}.dark-mode .week-navigation{background:#2a2a3e;border-color:#4a4a5a}.dark-mode .nav-arrow{color:#a0a0b0}.dark-mode .nav-arrow:hover{background:#3a3a4e;color:#d4a574}.dark-mode .week-display{color:#d4a574}.dark-mode .btn-today{background:linear-gradient(135deg,#8b0000,brown)}.dark-mode .day-selector-mobile{background:#1e1e32;border-bottom-color:#2a2a3e}.dark-mode .day-selector-mobile .day-tab{background:#2a2a3e;border-color:#4a4a5a;color:#a0a0b0}.dark-mode .day-selector-mobile .day-tab.active{background:#8b0000;border-color:#8b0000;color:#fff}.dark-mode .day-selector-mobile .day-tab.today{border-color:#d4a574}.dark-mode .schedule-grid{background:#1e1e32}.dark-mode .time-axis{background:#8b463226;border-right-color:#2a2a3e}.dark-mode .time-axis-header{background:#8b46324d}.dark-mode .time-marker{border-top-color:#8b463233}.dark-mode .time-marker span{color:#c9847a}.dark-mode .day-column{border-right-color:#2a2a3e;background:transparent}.dark-mode .day-column.day-alt{background:#8b463226}.dark-mode .day-column.day-alt .room-header{background:#8b463240}.dark-mode .day-column.day-alt .day-header{background:#8b46324d}.dark-mode .day-column.today .day-header{background:#8b0000!important}.dark-mode .day-header{background:#1e1e32;border-bottom-color:#2a2a3e}.dark-mode .day-header .day-name{color:#a0a0b0}.dark-mode .day-header .day-num{color:#c8c0b5}.dark-mode .room-column{border-right-color:#2a2a3e}.dark-mode .room-header{background:#252538;border-bottom-color:#2a2a3e;color:#a0a0b0}.dark-mode .grid-line{border-top-color:#8b463233}.dark-mode .class-card{box-shadow:0 2px 4px #0000004d;filter:saturate(.7) brightness(.85)}.dark-mode .class-card .class-sport{font-weight:600;opacity:.95}.dark-mode .class-card .class-time,.dark-mode .class-card .registration-count{opacity:.8}.dark-mode .class-card:hover{filter:saturate(.85) brightness(.95);box-shadow:0 8px 16px #0006}.dark-mode .class-card.not-bookable{background:#3a3a4e!important;border-left-color:#6a5a5a!important;filter:none}.dark-mode .class-card.not-bookable .class-sport{color:#c9847a!important;opacity:1;font-weight:600}.dark-mode .class-card.not-bookable .class-time,.dark-mode .class-card.not-bookable .registration-count{color:#a07570!important;opacity:1}.dark-mode .modal-overlay{background:#0a0a14cc}.dark-mode .modal-content{background:#1e1e32;box-shadow:0 25px 50px -12px #00000080}.dark-mode .modal-header{border-bottom-color:#2a2a3e}.dark-mode .modal-header h3{color:#e8e0d5}.dark-mode .modal-date{color:#a0a0b0}.dark-mode .close-btn{background:#2a2a3e;color:#a0a0b0}.dark-mode .close-btn:hover{background:#3a3a4e;color:#e8e0d5}.dark-mode .modal-body{background:#1a1a2e}.dark-mode .detail-item{color:#c0c0d0}.dark-mode .detail-item svg{color:#d4a574}.dark-mode .stat-card{background:#2a2a3e;border-color:#4a4a5a}.dark-mode .stat-card.highlight{background:linear-gradient(135deg,#8b00004d,#a52a2a4d);border-color:#8b0000}.dark-mode .stat-label{color:#a0a0b0}.dark-mode .stat-value{color:#e8e0d5}.dark-mode .stat-card.highlight .stat-value{color:#d4a574}.dark-mode .stats-section{background:#2a2a3e;border-color:#4a4a5a}.dark-mode .stats-section label{color:#a0a0b0}.dark-mode .headcount-input{background:#1e1e32;border-color:#4a4a5a;color:#e8e0d5}.dark-mode .headcount-input:focus{border-color:#d4a574}.dark-mode .expected-count{color:#a0a0b0}.dark-mode .registrations-list{background:#2a2a3e;border-color:#4a4a5a}.dark-mode .registrations-list h4{color:#e8e0d5}.dark-mode .registrations-list li{background:#1e1e32;border-color:#4a4a5a}.dark-mode .registrations-list li:hover{border-color:#5a5a6a}.dark-mode .registrations-list li.attended{background:#10b98126;border-color:#10b98166}.dark-mode .student-info .name{color:#e8e0d5}.dark-mode .student-info .phone{color:#a0a0b0}.dark-mode .attendance-toggle.absent{background:#3a3a4e;border-color:#5a5a6a;color:#a0a0b0}.dark-mode .attendance-toggle.absent:hover{background:#4a4a5a;color:#c0c0d0}.dark-mode .modal-footer{border-top-color:#2a2a3e}.dark-mode .register-btn:disabled{background:#3a3a4e;color:#6a6a7a}.dark-mode .booking-locked-message{background:#d4a57426;border-color:#d4a57466;color:#d4a574}.dark-mode .no-data{color:#a0a0b0;background:#252538}.dark-mode .loading-spinner{border-color:#3a3a4e;border-top-color:#d4a574}.dark-mode .error-banner{background:#8b000033;border-color:#8b0000;color:#c41e3a}@media(max-width:768px){.dark-mode .day-column.mobile-visible{background:#8b463226!important}.dark-mode .day-column.mobile-visible .day-header{background:#8b46324d!important}.dark-mode .day-column.mobile-visible .room-header{background:#8b463240!important}}.admin-split-view{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding-top:1rem;min-height:400px}.admin-left-col{display:flex;flex-direction:column;gap:1.5rem;border-right:1px solid #e2e8f0;padding-right:1.5rem}.admin-right-col{display:flex;flex-direction:column;overflow:hidden}.admin-split-view h4{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:1rem;border-bottom:2px solid #8B0000;padding-bottom:.5rem;display:inline-block}.admin-stats-section{background:#f8fafc;border-radius:12px;padding:1rem;border:1px solid #e2e8f0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.stat-box{background:#fff;padding:.75rem;border-radius:8px;text-align:center;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d}.stat-box label{display:block;font-size:.75rem;color:#64748b;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.stat-box span{font-size:1.25rem;font-weight:700;color:#1e293b}.headcount-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.headcount-input-wrapper label{font-size:.85rem;color:#475569}.headcount-input{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1.1rem;text-align:center;transition:all .2s}.headcount-input:focus{border-color:#8b0000;outline:none}.registrations-list{flex:1;overflow-y:auto;padding-right:4px;max-height:400px}.registrations-list ul{list-style:none;padding:0;margin:0}.registrations-list li{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #eee}.registrations-list li:last-child{border-bottom:none}.registrations-list li .student-info{display:flex;flex-direction:column}.registrations-list li .name{font-weight:600;color:#2d3748}.registrations-list li .phone{font-size:.85em;color:#718096}.attendance-toggle{width:32px;height:32px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#cbd5e0}.attendance-toggle:hover{background-color:#f7fafc}.attendance-toggle.present{background-color:#c6f6d5;border-color:#9ae6b4;color:#22543d}.attendance-toggle.absent{background-color:#fed7d7;border-color:#feb2b2;color:#9b2c2c}.dark-mode .admin-left-col{border-right-color:#2a2a3e}.dark-mode .admin-split-view h4{color:#e8e0d5}.dark-mode .admin-stats-section{background:#1e1e32;border-color:#2a2a3e}.dark-mode .stat-box{background:#2a2a3e;border-color:#3f3f50}.dark-mode .stat-box label{color:#a0a0b0}.dark-mode .stat-box span{color:#e8e0d5}.dark-mode .headcount-input{background:#1a1a2e;border-color:#3f3f50;color:#e8e0d5}.dark-mode .headcount-input:focus{border-color:#8b0000}@media(max-width:768px){.admin-split-view{grid-template-columns:1fr;gap:2rem}.admin-left-col{border-right:none;border-bottom:1px solid #e2e8f0;padding-right:0;padding-bottom:1.5rem}.dark-mode .admin-left-col{border-bottom-color:#2a2a3e}.week-navigation .nav-arrow{display:flex!important;visibility:visible!important;opacity:1!important}}.week-nav-wrapper{display:flex;align-items:center;gap:16px;justify-content:center;position:relative;z-index:10}.btn-toggle-all{padding:10px 20px;background:#ffffff1a;border:1px solid rgba(245,230,211,.3);border-radius:10px;color:#f5e6d3;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:100px;text-align:center}.btn-toggle-all:hover{background:#fff3;color:#fff;border-color:#f5e6d380;transform:translateY(-1px);box-shadow:0 4px 12px #8c100759}.btn-toggle-all:active{transform:translateY(0)}.btn-simple-view-toggle{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:99px;color:#f8e7d5;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-simple-view-toggle:hover{background:#fff3;color:#fff}.btn-simple-view-toggle.active{background:#f8e7d5;color:#4a0404;border-color:#f8e7d5;box-shadow:0 2px 8px #0003}.room-selector-header{display:flex;align-items:center;background:#0003;padding:8px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.room-select-header{padding:6px 32px 6px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background-color:#ffffff1a;font-size:.9rem;color:#f8e7d5;font-weight:600;cursor:pointer;outline:none;min-width:180px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23F8E7D5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25em 1.25em;appearance:none;transition:all .2s ease}.room-select-header:hover{background-color:#ffffff26;border-color:#ffffff4d}.room-select-header:focus{border-color:#f8e7d5;box-shadow:0 0 0 2px #f8e7d51a;background-color:#fff3}.room-select-header option{background-color:#4a0404;color:#f8e7d5}.simple-view-container{flex:1;overflow-y:auto;background-color:#f5e6d3;padding:24px;display:flex;justify-content:center}.simple-sessions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%;max-width:1400px;align-content:start}.simple-session-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 4px #0000000d;border:1px solid #e2e8f0;border-left-width:6px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.simple-session-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.simple-session-card.registered{background-color:#f0fdf4}.simple-card-time{font-size:1.1rem;font-weight:700;color:#1e293b;letter-spacing:-.02em}.simple-card-content h4{font-size:1.25rem;font-weight:800;margin-bottom:8px;line-height:1.2}.simple-card-meta{display:flex;flex-direction:column;gap:6px;color:#64748b;font-size:.9rem}.simple-card-meta span{display:flex;align-items:center;gap:8px}.simple-card-action{position:absolute;top:16px;right:16px}.empty-state-simple{grid-column:1 / -1;text-align:center;padding:60px;color:#64748b;font-size:1.1rem;background:#ffffff80;border-radius:12px;border:2px dashed rgba(139,70,50,.2)}.day-selector-desktop-wrapper{background:#f5e6d3;position:sticky;top:0;z-index:10;box-shadow:0 4px 12px #0000000d}.day-selector-desktop-wrapper .day-selector-mobile{display:flex!important;justify-content:center;padding:16px;border-bottom:1px solid rgba(139,70,50,.1);gap:12px;background:transparent}.day-selector-desktop-wrapper .day-tab{flex:0 1 100px}.schedule-header--kiosk{padding:8px 16px;gap:4px}.schedule-header--kiosk .header-top-row{display:flex;justify-content:flex-end;align-items:center;min-height:32px}.kiosk-title{flex:1;color:#f8e7d5;font-size:1.1rem;font-weight:600}.kiosk-school-name{color:#fff}.kiosk-room-name{color:#e6a696;font-weight:400}.kiosk-exit-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#f8e7d5;padding:6px 8px;cursor:pointer;font-size:1rem;opacity:.5;transition:opacity .2s ease;display:flex;align-items:center;gap:4px}.kiosk-exit-btn:hover{opacity:1;background:#fff3}.simple-session-card.active-now{border-left-color:#ef4444!important;background:linear-gradient(135deg,#fff5f5,#fff);box-shadow:0 0 0 2px #ef444440,0 4px 12px #ef444426;animation:pulse-kiosk 2.5s ease-in-out infinite}@keyframes pulse-kiosk{0%,to{box-shadow:0 0 0 2px #ef444440,0 4px 12px #ef444426}50%{box-shadow:0 0 0 4px #ef444426,0 4px 20px #ef444440}}.kiosk-now-badge{position:absolute;top:10px;right:10px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:4px;letter-spacing:.08em;text-transform:uppercase}.full-badge{position:absolute;top:2px;right:2px;background:#dc2626;color:#fff;font-size:.5rem;font-weight:800;padding:1px 4px;border-radius:2px;letter-spacing:.05em;line-height:1.2}.class-card.queued{background:#fbbf24!important;border-left-color:#d97706!important;color:#78350f!important}.class-card.queued .class-sport,.class-card.queued .class-time,.class-card.queued .registration-count{color:#78350f!important}.class-card.class-full{opacity:.7}.registration-count.count-full{color:#dc2626!important;font-weight:800}.simple-session-card.queued{background-color:#fffbeb;border-left-color:#d97706!important}.simple-session-card.class-full{opacity:.75}.simple-card-meta .meta-full{color:#dc2626;font-weight:600}.capacity-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin-bottom:12px}.capacity-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.capacity-text{font-size:.9rem;font-weight:600;color:#334155}.capacity-full-tag{background:#dc2626;color:#fff;font-size:.65rem;font-weight:800;padding:2px 8px;border-radius:4px;letter-spacing:.05em;margin-left:auto}.capacity-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.capacity-bar-fill{height:100%;background:#10b981;border-radius:4px;transition:width .3s ease}.capacity-bar-fill.full{background:#dc2626}.queue-info{margin-top:6px;font-size:.8rem;color:#d97706;font-weight:500}.capacity-loading{margin-top:4px;font-size:.75rem;color:#94a3b8;font-style:italic}.registration-status.queued{background-color:#fffbeb;border:1px solid #fbbf24;color:#92400e}.registration-status.queued svg{color:#d97706}.registration-status.full{background-color:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.registration-status.full svg{color:#dc2626}.btn.btn-queue{background:#d97706;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center;width:100%;transition:background .2s}.btn.btn-queue:hover{background:#b45309}.btn.btn-queue:disabled{opacity:.6;cursor:not-allowed}.btn.btn-warning{background:#f59e0b;color:#78350f;border:none;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center;width:100%;transition:background .2s}.btn.btn-warning:hover{background:#d97706}.btn.btn-warning:disabled{opacity:.6;cursor:not-allowed}.dark-mode .capacity-section{background:#1e293b;border-color:#334155}.dark-mode .capacity-text{color:#cbd5e1}.dark-mode .capacity-bar{background:#334155}.dark-mode .queue-info{color:#fbbf24}.dark-mode .registration-status.queued{background-color:#422006;border-color:#92400e;color:#fbbf24}.dark-mode .registration-status.full{background-color:#450a0a;border-color:#991b1b;color:#fca5a5}.admin-school-selector{min-height:100vh;background:linear-gradient(135deg,#8b0000,#660b05,#4a0a06);padding:2rem;animation:fadeIn .5s ease-out}.selector-header{max-width:1200px;margin:0 auto 3rem;text-align:center}.header-content{margin-bottom:2rem}.title-section{margin-bottom:.5rem}.selector-header h1{font-size:2.5rem;font-weight:700;color:#e8d4b8;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.2)}.subtitle{color:#e8d4b8e6;font-size:1.1rem;margin:.5rem 0;display:flex;align-items:center;justify-content:center;gap:.75rem}.admin-tag{background:#e8d4b833;color:#e8d4b8;padding:.25rem .75rem;border-radius:50px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(232,212,184,.3)}.description{color:#e8d4b8cc;font-size:1rem;margin-top:.5rem}.search-container{position:relative;max-width:500px;margin:0 auto}.search-icon{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:#8b0000;font-size:1.25rem}.search-input{width:100%;padding:1rem 1rem 1rem 3.5rem;border:none;border-radius:50px;font-size:1rem;background:#e8d4b8;color:#4a0a06;box-shadow:0 8px 32px #0003;transition:all .3s ease}.search-input:focus{outline:none;box-shadow:0 8px 32px #00000040,0 0 0 3px #e8d4b866;transform:scale(1.01)}.search-input::placeholder{color:#8b5a5a}.schools-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.school-card{background:#e8d4b8;border-radius:20px;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1rem;border:1px solid rgba(139,0,0,.1);box-shadow:0 4px 24px #00000026;animation:slideUp .5s ease-out forwards;opacity:0;transform:translateY(20px)}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.school-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #00000040;border-color:#8b00004d;background:#f5e6d3}.card-icon{width:56px;height:56px;background:linear-gradient(135deg,#8b0000,#660b05);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#e8d4b8;font-size:1.5rem;flex-shrink:0}.card-content{flex:1}.school-name{font-size:1.25rem;font-weight:600;color:#4a0a06;margin:0 0 .75rem;line-height:1.3}.info-row{display:flex;align-items:flex-start;gap:.5rem;color:#6b4444;font-size:.9rem;margin-bottom:.5rem;line-height:1.4}.info-row svg{flex-shrink:0;margin-top:2px;color:#8b0000}.card-action{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(139,0,0,.15);color:#8b0000;font-weight:600;font-size:.9rem;opacity:0;transform:translate(-10px);transition:all .3s ease}.school-card:hover .card-action{opacity:1;transform:translate(0)}.no-results{grid-column:1 / -1;text-align:center;padding:4rem 2rem;color:#e8d4b8cc;font-size:1.1rem}.loading-screen,.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#e8d4b8}.loading-spinner{width:48px;height:48px;border:3px solid rgba(232,212,184,.3);border-top-color:#e8d4b8;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-screen{color:#f5a5a5}@media(max-width:768px){.admin-school-selector{padding:1rem}.selector-header h1{font-size:1.75rem}.subtitle{flex-direction:column;gap:.5rem}.schools-grid{grid-template-columns:1fr;gap:1rem}.school-card{padding:1.25rem}.card-action{opacity:1;transform:translate(0)}}.admin-session-page{padding:20px;margin:0;min-height:100vh;background-color:#f5e6d3;color:var(--primary-900);font-family:Inter,sans-serif}.admin-session-header{margin-bottom:24px}.back-link{display:inline-flex;align-items:center;gap:8px;background-color:var(--primary-50);border:1px solid var(--primary-100);padding:8px 16px;border-radius:6px;color:var(--primary-700);text-decoration:none;font-size:14px;font-weight:500;margin-bottom:16px;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0003}.back-link:hover{background-color:var(--primary-100);color:var(--primary-900);transform:translateY(-1px);box-shadow:0 2px 4px #0000004d}.session-title-card{background:var(--primary-50);padding:24px;border-radius:12px;box-shadow:0 4px 10px #0000004d;border-left:6px solid var(--primary-600)}.session-title-card h1{margin:0 0 16px;font-size:24px;color:var(--primary-700)}.session-meta-grid{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.meta-item{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--primary-800);background:var(--white);padding:10px 16px;border-radius:8px;white-space:nowrap;flex:1;min-width:150px;box-shadow:0 1px 2px #0000000d}.admin-session-content{display:flex;flex-direction:column;gap:24px;margin-top:24px}.admin-stat-cards-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.admin-stat-card{background:#8b0000;border:none;border-radius:16px;padding:16px;text-align:center;flex:1;min-width:140px;max-width:180px;aspect-ratio:1 / .9;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 14px #8b000066;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.admin-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #8b000080}.admin-stat-card.interactive{background:#720000}.admin-stat-card{background:linear-gradient(135deg,#a50000,#7f0000)}.admin-stat-card.interactive{background:linear-gradient(135deg,#8f0000,#600000)}.admin-stat-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffffe6;margin-bottom:8px;display:block}.admin-stat-value{font-size:2.5rem;font-weight:800;color:#fff;line-height:1;display:block;text-shadow:0 2px 4px rgba(0,0,0,.2)}.stat-card-input{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:2rem;font-weight:700;text-align:center;width:80%;padding:4px;outline:none;transition:all .2s}.stat-card-input:focus{background:#ffffff4d;border-color:#fff;box-shadow:0 0 0 2px #fff3}.stat-card-select{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;text-align:center;width:90%;padding:8px 4px;outline:none;cursor:pointer;appearance:none}.stat-card-select option{background:#fff;color:#333}.stat-card-select:focus{background:#ffffff4d;border-color:#fff}.trial-names-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:10px;background:#ffffff80;border-radius:8px}.trial-label{font-weight:600;color:var(--primary-800);font-size:14px;display:flex;align-items:center}.admin-controls-row,.headcount-wrapper,.headcount-input-group,.headcount-input,.exam-selector-inline{display:none}.participants-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(140,16,7,.08)}.admin-add-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(140,16,7,.08);position:relative}.admin-add-header h3{font-size:16px;font-weight:700;color:var(--primary-800);margin:0 0 14px;display:flex;align-items:center;gap:8px}.admin-add-header h3 svg{color:#8c1007}.admin-add-controls{display:flex;gap:10px;align-items:stretch}.admin-add-input-wrap{flex:1;position:relative;display:flex;align-items:center}.admin-add-input-wrap .add-search-icon{position:absolute;left:12px;color:#94a3b8;pointer-events:none}.admin-add-input{width:100%;padding:10px 14px 10px 34px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;background:#fff8f0;transition:all .2s}.admin-add-input:focus{outline:none;border-color:#8c1007;box-shadow:0 0 0 3px #8c10071a;background:#fff}.admin-add-input::placeholder{color:#94a3b8}.add-search-spinner{width:18px;height:18px;border:2px solid #e2e8f0;border-top:2px solid #8C1007;border-radius:50%;animation:spin .6s linear infinite;position:absolute;right:12px}.add-search-spinner.small{width:14px;height:14px;position:static}@keyframes spin{to{transform:rotate(360deg)}}.admin-add-filter-wrap{position:relative;display:flex;align-items:center;min-width:140px}.admin-add-filter-wrap .add-filter-icon{position:absolute;left:10px;color:#94a3b8;pointer-events:none;z-index:1}.admin-add-filter{width:100%;padding:10px 26px 10px 28px;border:2px solid #e2e8f0;border-radius:10px;font-size:13px;color:#1e293b;background:#fff8f0;cursor:pointer;transition:all .2s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.admin-add-filter:focus{outline:none;border-color:#8c1007;box-shadow:0 0 0 3px #8c10071a}.admin-add-results{margin-top:10px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001a;overflow:hidden;max-height:360px;overflow-y:auto}.add-result-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f1f5f9}.add-result-item:last-child{border-bottom:none}.add-result-item:hover{background:#fff8f0}.add-result-info{display:flex;flex-direction:column;gap:2px}.add-result-name{font-weight:600;font-size:14px;color:#1e293b}.add-result-school{font-size:12px;color:#64748b}.add-result-btn{width:32px;height:32px;border-radius:50%;border:none;background:#8c1007;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.add-result-btn:hover{background:#660b05;transform:scale(1.1)}.add-result-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.add-no-results{padding:20px;text-align:center;color:#94a3b8;font-size:14px;font-style:italic}.add-feedback{margin-top:10px;padding:8px 12px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;animation:feedbackFadeIn .2s ease}.add-feedback.success{background:#e8f5e9;color:#2e7d32}.add-feedback.error{background:#ffebee;color:#c62828}@keyframes feedbackFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.participants-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--primary-200)}.participants-header h3{margin:0;color:var(--primary-700)}.participants-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0;margin:0;list-style:none}@media(max-width:1200px){.participants-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.participants-list{grid-template-columns:1fr}}.participant-row{display:flex;flex-direction:column;padding:16px;background:#fff5f5;border:1px solid #feb2b2;border-radius:12px;position:relative;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d;min-height:140px;-webkit-user-select:none;user-select:none;justify-content:space-between}.participant-row:hover{transform:translateY(-4px);box-shadow:0 10px 15px #0000001a;border-color:#fc8181}.participant-row.attended{background:#f0fff4;border-color:#86efac}.participant-row.attended:hover{transform:translateY(-4px);box-shadow:0 10px 15px #22c55e26;border-color:#4ade80}.pr-header{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;padding-right:40px}.pr-name{font-size:1.15rem;font-weight:700;color:#2d3748;line-height:1.2}.participant-row.attended .pr-name{color:#14532d}.pr-belt{align-self:flex-start;padding:4px 10px;border-radius:6px;font-size:.75rem;letter-spacing:.05em;font-weight:700;text-transform:uppercase}.card-status-indicator{position:absolute;top:16px;right:16px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 2px 4px #0000001a;transition:all .2s;z-index:2}.participant-row.absent .card-status-indicator{color:#e53e3e;border:1px solid #feb2b2}.participant-row.attended .card-status-indicator{color:#16a34a;border:1px solid #86efac;background:#dcfce7}.pr-stats-row{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06);margin-top:auto}.participant-row.attended .pr-stats-row{border-top-color:#22c55e1a}.pr-stat-col{display:flex;flex-direction:column;justify-content:flex-end}.pr-stat-label{font-size:.65rem;color:#718096;text-transform:uppercase;font-weight:700;letter-spacing:.05em;margin-bottom:2px}.participant-row.attended .pr-stat-label{color:#4a5568}.pr-stat-value{font-size:.9rem;font-weight:600;color:#2d3748}.pr-progress{display:flex;flex-direction:column;justify-content:flex-end;gap:4px}.pr-progress-text{font-size:.75rem;color:#4a5568;white-space:nowrap}.pr-progress-text b{color:#2d3748;font-weight:700}.pr-progress-bar{width:100%;height:6px;background:#0000000d;border-radius:3px;overflow:hidden}.pr-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#22c55e);border-radius:3px;transition:width .4s ease}.pr-footer{margin-top:12px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.05);display:flex;justify-content:space-between;align-items:center}.pr-footer .pr-stat-label{margin-bottom:0}.pr-exam{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:8px;width:100%}.exam-btn{flex:1;text-align:center;padding:6px 4px}.toggle-btn{display:none}.sort-btn{background:none;border:1px solid transparent;cursor:pointer;color:var(--primary-600);padding:4px 8px;border-radius:4px;font-weight:500}.sort-btn:hover{background:var(--primary-100)}.sort-btn.active{color:var(--primary-800);background:var(--primary-200);font-weight:700}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--white)}.exam-select{padding:8px;border:1px solid var(--primary-300);border-radius:6px;font-size:14px;min-width:200px;background-color:var(--white);color:var(--primary-900)}.exam-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.exam-status{font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px}.exam-status.registered{background-color:#e3f2fd;color:#1565c0}.exam-status.nominated{background-color:#fff8e1;color:#f57f17}.exam-btn{padding:4px 10px;border-radius:4px;border:none;font-size:11px;font-weight:600;cursor:pointer;text-transform:uppercase;transition:background .2s}.exam-btn.nominate{background-color:var(--primary-100);color:var(--primary-800)}.exam-btn.nominate:hover{background-color:var(--primary-200)}.exam-btn.admit{background-color:var(--success-100);color:var(--success-500)}.exam-actions-inline{margin-left:auto;display:flex;gap:8px;align-items:center}.exam-btn.withdraw{background-color:var(--primary-100);color:var(--primary-600)}.exam-btn.withdraw:hover{background-color:var(--primary-200)}.belt-badge.clickable{cursor:pointer;transition:transform .1s,box-shadow .1s}.belt-badge.clickable:hover{transform:scale(1.05);box-shadow:0 2px 4px #00000026}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content.belt-modal{background:var(--white);width:90%;max-width:500px;border-radius:12px;box-shadow:0 4px 20px #0003;overflow:hidden}.modal-header{padding:16px 24px;border-bottom:1px solid var(--primary-100);display:flex;justify-content:space-between;align-items:center;background:var(--primary-50)}.modal-header h3{margin:0;font-size:18px;color:var(--primary-800)}.close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--primary-400)}.modal-body{padding:24px}.modal-desc{margin-top:0;margin-bottom:20px;color:var(--primary-600);font-size:14px}.belt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.belt-option-btn{display:flex;flex-direction:column;align-items:flex-start;padding:12px;background:var(--primary-50);border:1px solid var(--primary-100);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.belt-option-btn:hover{background:var(--primary-100);box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.belt-name{font-weight:700;font-size:14px;color:var(--primary-900);margin-bottom:4px}.belt-sessions{font-size:11px;color:var(--primary-600)}.view-toggle-divider{width:1px;height:20px;background:var(--primary-200);margin:0 4px}.participants-table{width:100%;border-collapse:collapse}.participants-table th{text-align:left;font-size:.7rem;text-transform:uppercase;color:#718096;padding:8px 12px;border-bottom:2px solid var(--primary-200);font-weight:700;letter-spacing:.05em}.participants-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle;font-size:.85rem}.participants-table tr{cursor:pointer;transition:background .15s}.participants-table tbody tr.attended{background:#f0fff4}.participants-table tbody tr.absent{background:#fff5f5}.participants-table tbody tr:hover{filter:brightness(.97)}.table-name-cell{font-weight:600;color:#2d3748}.participants-table tbody tr.attended .table-name-cell{color:#14532d}.table-exam-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.trial-name-tag{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.85rem;font-weight:600;border:1px solid #d1d5db;background:#f3f4f6;color:#6b7280}.trial-name-tag.trial-visited{background:#dcfce7;color:#14532d;border-color:#86efac}.trial-name-tag.trial-no-show{background:#fef2f2;color:#991b1b;border-color:#fca5a5}.trial-name-tag.trial-pending{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}.admit-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.admit-modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease-out;max-height:85vh}.admit-modal-header{background:#8b0000;color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:flex-start}.admit-modal-header h3{margin:0;font-size:1.25rem;font-weight:700;line-height:1.4}.admit-modal-header p{margin:4px 0 0;font-size:.9rem;opacity:.9;font-weight:400}.admit-close-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s}.admit-close-btn:hover{opacity:1}.admit-modal-body{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.admit-steps{display:flex;justify-content:center;gap:8px;margin-bottom:10px}.step-dot{width:10px;height:10px;border-radius:50%;background:#e2e8f0;transition:background .3s}.step-dot.active{background:#8b0000}.step-dot.completed{background:#22c55e}.step-title{font-size:1.1rem;font-weight:600;color:#1e293b;text-align:center;margin-bottom:16px}.trainers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.trainer-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;text-align:center}.trainer-card:hover{border-color:#cbd5e1;background:#f1f5f9;transform:translateY(-2px)}.trainer-card.selected{border-color:#8b0000;background:#fff5f5;box-shadow:0 4px 12px #8b00001a}.trainer-avatar{width:48px;height:48px;background:#e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px;color:#64748b;font-size:20px;font-weight:700}.trainer-card.selected .trainer-avatar{background:#8b0000;color:#fff}.trainer-name{font-size:.9rem;font-weight:600;color:#334155}.pin-entry-container{display:flex;flex-direction:column;align-items:center;gap:20px}.pin-display{display:flex;gap:12px;margin-bottom:10px}.pin-digit{width:40px;height:50px;border:2px solid #cbd5e1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#1e293b;background:#f8fafc}.pin-digit.filled{border-color:#8b0000;background:#fff}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:280px}.keypad-btn{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;font-size:1.25rem;font-weight:600;color:#334155;cursor:pointer;transition:all .1s;box-shadow:0 2px #cbd5e1}.keypad-btn:active{transform:translateY(2px);box-shadow:none}.keypad-btn:hover{background:#f8fafc}.keypad-btn.clear{color:#ef4444;font-size:1rem;font-weight:700;text-transform:uppercase}.keypad-btn.back{color:#64748b}.comment-section{display:flex;flex-direction:column;gap:16px}.summary-card{background:#f1f5f9;padding:16px;border-radius:8px;display:flex;align-items:center;gap:12px}.summary-avatar{width:40px;height:40px;border-radius:50%;background:#8b0000;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.summary-info{display:flex;flex-direction:column}.summary-label{font-size:.8rem;color:#64748b;text-transform:uppercase;font-weight:600}.summary-value{font-weight:700;color:#1e293b}.comment-input{width:100%;min-height:100px;padding:12px;border:2px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .2s}.comment-input:focus{outline:none;border-color:#8b0000}.admit-modal-footer{padding:24px;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;gap:12px}.btn-secondary{background:#fff;border:1px solid #cbd5e1;color:#475569;padding:12px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8fafc;border-color:#94a3b8}.btn-primary{background:#8b0000;border:none;color:#fff;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.btn-primary:hover{background:#600;transform:translateY(-1px);box-shadow:0 4px 12px #8b000033}.btn-primary:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}.error-message{color:#ef4444;font-size:.9rem;text-align:center;background:#fef2f2;padding:8px;border-radius:6px;margin-top:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
