.admin-footer{background:#f8f9fa;border-top:1px solid #dee2e6;margin-top:40px;padding:20px 0}.footer-content{max-width:1200px;margin:0 auto;padding:0 20px;text-align:center}.footer-content h4{margin:0 0 15px 0;color:var(--primary-color);font-size:16px}.footer-links{display:flex;gap:20px;justify-content:center;margin-bottom:10px;flex-wrap:wrap}.footer-link{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #dee2e6;border-radius:6px;text-decoration:none;color:var(--text-color);font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 1px 3px rgba(0,0,0,.1)}.footer-link:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.footer-note{margin:0;font-size:12px;color:#6c757d;font-style:italic}:root{--primary-color:#2c5aa0;--secondary-color:#4a90a4;--accent-color:#8FBC8F;--background-color:#f8f9fa;--text-color:#333;--border-color:#dee2e6;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545}*{box-sizing:border-box}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0;background-color:var(--background-color);color:var(--text-color);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}.header{color:#fff;text-align:center;padding:0;margin-bottom:30px;position:relative;width:100vw;margin-left:calc(-50vw + 50%)}.header p{margin:10px 0 0 0;opacity:.9}.header-image{width:100%;height:auto;min-height:200px;max-height:400px;object-fit:cover;display:block;border-radius:0}.header-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:20px 0}.header.admin-header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));padding:40px 0}.form-container{background:#fff;border-radius:10px;padding:30px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin-bottom:30px}.form-container a{word-break:break-word;overflow-wrap:break-word;hyphens:auto}.form-group{margin-bottom:20px}fieldset{border:1px solid var(--border-color);border-radius:8px;padding:20px;margin-bottom:30px;background:#fff}legend{padding:0 10px;font-weight:600;color:var(--primary-color);font-size:1.1em}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-color)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:5px;font-size:16px;transition:border-color .3s ease}.form-group input[type=checkbox]{width:auto!important;display:inline-block;margin-right:8px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:100px}.form-group input::placeholder,.form-group textarea::placeholder{color:#bbb;opacity:1}.submission-search-bar input{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:5px;font-size:16px;transition:border-color .3s ease}.submission-search-bar input:focus{outline:0;border-color:var(--primary-color)}.submission-search-bar input::placeholder{color:#bbb;opacity:1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.btn{background-color:var(--primary-color);color:#fff;padding:8px 16px;border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:600;transition:background-color .3s ease;text-decoration:none;display:inline-block;text-align:center}.btn:hover{background-color:#1e3d72}.btn-secondary{background-color:var(--secondary-color)}.btn-secondary:hover{background-color:#3a7185}.btn-success{background-color:var(--success-color)}.btn-success:hover{background-color:#218838}.btn-warning{background-color:var(--warning-color)}.btn-warning:hover{background-color:#e0a800}.btn-danger{background-color:var(--danger-color)}.btn-danger:hover{background-color:#c82333}.btn-group{display:flex;gap:10px;margin-top:20px}.alert{padding:15px;border-radius:5px;margin-bottom:20px;border-left:4px solid}.alert-success{background-color:#d4edda;border-color:var(--success-color);color:#155724}.alert-warning{background-color:#fff3cd;border-color:var(--warning-color);color:#856404}.alert-danger{background-color:#f8d7da;border-color:var(--danger-color);color:#721c24}.loading{text-align:center;padding:20px}.spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.dashboard-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.dashboard-card h3{margin-top:0;color:var(--primary-color);border-bottom:2px solid var(--border-color);padding-bottom:10px}.status-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-pending{background-color:#fff3cd;color:#856404}.status-approved{background-color:#d4edda;color:#155724}.status-rejected{background-color:#f8d7da;color:#721c24}.table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.1)}.table td,.table th{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.table th{background-color:var(--primary-color);color:#fff;font-weight:600}.table tr:hover{background-color:#f8f9fa}.required{color:var(--danger-color)}.help-text{font-size:14px;color:#6c757d;margin-top:5px}.navigation{background:#fff;padding:15px 0;border-bottom:1px solid var(--border-color);margin-bottom:30px}.nav-links{display:flex;gap:20px;list-style:none;margin:0;padding:0}.nav-links a{text-decoration:none;color:var(--text-color);font-weight:500;padding:8px 16px;border-radius:5px;transition:background-color .3s ease}.nav-links a.active,.nav-links a:hover{background-color:var(--primary-color);color:#fff}@media (max-width:768px){.form-row,.form-row-3{grid-template-columns:1fr}.dashboard{grid-template-columns:1fr}.nav-links{flex-direction:column;gap:10px}.btn-group{flex-direction:column}.header-image{object-fit:contain;max-height:none;min-height:auto;height:auto}.container{padding:10px}.footer-links{flex-direction:column;align-items:center}.footer-link{width:min(100%,260px);min-width:240px;white-space:nowrap;justify-content:center}}.hidden{display:none}.text-center{text-align:center}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.enrollment-status{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;white-space:nowrap}.enrollment-status.available{background-color:#d1f2d1;color:#2d5a2d;border:1px solid #4caf50}.enrollment-status.nearly-full{background-color:#fff3cd;color:#856404;border:1px solid #ffc107}.enrollment-status.full{background-color:#f8d7da;color:#721c24;border:1px solid #dc3545}.enrollment-status.no-limit{background-color:#e2e3e5;color:#495057;border:1px solid #6c757d}.enrollment-status small{font-size:.8em;opacity:.8;margin-left:4px}.capacity-status{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;white-space:nowrap}.capacity-status.available{background-color:#d1f2d1;color:#2d5a2d;border:1px solid #4caf50}.capacity-status.nearly-full{background-color:#fff3cd;color:#856404;border:1px solid #ffc107}.capacity-status.full{background-color:#f8d7da;color:#721c24;border:1px solid #dc3545}.capacity-status.no-limit{background-color:#e2e3e5;color:#495057;border:1px solid #6c757d}.enrollments-summary,.submissions-summary{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px;border:1px solid #e0e0e0}.submissions-header{display:flex;gap:20px;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px}.submissions-header .submissions-summary{flex:1 1 260px;margin-bottom:0}.enrollments-summary .summary-stats,.submissions-summary .summary-stats{display:flex;gap:30px;flex-wrap:wrap;justify-content:center}.enrollments-summary .stat-item,.submissions-summary .stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.enrollments-summary .stat-item strong,.submissions-summary .stat-item strong{font-size:1.8rem;font-weight:700;color:var(--primary-color);margin-bottom:4px;line-height:1}.enrollments-summary .stat-item span,.submissions-summary .stat-item span{font-size:.9rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.host-enrollment-alert{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:0;margin-bottom:20px;overflow:hidden}.host-enrollment-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;cursor:pointer;font-weight:600;color:#e67e22;background:#fef9f3;user-select:none}.host-enrollment-header:hover{background:#fdf3e6}.host-enrollment-header.all-enrolled{color:#27ae60;background:#f0faf4}.host-enrollment-header.all-enrolled:hover{background:#e3f5eb}.host-enrollment-header .toggle-arrow{font-size:.8rem;transition:transform .2s}.host-enrollment-body{padding:10px 20px 16px}.host-enrollment-item{padding:8px 0;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.host-enrollment-item:last-child{border-bottom:none}.host-classes{color:#888;font-size:.9rem}#notifications-container{position:fixed;top:20px;right:20px;z-index:10000;max-width:400px;pointer-events:none}.notification{background:#fff;border-radius:8px;padding:16px 20px;margin-bottom:10px;box-shadow:0 4px 12px rgba(0,0,0,.2);border-left:4px solid #007bff;pointer-events:auto;opacity:0;transform:translateX(100%);transition:all .3s ease-in-out;position:relative;word-wrap:break-word}.notification.show{opacity:1;transform:translateX(0)}.notification.success{border-left-color:#28a745;background:linear-gradient(135deg,#d4edda,#c3e6cb)}.notification.danger,.notification.error{border-left-color:#dc3545;background:linear-gradient(135deg,#f8d7da,#f1b0b7)}.notification.warning{border-left-color:#ffc107;background:linear-gradient(135deg,#fff3cd,#ffeaa7)}.notification.info{border-left-color:#17a2b8;background:linear-gradient(135deg,#d1ecf1,#bee5eb)}.notification-content{display:flex;align-items:center;gap:12px}.notification-icon{font-size:1.2em;flex-shrink:0}.notification.success .notification-icon::before{content:"✅"}.notification.danger .notification-icon::before,.notification.error .notification-icon::before{content:"❌"}.notification.warning .notification-icon::before{content:"⚠️"}.notification.info .notification-icon::before{content:"ℹ️"}.notification-message{flex:1;font-size:.95em;line-height:1.4}.notification-close{position:absolute;top:8px;right:12px;background:0 0;border:none;font-size:16px;cursor:pointer;opacity:.6;transition:opacity .2s}.notification-close:hover{opacity:1}.notification-progress{position:absolute;bottom:0;left:0;height:3px;background:rgba(0,0,0,.2);border-radius:0 0 8px 8px;transition:width linear}@media (max-width:768px){#notifications-container{top:10px;right:10px;left:10px;max-width:none}.notification{padding:12px 16px;margin-bottom:8px}}.migration-warning{background:#fff3cd;border:1px solid #ffeaa7;border-left:4px solid #f39c12;border-radius:8px;padding:20px;margin-bottom:20px}.migration-warning h4{margin:0 0 10px 0;color:#856404}.migration-warning ul{margin:10px 0 0 20px;color:#856404}.migration-warning li{margin-bottom:5px}.migration-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.migration-actions .btn{min-width:200px;padding:12px 20px;font-weight:500}.migration-result{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-top:20px}.migration-result h3{margin:0 0 15px 0;color:var(--primary-color)}.migration-summary{display:flex;gap:30px;flex-wrap:wrap;margin-bottom:20px;padding:15px;background:#fff;border-radius:6px;border:1px solid #e9ecef}.migration-summary .summary-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.migration-summary .summary-stat strong{font-size:1.8rem;font-weight:700;color:var(--primary-color);margin-bottom:4px;line-height:1}.migration-summary .summary-stat span{font-size:.9rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.migration-details{background:#fff;border-radius:6px;border:1px solid #e9ecef;padding:15px}.migration-details h4{margin:0 0 15px 0;color:var(--text-color)}.semester-result{padding:10px 15px;margin-bottom:8px;border-radius:4px;border-left:4px solid #6c757d}.semester-result.success{background:#d1f2d1;border-left-color:#28a745;color:#155724}.semester-result.error{background:#f8d7da;border-left-color:#dc3545;color:#721c24}.semester-result.warning{background:#fff3cd;border-left-color:#ffc107;color:#856404}.semester-result .status{font-weight:600;margin-left:10px}.migration-timestamp{text-align:center;margin-top:20px;padding-top:15px;border-top:1px solid #dee2e6;color:#666}@media (max-width:768px){.migration-actions{flex-direction:column}.migration-actions .btn{min-width:auto}.migration-summary{flex-direction:column;gap:15px}}select[multiple]{min-height:200px;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:10px;font-size:14px}select[multiple] option{padding:8px;margin:2px 0;background:#fff;border-radius:4px;border:1px solid #dee2e6}select[multiple] option:checked{background:#007bff;color:#fff}.selected-classes-preview{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:20px;margin-top:20px}.selected-classes-preview h4{color:var(--primary-color);margin:0 0 15px 0}.selected-class-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px;margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.class-summary h5{color:var(--primary-color);margin:0 0 8px 0;font-size:16px}.class-summary div{margin:4px 0;font-size:14px}.help-text{color:#666;font-size:14px;font-style:italic;margin-bottom:10px}.selected-classes-container{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:20px;margin-top:20px}.selected-classes-container h4{color:var(--primary-color);margin:0 0 15px 0}.selected-class-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px;margin-bottom:15px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.class-info h5{color:var(--primary-color);margin:0 0 10px 0;font-size:18px;border-bottom:1px solid #dee2e6;padding-bottom:8px}.class-details{font-size:14px;color:#666;margin-bottom:8px}.class-details span{margin-right:15px}.fee-info{font-size:14px;font-weight:600;color:var(--secondary-color);margin-bottom:15px}.student-info-form{background:#f1f3f4;border:1px solid #ccc;border-radius:4px;padding:15px;margin-top:15px}.student-info-form h6{color:var(--text-color);margin:0 0 12px 0;font-size:14px;font-weight:600}.student-info-form .form-row{display:flex;gap:15px;align-items:end}.student-info-form .form-group{flex:1}.student-info-form label{font-size:13px;font-weight:500}.student-info-form input{font-size:14px}.radio-group{display:flex;gap:20px;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer;padding:10px 15px;border:2px solid #dee2e6;border-radius:6px;transition:all .3s ease}.radio-label:hover{border-color:var(--primary-color);background-color:#f8f9fa}.radio-label input[type=radio]{width:auto;margin:0}.radio-label input[type=radio]:checked+span{color:var(--primary-color);font-weight:600}.radio-label input[type=radio]:checked{background-color:var(--primary-color)}.session-fields{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:20px;margin:15px 0}.session-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px;margin:10px 0;position:relative}.session-item .form-row-3{margin-bottom:10px}.remove-session{background-color:var(--danger-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;position:absolute;top:10px;right:10px}.remove-session:hover{background-color:#c82333}.fee-tier-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px;margin:10px 0;position:relative}.form-row-4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:15px;align-items:end}.remove-fee-tier{background-color:var(--danger-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;position:absolute;top:10px;right:10px}.remove-fee-tier:hover{background-color:#c82333}.children-list{margin:10px 0}.child-entry{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:12px;margin:8px 0;display:flex;align-items:center;gap:15px}.child-entry .form-group{margin-bottom:0;flex:1}.child-entry label{font-size:13px;margin-bottom:5px}.child-entry input{padding:8px;font-size:14px}.add-child-btn{background-color:var(--secondary-color);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;margin-top:10px}.add-child-btn:hover{background-color:#3a7185}.remove-child-btn{background-color:var(--danger-color);color:#fff;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;white-space:nowrap}.remove-child-btn:hover{background-color:#c82333}.fee-calculation{background:#e8f5e8;border:2px solid #c3e6c3;border-radius:6px;padding:15px;margin:15px 0;text-align:center}.fee-calculation strong{font-size:16px;color:#155724}.computed-fee{font-weight:700;font-size:18px}.grand-total{background:#fff3cd;border:3px solid #ffc107;border-radius:8px;padding:20px;margin:20px 0;text-align:center}.grand-total h4{margin:0;color:#856404;font-size:20px}.fee-tiers{font-size:14px;color:#666;margin-top:8px}.readonly-field{background-color:#f8f9fa!important;color:#6c757d;cursor:not-allowed;border-color:#dee2e6}.readonly-field:focus{border-color:#dee2e6!important;box-shadow:none}@media (max-width:768px){.radio-group{flex-direction:column;gap:10px}.form-row-4{grid-template-columns:1fr;gap:10px}.child-entry{flex-direction:column;gap:10px;align-items:stretch}.child-entry .form-group{margin-bottom:10px}.remove-fee-tier,.remove-session{position:static;margin-top:10px;align-self:flex-start}}.btn-sm{padding:6px 12px;font-size:14px}.btn-xs{padding:4px 8px;font-size:12px}.child-entry:hover,.fee-tier-item:hover,.session-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.1);border-color:var(--primary-color)}#addFeeTierBtn,#addSessionBtn{background-color:var(--secondary-color);color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;margin-top:10px;transition:background-color .3s ease}#addFeeTierBtn:hover,#addSessionBtn:hover{background-color:#3a7185}.fee-tier-item,.session-fields,.session-item{animation:fadeIn .3s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fee-tier-list{margin-bottom:15px}.fee-tier-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:15px;margin-bottom:10px;transition:all .2s ease}.fee-tier-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(0,0,0,.1)}.fee-tier-form{border:1px solid #ccc;border-radius:6px;padding:15px;margin-bottom:10px;background:#fff}.add-fee-tier-btn,.remove-fee-tier-btn{font-size:14px;padding:8px 12px;border-radius:4px;border:none;cursor:pointer;transition:background-color .3s ease}.add-fee-tier-btn{background-color:var(--secondary-color);color:#fff}.add-fee-tier-btn:hover{background-color:#3a7185}.remove-fee-tier-btn{background-color:var(--danger-color);color:#fff;margin-left:10px;min-width:32px}.remove-fee-tier-btn:hover{background-color:#c82333}.fee-tier-summary{font-size:14px;color:var(--text-color);font-weight:500}.session-list{margin-bottom:15px}.session-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:15px;margin-bottom:10px;transition:all .2s ease}.session-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(0,0,0,.1)}.session-form{border:1px solid #ccc;border-radius:6px;padding:15px;margin-bottom:10px;background:#fff}.add-session-btn,.remove-session-btn{font-size:14px;padding:8px 12px;border-radius:4px;border:none;cursor:pointer;transition:background-color .3s ease}.add-session-btn{background-color:var(--secondary-color);color:#fff}.add-session-btn:hover{background-color:#3a7185}.remove-session-btn{background-color:var(--danger-color);color:#fff;margin-left:10px;min-width:32px}.remove-session-btn:hover{background-color:#c82333}.session-count-badge{background-color:var(--warning-color);color:#333;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;margin-left:8px}.family-composition{font-weight:500;color:var(--text-color)}.adults-count,.children-list{display:inline-block;margin-right:15px}.child-age-item{background-color:#e9ecef;padding:2px 6px;border-radius:10px;font-size:12px;margin-right:4px;color:var(--text-color)}.total-family-size{font-weight:600;color:var(--primary-color)}.submission-card .card-content>div{margin-bottom:8px;line-height:1.4}.submission-card .fee-tier-summary,.submission-card .session-summary{background:rgba(139,188,143,.1);padding:4px 8px;border-radius:4px;font-size:13px;margin-top:2px}.modal-section{margin-bottom:25px}.modal-section .form-row{display:flex;gap:15px;margin-bottom:15px}.modal-section .form-row .form-group{flex:1}.form-group input[type=date],.form-group input[type=email],.form-group input[type=number],.form-group input[type=tel],.form-group input[type=text],.form-group input[type=time]{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:16px}.age-range-inline{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;margin:0}.age-select{flex:1;margin-bottom:0!important}.age-select label{display:block;margin-bottom:5px;font-size:14px}.age-select select{width:100%!important;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;transition:border-color .3s ease}.price-tier-options{display:flex;flex-direction:column;gap:15px;margin-top:10px}.price-tier-option{display:flex;align-items:center;gap:20px;padding:15px;border:1px solid #dee2e6;border-radius:6px;background:#f8f9fa;flex-wrap:wrap}.tier-checkbox{display:flex;align-items:center;gap:8px;min-width:120px}.tier-checkbox input[type=checkbox]{width:auto!important;margin:0}.tier-checkbox label{margin:0;font-weight:600;cursor:pointer}.tier-price{display:flex;align-items:center;gap:10px}.tier-price label{margin:0;font-size:14px;min-width:60px}.tier-price input{width:100px!important;padding:6px 10px;border:1px solid #ccc;border-radius:4px}.tier-ages{display:flex;align-items:center;gap:10px}.age-range-selectors{display:flex;gap:10px;align-items:center}.age-selector{display:flex;flex-direction:column;gap:5px}.age-selector label{margin:0;font-size:12px;color:#666;font-weight:400}.age-selector select{width:70px!important;padding:4px 6px;border:1px solid #ccc;border-radius:4px;font-size:14px}.form-group input:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(44,90,160,.2)}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff}.session-type-badge,.tier-count-badge{background-color:var(--secondary-color);color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;margin-left:8px}@media (max-width:768px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}.admin-table .btn-sm,.btn-sm,.btn-xs,.favorite-button,.pagination-btn{min-height:44px;min-width:44px}.modal-close{width:44px!important;height:44px!important}.modal-section .form-row{flex-direction:column;gap:10px}.fee-tier-item .form-row,.session-item .form-row{flex-direction:column;gap:10px}.remove-fee-tier-btn,.remove-session-btn{align-self:flex-start;margin-left:0;margin-top:10px}}.validation-error{color:var(--danger-color);font-size:12px;margin-top:4px;display:block}.form-group.error input{border-color:var(--danger-color);box-shadow:0 0 0 2px rgba(220,53,69,.2)}.modal-section h4{color:var(--primary-color);border-bottom:2px solid var(--accent-color);padding-bottom:8px;margin-bottom:20px}input.error{border-color:var(--danger-color)!important;box-shadow:0 0 0 2px rgba(220,53,69,.2)!important}.help-text.error{color:var(--danger-color);font-weight:500}.admin-table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.admin-table thead{background:var(--primary-color);color:#fff}.admin-table td,.admin-table th{padding:12px 15px;text-align:left;border-bottom:1px solid #dee2e6}.admin-table th{font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.admin-table td{font-size:14px}.admin-table tbody tr:hover{background-color:#f8f9fa}.admin-table tbody tr:nth-child(2n){background-color:#fafbfc}.admin-table tbody tr:nth-child(2n):hover{background-color:#f1f3f4}.admin-table .btn-sm{padding:4px 8px;font-size:12px;margin-right:5px}.semester-status{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.semester-status.open{background:#d4edda;color:#155724}.semester-status.closed{background:#f8d7da;color:#721c24}.semester-status-button{display:inline-block;padding:6px 12px;border-radius:4px;font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.semester-status-button.open{background:#d4edda;color:#155724;border-color:#c3e6cb}.semester-status-button.open:hover{background:#c3e6cb;border-color:#b1dfbb}.semester-status-button.closed{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.semester-status-button.closed:hover{background:#f5c6cb;border-color:#f1b0b7}.header h1{margin:0;font-size:2.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header h7{display:block;margin:5px 0;font-size:1.2rem;font-weight:400;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header h2{margin:10px 0 0 0;font-size:1.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.header h1{font-size:1.8rem;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%;word-break:break-word;line-height:1.2}.header h7{font-size:.9rem;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%;line-height:1.2}.header h2{font-size:1.3rem;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%;line-height:1.2}.header-overlay .container{padding:0 15px}}@media (max-width:480px){.header h1{font-size:1.5rem;white-space:normal}.header h7{font-size:.8rem;white-space:normal}.header h2{font-size:1.1rem;white-space:normal}.header-overlay .container{padding:0 10px}}.family-composition-grid{display:grid;gap:1rem;margin-bottom:1rem}.family-composition-grid.flat-fee-layout{grid-template-columns:1fr}.family-composition-grid.tiered-layout{grid-template-columns:repeat(2,1fr);grid-auto-rows:min-content}.family-member-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1rem;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.family-member-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-1px)}.member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.member-header h4{margin:0;color:var(--primary-color);font-size:1.1rem;font-weight:600}.price-tag{background:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}.member-input{display:flex;flex-direction:column}.member-input label{margin-bottom:.25rem;font-weight:500;font-size:.9rem;color:var(--text-color)}.quantity-input{width:100px;text-align:center;font-size:1.1rem;font-weight:600}.member-inputs{display:flex;flex-direction:column;gap:.75rem}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.input-col{display:flex;flex-direction:column}.input-col label{margin-bottom:.25rem;font-weight:500;font-size:.9rem;color:var(--text-color)}.member-subtotal{text-align:center;padding:.5rem;background:rgba(44,90,160,.1);border-radius:4px;color:var(--primary-color)}.error-notice,.free-class-notice{text-align:center;padding:2rem;background:#f8f9fa;border:1px solid var(--border-color);border-radius:8px;color:#6c757d;font-style:italic}.error-notice{background:#fff5f5;color:var(--danger-color);border-color:#fecaca}.total-fee-card{background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;border-color:var(--primary-color)}.total-fee-card .member-header h4{color:#fff}.total-fee-display{display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;min-height:80px}#editEnrollmentComputedFee,.total-fee-input,input.total-fee-input{font-size:26px!important;font-weight:700;text-align:center;background:0 0!important;border:none!important;color:rgba(255,255,255,.95);width:100%;outline:0!important;font-family:Arial,sans-serif;pointer-events:none;height:auto;min-height:2.5rem;box-shadow:none!important}.admin-nav{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;overflow:hidden}.nav-header{background:#f8f9fa;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dee2e6}.nav-header h3{margin:0;color:var(--primary-color)}.nav-menu{display:flex;flex-wrap:nowrap;gap:8px;padding:10px 12px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.nav-btn{background:#f8f9fa;border:1px solid #dee2e6;padding:10px 14px;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:14px;font-weight:500;flex:0 0 auto;white-space:nowrap;line-height:1.2}.nav-menu::-webkit-scrollbar{height:6px}.nav-menu::-webkit-scrollbar-thumb{background:#cbd3da;border-radius:999px}.nav-btn:hover{background:#e9ecef;border-color:#adb5bd}.nav-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.admin-section{display:none}.admin-section.active{display:block}.enrollments-grid,.submissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:20px}.enrollment-card,.submission-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1);min-width:0}.submission-card.enrollment-type-member{background:linear-gradient(180deg,rgba(37,99,235,.08),rgba(37,99,235,.02));border-color:rgba(37,99,235,.25)}.submission-card.enrollment-type-open{background:linear-gradient(180deg,rgba(180,83,9,.12),rgba(180,83,9,.04));border-color:rgba(180,83,9,.3)}.enrollment-type-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;background:rgba(0,0,0,.08);color:#333}.submission-card.enrollment-type-member .enrollment-type-badge{background:#dbeafe;color:#1e3a8a}.submission-card.enrollment-type-open .enrollment-type-badge{background:#fef3c7;color:#92400e}.submission-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.submission-card .card-header h5{margin:0;color:var(--primary-color);font-size:18px}.enrollment-card .card-content div,.submission-card .card-content div{margin:5px 0;font-size:14px;overflow-wrap:anywhere}@media (max-width:1024px){.enrollments-grid,.submissions-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.enrollments-grid,.submissions-grid{grid-template-columns:1fr;gap:14px}.enrollment-card,.submission-card{padding:14px}}.class-enrollment-link{background:0 0;border:none;padding:0;font:inherit;color:var(--primary-color);cursor:pointer;text-decoration:underline;display:inline-flex;align-items:center;gap:6px}.class-enrollment-link:hover{color:#1e3d72;text-decoration:none}.class-enrollment-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:15px}.class-enrollment-summary div{background:#f1f5f9;border-radius:6px;padding:8px 12px;font-weight:600;color:#0f172a}.class-enrollment-list{display:flex;flex-direction:column;gap:15px}.class-enrollment-item{border:1px solid #e2e8f0;border-radius:8px;padding:15px;background:#fff;box-shadow:0 2px 4px rgba(15,23,42,.05)}.class-enrollment-item-header{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:10px}.class-enrollment-meta{font-size:13px;color:#475569;text-align:right;display:flex;flex-direction:column}.class-enrollment-contact{font-size:13px;color:#475569}.class-enrollment-attendees{font-size:14px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px}.card-actions{margin-top:15px;display:flex;gap:10px;flex-wrap:wrap}.period-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin:15px 0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.detail-value{background:#f8f9fa;padding:8px 12px;border-radius:4px;border:1px solid #e9ecef;font-weight:500;min-height:20px}.detail-value a{color:var(--primary-color);text-decoration:none}.detail-value a:hover{text-decoration:underline}.period-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.period-header h4{margin:0;color:var(--primary-color)}.status-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-secondary{background:#e2e3e5;color:#383d41;border:1px solid #d6d8db}.period-details p{margin:8px 0;font-size:14px}.period-actions{margin-top:15px}.text-danger{color:#dc3545}.session-type-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;color:#fff;margin-left:8px}.enrollment-status.full{color:#dc3545}.enrollment-status.nearly-full{color:#ffc107}.enrollment-status.available{color:#28a745}.enrollment-status.no-limit{color:#6c757d}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px}.report-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .2s ease;border-left:4px solid #007bff}.report-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.15);transform:translateY(-2px)}.report-card h3{margin-top:0;color:#333;display:flex;align-items:center;gap:10px}.report-card p{color:#666;margin:10px 0 20px 0;line-height:1.5}.report-card .btn{width:100%;padding:12px;text-decoration:none;display:inline-block;text-align:center;border-radius:6px;font-weight:500;transition:background-color .2s ease;cursor:pointer;border:none}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.5);backdrop-filter:blur(3px)}.modal-content{background-color:#fefefe;margin:2% auto;padding:0;border:none;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{from{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,var(--primary-color),#4a90e2);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:24px;font-weight:600}.modal-close{background:rgba(255,255,255,.2);border:none;color:#fff;font-size:28px;font-weight:700;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.modal-close:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.modal-body{padding:20px;max-height:60vh;overflow-y:auto}.modal-footer{background:#f8f9fa;padding:15px 20px;border-top:1px solid #dee2e6;display:flex;gap:10px;justify-content:flex-end}.modal-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #eee}.modal-section:last-child{border-bottom:none;margin-bottom:0}.modal-section h4{color:var(--primary-color);margin-bottom:15px;font-size:18px}.session-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:10px;margin-bottom:8px;font-size:14px}.fee-structure{background:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;padding:12px;font-size:14px}.form-row{display:flex;gap:15px;align-items:end;margin-bottom:20px}.form-row-3{display:flex;gap:15px;align-items:end;margin-bottom:20px}.form-row-4{display:flex;gap:15px;align-items:flex-end;margin-bottom:20px}.form-row .form-group,.form-row-3 .form-group,.form-row-4 .form-group{flex:1}.form-row-4 .form-group:last-child{flex:0 0 auto}.form-row-4 .form-group:last-child{flex:0 0 auto}.body-preview{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error{color:#dc3545;font-style:italic;padding:20px;text-align:center}.table-container{overflow-x:auto}.paid-indicator{margin-left:8px;font-size:14px;opacity:.8}.card-header.has-paid-class{background:linear-gradient(135deg,#f8fff8 0,#e8f5e8 100%)}.submission-card.paid-class{background-color:#f8fff8!important;box-shadow:0 2px 8px rgba(40,167,69,.15)!important;position:relative;overflow:hidden}.submission-card.paid-class::before{content:"PAID";position:absolute;bottom:25px;right:0;font-size:48px;font-weight:700;color:rgba(40,167,69,.12);transform:rotate(-45deg);transform-origin:center;z-index:1;pointer-events:none;user-select:none}.submission-card.paid-class .card-header{background:linear-gradient(135deg,#f8fff8 0,#e8f5e8 100%)}.paid-btn{font-size:11px;padding:4px 8px;border-radius:4px;font-weight:600}.main-actions{display:flex;gap:8px;flex-wrap:wrap}.family-member-row{margin-bottom:15px}.family-member-inputs{display:flex;align-items:end;gap:15px;padding:15px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;transition:all .2s ease}.family-member-inputs:hover{background:#f1f3f4;border-color:#dee2e6}.category-group{flex:2}.category-label{font-weight:600;color:#495057;font-size:14px;display:block;margin-bottom:5px}.input-group{flex:1;display:flex;flex-direction:column}.input-group label{font-size:12px;color:#6c757d;margin-bottom:4px;font-weight:500}.input-group .form-control{height:36px;border-radius:6px;border:1px solid #ced4da;padding:6px 10px;font-size:14px}.input-group .form-control:focus{border-color:#80bdff;box-shadow:0 0 0 2px rgba(0,123,255,.25);outline:0}.subtotal-group{flex:1;display:flex;flex-direction:column}.subtotal-group label{font-size:12px;color:#6c757d;margin-bottom:4px;font-weight:500}.subtotal-display{height:36px;display:flex;align-items:center;padding:6px 10px;background:#e9ecef;border:1px solid #ced4da;border-radius:6px;font-weight:600;color:#495057;font-size:14px}.families-container{margin-top:20px}.families-summary{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-bottom:25px}.families-summary h3{margin:0 0 15px 0;color:var(--primary-color);font-size:18px}.summary-stats{display:flex;gap:30px;flex-wrap:wrap}.summary-stats span{font-size:16px;color:#495057}.summary-stats span strong{color:var(--primary-color);font-weight:600}.family-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.1)}.family-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;background:#f8f9fa;border-bottom:1px solid #dee2e6}.family-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.family-info h4{margin:0 0 8px 0;color:var(--primary-color);font-size:18px;font-weight:600}.family-contact,.family-paypal,.family-phone{margin:4px 0;font-size:14px;color:#6c757d}.family-paypal{font-style:italic}.family-actions{display:flex;align-items:center;gap:8px}.family-status-paid{color:var(--success-color);font-weight:600;font-size:14px}.family-enrollments{padding:0 20px 20px;border-top:1px solid #f1f3f5}.family-enrollments summary{display:flex;justify-content:space-between;align-items:center;margin:0;padding:20px 0 10px;cursor:pointer;list-style:none}.family-enrollments summary::-webkit-details-marker{display:none}.family-enrollments-summary{display:flex;flex-direction:column}.family-enrollments-title{color:#495057;font-size:16px;font-weight:600}.family-enrollments-meta{color:#6c757d;font-size:14px}.family-enrollments-icon{font-size:16px;transition:transform .2s ease;color:#6c757d}.family-enrollments[open] .family-enrollments-icon{transform:rotate(180deg)}.enrollment-list{margin-top:10px;display:flex;flex-direction:column;gap:12px}.family-enrollment-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid #dee2e6;border-radius:6px;background:#fff}.family-enrollment-item.paid{background:#d4edda;border-color:#c3e6cb}.family-enrollment-item.unpaid{background:#fef5e7;border-color:#f9e79f}.enrollment-class-info{display:flex;flex-direction:column;gap:4px}.enrollment-class-info strong{color:var(--primary-color);font-size:15px}.enrollment-fee,.enrollment-participants{font-size:13px;color:#6c757d}.enrollment-fee{font-weight:600;color:var(--primary-color)}.enrollment-status{display:flex;align-items:center}.status-paid{color:var(--success-color);font-weight:600;font-size:13px}.status-unpaid{color:#856404;font-weight:600;font-size:13px}.family-total{margin:0;padding:8px 12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:6px;text-align:center;font-size:15px;color:var(--primary-color);box-shadow:0 1px 3px rgba(0,0,0,.1);line-height:1.2}.family-total strong{color:var(--primary-color);font-weight:700}.enrollment-fee{font-weight:700!important;color:var(--primary-color)!important;font-size:14px!important;background:rgba(44,90,160,.1);padding:4px 8px;border-radius:4px;border:1px solid rgba(44,90,160,.2)}@media (max-width:768px){.family-header{flex-direction:column;gap:15px;align-items:flex-start}.family-right{align-self:flex-end;width:100%}.family-actions{justify-content:flex-end;width:100%}.family-total{font-size:14px;padding:6px 10px}.summary-stats{flex-direction:column;gap:10px}.family-enrollment-item{flex-direction:column;align-items:flex-start;gap:8px}.enrollment-status{align-self:flex-end}.enrollment-fee{font-size:13px!important}}.class-list-instructions{background:#e7f3ff;border:1px solid #bee5eb;border-radius:6px;padding:15px;margin-bottom:20px;text-align:center}.class-list-instructions p{margin:0 0 10px 0;color:#0c5460;font-size:16px}.class-list-controls{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:10px}.template-toggle{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.template-toggle span{font-weight:600;color:#0c5460}.template-buttons{display:flex;flex-wrap:wrap;gap:8px}.template-buttons .btn{flex:1 1 120px;min-width:100px}.class-list-controls #copyClassListBtn{width:100%}@media (min-width:640px){.class-list-controls{flex-direction:row;align-items:center}.template-toggle{flex-direction:row;align-items:center}.class-list-controls #copyClassListBtn{width:auto}}.template-buttons .btn.active{cursor:default}.class-list-content{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:15px;max-height:60vh;overflow-y:auto;font-size:14px;line-height:1.4}.class-list-content h2,.class-list-content h3{margin-top:0}.class-list-content table{font-size:13px}.calendar-sync-details details{border:1px solid #dee2e6;border-radius:6px;padding:12px 16px;margin-bottom:10px;background:#fff}.calendar-sync-details summary{font-weight:600;cursor:pointer}.calendar-sync-details ul{margin:10px 0 0 20px;padding:0}.calendar-sync-details li{margin-bottom:4px}#classListModal .modal-content{max-height:90vh;overflow:hidden;display:flex;flex-direction:column}#classListModal .modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column}#classListModal .modal-footer{flex-shrink:0;margin-top:auto}#emailTemplateModal .modal-content{max-height:90vh;overflow:hidden;display:flex;flex-direction:column}#emailTemplateModal .modal-body{flex:1;overflow-y:auto;padding:20px}#emailTemplateModal .modal-footer{flex-shrink:0;margin-top:auto}#classEnrollmentModal .modal-content,#classListModal .modal-content,#classModal .modal-content,#emailTemplateModal .modal-content,#enrollmentModal .modal-content,#semesterModal .modal-content{width:95%;max-width:1100px;max-height:92vh}#classEnrollmentModal .modal-content{max-height:90vh;overflow:hidden;display:flex;flex-direction:column;max-width:900px}#classEnrollmentModal .modal-body{flex:1;overflow-y:auto}.class-details-box{background:#f8f9fa;border:1px solid #dee2e6;border-radius:5px;padding:15px;margin-top:10px}.class-details-box h4{color:var(--primary-color);margin-top:0;margin-bottom:10px}fieldset{border:1px solid #dee2e6;border-radius:5px;padding:20px;margin:20px 0}legend{font-weight:700;color:var(--primary-color);padding:0 10px}.form-group label input[type=checkbox]{display:inline-block;width:auto;margin-right:8px;vertical-align:middle}.student-entry{border:2px solid #e9ecef;border-radius:8px;padding:20px;margin:15px 0;background:#f8f9fa;position:relative}.student-entry h4{margin:0 0 15px 0;color:var(--primary-color);display:flex;justify-content:space-between;align-items:center}.remove-student-btn{background:#dc3545;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:12px}.remove-student-btn:hover{background:#c82333}.student-classes{margin-top:15px}.class-selection{border:1px solid #dee2e6;border-radius:6px;padding:15px;margin:10px 0;background:#fff;position:relative}.class-selection h5{margin:0 0 10px 0;color:#495057}.remove-class-btn{background:#6c757d;color:#fff;border:none;padding:3px 8px;border-radius:3px;cursor:pointer;font-size:11px;position:absolute;top:10px;right:10px}.add-class-btn{background:var(--primary-color);color:#fff;border:none;padding:8px 15px;border-radius:4px;cursor:pointer;margin-top:10px}.help-text{color:#6c757d;font-style:italic;margin:0 0 15px 0}.readonly-field{background-color:#f8f9fa!important;cursor:not-allowed}.child-entry{border:1px solid #dee2e6;border-radius:6px;padding:15px;margin:10px 0;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.child-entry .form-row{align-items:center;margin-bottom:0}.class-fee-info{margin-top:10px;padding:8px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-size:14px;color:#495057}.fee-calculation{margin-top:15px;padding:10px;background-color:#e8f5e8;border:1px solid #c3e6c3;border-radius:4px;text-align:center}.grand-total-section{margin:20px 0;padding:0}.grand-total-container{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px rgba(40,167,69,.3);text-align:center}.grand-total-container h3{margin:0;font-size:1.5rem;font-weight:700}@media (max-width:768px){.grand-total-container{padding:15px}.grand-total-container h3{font-size:1.3rem}}.age-filter-dropdown{padding:8px 12px;border:1px solid #dee2e6;border-radius:6px;background-color:#fff;font-size:14px;color:#495057;cursor:pointer;min-width:200px;margin-right:10px}.age-filter-dropdown:focus{outline:0;border-color:#007bff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.class-count{font-size:14px;color:#6c757d;font-style:italic;margin-left:10px}.custom-select-container{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;max-height:600px;overflow-y:auto;overflow-x:hidden;position:relative}.custom-select-container::before{content:"📚 Scroll to view all classes";position:sticky;top:0;left:0;right:0;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;padding:8px 16px;font-size:12px;font-weight:500;text-align:center;z-index:10;border-bottom:1px solid #dee2e6}.custom-select-container::-webkit-scrollbar{width:8px}.custom-select-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.custom-select-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.custom-select-container::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.custom-select-options{display:flex;flex-direction:column;gap:0;padding:0}.class-card{border:none;border-bottom:1px solid #dee2e6;border-radius:0;background-color:#fff;transition:all .2s ease;overflow:hidden}.class-card:nth-child(2n){background-color:#f8f9fa}.class-card:hover{background-color:#e9ecef!important}.class-card.enrolled{background-color:#d4edda!important;border-left:4px solid #28a745}.class-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #dee2e6}.class-title-row{display:flex;align-items:center;gap:8px}.class-header h4{margin:0;color:var(--primary-color);font-size:1.1rem;font-weight:600;flex:1}.details-button{background-color:#007bff;color:#fff;border:none;padding:4px 8px;font-size:11px;border-radius:4px;cursor:pointer;transition:all .2s ease;font-weight:500;min-width:50px}.details-button:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,123,255,.3)}.details-button:active{transform:translateY(0)}.enrollment-toggle{display:flex;align-items:center}.enrollment-toggle label{display:flex;align-items:center;font-weight:500;color:#495057;cursor:pointer;margin:0}.enrollment-toggle input[type=checkbox]{margin-right:8px;width:18px;height:18px;cursor:pointer}.class-details{padding:12px 16px}.class-description{font-size:13px;color:#6c757d;margin-bottom:10px;line-height:1.4;max-height:60px;overflow-y:auto;overflow-x:hidden;padding-left:20px;padding-right:4px;border:1px solid transparent;border-radius:4px;transition:border-color .2s ease}.class-description:hover{border-color:#dee2e6;background-color:rgba(248,249,250,.5)}.class-description::-webkit-scrollbar{width:4px}.class-description::-webkit-scrollbar-track{background:0 0}.class-description::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.class-description::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.class-info-inline{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.info-item{padding:6px 10px;border-radius:4px;font-size:13px;white-space:nowrap;border:1px solid transparent}.schedule-info{background-color:rgba(253,126,20,.1);border-color:rgba(253,126,20,.2)}.location-info{background-color:rgba(108,117,125,.1);border-color:rgba(108,117,125,.2);max-width:350px;overflow:hidden;text-overflow:ellipsis}.age-info{background-color:rgba(32,201,151,.1);border-color:rgba(32,201,151,.2)}.fee-structure{background-color:rgba(133,100,4,.1);border-color:rgba(133,100,4,.2)}.info-item strong{color:#495057;font-weight:600}.schedule-info strong{color:#fd7e14}.location-info strong{color:#6c757d}.age-info strong{color:#20c997}.capacity-info strong{color:#6f42c1}.fee-structure strong{color:#856404}.enrollment-form{padding:12px 16px;background-color:#f0f8f0;border-top:2px solid #28a745}.enrollment-form h5{margin:0 0 10px 0;color:#28a745;font-size:1rem;font-weight:600}.children-section{margin-top:15px}.children-section label{display:block;font-weight:500;margin-bottom:10px;color:#495057}.children-list{margin-bottom:10px}.no-classes{padding:40px;text-align:center;color:#6c757d;font-style:italic;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px}@media (max-width:768px){.custom-select-container{max-height:400px}.class-header{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.class-header h4{font-size:1rem}.class-details{padding:10px 12px}.class-info-inline{flex-direction:column;align-items:flex-start;gap:8px}.info-item{font-size:12px;white-space:normal;padding:4px 8px}.enrollment-form{padding:10px 12px}}.child-age-input[style*="border-color: red"]{border-color:#dc3545!important;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.age-validation-message{margin-top:5px;font-size:12px}.email-validation-message{margin-top:5px;font-size:12px;color:#dc3545;font-weight:500}.class-description-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1000}.class-description-modal .modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.3);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.class-description-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6;background-color:#f8f9fa}.class-description-modal .modal-close{font-size:24px;cursor:pointer;color:#6c757d;background:0 0;border:none;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.class-description-modal .modal-close:hover{color:#495057}.class-description-modal .modal-body{padding:20px;max-height:60vh;overflow-y:auto}#modalClassDescription{line-height:1.6;color:#495057}.class-description-modal .modal-additional-info{margin-top:20px;padding-top:15px;border-top:1px solid #dee2e6}.class-description-modal .modal-info-item{margin-bottom:8px;font-size:14px}.class-description-modal .modal-info-item strong{color:#495057;margin-right:8px}.enrollment-categories{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.enrollment-category{border:1px solid #dee2e6;border-radius:6px;padding:8px 10px;background-color:#fff;flex:1;min-width:140px;max-width:200px}.category-header{text-align:center;margin-bottom:4px}.category-header label{font-weight:500;color:#495057;margin:0;font-size:12px;display:block;line-height:1.2}.category-price{font-weight:700;color:#28a745;font-size:11px;display:block;margin-top:2px}.category-price.free-class{color:#6c757d;background-color:#e9ecef;padding:1px 6px;border-radius:8px;font-size:10px}.category-input{text-align:center;margin-top:6px}.enrollment-quantity{width:50px;padding:4px 2px;border:1px solid #ced4da;border-radius:3px;font-size:13px;text-align:center}.input-label{display:none}@media (max-width:768px){.enrollment-categories{gap:8px}.enrollment-category{min-width:120px;max-width:150px;padding:6px 8px}.category-header label{font-size:11px}.category-price{font-size:10px}.category-price.free-class{font-size:9px;padding:1px 4px}.enrollment-quantity{width:45px;padding:3px 1px;font-size:12px}}@media (max-width:480px){.enrollment-categories{flex-direction:column;gap:6px}.enrollment-category{max-width:none;min-width:auto}}.class-actions{display:flex;gap:8px;align-items:center}.favorite-button{background:0 0;border:1px solid #dee2e6;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:16px;color:#dc3545;transition:all .2s ease;min-width:32px;height:28px;display:flex;align-items:center;justify-content:center}.favorite-button:hover:not(:disabled){background-color:#dc3545;color:#fff;border-color:#dc3545}.favorite-button:disabled{cursor:not-allowed;opacity:.5;color:#6c757d}.favorite-count{font-size:14px;margin-left:15px;padding:4px 8px;border-radius:4px;font-weight:500}.favorite-count.favorite-none{color:#6c757d;background-color:#f8f9fa}.favorite-count.favorite-partial{color:#856404;background-color:#fff3cd}.favorite-count.favorite-full{color:#155724;background-color:#d4edda}.favorite-validation-error{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:8px 12px;margin-top:8px;font-size:14px;font-weight:500}.class-card.favorited{background-color:#fff3cd!important;border-left:4px solid #ffc107}.class-card.favorited.enrolled{background:linear-gradient(135deg,#d4edda 0,#fff3cd 100%)!important;border-left:4px solid #28a745;border-right:4px solid #ffc107}@media (max-width:768px){.class-actions{gap:6px}.favorite-button{min-width:28px;height:24px;font-size:14px;padding:2px 6px}.favorite-count{font-size:12px;margin-left:10px;padding:3px 6px}}.favorite-indicator{background:linear-gradient(135deg,#dc3545,#fd7e14);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;margin-left:8px;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 2px 4px rgba(220,53,69,.3)}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin:20px 0;padding:15px;background:#f8f9fa;border-radius:5px}.pagination-info{font-size:14px;color:#666}.pagination-controls{display:flex;gap:5px}.pagination-btn{padding:5px 10px;border:1px solid #ddd;background:#fff;cursor:pointer;border-radius:4px;font-size:14px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn.active{background:#007bff;color:#fff;font-weight:700;border-color:#007bff}.pagination-btn.active:hover{background:#0056b3;border-color:#0056b3}.pagination-ellipsis{padding:5px;color:#666}@media (max-width:768px){.pagination-container{flex-direction:column;align-items:stretch;gap:10px;padding:10px;margin:15px 0;max-width:100%;overflow:hidden}.pagination-info{text-align:center;font-size:13px}.pagination-controls{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:2px}.pagination-controls::-webkit-scrollbar{height:4px}.pagination-btn{flex:0 0 auto}}.adult-checkbox-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;padding:8px 0}.adult-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.class-management-filters,.enrollment-management-filters{display:grid!important;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;align-items:end}.family-management-filters{display:grid!important;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;align-items:end}.family-management-filters .form-group{min-width:0;width:100%;margin-bottom:0}.family-management-filters button,.family-management-filters input,.family-management-filters select{width:100%;max-width:100%}.class-management-filters .form-group,.enrollment-management-filters .form-group{min-width:0;width:100%;margin-bottom:0}.class-management-filters .form-group:last-child{display:flex;align-items:flex-end}.class-management-filters button,.class-management-filters input,.class-management-filters select,.enrollment-management-filters button,.enrollment-management-filters input,.enrollment-management-filters select{width:100%;max-width:100%}@media (max-width:1100px){.class-management-filters,.enrollment-management-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.class-management-filters,.enrollment-management-filters{grid-template-columns:1fr}.family-management-filters{grid-template-columns:1fr}}@media (max-width:768px){#classModal .form-row{flex-direction:column;align-items:stretch;gap:10px}#classModal .form-row .form-group{width:100%}}@media (max-width:768px){.submission-card .card-actions{display:block;width:100%}.submission-card .main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.submission-card .card-actions .btn{width:100%;margin:0}.submission-card .paid-btn{width:100%}.submission-card.enrollment-type-member .card-actions,.submission-card.enrollment-type-open .card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media (max-width:768px){.form-container{padding:16px 14px}#refreshEnrollmentsBtn{width:100%}.submission-search-bar input{width:100%;max-width:100%;display:block}}