body{background:linear-gradient(135deg,#667eea,#764ba2);margin:0;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{padding:20px}.card{border-radius:10px;box-shadow:0 4px 6px #0000001a;margin:20px 0;padding:30px}.form-group label{margin-bottom:5px}.form-group input,.form-group select{border:2px solid #e1e5e9;border-radius:6px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}.btn{background:linear-gradient(135deg,#667eea,#764ba2);transition:transform .2s ease}.btn:hover{transform:translateY(-2px)}.user-type-badge{border-radius:20px;display:inline-block;font-size:12px;padding:4px 12px}.user-type-badge.admin{background:#dc3545}.user-type-badge.teacher{background:#17a2b8}.user-type-badge.parent{background:#28a745}.user-type-badge.student{background:#ffc107;color:#333}.header{background:#fff;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px 0}.header h1{color:#333;margin:0;text-align:center}.nav{display:flex;gap:20px;justify-content:center;margin-top:20px}.nav a{border-radius:6px;color:#667eea;font-weight:600;padding:10px 20px;text-decoration:none;transition:background-color .3s ease}.nav a:hover{background-color:#f8f9fa}.user-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.user-card{background:#fff;border-left:4px solid #667eea;border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:20px}.user-card h3{color:#333;margin:0 0 10px}.user-card p{color:#666;margin:5px 0}.loading{color:#666}.error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.error,.success{margin:20px 0;padding:15px}.success{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:0 auto;max-width:1200px;padding:1rem 2rem}.header-title{color:#fff;font-size:1.5rem;font-weight:700;margin:0;white-space:nowrap}.header .nav{align-items:center;display:flex;flex:1 1;gap:1.5rem;margin-left:2rem}.header .nav a{color:#fff;font-weight:500;text-decoration:none;transition:opacity .2s;white-space:nowrap}.header .nav a:hover{opacity:.8}.user-type-badge{border-radius:12px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.user-type-badge.admin{background-color:#ff6b6b;color:#fff}.user-type-badge.teacher{background-color:#4ecdc4;color:#fff}.user-type-badge.parent{background-color:#45b7d1;color:#fff}.user-type-badge.student{background-color:#96ceb4;color:#fff}.header .btn-secondary{background-color:#fff3;border:1px solid #ffffff4d;color:#fff;padding:.5rem 1rem;white-space:nowrap}.header .btn-secondary:hover{background-color:#ffffff4d;border-color:#ffffff80}@media (max-width:992px){.header-container{align-items:flex-start;flex-direction:column}.header .nav{flex-wrap:wrap;margin-left:0;width:100%}.header-title{font-size:1.3rem}}@media (max-width:768px){.header{display:none!important}.header-container{padding:1rem}.header-title{font-size:1.2rem}.header .nav{gap:1rem}.header .nav>div{align-items:flex-start!important;flex-direction:column;gap:.5rem!important;margin-left:0!important;width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,.login-page{min-height:100vh}.login-page{background:#f5f5f5;display:flex;flex-direction:column}.login-header{padding:2rem 2.5rem;width:100%}.login-header,.login-header.desktop-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);box-shadow:0 2px 8px #0000001a;color:#fff}.login-header.desktop-header{padding:25px 30px}.mobile-login-branding{display:none}.login-page-footer{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;flex-shrink:0;margin-top:auto;padding:2rem 1.5rem;text-align:center;width:100%}.login-footer-content{margin:0 auto;max-width:1200px}.login-footer-content h3{color:#fff;font-size:1.25rem;font-weight:700;margin:0 0 1rem}.login-footer-details{font-size:.9rem;line-height:1.8;opacity:.95}.login-footer-details p{color:#fff;margin:.5rem 0}.login-footer-details a{color:#fff;text-decoration:underline;transition:opacity .2s ease}.login-footer-details a:hover{opacity:.8}.login-header-content{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px}.login-logo-section{align-items:center;color:#fff;display:flex;gap:20px}.oara-logo{flex-shrink:0;height:75px;object-fit:contain;width:83px}.login-title-section h1{color:#fff;font-size:1.8rem;font-weight:700;letter-spacing:.5px;line-height:1.3;margin:0 0 8px}.login-subtitle{color:#fff;font-size:1rem;margin:0;opacity:.95}.login-contact-info{color:#fff;font-size:.9rem;line-height:1.7;text-align:right}.login-contact-info p{color:#fff;margin:5px 0;opacity:.95}.login-contact-info a{color:#fff;opacity:.95;text-decoration:underline}.login-contact-info a:hover{opacity:1}.container{align-items:center;display:flex;flex:1 1;justify-content:center;margin:0 auto;max-width:1200px;min-height:0;padding:2rem}.card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;padding:2rem;width:100%}.login-form-title{font-size:1.75rem;font-weight:700}.login-form-title,h2{color:#333;margin-bottom:1.5rem;text-align:center}.login-footer{margin-top:1.5rem;text-align:center}.login-footer p{color:#666;font-size:.95rem;margin:0}.create-account-link{color:#3b82f6;font-weight:600;text-decoration:none;transition:color .2s ease}.create-account-link:hover{color:#2563eb;text-decoration:underline}.form-group,.form-row{margin-bottom:1.5rem}.form-row{grid-gap:1rem;gap:1rem}label{color:#555;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}input,select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}input:focus,select:focus{border-color:#007bff;outline:none}.form-group small{color:#666;font-size:.8rem;margin-top:.25rem}.btn{background-color:#007bff;border-radius:4px;color:#fff;padding:.875rem;width:100%}.btn:hover:not(:disabled){background-color:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.btn-login{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66;font-size:1.05rem;font-weight:600;padding:1rem}.btn-login:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a3f8f);box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.btn:disabled{background-color:#ccc}.btn-secondary{background-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-danger{background-color:#dc3545}.btn-danger:hover:not(:disabled){background-color:#c82333}.link-button{color:#007bff;font-size:.9rem}.link-button:hover:not(:disabled){color:#0056b3}.link-button:disabled{color:#ccc;cursor:not-allowed;text-decoration:none}a{color:#007bff;text-decoration:none}a:hover{text-decoration:underline}table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;width:100%}td,th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}th{background-color:#f8f9fa;color:#333;font-weight:600}tr:last-child td{border-bottom:none}.status-badge{padding:.25rem .75rem}.status-active{background-color:#d4edda}.status-inactive{background-color:#f8d7da;color:#721c24}.actions{display:flex;gap:.5rem}.actions button{font-size:.875rem;padding:.5rem 1rem}@media (max-width:768px){.form-row{grid-template-columns:1fr}.login-header.desktop-header{display:none!important}.login-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);box-shadow:0 2px 8px #0000001a;color:#fff;padding:1rem 1.25rem}.login-header-content{display:flex;flex-direction:column;gap:1rem;max-width:100%}.login-logo-section{align-items:center;display:flex;gap:12px}.oara-logo{flex-shrink:0;height:45px;width:50px}.login-title-section h1{color:#fff;font-size:1.1rem;font-weight:700;line-height:1.2;margin:0}.login-subtitle{color:#fff;font-size:.75rem;margin:0;opacity:.9}.login-contact-info{color:#fff;font-size:.7rem;line-height:1.4;opacity:.9;text-align:left}.login-contact-info p{margin:2px 0}.login-contact-info strong{font-size:.75rem}.mobile-login-branding{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;flex-direction:column;margin-bottom:2rem;padding-bottom:2rem;text-align:center}.mobile-logo{height:63px;margin-bottom:1rem;object-fit:contain;width:70px}.mobile-login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;letter-spacing:-.5px;margin:0 0 .5rem}.mobile-login-subtitle{color:#6b7280;font-size:.95rem;font-weight:500;margin:0}.login-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:0}.container{align-items:flex-start;display:flex;flex:1 1 auto;justify-content:center;padding:1rem 1.5rem;width:100%}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d;margin:1rem 0;max-width:420px;padding:1.5rem 1.25rem;width:100%}.mobile-login-branding{margin-bottom:1.25rem;padding-bottom:1.25rem}.mobile-logo{height:54px;margin-bottom:.75rem;width:60px}.mobile-login-title{font-size:1.75rem;margin-bottom:.25rem}.mobile-login-subtitle{font-size:.85rem}.login-form-title{color:#1f2937;font-size:1.5rem;font-weight:700}.form-group,.login-form-title{margin-bottom:1.25rem}.form-group label{color:#374151;display:block;font-size:.9rem;font-weight:600;margin-bottom:.4rem}.form-group input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;padding:.875rem;transition:all .3s ease;width:100%}.form-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.btn-login{border-radius:10px;font-size:1rem;letter-spacing:.2px;margin-top:.25rem;padding:.95rem}.login-footer{border-top:1px solid #e5e7eb;margin-top:1.25rem;padding-top:1rem}.login-footer p{color:#6b7280;font-size:.85rem}.create-account-link{color:#667eea;font-weight:600}.login-page-footer{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;flex-shrink:0;font-size:.75rem;line-height:1.5;margin-top:auto;padding:1rem 1.25rem;text-align:center;width:100%}.login-footer-content{max-width:100%}.login-footer-content h3{color:#fff;font-size:.85rem;font-weight:700;margin-bottom:.5rem}.login-footer-details{font-size:.75rem;line-height:1.5}.login-footer-details p{margin:.25rem 0}table{font-size:.875rem}td,th{padding:.75rem .5rem}.actions{flex-direction:column}}.Toastify__toast{border-radius:8px}.Toastify__toast--success{background-color:#28a745}.Toastify__toast--error{background-color:#dc3545}.Toastify__toast--info{background-color:#17a2b8}.modal-overlay{background-color:#00000080}.modal-content{position:relative}.modal-header .close-button{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;padding:0;transition:color .2s;width:30px}.modal-header .close-button:hover{color:#333}.modal-body{padding:25px}.form-actions{gap:10px;margin-top:20px}.form-actions button{min-width:100px}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{border-radius:8px;max-height:95vh;max-width:100%;width:100%}.modal-header{padding:15px 20px}.modal-header h2{font-size:1.25rem}.modal-body{padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}.invoice-card{background:#fff;border-left:4px solid #3498db;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.invoice-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.invoice-card.overdue{background:#fff5f5;border-left-color:#e74c3c}.invoice-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.invoice-card-title{flex:1 1}.invoice-card-title h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 8px}.invoice-card-amount{text-align:right}.amount-label{color:#7f8c8d;display:block;font-size:.85rem;margin-bottom:4px}.amount-value{color:#2c3e50;display:block;font-size:1.5rem;font-weight:700}.invoice-card-body{margin-bottom:15px}.invoice-card-info{display:flex;flex-direction:column;gap:8px}.info-row{align-items:center;display:flex;justify-content:space-between}.info-label{color:#7f8c8d;font-size:.9rem}.info-value{color:#2c3e50;font-size:.9rem}.info-value.overdue-date{color:#e74c3c;font-weight:600}.info-value.balance-due{color:#e74c3c;font-size:1rem;font-weight:700}.invoice-card-actions{border-top:1px solid #ecf0f1;flex-wrap:wrap;justify-content:space-between;padding-top:15px}.invoice-actions-left,.invoice-actions-right,.invoice-card-actions{align-items:center;display:flex;gap:8px}.btn-icon{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;display:inline-flex;height:36px;justify-content:center;min-width:36px;padding:8px 12px;transition:all .2s ease}.btn-icon:hover{background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.btn-icon-primary{background:#667eea;border-color:#667eea;color:#fff}.btn-icon-primary:hover{background:#5568d3;border-color:#5568d3}.btn-icon-danger{background:#fee;border-color:#fcc;color:#c33}.btn-icon-danger:hover{background:#fdd;border-color:#faa}.btn-icon-status{align-items:center;background:#0000;border:1px solid #dee2e6;display:inline-flex;font-size:.85rem;gap:4px;padding:4px 8px}.status-menu-container{position:relative}.status-menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.status-menu{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:150px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.status-menu-item{color:#2c3e50;cursor:pointer;font-size:.9rem;padding:10px 16px;transition:background .2s ease}.status-menu-item:hover{background:#f8f9fa}.status-menu-item.active{background:#667eea;color:#fff;font-weight:600}.invoice-card-actions .btn-sm{flex:1 1;font-size:13px;max-width:120px;min-width:80px;padding:8px 12px;white-space:nowrap}.payment-plan-card{background:#fff;border-left:4px solid #9b59b6;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.payment-plan-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.payment-plan-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.payment-plan-card-title h3{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px}.payment-plan-card-body{margin-bottom:15px}.payment-plan-card-info{display:flex;flex-direction:column;gap:8px}.progress-container{align-items:center;display:flex;flex:1 1;gap:10px}.progress-bar{background:#ecf0f1;flex:1 1}.progress-fill{background:linear-gradient(90deg,#3498db,#2980b9)}.progress-text{color:#7f8c8d;font-size:.85rem;white-space:nowrap}.payment-plan-card-actions{border-top:1px solid #ecf0f1;display:flex;gap:10px;padding-top:15px}.status-paid{background:#d4edda;color:#155724}.status-partially-paid{background:#fff3cd;color:#856404}.status-sent{background:#cce5ff;color:#004085}.status-overdue{background:#f8d7da;color:#721c24}.status-draft{background:#e2e3e5;color:#383d41}.status-cancelled{background:#f8d7da;color:#721c24}.status-completed{background:#d1ecf1;color:#0c5460}.status-paused{background:#fff3cd;color:#856404}.invoice-list-container{padding:20px}.invoice-list-filters{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px}.filter-group label{font-weight:500;white-space:nowrap}.filter-input,.filter-select{border:1px solid #ddd;border-radius:6px;font-size:.9rem;min-width:150px;padding:8px 12px}.filter-input:focus,.filter-select:focus{box-shadow:0 0 0 3px #3498db1a}.invoice-list-stats{color:#7f8c8d;font-size:.9rem;margin-bottom:15px}.invoice-list-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.payment-history-container{padding:20px}.payment-history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.payment-history-header h3{color:#2c3e50;margin:0}.payment-history-filters{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px}.payment-history-table{overflow-x:auto}.payment-history-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.payment-history-table thead{background:#3498db;color:#fff}.payment-history-table th{font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:12px 15px;text-align:left;text-transform:uppercase}.payment-history-table td{border-bottom:1px solid #ecf0f1;color:#2c3e50;padding:12px 15px}.payment-history-table tbody tr:hover{background:#f8f9fa}.payment-history-table tbody tr:last-child td{border-bottom:none}.empty-state{padding:60px 20px}.empty-state p{font-size:1.1rem;margin:0}.loading{color:#7f8c8d;padding:40px;text-align:center}.error-message{border-radius:8px;margin:20px 0}.btn{padding:8px 16px}.modal-content{border-radius:12px;box-shadow:0 10px 40px #0003;max-width:900px}.modal-header{border-bottom:1px solid #ecf0f1}.modal-header h2{color:#2c3e50}.modal-close{align-items:center;color:#7f8c8d;display:flex;font-size:2rem;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{background:#ecf0f1;color:#2c3e50}.modal-footer{border-top:1px solid #ecf0f1;padding:20px 30px}.modal-actions{gap:10px}.invoice-detail-modal{max-width:1000px}.invoice-detail-header{grid-gap:30px;border-bottom:2px solid #ecf0f1;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:30px;padding-bottom:20px}.invoice-detail-info,.invoice-detail-summary{display:flex;flex-direction:column;gap:10px}.invoice-detail-summary{background:#f8f9fa;border-radius:8px;padding:20px}.summary-row{align-items:center;display:flex;justify-content:space-between}.summary-label{color:#7f8c8d;font-weight:500}.summary-value{color:#2c3e50;font-weight:600}.summary-value.total-amount{color:#3498db;font-size:1.3rem}.summary-value.balance-due{color:#e74c3c;font-size:1.2rem}.invoice-detail-tabs{border-bottom:2px solid #ecf0f1;display:flex;gap:10px;margin-bottom:20px}.tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:#7f8c8d;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s ease}.tab-button:hover{color:#2c3e50}.tab-button.active{border-bottom-color:#3498db;color:#3498db}.invoice-detail-content{margin-top:20px}.invoice-items-table{border-collapse:collapse;margin-bottom:20px;width:100%}.invoice-items-table th{background:#f8f9fa;border-bottom:2px solid #ecf0f1;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.invoice-items-table td{border-bottom:1px solid #ecf0f1;color:#2c3e50;padding:12px}.invoice-items-table tbody tr:hover,.invoice-notes{background:#f8f9fa}.invoice-notes{border-radius:8px;margin-top:20px;padding:15px}.invoice-notes h4{color:#2c3e50;margin:0 0 10px}.invoice-notes p{color:#7f8c8d;margin:0}.admin-billing-dashboard,.parent-billing-dashboard{padding:20px}.billing-dashboard-header{margin-bottom:30px}.billing-dashboard-header h2{color:#2c3e50;font-size:2rem;margin:0 0 10px}.billing-dashboard-header p{color:#7f8c8d;font-size:1.1rem;margin:0}.billing-dashboard-nav{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;padding:10px}.billing-nav-tab{background:#0000;border:none;border-radius:8px;color:#7f8c8d;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.billing-nav-tab:hover{background:#f8f9fa;color:#2c3e50}.billing-nav-tab.active{background:#3498db;box-shadow:0 2px 8px #3498db4d;color:#fff}.billing-dashboard-content{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:30px}.billing-overview-section{display:flex;flex-direction:column;gap:30px}.billing-overview-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.overview-stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;padding:25px}.overview-stat-card h3{font-size:1rem;font-weight:500;margin:0 0 10px;opacity:.9}.overview-stat-card .stat-value{font-size:2rem;font-weight:700;margin:0}.billing-overview-recent{margin-top:20px}.billing-overview-recent h3{color:#2c3e50;margin:0 0 20px}.section-header h3{margin:0}.payment-plans-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.payment-method-selector{padding:20px}.payment-method-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.payment-method-selector-header h3{color:#2c3e50;margin:0}.payment-methods-list{display:flex;flex-direction:column;gap:15px}.payment-method-item{align-items:center;border:2px solid #ecf0f1;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:all .2s ease}.payment-method-item:hover{background:#f8f9fa;border-color:#3498db}.payment-method-item.selected{background:#e8f4f8;border-color:#3498db}.payment-method-info{align-items:center;display:flex;gap:15px}.payment-method-icon{font-size:2rem}.payment-method-details{display:flex;flex-direction:column}.payment-method-name{color:#2c3e50;font-weight:600}.payment-method-expiry{color:#7f8c8d;font-size:.85rem}.payment-method-actions{align-items:center;display:flex;gap:10px}.default-badge{background:#d4edda;border-radius:12px;color:#155724;font-size:.75rem;font-weight:600;padding:4px 12px}.overdue-alerts-container{background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;margin-bottom:20px;padding:20px}.overdue-alerts-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.overdue-alerts-title{align-items:center;display:flex;gap:10px}.overdue-alerts-title h3{color:#856404;margin:0}.alert-icon{font-size:1.5rem}.overdue-alerts-summary{align-items:flex-end;display:flex;flex-direction:column}.overdue-count{color:#856404;font-weight:600}.overdue-amount{color:#856404;font-size:1.3rem;font-weight:700}.overdue-alerts-body{margin-bottom:15px}.overdue-alerts-message{color:#856404;margin:0 0 15px}.overdue-invoices-preview{display:flex;flex-direction:column;gap:8px}.overdue-invoice-item{background:#fff;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.invoice-number{color:#2c3e50;font-weight:600}.invoice-balance{color:#e74c3c;font-weight:700}.overdue-more{color:#7f8c8d;font-style:italic;padding:8px 12px}.overdue-alerts-actions{display:flex;gap:10px}.billing-stats-container{padding:20px}.billing-stats-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.billing-stats-header h3{color:#2c3e50;margin:0}.date-range-select{border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:8px 12px}.stat-card.revenue-card{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.payments-card{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.outstanding-card{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.overdue-card{background:linear-gradient(135deg,#fa709a,#fee140)}.stat-content h3{font-size:2rem}.stat-content p{font-size:.9rem}.stat-subtext{font-size:.85rem!important;opacity:.8!important}@media (max-width:768px){.invoice-list-grid,.payment-plans-grid{grid-template-columns:1fr}.invoice-list-filters,.payment-history-filters{flex-direction:column}.filter-group,.filter-input,.filter-select{width:100%}.payment-history-table{font-size:.85rem}.payment-history-table td,.payment-history-table th{padding:8px 10px}.invoice-detail-header{grid-template-columns:1fr}.billing-dashboard-nav{flex-direction:column}.billing-nav-tab{text-align:left;width:100%}.modal-content{margin:10px;max-width:100%}.section-header{align-items:flex-start;flex-direction:column;gap:15px}}.billing-modal{max-width:1000px}.billing-modal form{padding:30px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;transition:border-color .2s ease}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.searchable-select-container{position:relative;width:100%}.searchable-select-input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:.95rem;padding:10px 12px;transition:border-color .2s ease;width:100%}.searchable-select-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.searchable-select-input:disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.searchable-select-overlay{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.searchable-select-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-x:hidden;overflow-y:auto;position:absolute;right:0;top:100%;z-index:999}.searchable-select-option{border-bottom:1px solid #f0f0f0;color:#2c3e50;cursor:pointer;font-size:.95rem;padding:12px 16px;transition:background .2s ease}.searchable-select-option:last-child{border-bottom:none}.searchable-select-option:hover{background:#f8f9fa}.searchable-select-option.selected{background:#e3f2fd;font-weight:600}.searchable-select-option.no-results{color:#999;cursor:default;font-style:italic}.searchable-select-option.no-results:hover{background:#fff}.searchable-select-option .parent-email{color:#666;font-size:.9rem;font-weight:400}.searchable-select-option strong{color:#2c3e50;font-weight:600}.invoice-items-section{background:#f8f9fa;border-radius:8px;margin:30px 0;padding:20px}.invoice-items-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.invoice-items-section .section-header h3{color:#2c3e50;margin:0}.invoice-item-row{grid-gap:15px;align-items:end;background:#fff;border:1px solid #e9ecef;border-radius:6px;display:grid;gap:15px;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;margin-bottom:15px;padding:15px}.invoice-totals{background:#f8f9fa;border-radius:8px;border-top:2px solid #3498db;margin-top:30px;padding:20px}.total-row{align-items:center;display:flex;font-size:1rem;justify-content:space-between;padding:10px 0}.total-row.total-final{border-top:2px solid #3498db;font-size:1.2rem;margin-top:10px;padding-top:15px}.total-row span:last-child{color:#2c3e50;font-weight:600}.total-row.total-final span:last-child{color:#3498db;font-size:1.5rem}@media (max-width:768px){.form-row,.invoice-item-row{grid-template-columns:1fr}.invoice-item-row{gap:10px}.invoice-item-row .form-group{width:100%}}.camp-form-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.camp-form-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.camp-form-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e9ecef;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.camp-form-header h2{font-size:24px;margin:0}.close-btn{font-size:24px}.form-steps{background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:30px 30px 20px}.step{cursor:pointer;flex:1 1;position:relative;text-align:center;transition:all .3s}.step:not(:last-child):after{background:#dee2e6;content:"";height:2px;position:absolute;right:-50%;top:15px;width:100%;z-index:0}.step.completed:not(:last-child):after{background:#28a745}.step-icon{align-items:center;background:#dee2e6;border-radius:50%;color:#6c757d;display:flex;font-size:24px;height:50px;justify-content:center;margin:0 auto 8px;position:relative;transition:all .3s;width:50px;z-index:1}.step.active .step-icon{background:#007bff;box-shadow:0 4px 12px #007bff66;color:#fff;transform:scale(1.1)}.step.completed .step-icon{background:#28a745;color:#fff}.step-label{color:#6c757d;font-size:13px;font-weight:600}.step.active .step-label{color:#007bff}.step.completed .step-label{color:#28a745}.camp-form-body{flex:1 1;overflow-y:auto;padding:30px}.form-step h3{color:#2c3e50;font-size:22px;margin:0 0 20px}.form-step h4{border-bottom:2px solid #e9ecef;color:#495057;font-size:16px;margin:25px 0 15px;padding-bottom:8px}.form-group label{color:#495057}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;font-family:inherit;font-size:14px;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group small{color:#6c757d;display:block;font-size:12px;margin-top:5px}.form-row{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.checkbox-group label{align-items:center;color:#495057;cursor:pointer;display:flex;font-weight:600;gap:10px}.checkbox-group input[type=checkbox]{cursor:pointer;height:20px;width:20px}.pricing-info{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;margin-top:20px;padding:15px}.pricing-info h4{border:none;color:#06c;margin:0 0 10px;padding:0}.pricing-info ul{margin:0;padding-left:20px}.pricing-info li{color:#495057;margin:5px 0}.summary-box{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px}.summary-box h4{border:none;margin:0 0 15px;padding:0}.summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.summary-grid div{color:#495057;font-size:14px}.summary-grid strong{color:#2c3e50}.camp-form-footer{align-items:center;background:#f8f9fa;border-radius:0 0 12px 12px;border-top:2px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 30px}.footer-actions{display:flex;gap:10px}.btn-outline{background:#fff;border:2px solid #007bff;color:#007bff}.btn-outline:hover{background:#007bff}@media (max-width:768px){.camp-form-container{margin:10px;max-height:95vh}.camp-form-header{padding:20px}.form-steps{overflow-x:auto;padding:20px 15px}.step-icon{font-size:20px;height:40px;width:40px}.step-label{font-size:11px}.camp-form-body{padding:20px}.form-row{grid-template-columns:1fr}.camp-form-footer{flex-direction:column;gap:10px}.footer-actions{width:100%}.footer-actions button{flex:1 1}}.camp-management{margin:0 auto;max-width:1400px;padding:20px}.camp-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.camp-header h2{color:#2c3e50;font-size:28px;margin:0}.camp-header .subtitle{color:#6c757d;font-size:14px;margin:5px 0 0}.camp-filters{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:25px;padding:15px}.filter-group{align-items:center;gap:10px}.filter-group label{color:#495057;font-size:14px}.filter-group select{border:1px solid #ced4da;border-radius:6px;font-size:14px;min-width:150px}.filter-stats{display:flex;gap:20px;margin-left:auto}.stat-item{color:#6c757d;font-size:14px}.stat-item strong{color:#2c3e50;font-size:18px;margin-right:5px}.loading-state{text-align:center}.spinner{border-top-color:#007bff;height:50px;margin:0 auto 20px;width:50px}.empty-icon{font-size:80px}.empty-state h3{color:#2c3e50;margin-bottom:10px}.empty-state p{color:#6c757d;margin-bottom:25px}.camps-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.camp-card{background:#fff;display:flex;flex-direction:column;overflow:hidden}.camp-card:hover{box-shadow:0 4px 12px #0000001a}.camp-card-header{align-items:flex-start;background:linear-gradient(135deg,#6a11cb,#2575fc);color:#fff;display:flex;justify-content:space-between;padding:20px}.camp-card-header h3{font-size:20px;font-weight:600;margin:0 0 8px}.camp-theme{font-size:13px;line-height:1.4;margin:0;opacity:.9}.badge{border-radius:20px;font-size:12px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.badge-success{background:#28a745;color:#fff}.badge-warning{background:#ffc107;color:#333}.badge-info{background:#17a2b8;color:#fff}.badge-secondary{background:#6c757d;color:#fff}.badge-danger{background:#dc3545;color:#fff}.badge-purple{background:#6f42c1;color:#fff}.camp-card-body{flex:1 1;padding:20px}.camp-info-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-size:14px;justify-content:space-between;padding:10px 0}.camp-info-row:last-child{border-bottom:none}.info-label{color:#495057}.tier-badge{background:#e7f3ff;color:#06c;font-size:12px;padding:4px 10px}.camp-capacity{border-top:2px solid #f0f0f0;margin-top:15px;padding-top:15px}.capacity-bar{background:#e9ecef;border-radius:10px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.capacity-fill{background:linear-gradient(90deg,#28a745,#20c997);border-radius:10px;height:100%;transition:width .3s ease}.capacity-text{color:#6c757d;font-size:13px}.camp-card-footer{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:10px;padding:15px 20px}.btn{font-size:14px;gap:8px}.btn:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.btn-primary{background:#007bff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary:hover:not(:disabled){background:#545b62}.btn-success{background:#28a745}.btn-success:hover:not(:disabled){background:#218838}.btn-warning{background:#ffc107;color:#333}.btn-warning:hover:not(:disabled){background:#e0a800}.btn-danger:hover:not(:disabled){background:#c82333}.btn-sm{font-size:13px;padding:6px 14px}@media (max-width:768px){.camp-header{align-items:flex-start;flex-direction:column;gap:15px}.camp-filters{align-items:stretch;flex-direction:column}.filter-stats{flex-direction:column;gap:10px;margin-left:0}.camps-grid{grid-template-columns:1fr}.camp-card-footer{flex-direction:column}.camp-card-footer .btn{justify-content:center;width:100%}}.competition-management{padding:20px}.competition-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.competition-header h2{color:#333;font-size:28px;margin:0 0 10px}.competition-header p{color:#666;font-size:14px;margin:0}.competition-filters{background:#f8f9fa;border-radius:12px;display:flex;gap:20px;margin-bottom:30px;padding:20px}.filter-group label{color:#555;font-size:13px}.filter-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;min-width:180px;padding:8px 12px}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner{border:4px solid #f3f3f3}.empty-state{background:#f8f9fa;border:2px dashed #ddd;border-radius:12px;padding:80px 20px}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-state h3{color:#333;margin:0 0 10px}.empty-state p{color:#666;margin:0 0 30px}.competitions-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.competition-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;overflow:hidden;transition:all .3s ease}.competition-card:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-2px)}.competition-card-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:20px}.competition-title{align-items:center;display:flex;flex:1 1;gap:12px}.competition-icon{font-size:28px}.competition-title h3{font-size:18px;font-weight:600;margin:0}.competition-card-body{padding:20px}.competition-info-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 0}.competition-info-row:last-child{border-bottom:none}.info-label{font-size:13px;font-weight:500}.info-value{font-size:14px;font-weight:600}.competition-pricing{background:#f8f9fa;border-radius:8px;margin-top:16px;padding:16px}.pricing-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.pricing-item:not(:last-child){border-bottom:1px solid #e0e0e0}.pricing-label{color:#666;font-size:12px}.pricing-value{color:#667eea;font-size:16px;font-weight:700}.competition-card-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:10px;padding:16px 20px}.competition-card-footer button{flex:1 1;font-size:14px;padding:8px 16px}.competition-form-modal{max-height:90vh;max-width:700px;overflow-y:auto}.competition-form{padding:20px}.form-section{border-bottom:1px solid #e0e0e0;padding-bottom:20px}.form-section:last-of-type{border-bottom:none}.section-title{color:#333;font-size:18px}.form-group label{font-size:14px}.form-control{transition:all .2s}.input-with-prefix{position:relative}.input-prefix{color:#666;font-size:14px;font-weight:600;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.form-actions{border-top:1px solid #e0e0e0}.error-message{animation:slideDown .3s ease-out}@media (max-width:768px){.competitions-grid{grid-template-columns:1fr}.competition-filters{flex-direction:column}.form-row{grid-template-columns:1fr}.competition-header{align-items:flex-start;flex-direction:column;gap:20px}}.student-detail-modal{display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.student-detail-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:24px 30px}.student-detail-header h2{font-size:24px;margin:0}.student-detail-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;display:flex;gap:0}.detail-nav-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:16px 24px;transition:all .3s}.detail-nav-tab:hover{background:#667eea0d;color:#667eea}.detail-nav-tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.student-detail-content{flex:1 1;overflow-y:auto;padding:30px}.overview-section{max-width:600px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:30px}.info-item{gap:6px}.info-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#333;font-size:15px;font-weight:500}.section-hint{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;margin-top:20px;padding:16px}.section-hint p{color:#1565c0;font-size:14px;margin:0}.competitions-section h3{color:#333;font-size:20px;margin:0 0 20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.add-competition-form{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:30px;padding:24px}.add-competition-form h4{color:#667eea;margin:0 0 20px}.no-competitions-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:30px;text-align:center}.no-competitions-notice p{color:#856404;margin:0}.cost-breakdown{background:#fff;border:1px solid #ddd;border-radius:8px;margin-top:20px;padding:20px}.cost-breakdown h4{color:#333;font-size:16px;margin:0 0 16px}.cost-item{border-bottom:1px solid #f0f0f0;display:flex;font-size:14px;justify-content:space-between;padding:10px 0}.cost-item:last-child{border-bottom:none}.cost-item.total{border-top:2px solid #667eea;color:#667eea;font-size:16px;margin-top:10px;padding-top:16px}.current-competitions h4{color:#333;font-size:18px;margin:0 0 16px}.empty-competitions{background:#f8f9fa;border:2px dashed #ddd;border-radius:12px;padding:40px 20px;text-align:center}.empty-competitions p{color:#666;margin:0}.competitions-list{display:flex;flex-direction:column;gap:16px}.competition-enrollment-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s}.competition-enrollment-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.enrollment-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.competition-name{color:#333;font-size:16px;margin:0 0 8px}.team-name{color:#666;font-size:13px;margin:0}.status-badge{font-size:11px;font-weight:700}.status-enrolled{background:#e8f5e9;color:#2e7d32}.status-active{background:#e3f2fd;color:#1976d2}.status-completed{background:#f3e5f5;color:#7b1fa2}.status-withdrawn{background:#ffebee;color:#c62828}.enrollment-details{margin-bottom:16px}.detail-row{font-size:14px;padding:8px 0}.detail-label{color:#666}.detail-value{color:#333;font-weight:600}.detail-value.balance{color:#d32f2f}.enrollment-actions{border-top:1px solid #f0f0f0;justify-content:flex-end;padding-top:16px}.student-detail-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:20px 30px}.form-group label{color:#333;font-size:13px}.form-control{border:1px solid #ddd;border-radius:6px;font-size:14px;width:100%}.form-control:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-hint{color:#666;display:block;font-size:12px;font-style:italic;margin-top:6px}.form-actions{gap:12px;margin-top:24px}.required{color:#dc3545}.profile-section{max-width:800px}.info-item.full-width{grid-column:1/-1}.edit-actions{display:flex;gap:10px}.edit-form .form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.edit-form textarea{min-height:80px;resize:vertical}.schedule-section{max-width:1000px}.schedule-form{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:30px;padding:20px}.time-selection{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.instruction{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;font-size:14px;margin:16px 0;padding:12px}.calendar-container{border:1px solid #e0e0e0;padding:24px}.calendar-header{border-bottom:2px solid #e0e0e0;margin-bottom:24px}.calendar-header h3{color:#333;font-size:20px;margin:0}.calendar-header button{border-radius:6px;padding:8px 16px}.calendar-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.calendar-day-name{border-bottom:2px solid #e0e0e0;color:#666;font-size:12px;font-weight:700;padding:12px 8px;text-align:center;text-transform:uppercase}.calendar-day{align-items:center;aspect-ratio:1;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:80px;position:relative;transition:all .2s}.calendar-day:not(.empty):hover{border-color:#667eea;box-shadow:0 2px 8px #667eea33;transform:translateY(-2px)}.calendar-day.empty{background:#f8f9fa;border-color:#0000;cursor:default}.calendar-day.today{background:#667eea0d;border-color:#667eea}.calendar-day.selected{background:linear-gradient(135deg,#4caf50,#66bb6a);border-color:#4caf50;box-shadow:0 3px 12px #4caf5066;color:#fff}.calendar-day.selected .day-number{color:#fff!important;font-weight:700}.calendar-day.has-existing-session{background:linear-gradient(135deg,#ffa726,#fb8c00);border-color:#ff9800;color:#fff}.calendar-day.has-existing-session .day-number{color:#fff;font-weight:700}.calendar-day.has-existing-session .schedule-indicator{color:#fff}.calendar-day.has-existing-session.selected{background:linear-gradient(135deg,#4caf50,#66bb6a);border:3px solid #ffa726}.calendar-day.has-schedule{background:#e8f5e9;border-color:#4caf50}.calendar-day.has-schedule .day-number{color:#2e7d32;font-weight:700}.day-number{font-size:16px;font-weight:600;margin-bottom:4px}.schedule-indicator{background:#4caf50e6;border-radius:4px;bottom:4px;color:#fff;font-size:10px;padding:2px 6px;position:absolute}.schedule-time{font-size:10px;white-space:nowrap}.schedule-program{font-size:9px;font-weight:600;margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-section{max-width:1000px}.calendar-day.attendance.clickable{cursor:pointer}.calendar-day.attendance.clickable:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-2px)}.calendar-day.attendance.has-schedule:hover{border-width:3px}.attendance-indicator{bottom:4px;font-size:18px;position:absolute}.attendance-icon{font-weight:700}.attendance-legend{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:16px}.legend-item{align-items:center;display:flex;font-size:14px;gap:8px}.legend-color{border-radius:4px;height:24px;width:24px}.attendance-summary{border:1px solid #e0e0e0;border-radius:12px;margin-top:30px;padding:24px}.attendance-summary h4{color:#333;font-size:18px;margin:0 0 16px}.summary-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat{background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.stat-label{color:#666;font-size:12px;font-weight:600}.stat-value{color:#667eea;font-size:24px}.student-detail-modal.large{max-width:1200px}@media (max-width:768px){.student-detail-modal{border-radius:0;max-height:100vh;max-width:100%}.info-grid{grid-template-columns:1fr}.student-detail-nav{flex-direction:column}.detail-nav-tab{border-bottom:1px solid #e0e0e0}.edit-form .form-row,.time-selection{grid-template-columns:1fr}.calendar-grid{gap:4px}.calendar-day{font-size:12px;min-height:60px}.day-number{font-size:14px}.schedule-time{font-size:8px}.attendance-legend{flex-direction:column;gap:10px}.summary-stats{grid-template-columns:1fr 1fr}}.attendance-menu-item{transition:all .2s}.attendance-menu-item:hover,.attendance-menu-item:hover span{color:#fff!important}.organization-management{padding:20px}.orgs-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.orgs-header h3{color:#2c3e50;margin:0}.organizations-table-container{margin-top:20px;overflow-x:auto}.organizations-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.organizations-table thead{background:#3498db;color:#fff}.organizations-table th{font-size:.9rem;font-weight:600;padding:12px;text-align:left}.organizations-table td{border-bottom:1px solid #e0e0e0;font-size:.9rem;padding:12px}.organizations-table tbody tr:hover{background:#f8f9fa}.organizations-table tbody tr:last-child td{border-bottom:none}.status-badge{font-weight:500;padding:4px 12px;text-transform:capitalize}.status-active{background:#d4edda;color:#155724}.status-inactive{background:#fff3cd;color:#856404}.status-archived{background:#f8d7da;color:#721c24}.empty-state{color:#7f8c8d;padding:40px;text-align:center}.org-form-modal{max-height:90vh;max-width:900px;overflow-y:auto}.form-section-header{border-bottom:2px solid #e0e0e0;margin-bottom:16px;margin-top:24px;padding-bottom:8px}.form-section-header h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.error-text{color:#dc3545;font-size:.85rem}.btn-danger{border:none}.payment-success-modal{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.payment-success-content{animation:slideInUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:40px;width:100%}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-header{text-align:center}.success-icon{margin-bottom:20px}.checkmark{animation:checkmarkPulse .6s ease-in-out;background:#4caf50;border-radius:50%;height:80px;margin:0 auto;position:relative;width:80px}@keyframes checkmarkPulse{0%{opacity:.5;transform:scale(.8)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.checkmark-circle{height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.checkmark-stem{height:16px;left:18px;top:8px;transform:rotate(45deg)}.checkmark-kick,.checkmark-stem{background:#fff;border-radius:2px;position:absolute;width:3px}.checkmark-kick{height:8px;left:12px;top:20px;transform:rotate(-45deg)}.success-header h2{color:#2e7d32;font-size:28px;font-weight:700;margin:0 0 10px}.success-message{color:#666;font-size:16px;line-height:1.5;margin:0}.payment-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:30px;padding:24px}.payment-details h3{align-items:center;color:#333;display:flex;font-size:20px;margin:0 0 20px}.payment-details h3:before{content:"💳";margin-right:8px}.detail-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#555;font-size:14px;font-weight:600}.detail-row .value{color:#333;font-size:14px;text-align:right}.detail-row .value.amount{color:#2e7d32;font-size:18px;font-weight:700}.detail-row .value.status{font-weight:600;text-transform:capitalize}.detail-row .value.status.success{color:#4caf50}.next-steps{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:12px;padding:24px}.next-steps h3{align-items:center;color:#1976d2;display:flex;font-size:18px;font-weight:600;margin:0 0 16px}.next-steps h3:before{content:"📋";margin-right:8px}.next-steps ul{margin:0;padding-left:20px}.next-steps li{color:#1976d2;font-size:14px;line-height:1.6;margin-bottom:8px}.next-steps li:last-child{margin-bottom:0}.success-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.btn{display:inline-flex;font-size:16px;min-width:140px}.btn-primary{background:#2196f3;flex:1 1;min-width:200px}.btn-primary:hover{background:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.btn-secondary:hover{box-shadow:0 4px 12px #6c757d4d;transform:translateY(-1px)}.btn-outline{background:#0000;border:2px solid #2196f3;color:#2196f3}.btn-outline:hover{background:#2196f3;box-shadow:0 4px 12px #2196f34d;color:#fff;transform:translateY(-1px)}.support-info{background:#fff3e0;border-left:4px solid #ff9800;border-radius:12px;padding:24px}.support-info h4{align-items:center;color:#f57c00;display:flex;font-size:16px;font-weight:600;margin:0 0 12px}.support-info h4:before{content:"🆘";margin-right:8px}.support-info p{color:#e65100;font-size:14px;line-height:1.5;margin:0 0 12px}.support-info p:last-child{margin-bottom:0}.contact-info{margin-top:12px}.contact-info p{color:#e65100;font-size:14px;font-weight:500;margin:4px 0}@media (max-width:768px){.payment-success-content{margin:10px;padding:24px}.success-header h2{font-size:24px}.detail-row{align-items:flex-start;flex-direction:column;gap:4px}.detail-row .value{text-align:left}.success-actions{flex-direction:column}.btn{min-width:auto;width:100%}}@media (max-width:480px){.payment-success-content{padding:20px}.checkmark{height:60px;width:60px}.checkmark-circle{height:30px;width:30px}.checkmark-stem{height:12px;left:14px;top:6px;width:2px}.checkmark-kick{height:6px;left:9px;top:15px;width:2px}}.stripe-payment-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.stripe-payment-content{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.stripe-payment-header{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1rem;text-align:center}.stripe-payment-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.stripe-payment-header p{color:#6b7280;font-size:.9rem;margin:0}.payment-loading{padding:2rem;text-align:center}.spinner{border:4px solid #f3f4f6;border-top-color:#3b82f6;margin:0 auto 1rem}.payment-form{display:flex;flex-direction:column;gap:1.5rem}.payment-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.payment-details h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.payment-details p{color:#4b5563;font-size:.9rem;margin:.25rem 0}.card-element-container{display:flex;flex-direction:column;gap:.5rem}.card-element-container label{color:#374151;font-size:.9rem;font-weight:500}.card-element-container .StripeElement{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:12px;transition:border-color .2s ease}.card-element-container .StripeElement:hover{border-color:#9ca3af}.card-element-container .StripeElement--focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.postal-code-container{display:flex;flex-direction:column;gap:.5rem}.postal-code-container label{color:#374151;font-size:.9rem;font-weight:500}.postal-code-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:16px;padding:12px;text-transform:uppercase;transition:border-color .2s ease}.postal-code-input:hover{border-color:#9ca3af}.postal-code-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.postal-code-input:invalid{border-color:#dc2626}.postal-code-help{color:#6b7280;font-size:.8rem;margin-top:.25rem}.payment-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem;padding:.75rem;text-align:center}.payment-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.btn{border-radius:6px;font-size:.9rem;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.stripe-payment-footer{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1rem;text-align:center}.security-badges{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1rem}.security-badge{background:#f0f9ff;border:1px solid #bae6fd;border-radius:20px;color:#0369a1;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.stripe-disclaimer{color:#6b7280;font-size:.8rem;line-height:1.4;margin:0}@media (max-width:640px){.stripe-payment-content{margin:1rem;padding:1.5rem;width:calc(100% - 2rem)}.payment-actions{flex-direction:column}.btn{width:100%}.security-badges{align-items:center;flex-direction:column}}@media (prefers-color-scheme:dark){.stripe-payment-content{background:#1f2937;color:#f9fafb}.stripe-payment-header{border-bottom-color:#374151}.stripe-payment-header h2{color:#f9fafb}.stripe-payment-header p{color:#9ca3af}.payment-details{background:#374151;border-color:#4b5563}.payment-details h3{color:#f9fafb}.payment-details p{color:#d1d5db}.card-element-container label{color:#f9fafb}.stripe-payment-footer{border-top-color:#374151}.stripe-disclaimer{color:#9ca3af}}.course-registration-modal{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.course-registration-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;color:#fff;padding:20px 30px}.modal-header h2{font-size:1.5rem;font-weight:600;margin:0}.close-btn{align-items:center;background:#fff3;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:background .2s;width:40px}.close-btn:hover{background:#ffffff4d}.progress-indicator{gap:10px;padding:20px}.progress-indicator,.progress-step{display:flex;justify-content:center}.progress-step{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;font-weight:600;height:40px;transition:all .3s;width:40px}.progress-step.active{background:#667eea;color:#fff;transform:scale(1.1)}.registration-step{padding:30px}.registration-step h3{color:#1f2937;font-size:1.5rem;margin:0 0 10px}.registration-step p{color:#6b7280;font-size:1rem;margin:0 0 30px}.student-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.student-card{border:2px solid #e1e5e9;cursor:pointer}.student-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26}.student-card.selected{background:#e3f2fd;border-color:#007bff;box-shadow:0 4px 12px #007bff33}.student-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.student-header h4{color:#2c3e50;font-size:1.2em;margin:0}.student-tier{background:#007bff;color:#fff;font-size:.9em}.student-info{color:#6c757d;font-size:.95em;margin:0}.program-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.program-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s}.program-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-2px)}.program-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.program-header{align-items:center;margin-bottom:10px}.program-header h4{font-size:1.2rem;font-weight:600}.program-type{background:#fff3;border-radius:20px;font-size:.8rem;font-weight:500;padding:4px 12px}.program-description{font-size:.95rem;line-height:1.5;margin:10px 0}.program-details{display:flex;font-size:.85rem;gap:15px;opacity:.8}.tier-options{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.tier-card{border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:25px;transition:all .3s}.tier-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-2px)}.tier-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.tier-card h4{font-size:1.3rem;font-weight:600;margin:0 0 10px}.tier-card p{font-size:.95rem;line-height:1.5}.day-options,.month-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.day-option,.month-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;padding:15px 20px;transition:all .3s}.day-option:hover,.month-option:hover{background:#f8fafc;border-color:#667eea}.day-option input,.month-option input{margin-right:12px;transform:scale(1.2)}.checkmark{color:#667eea;font-weight:600;margin-left:auto}.schedule-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.schedule-option{cursor:pointer}.schedule-card{border:2px solid #e5e7eb;border-radius:12px;padding:25px;text-align:center;transition:all .3s}.schedule-option:hover .schedule-card{border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-2px)}.schedule-option.selected .schedule-card{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.schedule-card h4{font-size:1.2rem;font-weight:600;margin:0 0 10px}.schedule-card p{font-size:.95rem;line-height:1.5;margin:0}.sessions-review{max-height:400px;overflow-y:auto}.sessions-list{gap:10px}.session-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;padding:15px 20px;transition:all .3s}.session-option:hover{background:#f8fafc;border-color:#667eea}.session-option input{margin-right:12px;transform:scale(1.2)}.session-details{grid-gap:10px;align-items:center;display:grid;flex:1 1;gap:10px;grid-template-columns:1fr 1fr}.session-date{color:#1f2937;font-weight:600}.session-time{color:#667eea;font-weight:500}.session-location{color:#6b7280;font-size:.9rem}.session-availability{color:#059669;font-size:.9rem;font-weight:500}.session-summary{background:#f0f9ff;border-radius:10px;margin-top:20px;padding:20px;text-align:center}.session-summary h4{color:#0369a1;font-size:1.2rem;margin:0}.no-sessions{color:#6b7280;padding:40px}.loading-spinner{align-items:center;display:flex;flex-direction:column;padding:40px}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:20px;width:40px}.registration-navigation{background:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 30px}.btn{padding:12px 24px;transition:all .3s}.btn:disabled{opacity:.5}.btn-secondary{background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-primary{background:#667eea}.btn-primary:hover:not(:disabled){background:#5a67d8}.btn-success{background:#059669}.btn-success:hover:not(:disabled){background:#047857}@media (max-width:768px){.course-registration-content{margin:10px;max-height:95vh}.modal-header{padding:15px 20px}.registration-step{padding:20px}.day-options,.month-options,.program-options,.schedule-options,.session-details,.tier-options{grid-template-columns:1fr}.session-details{gap:5px}.registration-navigation{flex-direction:column;gap:10px}.btn{width:100%}}.unified-consent-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:10000}.unified-consent-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;max-height:95vh;max-width:1000px;position:relative;width:100%}.unified-consent-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-radius:12px 12px 0 0;color:#fff!important;padding:25px 30px;position:relative}.unified-consent-header *{color:#fff!important}.header-content{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 1fr}.oara-logo-section{color:#fff!important;display:flex;flex-direction:column}.oara-logo-section h2{color:#fff!important;font-size:1.6rem;font-weight:700;letter-spacing:.5px;line-height:1.3;margin:0 0 8px}.oara-logo-section p{color:#fff!important;font-size:.95rem;line-height:1.4;margin:4px 0;opacity:.95}.academic-year{color:#fff!important;font-size:.85rem;font-weight:600;margin-top:6px!important;opacity:.9}.contact-info{color:#fff!important;font-size:.9rem;line-height:1.7;text-align:right}.contact-info p{color:#fff!important;margin:5px 0;opacity:.95}.close-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:35px;justify-content:center;position:absolute;right:25px;top:20px;transition:all .3s ease;width:35px}.close-button:hover{background:#ffffff4d;transform:rotate(90deg)}.progress-indicator{background:#fff;border-bottom:2px solid #e9ecef;padding:25px 30px}.section-tabs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(8,1fr);margin-bottom:20px;width:100%}.mobile-step-indicator{display:none}.mobile-step-dot{background:#d1d5db;border-radius:50%;height:10px;transition:all .2s ease;width:10px}.mobile-step-dot.active{background:#1d4ed8;height:14px;width:14px}.mobile-step-dot.completed{background:#22c55e}.section-tab{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:0;justify-content:center;min-height:65px;overflow:visible;padding:16px 10px;position:relative;transition:all .2s ease}.section-tab:hover:not(:disabled){background:#f8faff;border-color:#3b82f6}.section-tab.active{background:linear-gradient(135deg,#3b82f6,#1e3a8a);border-color:#3b82f6;border-width:3px;box-shadow:0 4px 12px #3b82f666;font-weight:600;transform:translateY(-2px);z-index:2}.section-tab.active,.section-tab.active *{color:#fff!important}.section-tab.active .section-number{background:#ffffff4d!important;border-color:#ffffffb3!important;color:#fff!important}.section-tab.active .section-label{color:#fff!important;font-weight:600}.section-tab.completed:not(.active){background:#f0fff4;border-color:#28a745;border-width:2px}.section-tab.completed:not(.active) .section-number{background:#28a745!important;border-color:#28a745!important;color:#fff!important}.section-tab.completed:not(.active) .section-label{color:#2d5016}.section-tab.completed .checkmark{align-items:center;background:#fff;border:1px solid #28a745;border-radius:50%;color:#28a745;display:flex;font-size:1.1rem;font-weight:700;height:20px;justify-content:center;line-height:1;position:absolute;right:6px;top:6px;width:20px}.section-tab.completed.active .checkmark{background:#ffffff40;border-color:#fff9;color:#fff}.section-tab:disabled{cursor:not-allowed;opacity:.5}.section-number{align-items:center;background:#f8f9fa;border:2px solid #dee2e6;border-radius:50%;color:#495057;display:flex;flex-shrink:0;font-size:1.4rem;font-weight:700;height:40px;justify-content:center;transition:all .2s ease;width:40px}.section-label{display:none}.progress-bar{border-radius:5px;box-shadow:inset 0 1px 3px #00000014;height:10px;margin-bottom:15px}.progress-fill{background:linear-gradient(90deg,#3b82f6,#1e3a8a);box-shadow:0 0 8px #3b82f666;transition:width .4s ease}.page-counter{align-items:center;color:#6c757d;display:flex;font-size:.9rem;font-weight:600;justify-content:flex-end;margin:0;padding-right:5px}.unified-consent-content{flex:1 1;overflow-y:auto;padding:30px}.form-section-content{margin:0 auto;max-width:900px}.form-section-content h3{border-bottom:3px solid #3b82f6;color:#1e3a8a;font-size:1.5rem;font-weight:700;margin:0 0 10px;padding-bottom:10px}.section-description{color:#495057;font-size:1rem;font-style:italic;margin:0 0 25px}.subsection{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:20px}.subsection h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 15px}.form-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-top:15px}.form-group{gap:6px}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{font-family:Arial,sans-serif;padding:10px 12px}.date-picker-mobile{grid-gap:10px;display:grid;gap:10px;grid-template-columns:2fr 1fr 1.5fr;width:100%}.date-select-day,.date-select-month,.date-select-year{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:2px solid #e1e8ed;border-radius:6px;cursor:pointer;font-family:Arial,sans-serif;font-size:.95rem;padding:12px 35px 12px 10px;transition:border-color .3s ease}.date-select-day:focus,.date-select-month:focus,.date-select-year:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.date-select-day:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{font-family:Arial,sans-serif}.info-box{background:#e8f4f8;border:2px solid #3498db;border-radius:8px;margin-bottom:20px;padding:20px}.info-box h4{color:#1e3a8a;font-size:1.1rem;font-weight:600;margin:0 0 12px}.info-box p{color:#2c3e50;line-height:1.6;margin:8px 0}.info-box ul{margin:12px 0;padding-left:25px}.info-box li{color:#2c3e50;line-height:1.6;margin:6px 0}.checkbox-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:25px;padding:20px}.checkbox-section h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 15px}.checkbox-group{display:flex;flex-direction:column;gap:12px;margin:15px 0}.checkbox-label{align-items:flex-start;background:#f8f9fa;border-radius:6px;font-size:.95rem;gap:12px;line-height:1.5;padding:12px;transition:all .2s ease}.checkbox-label:hover{background:#e9ecef}.checkbox-label input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:20px;margin-top:2px;min-width:20px;width:20px}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.checkbox-label span{color:#2c3e50;flex:1 1}.radio-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:25px;padding:20px}.radio-section h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 10px}.instruction-text{color:#495057;font-size:.95rem;font-style:italic;margin:0 0 15px}.radio-group{gap:15px;margin:15px 0}.radio-label{align-items:flex-start;background:#f8f9fa;border-radius:6px;font-size:.95rem;line-height:1.5;padding:15px}.radio-label:hover{background:#e9ecef;border-color:#3b82f6}.radio-label input[type=radio]{accent-color:#3b82f6;margin-top:2px;min-width:20px}.radio-label:has(input:checked){background:#e8f4f8;border-color:#3b82f6;border-width:2px}.radio-label span{color:#2c3e50;flex:1 1}.note-text{background:#fff9e6;border-left:3px solid #ffc107;border-radius:4px;color:#6c757d;font-size:.9rem;font-style:italic;margin:10px 0;padding:10px}.legal-text{background:#fff9e6;border:2px solid #ffc107;border-radius:6px;color:#495057;font-size:.95rem;margin:15px 0;padding:15px}.signature-section{background:#fff9e6;border:2px solid #ffc107;border-radius:8px;margin-top:30px;padding:25px}.signature-section h4{color:#1e3a8a;font-size:1.2rem;font-weight:600;margin:0 0 15px}.navigation-buttons{background:linear-gradient(180deg,#fff 0,#f8f9fa);border-radius:0 0 12px 12px;border-top:2px solid #e9ecef;box-shadow:0 -2px 8px #0000000d;gap:16px;justify-content:space-between;padding:24px 30px}.btn,.navigation-buttons{align-items:center;display:flex}.btn{box-shadow:0 2px 8px #0000001a;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;justify-content:center;letter-spacing:.3px;max-width:48%;min-width:160px;padding:14px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb 50%,#1e3a8a);box-shadow:0 4px 12px #3b82f640}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8 50%,#1e40af);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:0 2px 8px #3b82f64d;transform:translateY(0)}.btn-primary:disabled{box-shadow:0 2px 4px #0000001a;opacity:.5}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 4px 12px #6b728040}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 6px 20px #6b728059;transform:translateY(-2px)}.btn-secondary:active:not(:disabled){box-shadow:0 2px 8px #6b728040;transform:translateY(0)}.btn-secondary:disabled{box-shadow:0 2px 4px #0000001a;cursor:not-allowed;opacity:.5;transform:none}.btn-sign{background:linear-gradient(135deg,#10b981,#059669 50%,#047857);box-shadow:0 4px 12px #10b9814d;font-size:1.05rem;font-weight:700;padding:14px 32px}.btn-sign:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857 50%,#065f46);box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.btn-sign:active:not(:disabled){box-shadow:0 2px 8px #10b9814d;transform:translateY(0)}.btn-sign:disabled{box-shadow:0 2px 4px #0000001a;cursor:not-allowed;opacity:.5;transform:none}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-weight:500;margin-bottom:20px;padding:15px}.unified-consent-footer{background:#f8f9fa;border-top:2px solid #e9ecef;color:#6c757d;font-size:.85rem;padding:15px 30px;text-align:center}.unified-consent-footer p{margin:4px 0}@media (max-width:1400px){.section-tabs{gap:6px;grid-template-columns:repeat(4,1fr)}}@media (max-width:1200px){.section-tabs{gap:6px;grid-template-columns:repeat(4,1fr)}.section-tab{min-height:60px;padding:14px 8px}}@media (max-width:768px){.unified-consent-modal-overlay{overflow:hidden;padding:0}.unified-consent-modal{border-radius:0;display:flex;flex-direction:column;height:100vh;max-height:100vh;max-width:100%;overflow:hidden;position:relative}.unified-consent-header{flex-shrink:0;padding:20px 16px}.header-content{gap:15px;grid-template-columns:1fr}.oara-logo-section h2{font-size:1.3rem}.oara-logo-section p{font-size:.85rem}.contact-info{color:#fff!important;font-size:.8rem;text-align:left}.contact-info p{color:#fff!important;margin:3px 0}.progress-indicator{flex-shrink:0;padding:15px 16px}.section-tabs{display:none}.mobile-step-indicator{display:flex;gap:6px;justify-content:center;margin-bottom:12px}.section-tab{flex:none}.section-number{font-size:1.2rem;height:36px;width:36px}.unified-consent-content{-webkit-overflow-scrolling:touch;flex:1 1;margin-bottom:0;overflow-x:hidden;overflow-y:auto;padding:20px 16px 90px}.form-grid{gap:12px;grid-template-columns:1fr}.date-picker-mobile{gap:10px;grid-template-columns:1fr}.date-select-day,.date-select-month,.date-select-year{font-size:1rem;padding:14px 40px 14px 12px;width:100%}.form-group{margin-bottom:0}.subsection{margin-bottom:20px;padding:16px}.navigation-buttons{background:#fff;border-radius:0;border-top:2px solid #e9ecef;bottom:0;box-shadow:0 -4px 12px #0000001a;display:flex;flex-direction:row;flex-shrink:0;gap:10px;left:0;max-width:100vw;padding:16px;position:fixed;right:0;z-index:10001}.btn{flex:1 1;font-size:.95rem;min-width:0;padding:14px 20px}.btn-secondary{flex:0 1 auto;max-width:45%;min-width:100px}.btn-primary{flex:1 1 auto;min-width:0}}@media (max-width:600px){.unified-consent-modal-overlay{padding:0}.unified-consent-modal{border-radius:0;height:100vh;max-height:100vh}.unified-consent-header{padding:16px 12px}.oara-logo-section h2{font-size:1.1rem;line-height:1.2}.progress-indicator{padding:12px}.unified-consent-content{padding:16px 12px 120px;padding-bottom:120px!important}.form-section-content h3{font-size:1.2rem}.subsection{padding:12px}.navigation-buttons{bottom:0!important;box-shadow:0 -2px 10px #00000026!important;gap:8px;left:0!important;padding:12px;position:fixed!important;right:0!important;z-index:10001!important}.unified-consent-footer{display:none}.btn{flex:1 1;font-size:.9rem;padding:12px 16px}.btn-secondary{max-width:40%}}.success-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa!important}.success-screen{border:1px solid #e9ecef;box-shadow:0 10px 40px #00000026;max-width:600px;padding:50px 40px;text-align:center;width:100%}.success-content{flex-direction:column;gap:24px;width:100%}.success-content,.success-icon{align-items:center;display:flex}.success-icon{animation:successPulse .6s ease-out;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;box-shadow:0 6px 25px #22c55e66;color:#fff;font-size:3.5rem;font-weight:700;height:100px;justify-content:center;margin-bottom:10px;width:100px}@keyframes successPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.success-content h2{color:#1e3a8a;font-size:2rem;font-weight:700;line-height:1.2;margin:0}.success-content p{color:#495057;font-size:1.15rem;line-height:1.7;margin:0;max-width:500px}.success-details{color:#6c757d!important;font-size:1rem!important;line-height:1.6!important;margin-top:8px!important}.success-actions{margin-top:30px;max-width:300px;width:100%}.success-actions .btn{font-size:1.15rem;padding:16px 32px;width:100%}@media (max-width:768px){.success-overlay{background:#fff!important;padding:0!important}.success-screen{align-items:center;border:none;border-radius:0;box-shadow:none;display:flex;height:100vh;justify-content:center;max-height:100vh;max-width:100%;padding:40px 24px;width:100%}.success-content{gap:20px;max-width:100%;padding:0;width:100%}.success-icon{font-size:3rem;height:80px;margin-bottom:16px;width:80px}.success-content h2{font-size:1.6rem;line-height:1.3;padding:0 10px}.success-content p{font-size:1.05rem;padding:0 10px}.success-details{font-size:.95rem!important;padding:0 10px}.success-actions{margin-top:32px;max-width:100%;padding:0 10px}.success-actions .btn{font-size:1.1rem;padding:18px 28px;width:100%}}@media (max-width:600px){.success-screen{padding:32px 20px}.success-content{gap:18px}.success-icon{font-size:2.5rem;height:70px;margin-bottom:12px;width:70px}.success-content h2{font-size:1.4rem;padding:0 5px}.success-content p{font-size:1rem;padding:0 5px}.success-details{font-size:.9rem!important;padding:0 5px}.success-actions{margin-top:28px;padding:0 5px}.success-actions .btn{font-size:1rem;padding:16px 24px}}.newsletter-section{background:linear-gradient(135deg,#fef3c7,#fde68a 50%,#fcd34d);border:2px solid #f59e0b;border-radius:16px;box-shadow:0 8px 24px #f59e0b33,0 4px 8px #0000001a,inset 0 1px 0 #ffffff80;margin:30px 0;overflow:hidden;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.newsletter-section:before{background:radial-gradient(circle,#ffffff4d 0,#0000 70%);content:"";height:200%;pointer-events:none;position:absolute;right:-50%;top:-50%;width:200%}.newsletter-section:hover{border-color:#d97706;box-shadow:0 12px 32px #f59e0b4d,0 6px 12px #00000026,inset 0 1px 0 #fff9;transform:translateY(-3px)}.newsletter-label{align-items:flex-start;cursor:pointer;display:flex;gap:18px;margin:0;position:relative;z-index:1}.newsletter-label input[type=checkbox]{accent-color:#f59e0b;background-color:#fff;border:3px solid #f59e0b;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:28px;margin-top:2px;min-width:28px;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.newsletter-label input[type=checkbox]:checked{background-color:#f59e0b;border-color:#d97706;box-shadow:0 4px 8px #f59e0b66,inset 0 2px 4px #0000001a;transform:scale(1.05)}.newsletter-label:hover input[type=checkbox]{border-color:#d97706;box-shadow:0 0 0 4px #f59e0b26,0 4px 8px #00000026;transform:scale(1.08)}.newsletter-text{display:flex;flex:1 1;flex-direction:column;gap:8px}.newsletter-title{color:#92400e;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;line-height:1.5;text-shadow:0 1px 2px #fffc}.newsletter-description{color:#78350f;font-size:.98rem;font-weight:500;line-height:1.6;opacity:.9}.newsletter-label:hover .newsletter-title{color:#78350f;transform:translateX(2px);transition:all .2s ease}.newsletter-label:hover .newsletter-description{opacity:1}@media (max-width:768px){.newsletter-section{border-radius:14px;margin:24px 0;padding:22px}.newsletter-title{font-size:1.05rem}.newsletter-description{font-size:.92rem}.newsletter-label input[type=checkbox]{height:26px;min-width:26px;width:26px}.newsletter-label{gap:16px}}@media (max-width:600px){.newsletter-section{border-radius:12px;margin:20px 0;padding:18px}.newsletter-title{font-size:1rem}.newsletter-description{font-size:.88rem}.newsletter-label input[type=checkbox]{height:24px;min-width:24px;width:24px}.newsletter-label{gap:14px}}@media print{.unified-consent-modal-overlay{background:#fff;padding:0;position:static}.unified-consent-modal{box-shadow:none;max-height:none;max-width:100%}.close-button,.navigation-buttons,.progress-indicator{display:none}.unified-consent-content{padding:20px}}.desktop-only{display:block}.mobile-only{display:none}@media (min-width:769px){.desktop-only{display:block}.mobile-only{display:none!important}}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:block}}@media (min-width:769px){.child-schedule-modal{border-radius:12px!important;height:auto!important;max-height:90vh!important;max-width:900px!important;width:90%!important}.child-schedule-modal .modal-body{flex:1 1!important;max-height:calc(90vh - 140px)!important;min-height:0!important;overflow-y:auto!important;padding:20px!important}.child-schedule-modal .modal-header{align-items:center!important;display:flex!important;justify-content:space-between!important;min-height:50px!important;padding:12px 20px!important;position:relative!important}.child-schedule-modal .modal-header .close-button{flex-shrink:0!important;margin-left:10px!important;position:relative!important;z-index:20!important}.child-schedule-modal .modal-header h2{font-size:18px!important;margin:0!important}.child-schedule-modal .modal-header p{display:none!important}.calendar-container{overflow-x:visible!important;width:100%!important}.calendar-grid-unified{gap:0!important;grid-template-columns:repeat(7,1fr)!important;height:auto!important;min-height:-webkit-fit-content!important;min-height:fit-content!important;row-gap:8px!important;width:100%!important}.calendar-day-name{font-size:14px!important;padding:10px!important}.calendar-day{font-size:12px!important;padding:8px!important;width:100%!important}.calendar-day,.calendar-day.empty{max-height:none!important;min-height:100px!important}.calendar-day-number{font-size:14px!important;margin-bottom:4px!important}.calendar-session-details{font-size:11px!important;line-height:1.3!important}.calendar-session-details>div:first-child{font-size:11px!important;margin-bottom:2px!important}.calendar-session-details>div:last-child{font-size:10px!important}.calendar-available-sessions{font-size:11px!important;line-height:1.3!important}.calendar-available-sessions>div:first-child{font-size:11px!important;margin-bottom:2px!important}.calendar-available-sessions>div:not(:first-child){font-size:10px!important}.calendar-header{margin-bottom:20px!important;padding:0!important}.calendar-header h3{font-size:20px!important}.calendar-header button{font-size:14px!important;min-width:auto!important;padding:8px 15px!important}.form-control{font-size:16px!important;padding:10px!important}.modal-body>div[style*=background]{font-size:14px!important;margin-bottom:20px!important;padding:15px!important}.modal-body>div[style*=background] small{font-size:12px!important}.modal-body>div[style*=marginTop]{margin-top:20px!important;padding:15px!important}.modal-body>div[style*=marginTop] h4{font-size:16px!important}.modal-body>div[style*=marginTop]>div{flex-direction:row!important;gap:15px!important}.modal-footer{background:#fff!important;border-top:1px solid #e9ecef!important;flex-shrink:0!important;margin-top:auto!important;padding:15px 20px!important}.modal-footer button{font-size:16px!important;padding:10px 20px!important;width:auto!important}}@media (max-width:768px){.child-schedule-modal{border-radius:0!important;display:flex!important;flex-direction:column!important;height:100vh!important;margin:0!important;max-height:100vh!important;max-width:100%!important;overflow:hidden!important;width:100%!important}.schedule-header-modern{background:#fff!important;border-bottom:1px solid #f3f4f6!important;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f!important;height:auto!important;min-height:48px!important;padding:12px 16px!important;position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:50!important}.schedule-header-modern h2{color:#111827!important;font-size:18px!important;font-weight:700!important;margin:0!important}.close-button-modern{background:#0000!important;border:none!important;color:#9ca3af!important}.close-button-modern:hover{color:#4b5563!important}.child-schedule-modal .modal-body{-webkit-overflow-scrolling:touch;display:flex!important;flex:1 1!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;padding:0!important}.schedule-modal-body{padding:0!important}.program-filter-chips{margin-bottom:8px!important;padding:8px 16px!important}.filter-chips-scroll{-ms-overflow-style:none!important;scrollbar-width:none!important}.filter-chips-scroll::-webkit-scrollbar{display:none!important}.schedule-split-view{display:flex!important;flex:1 1!important;flex-direction:column!important;height:100%!important;min-height:0!important}.calendar-section{flex:1 1!important;min-height:0!important;padding:0 0 45vh!important;width:100%!important}.calendar-container,.calendar-section{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;height:auto!important;overflow:visible!important}.calendar-container{margin:0!important;max-width:100%!important;min-height:-webkit-fit-content!important;min-height:fit-content!important;padding:0!important}.calendar-header{flex-wrap:nowrap!important;justify-content:space-between!important;margin-bottom:4px!important;padding:8px!important;width:100%!important}.calendar-header,.calendar-nav-button{align-items:center!important;background:#0000!important;border:none!important;display:flex!important}.calendar-nav-button{color:#495057!important;cursor:pointer!important;flex-shrink:0!important;font-size:20px!important;font-weight:600!important;height:32px!important;justify-content:center!important;padding:0!important;transition:all .2s ease!important;width:32px!important}.calendar-nav-button:hover{color:#667eea!important}.calendar-nav-button:active{opacity:.7!important}.calendar-month-title{background:#0000!important;border:none!important;flex:1 1!important;font-size:14px!important;font-weight:600!important;margin:0!important;padding:0 8px!important;text-align:center!important}.calendar-grid-unified{grid-gap:0!important;grid-row-gap:0!important;box-sizing:border-box!important;display:grid!important;gap:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;height:auto!important;margin:0 auto!important;max-width:100%!important;min-height:-webkit-fit-content!important;min-height:fit-content!important;padding:0!important;row-gap:0!important;width:100%!important}.calendar-day-name{color:#666!important;font-weight:600!important;padding:6px 0!important;text-transform:uppercase!important}.calendar-day,.calendar-day-name{align-items:center!important;background:#0000!important;border:none!important;box-sizing:border-box!important;display:flex!important;justify-content:center!important;max-width:100%!important;min-width:0!important}.calendar-day{aspect-ratio:1/1!important;box-shadow:none!important;flex-direction:column!important;min-height:0!important;padding:0!important;position:relative!important}.calendar-day.selected{background:#0000!important;border:none!important;box-shadow:none!important}.calendar-day.selected .calendar-day-number{font-weight:700!important}.scheduled-circle{background:#4caf50!important;border-radius:50%!important;height:28px!important;margin:0 auto!important;width:28px!important}.scheduled-circle,.scheduled-number{align-items:center!important;display:flex!important;justify-content:center!important}.scheduled-number{color:#fff!important;font-size:13px!important;font-weight:600!important;height:100%!important;line-height:1!important;margin:0!important;padding:0!important;text-align:center!important;width:100%!important}.available-circle{background:#0000!important;border:2px solid #2196f3!important;border-radius:50%!important;height:28px!important;margin:0 auto!important;width:28px!important}.available-circle,.available-number{align-items:center!important;display:flex!important;justify-content:center!important}.available-number{font-size:13px!important;font-weight:600!important;height:100%!important;line-height:1!important;margin:0!important;padding:0!important;text-align:center!important;width:100%!important}.available-number,.calendar-day.available{color:#2196f3!important}.today-indicator{background-color:#e74c3c!important;border-radius:50%!important;bottom:2px!important;height:4px!important;left:50%!important;position:absolute!important;transform:translateX(-50%)!important;width:4px!important}.calendar-day.empty{aspect-ratio:1/1!important;background:#0000!important;border:none!important;box-sizing:border-box!important;max-width:100%!important;min-height:0!important;min-width:0!important}.calendar-day-number{color:#333!important;font-size:13px!important;line-height:1!important;margin:0!important;text-align:center!important}.schedule-detail-panel.schedule-bottom-sheet{-webkit-overflow-scrolling:touch;background:#fff!important;border-top:2px solid #e9ecef!important;bottom:0!important;box-shadow:0 -2px 10px #0000001a!important;display:flex!important;flex:0 0 auto!important;flex-direction:column!important;left:0!important;max-height:40vh!important;min-height:120px!important;overflow-y:auto!important;padding-bottom:env(safe-area-inset-bottom,20px)!important;position:fixed!important;right:0!important;z-index:50!important}.detail-panel-content{flex:1 1!important;overflow-y:auto!important;padding:16px 16px 90px!important;position:relative!important}.detail-panel-header{border-bottom:1px solid #e9ecef!important;justify-content:space-between!important;margin-bottom:16px!important;padding-bottom:12px!important}.detail-panel-header,.detail-panel-placeholder{align-items:center!important;display:flex!important}.detail-panel-placeholder{height:100%!important;justify-content:center!important;padding:20px 20px 90px!important;position:relative!important}.session-detail-card{background:#f8f9fa!important;border:1px solid #e9ecef!important;border-radius:12px!important;margin-bottom:12px!important;padding:16px!important}.session-detail-card.scheduled{background:#e8f5e9!important;border-color:#4caf50!important}.session-detail-card.available{background:#e3f2fd!important;border-color:#2196f3!important}.session-detail-header{align-items:flex-start!important;display:flex!important;justify-content:space-between!important;margin-bottom:12px!important}.session-detail-info{margin-top:8px!important}.session-toggle{display:inline-block!important;flex-shrink:0!important;height:28px!important;position:relative!important;width:50px!important}.session-toggle input{height:0!important;opacity:0!important;width:0!important}.toggle-slider{background-color:#ccc!important;border-radius:28px!important;bottom:0!important;cursor:pointer!important;left:0!important;right:0!important;top:0!important}.toggle-slider,.toggle-slider:before{position:absolute!important;transition:.3s!important}.toggle-slider:before{background-color:#fff!important;border-radius:50%!important;bottom:4px!important;content:""!important;height:20px!important;left:4px!important;width:20px!important}.session-toggle input:checked+.toggle-slider{background-color:#4caf50!important}.session-toggle input:checked+.toggle-slider:before{transform:translateX(22px)!important}.session-toggle input:disabled+.toggle-slider{cursor:not-allowed!important;opacity:.6!important}.available-sessions-list{display:flex!important;flex-direction:column!important;gap:12px!important}.child-schedule-modal .modal-header{align-items:flex-start!important;display:flex!important;flex-shrink:0;justify-content:space-between!important;padding:12px 15px!important;position:-webkit-sticky;position:sticky;top:0;z-index:10}.child-schedule-modal .modal-header .close-button{flex-shrink:0!important;margin-left:10px!important;position:relative!important;z-index:20!important}.child-schedule-modal .modal-header h2{font-size:16px!important;margin:0!important}.child-schedule-modal .modal-header p{font-size:11px!important;margin:2px 0 0!important}.calendar-container{-webkit-overflow-scrolling:touch;margin:0;overflow-x:visible!important;overflow-y:visible;padding-bottom:10px;padding-left:0;padding-right:0;width:100%!important}.calendar-grid{grid-gap:3px!important;display:grid!important;gap:3px!important;grid-template-columns:repeat(7,1fr)!important;max-width:100%!important;width:100%!important}.calendar-day-name{padding:6px 2px!important;text-align:center!important}.calendar-day,.calendar-day-name{font-size:10px!important;width:100%!important}.calendar-day{aspect-ratio:1!important;min-height:44px!important;min-width:44px!important;overflow:visible!important;padding:8px!important}.calendar-day.selected{box-shadow:0 0 0 3px #667eea4d!important}.calendar-day.empty{max-height:65px!important;min-height:65px!important;width:100%!important}.calendar-day>div:first-child{font-size:11px!important;font-weight:600!important;line-height:1.2!important;margin-bottom:1px!important}.calendar-day>div[style*=fontSize]{font-size:7px!important;line-height:1.1!important;margin-top:1px!important}.calendar-day-number{flex-shrink:0;font-size:16px!important;font-weight:600!important;margin-bottom:0!important}.calendar-session-details{flex:1 1;font-size:8px!important;line-height:1.2!important;overflow:hidden}.calendar-session-details>div:first-child{font-size:8px!important;font-weight:600!important;margin-bottom:2px!important}.calendar-session-details>div:last-child{font-size:7px!important}.calendar-available-sessions{flex:1 1;font-size:8px!important;line-height:1.2!important;overflow:hidden}.calendar-available-sessions>div:first-child{font-size:8px!important;font-weight:600!important;margin-bottom:2px!important}.calendar-available-sessions>div:not(:first-child){font-size:7px!important}.calendar-header{flex-wrap:wrap;gap:8px;margin-bottom:12px!important;padding:0 5px}.schedule-legend-mobile{display:flex!important}.calendar-header h3{flex:1 1;font-size:14px!important;margin:0!important;min-width:120px;text-align:center}.calendar-header button{font-size:11px!important;min-width:60px;padding:5px 8px!important}.form-group{margin-bottom:12px!important}.form-control{font-size:13px!important;padding:7px!important}.modal-body>div[style*=background]{font-size:11px!important;margin-bottom:12px!important;padding:8px!important}.modal-body>div[style*=background] small{font-size:9px!important;line-height:1.3!important}.modal-body>div[style*=marginTop]{margin-top:12px!important;padding:8px!important}.modal-body>div[style*=marginTop] h4{font-size:12px!important;margin:0 0 8px!important}.modal-body>div[style*=marginTop]>div{flex-direction:column!important;gap:6px!important}.modal-footer{background:#fff!important;border-top:1px solid #e9ecef!important;flex-shrink:0!important;margin-top:auto!important;padding:8px 15px!important}.modal-footer button{font-size:14px!important;padding:8px!important;width:100%}}@media (max-width:480px){.calendar-grid{gap:2px!important;grid-template-columns:repeat(7,1fr)!important;width:100%!important}.calendar-day{font-size:9px!important;padding:2px!important}.calendar-day,.calendar-day.empty{aspect-ratio:1!important;min-height:0!important;width:100%!important}.calendar-day-name{aspect-ratio:1!important;font-size:9px!important;padding:3px 1px!important;width:100%!important}.calendar-day-number{font-size:12px!important}.calendar-session-details,.calendar-session-details>div:first-child{font-size:6px!important}.calendar-session-details>div:last-child{font-size:5px!important}.calendar-available-sessions,.calendar-available-sessions>div:first-child{font-size:6px!important}.calendar-available-sessions>div:not(:first-child){font-size:5px!important}.calendar-header h3{font-size:13px!important}.calendar-header button{font-size:10px!important;min-width:50px;padding:4px 6px!important}}@media (max-width:768px) and (orientation:landscape){.child-schedule-modal{height:100vh!important}.child-schedule-modal .modal-body{max-height:calc(100vh - 120px)}.calendar-day{min-height:70px!important}}.student-dashboard{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 8px 32px #0000001a;color:#fff;padding:20px;text-align:center}.dashboard-header p{margin:0 0 20px;opacity:.9}.quick-links{gap:15px;justify-content:center}.quick-links .btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff4d;border-radius:25px;color:#fff;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .3s ease}.quick-links .btn:hover{background:#fff3;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.dashboard-nav{justify-content:center}.nav-tab{background:#f8f9fa;border-radius:25px;color:#6c757d;font-weight:600}.nav-tab:hover{background:#e9ecef;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.nav-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66}.dashboard-content{border-radius:15px;box-shadow:0 8px 32px #0000001a;min-height:500px}.overview-tab h2{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:30px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));overflow:hidden}.stat-card{word-wrap:break-word;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:15px;box-shadow:0 8px 32px #0000001a;flex-direction:column;justify-content:center;min-height:150px;overflow:hidden;text-align:center}.stat-card h3{font-size:1.1rem;font-weight:600;margin:0 0 15px;opacity:.9}.stat-number{font-size:3rem;font-weight:700;margin:10px 0;text-shadow:0 2px 4px #0003}.stat-card p{word-wrap:break-word;font-size:.9rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;margin:10px 0 0;opacity:.9;overflow-wrap:break-word}.recent-activity{border-left:5px solid #667eea;border-radius:15px}.recent-activity h3{margin-bottom:20px}.activity-item{border-radius:10px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.activity-item:hover{transform:translateX(5px)}.activity-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;width:40px}.activity-meta{color:#6c757d;font-size:.9rem;margin-top:5px}.assignments-tab h2{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:30px}.assignments-list{display:flex;flex-direction:column;gap:20px}.assignment-card{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:25px;transition:all .3s ease}.assignment-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.assignment-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px}.assignment-header h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0}.assignment-badges{display:flex;flex-wrap:wrap;gap:10px}.priority-badge,.status-badge{border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:5px 12px;text-transform:capitalize}.assignment-description{color:#6c757d;line-height:1.6;margin-bottom:20px}.assignment-meta{display:flex;flex-wrap:wrap;gap:30px;margin-bottom:20px}.assignment-meta p{color:#495057;font-weight:500;margin:0}.assignment-actions{display:flex;flex-wrap:wrap;gap:15px}.notes-tab h2{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:30px}.notes-header{gap:20px;justify-content:space-between}.course-filter,.notes-header{align-items:center;display:flex;flex-wrap:wrap;margin-bottom:30px}.course-filter{gap:15px}.course-filter label{color:#2c3e50;font-weight:600}.course-filter select{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#495057;font-size:1rem;min-width:200px;padding:8px 15px}.notes-list{display:flex;flex-direction:column;gap:20px}.note-card{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:25px;transition:all .3s ease}.note-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.note-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px}.note-header h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0}.note-actions{gap:10px}.note-actions,.note-meta{display:flex;flex-wrap:wrap}.note-meta{gap:15px;margin-bottom:15px}.course-badge,.date-badge,.private-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:5px 12px}.course-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.date-badge{background:#e9ecef;color:#495057}.private-badge{background:#f8d7da;color:#721c24}.note-content{color:#495057;line-height:1.6;margin-bottom:15px}.note-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#f8f9fa;border-radius:12px;color:#495057;font-size:.8rem;font-weight:500;padding:4px 8px}.progress-tab h2{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:30px}.progress-list{display:flex;flex-direction:column;gap:25px}.progress-card{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a}.progress-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.progress-header{flex-wrap:wrap;gap:15px;margin-bottom:20px}.progress-header h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0}.progress-percentage{color:#28a745;font-size:2rem;font-weight:700}.progress-bar{background:#e9ecef;border-radius:10px;height:20px;margin-bottom:25px}.progress-fill{background:linear-gradient(135deg,#28a745,#20c997)}.progress-details{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:20px}.goals-section,.skills-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;padding:20px}.goals-section h4,.skills-section h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 15px}.goals-section ul,.skills-section ul{margin:0;padding-left:20px}.goals-section li,.skills-section li{color:#495057;line-height:1.5;margin-bottom:8px}.last-updated{color:#6c757d;font-size:.9rem;margin:0;text-align:right}.courses-tab h2{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:30px}.courses-list{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.course-card{background:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:25px;text-align:center}.course-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.course-card h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 15px}.course-card p{color:#6c757d;line-height:1.6;margin-bottom:20px}.course-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.modal-overlay{padding:20px}.modal-content{background:#fff;border-radius:15px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid #e9ecef;padding:25px 30px}.modal-header h3{font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;font-size:1.5rem;padding:5px;transition:all .2s ease}.modal-close:hover{background:#f8f9fa;color:#dc3545}.modal-body{padding:30px}.form-group{margin-bottom:25px}.form-group input,.form-group select,.form-group textarea{padding:12px 15px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{min-height:120px}.checkbox-label{align-items:center;color:#495057;cursor:pointer;display:flex;font-weight:500;gap:10px}.checkbox-label input[type=checkbox]{margin:0;width:auto}.modal-footer{border-top:1px solid #e9ecef;padding:25px 30px}.btn{font-size:1rem;font-weight:600;text-align:center}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover{box-shadow:0 5px 15px #667eea66}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268;box-shadow:0 5px 15px #6c757d66}.btn-danger{background:#dc3545}.btn-danger:hover{background:#c82333;box-shadow:0 5px 15px #dc354566;transform:translateY(-2px)}.btn-sm{font-size:.875rem}.btn:disabled{transform:none}.error-container,.loading-container{color:#6c757d}.loading-spinner{border-top-color:#667eea}.error-container h2{color:#dc3545;margin-bottom:15px}@media (max-width:768px){.student-dashboard{padding:15px}.dashboard-header h1{font-size:2rem}.dashboard-nav{flex-direction:column}.nav-tab{text-align:center;width:100%}.stats-grid{gap:15px;grid-template-columns:1fr}.stat-card{min-height:120px;padding:20px}.stat-card p{font-size:.8rem}.assignment-header,.note-header{align-items:flex-start;flex-direction:column}.assignment-badges,.note-actions{justify-content:flex-start;width:100%}.assignment-meta{flex-direction:column;gap:10px}.courses-list,.progress-details{grid-template-columns:1fr}.modal-content{margin:10px;max-height:calc(100vh - 20px)}.modal-body,.modal-footer,.modal-header{padding:20px}}.admin-dashboard{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.users-header h3{color:#2c3e50;font-size:1.8rem;margin:0}.users-table-container{border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow-x:auto}.users-table{background:#fff;border-collapse:collapse;width:100%}.users-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:15px;text-align:left}.users-table td{border-bottom:1px solid #dee2e6;padding:15px;vertical-align:middle}.users-table tr:hover{background:#f8f9fa}.users-table .action-buttons{display:flex;flex-wrap:wrap;gap:6px}.users-table .btn-xs{font-size:11px;min-width:auto;padding:4px 8px;white-space:nowrap}.group-filter-dropdown{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:5px;max-height:300px;min-width:250px;overflow-y:auto;padding:10px;position:absolute;right:0;top:100%;z-index:1000}.role-badge,.status-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:6px 12px;text-transform:uppercase}.role-badge.admin{background:#e74c3c;color:#fff}.role-badge.teacher{background:#3498db;color:#fff}.role-badge.parent{background:#9b59b6;color:#fff}.role-badge.student{background:#f39c12;color:#fff}.status-badge.inactive{background:#95a5a6;color:#fff}.analytics-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.analytics-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px}.analytics-card h4{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.analytics-card p{color:#7f8c8d;margin:0 0 20px}.chart-placeholder{background:#fff;border:2px dashed #dee2e6;border-radius:8px;color:#7f8c8d;font-size:1.2rem;padding:40px;text-align:center}.settings-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.setting-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px;text-align:center}.setting-card h4{color:#2c3e50;font-size:1.2rem;margin:0 0 15px}.setting-card p{color:#7f8c8d;margin:0 0 20px}.modal-footer{border-top:1px solid #dee2e6;display:flex;gap:15px;justify-content:flex-end;padding:20px 25px}@media (max-width:768px){.admin-dashboard{padding:10px}.dashboard-header{padding:20px}.dashboard-header h1{font-size:2rem}.dashboard-nav{flex-wrap:wrap}.nav-tab{font-size:.9rem;padding:10px 16px}.stats-grid{grid-template-columns:1fr}.users-table-container{font-size:.9rem}.action-buttons{flex-direction:column;gap:8px}.btn-sm{font-size:.8rem;padding:8px 12px}}.programs-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.programs-header h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.programs-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.programs-table{border-collapse:collapse;width:100%}.programs-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#2c3e50;font-weight:600;padding:16px;text-align:left}.programs-table td{border-bottom:1px solid #e9ecef;padding:16px;vertical-align:middle}.programs-table tr:hover,.programs-table tr[data-tier=foundations]{background:#f8f9fa}.programs-table tr[data-tier=innovators]{background:#e8f4fd}.programs-table tr[data-tier=pioneers]{background:#fff3cd}.programs-table tr[data-tier=foundations]:hover{background:#e9ecef}.programs-table tr[data-tier=innovators]:hover{background:#d1ecf1}.programs-table tr[data-tier=pioneers]:hover{background:#ffeaa7}.sessions-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:25px}.session-controls,.sessions-header{align-items:center;display:flex;gap:15px}.program-selector{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:200px;padding:8px 12px}.sessions-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.sessions-table th{border-bottom:2px solid #e9ecef;padding:16px}.sessions-table td{border-bottom:1px solid #e9ecef;padding:16px;vertical-align:middle}.session-program{color:#2c3e50;font-weight:500}.session-time{color:#495057;font-family:Courier New,monospace;font-size:14px}.enrollment-count{font-weight:500}.enrollment-count.full{color:#dc3545;font-weight:600}.sessions-table .tier-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px;text-transform:capitalize}.sessions-table .tier-badge.foundations{background:#e8f5e8;color:#2d5a2d}.sessions-table .tier-badge.innovators{background:#e8f4fd;color:#1e3a8a}.sessions-table .tier-badge.pioneers{background:#fff3cd;color:#856404}.sessions-table .tier-badge.all{background:#f8f9fa;color:#6c757d}.session-form-modal{max-width:500px}@media (max-width:768px){.session-controls,.sessions-header{align-items:stretch;flex-direction:column}.program-selector{min-width:auto}.sessions-table-container{overflow-x:auto}.sessions-table{min-width:600px}}.program-name{align-items:center;color:#2c3e50;display:flex;font-weight:500;gap:12px}.program-color{border-radius:50%;flex-shrink:0;height:16px;width:16px}.type-badge{border-radius:20px;font-size:.85rem;font-weight:500;padding:4px 12px;text-transform:capitalize}.type-badge.after_school{background:#e3f2fd;color:#1976d2}.type-badge.homeschool{background:#f3e5f5;color:#7b1fa2}.type-badge.vacation_camp{background:#fff3e0;color:#f57c00}.type-badge.competition{background:#ffebee;color:#d32f2f}.tier-badge{border-radius:20px;font-size:.85rem;font-weight:500;padding:4px 12px;text-transform:capitalize}.tier-badge.all{background:#e8f5e8;color:#2e7d32}.tier-badge.foundations{background:#e3f2fd;color:#1976d2}.tier-badge.innovators{background:#fff3e0;color:#f57c00}.tier-badge.pioneers{background:#f3e5f5;color:#7b1fa2}.program-form-modal{max-width:600px;width:90%}.program-form-modal .modal-content{max-height:70vh;overflow-y:auto}.user-form-modal{max-width:700px;width:90%}.user-form-modal .modal-content{max-height:80vh;overflow-y:auto}.password-options{display:flex;flex-direction:column;gap:12px;margin-top:8px}.radio-option{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background-color .2s}.radio-option:hover{background-color:#f8f9fa}.radio-option input[type=radio]{cursor:pointer;margin:0}.radio-option span{color:#2c3e50;cursor:pointer;font-size:.9rem}.password-input-group{align-items:center;display:flex;gap:10px}.password-input-group input{flex:1 1}.password-input-group .btn{font-size:.85rem;padding:8px 12px;white-space:nowrap}.checkbox-option{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background-color .2s}.checkbox-option:hover{background-color:#f8f9fa}.checkbox-option input[type=checkbox]{cursor:pointer;margin:0}.checkbox-option span{color:#2c3e50;cursor:pointer;font-size:.9rem}.modal-actions{justify-content:flex-end;margin-top:25px}.error-text{color:#e74c3c;display:block;font-size:.8rem;margin-top:4px}.form-group input.error,.form-group select.error{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c40}.form-row{margin-bottom:20px}.form-group label{display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6c63ff}.form-group input[type=color]{border-radius:8px;cursor:pointer;height:40px;padding:4px;width:60px}@media (max-width:768px){.programs-header{align-items:stretch;flex-direction:column;gap:15px}.programs-table-container{overflow-x:auto}.programs-table{min-width:600px}.form-row{gap:0;grid-template-columns:1fr}.program-form-modal{margin:10px;width:95%}}.courses-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.courses-header h3{font-size:1.5rem;font-weight:600;margin:0}.courses-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.courses-table{border-collapse:collapse;width:100%}.courses-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#2c3e50;font-weight:600;padding:16px;text-align:left}.courses-table td{border-bottom:1px solid #e9ecef;padding:16px;vertical-align:middle}.courses-table tr:hover{background:#f8f9fa}.course-name{font-weight:500}.course-form-modal{max-width:700px;width:90%}.course-form-modal .modal-content{max-height:80vh;overflow-y:auto}@media (max-width:768px){.courses-header{align-items:stretch;flex-direction:column;gap:15px}.courses-table-container{overflow-x:auto}.courses-table{min-width:700px}.course-form-modal{margin:10px;width:95%}}.attendance-modal{max-height:90vh;max-width:800px;overflow-y:auto}.session-info{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:20px;padding:20px}.session-info h4{color:#2c3e50;font-size:1.2rem;margin-bottom:15px}.session-info p{color:#6c757d;margin:8px 0}.session-info strong{color:#2c3e50;font-weight:600}.attendance-form h4{color:#2c3e50;font-size:1.2rem;margin-bottom:20px}.students-list{display:flex;flex-direction:column;gap:20px}.student-attendance-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.student-info{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.student-info h5{color:#2c3e50;font-size:1.1rem;margin:0}.student-tier{background:#e3f2fd;border-radius:20px;color:#1976d2;font-size:.9rem;font-weight:500;padding:4px 12px}.attendance-controls{display:flex;flex-direction:column;gap:15px}.status-selection{display:flex;flex-wrap:wrap;gap:20px}.status-selection label{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:8px 12px;transition:background-color .2s}.status-selection label:hover{background:#f8f9fa}.status-selection input[type=radio]{margin:0}.notes-section{display:flex;flex-direction:column;gap:8px}.notes-section label{color:#6c757d;font-size:.9rem;font-weight:500}.notes-section textarea{border:1px solid #ced4da;border-radius:6px;font-size:.9rem;min-height:60px;padding:10px;resize:vertical;width:100%}.notes-section textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}@media (max-width:768px){.attendance-modal{margin:10px;max-width:95vw}.status-selection,.student-info{flex-direction:column;gap:10px}.student-info{align-items:flex-start}}.attendance-page{background:#f8f9fa;height:100%;left:0;overflow-y:auto;position:fixed;top:0;width:100%;z-index:1000}.attendance-header{background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a;padding:20px 30px}.attendance-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.attendance-title h2{color:#2c3e50;font-size:1.8rem;margin:0}.session-info-card{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:20px}.session-info-card h3{color:#2c3e50;font-size:1.2rem;margin:0 0 15px}.session-details-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{color:#6c757d}.detail-item strong{color:#2c3e50;font-weight:600}.attendance-content{margin:0 auto;max-width:1200px;padding:30px}.attendance-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;overflow:hidden}.attendance-table-container h3{color:#2c3e50;font-size:1.3rem;margin:0 0 20px;padding:20px 20px 0}.attendance-table{font-size:.9rem}.attendance-table thead{background:#f8f9fa}.attendance-table th{border-bottom:2px solid #e9ecef;padding:15px 20px}.attendance-table td{border-bottom:1px solid #e9ecef;padding:15px 20px}.attendance-row:hover{background:#f8f9fa}.student-tier .tier-badge{background:#e3f2fd;border-radius:20px;color:#1976d2;font-size:.8rem;font-weight:500;padding:4px 12px}.attendance-checkbox{text-align:center}.attendance-checkbox input[type=radio]{cursor:pointer;transform:scale(1.2)}.attendance-notes{min-width:200px}.notes-textarea{border:1px solid #ced4da;border-radius:4px;font-family:inherit;font-size:.9rem;min-height:60px;padding:8px 12px;resize:vertical;width:100%}.notes-textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.attendance-actions{display:flex;gap:15px;justify-content:flex-end;padding:20px 0}.attendance-actions .btn{font-size:1rem;font-weight:500;padding:12px 24px}@media (max-width:768px){.attendance-content{padding:20px}.attendance-table-container{overflow-x:auto}.attendance-table{min-width:600px}.session-details-grid{grid-template-columns:1fr}.attendance-title{align-items:flex-start;gap:15px}.attendance-actions,.attendance-title{flex-direction:column}.attendance-actions .btn{width:100%}}.students-header{border-bottom:2px solid #e9ecef;margin-bottom:30px;padding-bottom:20px}.students-header h3{font-weight:600}.students-header p{color:#6c757d;font-size:1rem;margin:5px 0 0}.students-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.students-table{border-collapse:collapse;font-size:.9rem;width:100%}.students-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:15px 12px;text-align:left;text-transform:uppercase}.students-table td{border-bottom:1px solid #dee2e6;padding:12px;vertical-align:middle}.students-table tr:hover{background:#f8f9fa}.students-table tr:last-child td{border-bottom:none}.tier-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.tier-badge.foundations{background:#d4edda;color:#155724}.tier-badge.innovators{background:#cce5ff;color:#004085}.tier-badge.pioneers{background:#fff3cd;color:#856404}.no-data{color:#6c757d;padding:40px 20px;text-align:center}.no-data p{font-size:1.1rem;font-style:italic;margin:0}.program-detail-modal{max-width:900px!important}.program-detail-section{border-bottom:2px solid #e9ecef;margin-bottom:30px;padding-bottom:20px}.program-detail-section:last-child{border-bottom:none}.program-detail-section h4{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 20px}.detail-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{align-items:flex-start;display:flex;gap:10px}.detail-item.full-width{flex-direction:column;grid-column:1/-1}.detail-label{color:#6c757d;font-weight:600;min-width:120px}.detail-value{color:#2c3e50;flex:1 1}.detail-description{color:#495057;line-height:1.6;margin:8px 0 0}.schedule-info-box{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;padding:20px}.schedule-item{display:flex;flex-direction:column;gap:8px;min-width:150px}.schedule-item.full-width{width:100%}.schedule-item label{color:#2c3e50;font-size:.9rem;font-weight:600}.schedule-input{border:2px solid #e9ecef;border-radius:6px;font-size:.95rem;padding:8px 12px}.days-checkbox-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.day-checkbox-label{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;gap:6px;padding:8px 12px;transition:all .2s ease}.day-checkbox-label:hover{background:#f8f9fa;border-color:#3498db}.day-checkbox-label input[type=checkbox]{accent-color:#3498db;cursor:pointer}.day-checkbox-label:has(input[type=checkbox]:checked){background:#e7f3ff;border-color:#3498db}.day-checkbox-label span{color:#495057;font-size:.85rem;font-weight:500}.day-checkbox-label:has(input[type=checkbox]:checked) span{color:#2c3e50;font-weight:600}.calendar-container{background:#fff;border:1px solid #dee2e6;border-radius:12px;box-shadow:0 4px 12px #00000014;max-width:100%;padding:28px}.calendar-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.calendar-month-year{color:#2c3e50;font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin:0;text-transform:capitalize}.calendar-nav-btn{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:4px;padding:8px 16px;transition:all .2s ease}.calendar-nav-btn:hover{background:#f8f9fa;border-color:#3498db;color:#3498db;transform:translateY(-1px)}.calendar-nav-btn:active{transform:translateY(0)}.calendar-wrapper{overflow:visible;width:100%}.calendar-day-headers{grid-gap:0;background:#f8f9fa;border-radius:8px 8px 0 0;display:grid;gap:0;grid-template-columns:repeat(7,1fr);margin-bottom:0;padding:10px 0}.calendar-day-header{background:#0000;color:#495057;font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:8px 4px;text-align:center;text-transform:uppercase}.calendar-days-grid{grid-gap:2px;background:#e9ecef;border-radius:0 0 8px 8px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);padding:2px;width:100%}.calendar-day-cell{align-items:center;aspect-ratio:1;background:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;margin:0;min-height:60px;position:relative;transition:all .15s ease}.calendar-day-cell:hover:not(.selected){background:#e7f3ff;box-shadow:0 2px 8px #3498db4d;transform:scale(1.08);z-index:2}.calendar-day-cell.other-month{background:#f8f9fa;cursor:pointer;opacity:.7}.calendar-day-cell.other-month:hover{background:#e7f3ff;opacity:1}.calendar-day-cell.other-month .calendar-day-number{color:#6c757d}.calendar-day-cell.today{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #2ecc71;box-shadow:0 0 0 2px #2ecc7126}.calendar-day-cell.today .calendar-day-number{color:#155724;font-weight:700}.calendar-day-cell.selected{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 2px 8px #3498db66;color:#fff;transform:scale(1.05);z-index:1}.calendar-day-cell.selected .calendar-day-number{color:#fff;font-weight:700}.calendar-day-cell.selected:hover{background:linear-gradient(135deg,#2980b9,#21618c);transform:scale(1.1)}.calendar-day-cell.has-attendance{border:2px solid #2e7d32}.calendar-day-cell.has-attendance.selected{border:2px solid #2980b9;box-shadow:inset 0 0 0 2px #2980b9,0 0 0 2px #2e7d32}.calendar-day-cell.has-session{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50;box-shadow:0 0 0 2px #4caf5033}.calendar-day-cell.has-session:hover{background:linear-gradient(135deg,#c8e6c9,#a5d6a7);border-color:#388e3c}.calendar-day-cell.has-session.selected{background:linear-gradient(135deg,#3498db,#2980b9);border-color:#2980b9;box-shadow:inset 0 0 0 2px #2980b9,0 0 0 2px #4caf50}.calendar-day-cell.has-session.today{background:linear-gradient(135deg,#c8e6c9,#a5d6a7);border-color:#4caf50;box-shadow:0 0 0 2px #4caf504d,0 0 0 4px #2e7d3226}.calendar-day-cell.has-scheduled-session{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #2196f3;box-shadow:0 0 0 2px #2196f333}.calendar-day-cell.has-scheduled-session:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);border-color:#1976d2}.calendar-day-cell.has-scheduled-session.has-attendance{background:linear-gradient(135deg,#c8e6c9,#a5d6a7);border:2px solid #4caf50;box-shadow:0 0 0 2px #4caf504d,0 0 0 4px #2196f333}.calendar-day-cell.has-scheduled-session.selected{background:linear-gradient(135deg,#3498db,#2980b9);border-color:#2980b9;box-shadow:inset 0 0 0 2px #2980b9,0 0 0 2px #2196f3}.calendar-day-cell.has-scheduled-session.today{background:linear-gradient(135deg,#bbdefb,#90caf9);border-color:#2196f3;box-shadow:0 0 0 2px #2196f34d,0 0 0 4px #1976d226}.calendar-day-number{color:#495057;font-size:1rem;font-weight:500;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.selected-dates-summary{border-top:2px solid #e9ecef;margin-top:20px;padding-top:20px}.selected-dates-summary h5{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 12px}.selected-dates-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.selected-date-tag{align-items:center;background:#e7f3ff;border:2px solid #3498db;border-radius:6px;color:#2c3e50;display:inline-flex;font-size:.85rem;font-weight:500;gap:6px;padding:6px 12px}.remove-date-btn{align-items:center;background:#3498db;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:18px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:18px}.remove-date-btn:hover{background:#e74c3c;transform:scale(1.1)}.btn-xs{font-size:.75rem;height:auto;min-width:auto;padding:4px 8px}.btn-info{background:#17a2b8;border:none;color:#fff}.btn-info:hover{background:#138496}.teacher-dashboard{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.students-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.students-header h3{color:#2c3e50;font-size:1.8rem;margin:0}.students-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.student-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:20px;transition:all .3s ease}.student-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.student-info h4{color:#2c3e50;font-size:1.3rem;margin:0 0 10px}.student-email,.student-grade{margin:5px 0}.student-program{color:#27ae60;font-weight:600;margin:5px 0}.student-actions{display:flex;gap:10px;margin-top:15px}.attendance-header{align-items:center;display:flex;justify-content:space-between}.date-selector{align-items:center;display:flex;gap:10px}.date-input{border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;padding:8px 12px}.classes-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.class-card{border:1px solid #dee2e6;padding:25px}.class-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.class-card h4{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.class-card p{color:#7f8c8d;margin:5px 0}.class-actions{margin-top:20px}.reports-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.report-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.report-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.report-card h4{color:#2c3e50;font-size:1.2rem;margin:0 0 15px}.report-card p{color:#7f8c8d;margin:0 0 20px}.modal{max-width:500px}.attendance-modal{max-width:700px;width:95%}.attendance-form{display:flex;flex-direction:column;gap:20px}.form-input,.form-select{border:1px solid #dee2e6;border-radius:6px;font-size:1rem;padding:10px 12px}.form-input:focus,.form-select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.status-buttons{display:flex;flex-wrap:wrap;gap:10px}.search-input{border:2px solid #dee2e6;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.student-list{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;max-height:300px;overflow-y:auto}.student-option{align-items:center;background:#fff;border-bottom:1px solid #dee2e6;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:all .3s ease}.student-option:hover{background:#f8f9fa;transform:translateX(5px)}.student-option.selected{background:#e3f2fd;border-left:4px solid #3498db}.student-option:last-child{border-bottom:none}.student-info{flex:1 1}.student-name{color:#2c3e50;font-size:1.1rem;margin-bottom:5px}.student-details{display:flex;gap:15px;margin-bottom:5px}.student-email{color:#7f8c8d;font-size:.9rem}.student-grade{color:#3498db;font-size:.9rem;font-weight:600}.parent-info{color:#27ae60;font-size:.85rem;font-weight:500}.selected-indicator{color:#27ae60;font-size:1.2rem;font-weight:700}.no-results{color:#7f8c8d;font-style:italic;padding:30px;text-align:center}.selected-student-info{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:15px 0;padding:15px}.selected-student-info h4{color:#2c3e50;font-size:1.1rem;margin:0 0 10px}.selected-student-info p{color:#555;font-size:.95rem;margin:5px 0}.selected-student-info strong{color:#2c3e50}.attendance-summary{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;padding:15px}.attendance-summary p{color:#2c3e50;font-size:1rem;margin:0}.record-count{color:#7f8c8d;font-weight:500;margin-left:10px}.no-attendance{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px}.no-attendance p{color:#7f8c8d;margin:0 0 20px}.no-attendance .btn{margin-top:15px}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#229954}.btn-warning{background:#f39c12;color:#fff}.btn-warning:hover{background:#e67e22}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}@media (max-width:768px){.teacher-dashboard{padding:10px}.dashboard-header{padding:20px}.dashboard-header h1{font-size:2rem}.dashboard-nav{flex-wrap:wrap}.nav-tab{font-size:.9rem;padding:10px 16px}.classes-grid,.reports-grid,.stats-grid,.students-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column;gap:8px}.btn-sm{font-size:.8rem;padding:8px 12px}.attendance-table-container{font-size:.9rem}.attendance-modal{max-width:95%;width:95%}.student-details{flex-direction:column;gap:5px}.student-option{padding:12px}.student-name{font-size:1rem}.status-buttons{flex-direction:column;gap:8px}.status-buttons .btn{width:100%}}.parent-dashboard{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.parent-dashboard-hero{grid-gap:24px;align-items:center;background:linear-gradient(135deg,#6a11cb,#2575fc);border-radius:18px;box-shadow:0 12px 30px #6a11cb59;color:#fff;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px;padding:32px}.hero-body h1{font-size:2.25rem;margin:0 0 10px}.hero-eyebrow{font-size:.75rem;letter-spacing:.12em;margin-bottom:6px;opacity:.8;text-transform:uppercase}.hero-subtitle{font-size:1rem;margin:0 0 16px;opacity:.9}.hero-pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.hero-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-radius:40px;font-size:.9rem;font-weight:600;padding:6px 12px}.hero-chip-success{background:#10b98140}.hero-chip-alert{background:#f9731640}.hero-links{align-items:center;display:flex;flex-wrap:wrap;font-size:.95rem;gap:10px;margin-bottom:18px}.hero-links a{color:#fff;font-weight:600;text-decoration:none}.hero-primary-action{background:#fff;border:none;border-radius:40px;box-shadow:0 8px 20px #0003;color:#1f2937;cursor:pointer;font-weight:600;padding:12px 22px;transition:transform .2s ease,box-shadow .2s ease}.hero-primary-action:hover{box-shadow:0 12px 24px #00000040;transform:translateY(-2px)}.hero-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.hero-summary-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border-radius:16px;box-shadow:inset 0 0 0 1px #fff3;padding:18px}.hero-summary-label{font-size:.9rem;letter-spacing:.08em;margin:0;opacity:.8;text-transform:uppercase}.hero-summary-value{font-size:1.9rem;font-weight:700;margin:6px 0}.hero-summary-helper{font-size:.85rem;opacity:.8}.hero-quick-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.hero-quick-action{align-items:center;background:#fff;border:none;border-radius:14px;box-shadow:0 6px 15px #1118271a;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:12px;justify-content:center;padding:16px;transition:transform .2s ease,box-shadow .2s ease}.hero-quick-action:hover{box-shadow:0 10px 18px #11182726;transform:translateY(-2px)}.hero-action-icon{font-size:1.25rem}.session-stats{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:15px;padding:15px}.session-stats h5{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 10px}.session-stats p{color:#495057;font-size:.9rem;margin:5px 0}.remaining-sessions{color:#28a745;font-size:1.1rem;font-weight:700}.dashboard-header{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:30px}.dashboard-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0 0 10px}.dashboard-header p{color:#7f8c8d;font-size:1.1rem;margin:0}.quick-links{margin-top:15px}.dashboard-nav,.quick-links{display:flex;flex-wrap:wrap;gap:10px}.dashboard-nav{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;overflow-x:auto;padding:10px;position:relative;z-index:5}.dashboard-nav::-webkit-scrollbar{display:none}.nav-tab{background:#0000;border:none;border-radius:8px;color:#7f8c8d;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.nav-tab:hover{background:#f8f9fa;color:#2c3e50}.nav-tab.active{background:#3498db;box-shadow:0 2px 8px #3498db4d;color:#fff}.mobile-bottom-nav,.mobile-nav-drawer,.mobile-nav-overlay{display:none}.desktop-nav{display:flex}.dashboard-content{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:30px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;display:flex;gap:20px;padding:25px;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-icon{font-size:2.5rem;opacity:.9}.stat-content h3{font-size:2.5rem;font-weight:700;margin:0}.stat-content p{font-size:1rem;margin:5px 0 0;opacity:.9}.quick-actions{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;margin-bottom:30px;padding:25px}.quick-actions h3{color:#2c3e50;font-size:1.5rem;margin:0 0 20px}.action-buttons{display:flex;flex-wrap:wrap;gap:15px}.recent-activity{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px}.recent-activity h3{color:#2c3e50;font-size:1.5rem;margin:0 0 20px}.activity-list{display:flex;flex-direction:column;gap:15px}.activity-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:15px;padding:15px;transition:all .3s ease}.activity-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.activity-icon{color:#3498db;font-size:1.5rem}.activity-content p{color:#2c3e50;font-size:.95rem;margin:0}.activity-date{color:#7f8c8d;font-size:.85rem}.children-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.child-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px;transition:all .3s ease}.child-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.child-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.child-header h4{color:#2c3e50;font-size:1.3rem;margin:0}.child-details{margin-bottom:20px}.child-details p{color:#555;font-size:.95rem;margin:8px 0}.child-actions{display:flex;gap:10px}.attendance-header{margin-bottom:25px}.attendance-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.attendance-header h3{color:#2c3e50;font-size:1.8rem;margin:0}.attendance-refresh-icon{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.attendance-refresh-icon:hover{background:#f0f0f0;transform:rotate(180deg)}.attendance-refresh-icon:active{transform:rotate(1turn)}.selected-child-info{border-radius:8px}.selected-child-info p{color:#1976d2;font-size:.95rem}.attendance-table-container{border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow-x:auto}@media (max-width:768px){.attendance-table-container{background:#0000;border-radius:0;box-shadow:none}.attendance-table-container .attendance-pills-container{background:#0000}}.attendance-table-wrapper{overflow-x:auto}.attendance-list-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden}.attendance-list-row{border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;flex-direction:column;padding:12px 16px;transition:background-color .2s ease}.attendance-list-row:last-child{border-bottom:none}.attendance-list-row.expanded,.attendance-list-row:hover{background-color:#f8f9fa}.attendance-row-content{align-items:center;display:flex;gap:12px;width:100%}.attendance-date-column{align-items:center;display:flex;flex-direction:column;flex-shrink:0;min-width:50px}.attendance-day{color:#2c3e50;font-size:24px;font-weight:700;line-height:1}.attendance-month{color:#6c757d;font-size:11px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.attendance-info-column{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.attendance-student-name{color:#2c3e50;font-size:15px;font-weight:600}.attendance-program-name,.attendance-student-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-program-name{color:#6c757d;font-size:13px}.attendance-status-column{align-items:center;display:flex;flex-shrink:0}.attendance-notes-section{animation:slideDown .2s ease;border-top:1px solid #e9ecef;margin-top:12px;padding-top:12px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:200px;opacity:1}}.attendance-notes-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.attendance-notes-content{color:#2c3e50;font-size:14px;line-height:1.5;word-break:break-word}.attendance-table{background:#fff;border-collapse:collapse;width:100%}.attendance-table th{border-bottom:2px solid #dee2e6;padding:15px;text-align:left}.attendance-table td{border-bottom:1px solid #dee2e6;padding:15px}.attendance-table tr:hover{background:#f8f9fa}.status-badge{border-radius:20px;padding:6px 12px}.status-badge.active,.status-badge.present{background:#27ae60;color:#fff}.status-badge.absent{background:#e74c3c;color:#fff}.status-badge.late{background:#f39c12;color:#fff}.progress-reports{display:flex;flex-direction:column;gap:25px}.progress-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px;transition:all .3s ease}.progress-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.progress-header h4{color:#2c3e50;font-size:1.3rem;margin:0}.progress-date{margin-bottom:20px}.progress-date p{color:#7f8c8d;font-size:.9rem;margin:0}.progress-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.achievements-section,.improvement-section,.skills-section,.teacher-notes{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:15px}.achievements-section h5,.improvement-section h5,.skills-section h5,.teacher-notes h5{color:#2c3e50;font-size:1rem;margin:0 0 10px}.achievements-section ul,.improvement-section ul,.skills-section ul{margin:0;padding-left:20px}.achievements-section li,.improvement-section li,.skills-section li{color:#555;font-size:.9rem;margin:5px 0}.teacher-notes p{color:#555;font-size:.9rem;line-height:1.5;margin:0}.rating-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:6px 12px;text-transform:uppercase}.rating-badge.excellent{background:#27ae60;color:#fff}.rating-badge.good{background:#3498db;color:#fff}.rating-badge.satisfactory{background:#f39c12;color:#fff}.rating-badge.needs-improvement{background:#e74c3c;color:#fff}.messages-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.messages-header h3{color:#2c3e50;font-size:1.8rem;margin:0}.messages-list{display:flex;flex-direction:column;gap:15px}.message-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;cursor:pointer;padding:20px;position:relative;transition:all .3s ease}.message-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.message-item.unread{background:#e3f2fd;border-color:#bbdefb}.message-header{justify-content:space-between;margin-bottom:10px}.message-from,.message-header{align-items:center;display:flex}.message-from{gap:10px}.message-from strong{color:#2c3e50;font-size:1rem}.message-date{color:#7f8c8d;font-size:.85rem}.message-subject{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:8px}.message-content{color:#555;font-size:.95rem;line-height:1.5}.priority-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.priority-badge.high{background:#e74c3c;color:#fff}.priority-badge.medium{background:#f39c12;color:#fff}.priority-badge.low{background:#95a5a6;color:#fff}.unread-indicator{color:#e74c3c;font-size:1.2rem;font-weight:700;position:absolute;right:15px;top:15px}.enrollment-info{display:flex;flex-direction:column;gap:25px}.enrollment-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px}.enrollment-card h4{color:#2c3e50;font-size:1.3rem;margin:0 0 20px}.enrollment-list{display:flex;flex-direction:column;gap:15px}.enrollment-item{align-items:center;border:1px solid #dee2e6;border-radius:8px;display:flex;justify-content:space-between;transition:all .3s ease}.enrollment-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.enrollment-details h5{color:#2c3e50;font-size:1.1rem;margin:0 0 5px}.enrollment-details p{color:#7f8c8d;font-size:.9rem;margin:3px 0}.enrollment-actions{gap:10px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:20px 25px}.modal-header h3{color:#2c3e50;margin:0}.close-btn{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:1.5rem;padding:5px}.close-btn:hover{color:#2c3e50}.modal-content{padding:25px}.message-form{display:flex;flex-direction:column;gap:20px}.form-input,.form-select,.form-textarea{border:1px solid #dee2e6;border-radius:6px;font-size:1rem;padding:10px 12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .3s ease}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9;box-shadow:0 4px 12px #3498db4d;transform:translateY(-2px)}.btn-primary:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d;transform:translateY(-2px)}.btn-sm{font-size:.85rem;padding:6px 12px}.error-container,.loading-container{padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin:0 auto 20px;width:40px}.error-container h3{color:#e74c3c;margin:0 0 15px}.error-container p{color:#7f8c8d;margin:0 0 20px}@media (max-width:768px){.parent-dashboard{padding:10px}.parent-dashboard-hero{grid-template-columns:1fr;padding:24px}.hero-body h1{font-size:1.8rem}.hero-summary{gap:12px;grid-template-columns:1fr 1fr;padding:0 4px}.hero-summary-card{min-width:0;padding:14px}.hero-summary-value{font-size:1.5rem}.hero-quick-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.camps-grid{gap:15px!important;grid-template-columns:1fr!important}.camp-card{padding:15px!important}.desktop-nav{display:none!important}.mobile-bottom-nav{align-items:center;background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -4px 20px #0000001a;display:flex;justify-content:space-around;left:0;padding:8px 0 max(8px,env(safe-area-inset-bottom));position:fixed;right:0;z-index:100}.mobile-nav-item{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;min-width:0;padding:8px 12px;transition:all .2s ease}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-icon{font-size:1.5rem;line-height:1}.mobile-nav-label{font-size:.7rem;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-item.active{color:#3498db}.mobile-nav-item.active .mobile-nav-icon{transform:scale(1.1)}.mobile-nav-more.active{color:#3498db}.mobile-nav-overlay{animation:fadeIn .2s ease;background:#00000080;top:0;z-index:150}.mobile-nav-drawer,.mobile-nav-overlay{bottom:0;display:block;left:0;position:fixed;right:0}.mobile-nav-drawer{animation:slideUp .3s ease;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #00000026;max-height:70vh;padding-bottom:max(20px,env(safe-area-inset-bottom));z-index:151}.mobile-nav-drawer-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.mobile-nav-drawer-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.mobile-nav-close{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.mobile-nav-close:active{background:#e5e7eb;transform:scale(.95)}.mobile-nav-drawer-content{max-height:calc(70vh - 80px);overflow-y:auto;padding:12px}.mobile-nav-drawer-item{align-items:center;background:#0000;border:none;border-radius:12px;color:#374151;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:16px;margin-bottom:4px;padding:16px;text-align:left;transition:all .2s ease;width:100%}.mobile-nav-drawer-item:active{background:#f3f4f6;transform:scale(.98)}.mobile-nav-drawer-item.active{background:#eff6ff;color:#3498db}.mobile-nav-drawer-icon{font-size:1.5rem;text-align:center;width:32px}.mobile-nav-drawer-divider{background:#e5e7eb;height:1px;margin:12px 0}.mobile-nav-drawer-signout{color:#dc2626!important}.mobile-nav-drawer-signout:active{background:#fee2e2!important}.mobile-nav-drawer-signout .mobile-nav-drawer-icon{color:#dc2626}.parent-dashboard{padding-bottom:80px}.dashboard-header{padding:20px}.dashboard-header h1{font-size:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.children-grid,.stats-grid{grid-template-columns:1fr}.children-carousel-container{margin:20px 0}.children-carousel{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;gap:16px;overflow-x:auto;padding:0 5%;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.children-carousel::-webkit-scrollbar{display:none}.child-card-carousel{background:#f8f9fa;border:1px solid #dee2e6;border-radius:16px;box-shadow:0 2px 8px #0000001a;display:flex;flex:0 0 90%;flex-direction:column;min-height:400px;padding:20px;scroll-snap-align:center}.child-card-header-mobile{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.child-info-mobile h4{color:#2c3e50;font-size:1.4rem;font-weight:700;margin:0 0 6px}.child-bio-compact{color:#6c757d;font-size:.85rem;font-weight:400}.child-view-details-btn{align-items:center;background:#0000;border:2px solid #667eea;border-radius:50%;color:#667eea;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:36px;justify-content:center;transition:all .2s ease;width:36px}.child-view-details-btn:hover{background:#667eea;color:#fff;transform:scale(1.1)}.child-tier-mobile{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:10px;margin-bottom:16px}.child-programs-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.child-program-card{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.child-program-card strong{color:#2c3e50;font-size:.95rem}.program-meta{color:#6c757d;font-size:.8rem}.child-camp-card{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.child-camp-card strong{color:#2c3e50;font-size:.95rem}.camp-meta{color:#856404;font-size:.8rem}.child-sessions-info{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sessions-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.8rem;font-weight:500;padding:6px 12px}.no-enrollments-message{color:#999;font-size:.9rem;font-style:italic;padding:20px 0;text-align:center}.add-child-card{background:linear-gradient(135deg,#667eea,#764ba2);border:2px dashed #ffffff80}.add-child-button,.add-child-card{align-items:center;display:flex;justify-content:center}.add-child-button{background:#0000;border:none;color:#fff;cursor:pointer;flex-direction:column;gap:12px;height:100%;transition:transform .2s ease;width:100%}.add-child-button:active{transform:scale(.95)}.add-child-icon{font-size:3rem}.add-child-text{font-size:1.2rem;font-weight:600}.children-carousel-pagination{display:flex;gap:8px;justify-content:center;margin-top:20px;padding:0 20px}.carousel-dot{background:#d1d5db;border-radius:50%;cursor:pointer;height:8px;transition:all .2s ease;width:8px}.carousel-dot.active{background:#667eea;border-radius:4px;width:24px}.carousel-dot:hover{background:#9ca3af}.progress-content{grid-template-columns:1fr}.action-buttons{flex-direction:column;gap:8px}.btn-sm{font-size:.8rem;padding:8px 12px}.attendance-table-container{font-size:.9rem}.modal{max-width:95%;width:95%}.enrollment-item,.form-actions{flex-direction:column}.enrollment-item{align-items:flex-start;gap:15px}.enrollment-actions{justify-content:flex-end;width:100%}}.announcements{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;margin-bottom:30px;padding:25px}.announcements h3{color:#2c3e50;font-size:1.5rem;margin:0 0 20px}.announcement-list{display:flex;flex-direction:column;gap:15px}.announcement-item{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:all .3s ease}.announcement-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.announcement-header-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.announcement-item h4{color:#2c3e50;flex:1 1;font-size:1.1rem;margin:0}.announcement-dismiss-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.announcement-dismiss-btn:hover{background:#e9ecef;color:#dc3545;transform:scale(1.1)}.announcement-dismiss-btn:active{transform:scale(.95)}.announcement-item p{color:#555;font-size:.95rem;line-height:1.5;margin:0 0 10px}.announcement-date{color:#7f8c8d;font-size:.85rem;font-style:italic}.announcement-meta{align-items:center;display:flex;justify-content:space-between;margin-top:10px}.announcement-priority{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.announcement-priority.urgent{background:#ff6b6b;color:#fff}.announcement-priority.high{background:#ffa726;color:#fff}.no-announcements{color:#7f8c8d;font-style:italic;padding:20px;text-align:center}.packages-header{margin-bottom:30px}.packages-header h3{color:#2c3e50;font-size:1.8rem;margin:0 0 10px}.packages-header p{color:#7f8c8d;font-size:1rem;margin:0}.family-plan-info{background:#e8f5e8;border:1px solid #c3e6c3;border-radius:12px;margin-bottom:30px;padding:20px}.family-plan-info h4{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.family-plan-info p{color:#555;font-size:.95rem;margin:5px 0}.family-plan-info ul{margin:10px 0;padding-left:20px}.family-plan-info li{color:#555;font-size:.95rem;margin:5px 0}.family-policy{background:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;margin:15px 0;padding:15px}.family-policy h5{color:#0c5460;font-size:1.1rem;margin:0 0 10px}.family-policy p{color:#0c5460;font-size:.9rem;line-height:1.4;margin:8px 0}.family-policy p strong{color:#0a4a52}.family-policy p em{color:#0a4a52;font-style:italic}.drop-in-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;margin-bottom:30px;padding:25px}.drop-in-section h3{color:#2c3e50;font-size:1.4rem;margin:0 0 15px}.drop-in-section p{color:#555;font-size:1rem;margin:0 0 20px}.drop-in-pricing{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:20px 0}.pricing-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;text-align:center}.pricing-card h4{color:#2c3e50;font-size:1.1rem;margin:0 0 10px}.pricing-card .price{color:#28a745;font-size:1.8rem;font-weight:700;margin:10px 0}.pricing-card p{color:#666;font-size:.9rem;margin:10px 0 0}.drop-in-features{background:#e9ecef;border-radius:8px;margin:20px 0;padding:15px}.drop-in-features p{color:#555;font-size:.9rem;margin:5px 0}@media (max-width:768px){.drop-in-pricing{gap:15px;grid-template-columns:1fr}.pricing-card{padding:15px}.pricing-card .price{font-size:1.5rem}}.package-section{margin-bottom:40px}.package-section h4{border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:1.4rem;margin:0 0 20px;padding-bottom:10px}.package-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:30px}.package-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.package-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.package-card h5{color:#2c3e50;font-size:1.2rem;margin:0 0 15px}.package-price{margin-bottom:15px}.package-price .price{color:#2c3e50;display:block;font-size:2rem;font-weight:700}.package-duration,.package-price .per-session{color:#7f8c8d;font-size:.9rem}.package-duration{margin:10px 0}.package-features{margin:20px 0;text-align:left}.package-features p{color:#555;font-size:.9rem;margin:8px 0}.add-on-sessions{background:#f0f8ff;border:1px solid #b3d9ff;border-radius:12px;margin-bottom:30px;padding:25px}.add-on-sessions h4{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.add-on-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.add-on-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;text-align:center}.add-on-card h5{color:#2c3e50;font-size:1.1rem;margin:0 0 10px}.add-on-card .price{color:#3498db;font-size:1.5rem;font-weight:700}.trial-session{background:#fff3cd;border:1px solid #ffeaa7;border-radius:12px;padding:25px;text-align:center}.trial-session h4{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.trial-session p{color:#555;font-size:1rem;margin:10px 0}.program-enrollment-form-container{margin:0 auto;max-width:800px;padding:20px}.form-header{margin-bottom:30px;text-align:center}.form-header h3{color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0 0 8px}.form-subtitle{color:#6c757d;font-size:1rem;margin:0}.program-enrollment-form{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;margin-bottom:30px;padding:30px}.form-section{margin-bottom:30px}.form-section:last-child{margin-bottom:0}.form-label{align-items:center;color:#2c3e50;display:flex;font-size:.95rem;font-weight:600;gap:8px;margin-bottom:10px}.label-icon{font-size:1.2rem}.required{color:#e74c3c}.form-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%232c3e50' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;border:2px solid #e9ecef;border-radius:8px;color:#2c3e50;font-size:1rem;padding:12px 40px 12px 16px;transition:all .2s ease;width:100%}.form-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-select:hover{border-color:#ced4da}.form-help-text{color:#6c757d;font-size:.875rem;margin-top:8px}.camp-redirect-notice{background:#e7f3ff;border-left:4px solid #3498db;border-radius:8px;margin-top:12px;padding:12px}.camp-redirect-notice p{color:#2c3e50;font-size:.9rem;margin:0}.link-button{background:none;border:none;color:#3498db;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.link-button:hover{color:#2980b9}.program-details-preview{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:16px}.preview-title{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 20px}.preview-card{display:flex;flex-direction:column;gap:8px}.preview-row{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;gap:12px;padding:6px 0}.preview-row:last-child{border-bottom:none}.preview-row.full-width{flex-direction:column;gap:8px}.preview-label{color:#6c757d;font-size:.9rem;font-weight:600;min-width:140px}.preview-value{color:#2c3e50;flex:1 1}.preview-value.tier-badge{background:#3498db;border-radius:12px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:4px 12px}.preview-description{color:#495057;font-size:.95rem;line-height:1.6;margin:0}.info-note{align-items:flex-start;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;display:flex;gap:10px;margin-top:4px;padding:12px}.info-icon{flex-shrink:0;font-size:1.2rem;margin-top:2px}.info-text{color:#1565c0;flex:1 1;font-size:.9rem;line-height:1.5}.form-actions{align-items:center;border-top:2px solid #e9ecef;margin-top:30px}.form-actions,.program-enrollment-form .form-actions{justify-content:center}.btn-large{font-size:1rem;font-weight:500;padding:12px 24px}.btn-icon{font-size:1.2rem}.current-enrollments-section{border-top:2px solid #e9ecef;margin-top:40px;padding-top:30px}.section-title{color:#2c3e50;font-size:1.4rem;font-weight:600;margin:0 0 20px}.enrollments-list{display:flex;flex-direction:column;gap:12px}.enrollment-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px;transition:all .2s ease}.enrollment-item:hover{border-color:#ced4da;box-shadow:0 2px 8px #00000014}.enrollment-info h5{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px}.enrollment-meta{color:#6c757d;font-size:.9rem;line-height:1.6;margin:0}.enrollment-child{color:#2c3e50;font-weight:600}.status-badge{display:inline-block;font-size:.85rem;padding:4px 10px}.status-badge.status-active{background:#d4edda;color:#155724}.status-badge.status-pending{background:#fff3cd;color:#856404}.status-badge.status-completed{background:#d1ecf1;color:#0c5460}.homeschool-schedule-section{border-top:2px solid #e9ecef;margin-top:30px;padding-top:30px}.homeschool-info-box{background:#e7f3ff;border:2px solid #3498db;border-radius:12px;margin-bottom:25px;padding:20px}.info-title{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 12px}.info-description{color:#2c3e50;font-size:.95rem;line-height:1.6;margin:0 0 12px}.info-description strong{color:#3498db;font-weight:600}.info-note{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0}.info-note a{color:#3498db;font-weight:600;text-decoration:none}.info-note a:hover{text-decoration:underline}.radio-group{display:flex;flex-direction:column;gap:12px;margin-top:8px}.radio-label{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.radio-label:hover{background:#f8f9fa;border-color:#3498db}.radio-label input[type=radio]{accent-color:#3498db;cursor:pointer;height:20px;width:20px}.radio-label input[type=radio]:checked+.radio-text{color:#2c3e50;font-weight:600}.radio-text{color:#495057;flex:1 1;font-size:.95rem}.radio-label:has(input[type=radio]:checked){background:#e7f3ff;border-color:#3498db}.custom-schedule-fields{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;margin-top:20px;padding:20px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-textarea{border:2px solid #e9ecef;border-radius:8px;color:#2c3e50;font-family:inherit;font-size:1rem;min-height:100px;padding:12px 16px;resize:vertical;transition:all .2s ease;width:100%}.form-textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-input{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#2c3e50;font-size:1rem;padding:12px 16px;transition:all .2s ease;width:100%}.form-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.checkbox-group-days{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:8px}.checkbox-label-day{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:all .2s ease}.checkbox-label-day:hover{background:#f8f9fa;border-color:#3498db}.checkbox-label-day input[type=checkbox]{accent-color:#3498db;cursor:pointer;height:20px;width:20px}.checkbox-text{color:#495057;flex:1 1;font-size:.95rem;font-weight:500}.checkbox-label-day:has(input[type=checkbox]:checked){background:#e7f3ff;border-color:#3498db}.checkbox-label-day input[type=checkbox]:checked+.checkbox-text{color:#2c3e50;font-weight:600}.form-validation-message{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;color:#856404;font-size:.9rem;font-weight:500;margin-bottom:12px;padding:12px 16px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:disabled:hover{box-shadow:none;transform:none}@media (max-width:768px){.program-enrollment-form-container{padding:15px}.form-header h3{font-size:1.5rem}.program-enrollment-form{padding:20px}.form-section{margin-bottom:24px}.form-select{font-size:16px;padding:14px 16px}.program-details-preview{padding:20px}.preview-row{flex-direction:column;gap:6px}.preview-label{min-width:auto}.btn-large{font-size:1rem;padding:14px 20px}.enrollment-item,.homeschool-info-box{padding:16px}.radio-group{gap:10px}.radio-label{padding:10px 14px}.custom-schedule-fields{padding:16px}.checkbox-group-days{gap:10px;grid-template-columns:1fr}.form-input,.form-textarea{font-size:16px}}@media (max-width:480px){.program-enrollment-form-container{padding:10px}.program-enrollment-form{padding:16px}.form-header h3{font-size:1.3rem}.form-subtitle{font-size:.9rem}.preview-title{font-size:1.1rem}}.programs-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));margin-top:20px}.program-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;overflow:hidden;padding:30px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.program-card:before{background:linear-gradient(90deg,#6a11cb,#2575fc);border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.program-card:hover{border-color:#3498db;box-shadow:0 8px 25px #0000001f;transform:translateY(-4px)}.program-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:20px}.program-header h4{color:#2c3e50;flex:1 1;font-size:1.4rem;font-weight:700;line-height:1.3;margin:0}.program-type{background:linear-gradient(135deg,#6a11cb,#2575fc);border-radius:25px;box-shadow:0 2px 4px #3498db4d;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:6px 16px;text-transform:uppercase;white-space:nowrap}.program-details{margin-bottom:25px}.program-details p{align-items:center;color:#555;display:flex;font-size:.95rem;gap:8px;line-height:1.5;margin:12px 0}.program-details strong{color:#2c3e50;font-weight:600;min-width:80px}.program-tier-badge{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 2px 4px #2ecc714d;font-size:.8rem;font-weight:600;letter-spacing:.3px;padding:4px 12px;text-transform:capitalize}.program-actions{display:flex;gap:12px;justify-content:flex-start;margin-top:25px}.program-actions .btn{align-items:center;border-radius:8px;display:inline-flex;font-size:.9rem;font-weight:600;gap:6px;padding:10px 20px;text-decoration:none;transition:all .3s ease}.program-actions .btn-primary{background:linear-gradient(135deg,#6a11cb,#2575fc);border:none;box-shadow:0 3px 6px #6a11cb4d;color:#fff}.program-actions .btn-primary:hover{background:linear-gradient(135deg,#5a0eb5,#1d63e0);box-shadow:0 5px 12px #6a11cb66;transform:translateY(-1px)}.program-actions .btn-secondary{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.program-actions .btn-secondary:hover{background:#e9ecef;border-color:#adb5bd;color:#495057;transform:translateY(-1px)}@media (max-width:768px){.programs-grid{gap:20px;grid-template-columns:1fr}.program-card{padding:20px}.program-header{align-items:flex-start;flex-direction:column;gap:10px}.program-header h4{font-size:1.2rem}.program-actions{flex-direction:column;gap:10px}.program-actions .btn{justify-content:center;width:100%}}.camps-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.camp-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px;transition:all .3s ease}.camp-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.camp-header{margin-bottom:20px}.camp-header h4{color:#2c3e50;font-size:1.3rem;margin:0 0 10px}.camp-dates{color:#7f8c8d;font-size:.9rem;font-weight:600}.camp-details p{color:#555;font-size:.95rem;margin:8px 0}.camp-details ul{margin:10px 0;padding-left:20px}.camp-details li{color:#555;font-size:.9rem;margin:5px 0}.camp-actions{display:flex;gap:10px;margin-top:20px}.journey-checklist{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;margin-bottom:30px;padding:25px}.checklist-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:15px;margin-bottom:10px;padding:15px;transition:all .3s ease}.checklist-item.completed{background:#e8f5e8;border-color:#c3e6c3}.checklist-item:hover{box-shadow:0 2px 8px #0000001a}.checkmark{font-size:1.2rem}.milestone-badges{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:25px}.milestone-badges h4{color:#2c3e50;font-size:1.3rem;margin:0 0 20px}.badges-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.badge{background:#e9ecef;border:2px solid #dee2e6;border-radius:8px;color:#6c757d;font-size:.9rem;font-weight:600;padding:15px;text-align:center}.badge.earned{background:#d4edda;border-color:#c3e6cb;color:#155724}.current-packages{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;margin-bottom:30px;padding:25px}.current-packages h4{color:#2c3e50;font-size:1.3rem;margin:0 0 20px}.packages-list{display:flex;flex-direction:column;gap:15px}.package-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.package-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.package-info h5{color:#2c3e50;font-size:1.1rem;margin:0 0 10px}.package-info p{color:#555;font-size:.9rem;margin:5px 0}.package-status{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.payment-methods,.transaction-history{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;margin-bottom:20px;padding:25px}.payment-methods h4,.transaction-history h4{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.child-tier{color:#3498db;font-size:.9rem;font-weight:600;margin-top:5px}.payment-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.payment-badge.paid{background:#d4edda;color:#155724}.payment-badge.pending{background:#fff3cd;color:#856404}.payment-badge.refunded{background:#f8d7da;color:#721c24}.payment-badge.partial{background:#d1ecf1;color:#0c5460}.payment-modal{max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.payment-instructions{display:flex;flex-direction:column;gap:25px}.etransfer-instructions,.payment-note,.payment-summary,.pricing-breakdown,.school-days-info{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:20px}.etransfer-instructions h4,.payment-note h5,.payment-summary h4,.pricing-breakdown h4,.school-days-info h4{color:#2c3e50;font-size:1.2rem;margin:0 0 15px}.summary-details p{color:#555;font-size:.95rem;margin:8px 0}.pricing-details{display:flex;flex-direction:column;gap:10px}.price-line{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:8px 0}.price-line.discount{color:#28a745;font-weight:600}.price-line.total{border-bottom:none;border-top:2px solid #2c3e50;font-size:1.1rem;margin-top:10px;padding-top:15px}.instructions-content{display:flex;flex-direction:column;gap:20px}.instruction-step{align-items:flex-start;display:flex;gap:15px}.step-number{align-items:center;background:#3498db;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:30px;justify-content:center;width:30px}.step-content{flex:1 1}.step-content p{color:#2c3e50;font-size:1rem;margin:0 0 10px}.email-address{align-items:center;background:#e9ecef;border:1px solid #ced4da;border-radius:8px;display:flex;gap:10px;padding:10px 15px}.email-address code{background:none;color:#2c3e50;flex:1 1;font-size:1rem;font-weight:600}.amount-display{background:#d4edda;border:2px solid #c3e6cb;border-radius:8px;padding:15px;text-align:center}.amount{color:#155724;font-size:2rem;font-weight:700}.message-template{display:flex;flex-direction:column;gap:10px}.message-textarea{background:#f8f9fa;border:1px solid #ced4da;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;line-height:1.4;min-height:120px;padding:15px;resize:vertical;width:100%}.copy-btn{align-self:flex-start;background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 15px;transition:background-color .3s ease}.copy-btn:hover{background:#5a6268}.note-content ul{margin:10px 0;padding-left:20px}.note-content li{color:#555;font-size:.95rem;line-height:1.4;margin:8px 0}.note-content li strong{color:#2c3e50}.school-days-content p{color:#555;font-size:.95rem;margin:8px 0}.school-days-content ul{margin:10px 0;padding-left:20px}.school-days-content li{color:#555;font-size:.9rem;line-height:1.4;margin:5px 0}.school-days-content p strong{color:#2c3e50}.school-days-content p em{color:#6c757d;font-style:italic}.modal-actions{border-top:1px solid #dee2e6;display:flex;gap:15px;justify-content:center;margin-top:20px;padding-top:20px}@media (max-width:768px){.payment-modal{max-width:95%;width:95%}.instruction-step{flex-direction:column;gap:10px}.step-number{align-self:flex-start}.email-address{align-items:stretch;flex-direction:column;gap:10px}.copy-btn{align-self:stretch}.modal-actions{flex-direction:column}.amount{font-size:1.5rem}}.courses-header{margin-bottom:30px}.courses-header h3{color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0 0 10px}.courses-header p{color:#7f8c8d;font-size:1rem;margin:0}.courses-filters{grid-gap:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px;padding:20px}.filter-group{gap:8px}.filter-input,.filter-select{background:#fff;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .3s ease}.filter-input:focus,.filter-select:focus{border-color:#3498db;outline:none}.filter-input{width:100%}.courses-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.no-courses{color:#7f8c8d;padding:40px;text-align:center}.no-courses p{font-size:1.1rem;margin:0 0 20px}.courses-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));padding:20px}.course-card{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:12px;padding:20px;transition:all .3s ease}.course-card:hover{border-color:#3498db;box-shadow:0 4px 15px #3498db33;transform:translateY(-2px)}.course-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.course-header h4{color:#2c3e50;flex:1 1;font-size:1.3rem;font-weight:700;margin:0}.course-tier{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.tier-foundations{background:#e8f5e8;border:2px solid #27ae60;color:#27ae60}.tier-innovators{background:#e3f2fd;border:2px solid #2196f3;color:#2196f3}.tier-pioneers{background:#fce4ec;border:2px solid #e91e63;color:#e91e63}.course-details{color:#2c3e50}.course-description{color:#5a6c7d;line-height:1.6;margin:0 0 15px}.course-info{gap:12px}.course-info,.info-item{display:flex;flex-direction:column}.info-item{gap:5px}.info-item strong{color:#2c3e50;font-size:.9rem;font-weight:600}.program-tags,.skills-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.program-tag,.skill-tag{background:#3498db;border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:4px 8px}.program-tag{background:#95a5a6}@media (max-width:768px){.courses-filters{gap:15px;grid-template-columns:1fr}.courses-grid{grid-template-columns:1fr;padding:15px}.course-card{padding:15px}.course-header{align-items:flex-start;flex-direction:column;gap:10px}.course-header h4{font-size:1.1rem}.program-tags,.skills-tags{gap:4px}.program-tag,.skill-tag{font-size:.7rem;padding:3px 6px}}.enrollments-summary{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px}.enrollments-summary h4{color:#2c3e50;font-size:1.3rem;font-weight:700;margin:0 0 20px}.children-enrollments{display:flex;flex-direction:column;gap:20px}.child-enrollment-card{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:12px;padding:20px}.child-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.child-info h5{color:#2c3e50;font-size:1.2rem;font-weight:700;margin:0}.enrollment-count{background:#3498db;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:6px 12px}.enrolled-courses{display:flex;flex-direction:column;gap:10px}.enrolled-course{align-items:center;background:#fff;border:1px solid #e1e8ed;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.course-name{color:#2c3e50;font-weight:600}.no-enrollments{color:#7f8c8d;font-style:italic;margin:0;padding:20px;text-align:center}.course-actions{border-top:1px solid #e1e8ed;margin-top:20px;padding-top:20px}.course-actions .btn{font-size:1rem;font-weight:600;padding:12px 20px;width:100%}.enrollment-modal{max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.course-info{border-bottom:1px solid #e1e8ed;margin-bottom:30px;padding-bottom:20px}.course-info h4{color:#2c3e50;font-size:1.4rem;font-weight:700;margin:0 0 10px}.course-info .course-description{color:#5a6c7d;line-height:1.6;margin:0 0 15px}.course-details p{color:#2c3e50;margin:5px 0}.children-selection h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 15px}.children-list{display:flex;flex-direction:column;gap:12px}.child-option{background:#fff;border:2px solid #e1e8ed;border-radius:12px;cursor:pointer;padding:16px;position:relative;transition:all .3s ease}.child-option:hover:not(.disabled){border-color:#3498db;box-shadow:0 2px 8px #3498db33}.child-option.selected{background:#e8f5e8;border-color:#27ae60;box-shadow:0 2px 8px #27ae6033}.child-option.disabled{background:#f8f9fa;cursor:not-allowed;opacity:.6}.child-option .child-info h5{color:#2c3e50;font-size:1.1rem;font-weight:700;margin:0 0 5px}.child-option .child-info p{color:#5a6c7d;font-size:.9rem;margin:2px 0}.enrollment-status{font-weight:600}.already-enrolled{color:#e74c3c;font-weight:600}.enrollment-limit{background:#f39c12}.already-enrolled-badge,.enrollment-limit{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 8px;position:absolute;right:10px;top:10px}.already-enrolled-badge{background:#e74c3c}@media (max-width:768px){.child-enrollment-card,.enrollments-summary{padding:15px}.child-info{align-items:flex-start}.child-info,.enrolled-course{flex-direction:column;gap:10px}.enrolled-course{align-items:stretch}.enrollment-modal{max-height:90vh;width:95%}.child-option{padding:12px}.already-enrolled-badge,.enrollment-limit{align-self:flex-start;margin-top:10px;position:static}}.upcoming-classes-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin:20px 0;padding:20px}.section-header{margin-bottom:20px}.section-header h3{color:#2c3e50;font-size:1.4rem;font-weight:700;margin:0 0 5px}.section-header p{color:#5a6c7d;font-size:.95rem;margin:0}.upcoming-classes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:20px}.class-card{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:12px;padding:20px;transition:all .3s ease}.class-card:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db26}.class-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.class-info h4{color:#2c3e50;font-size:1.2rem;font-weight:700;margin:0 0 5px}.student-name{font-size:.9rem;font-weight:600;margin:0 0 8px}.class-type{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.type-program{background:#e8f5e8;color:#27ae60}.type-course{background:#e3f2fd;color:#1976d2}.type-session{background:#fff3e0;color:#f57c00}.type-camp{background:#fce4ec;color:#c2185b}.class-status{text-align:right}.status-reschedulable{background:#fff3cd;color:#856404}.status-fixed,.status-reschedulable{border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 8px}.status-fixed{background:#f8d7da;color:#721c24}.class-details{margin-bottom:15px}.detail-item{color:#2c3e50;font-size:.9rem;margin:5px 0}.detail-item strong{color:#34495e}.class-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.fixed-schedule-note{color:#e74c3c;font-size:.8rem;font-style:italic;font-weight:600}.no-upcoming-classes{color:#5a6c7d;padding:40px 20px;text-align:center}.no-upcoming-classes p{font-size:1.1rem;margin:0 0 20px}.enrollment-prompt{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:20px 0;padding:30px}.enrollment-prompt h4{color:#2c3e50;font-size:1.4rem;font-weight:700;margin:0 0 15px}.enrollment-prompt p{color:#5a6c7d;font-size:1.1rem;line-height:1.6;margin:0 0 25px}.enrollment-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.enrollment-actions .btn{border-radius:8px;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.enrollment-actions .btn-primary{background:#3498db;border:none;color:#fff}.enrollment-actions .btn-primary:hover{background:#2980b9;box-shadow:0 6px 20px #3498db4d;transform:translateY(-2px)}.enrollment-actions .btn-secondary{background:#95a5a6;border:none;color:#fff}.enrollment-actions .btn-secondary:hover{background:#7f8c8d;box-shadow:0 6px 20px #95a5a64d;transform:translateY(-2px)}.student-enrollment-modal{max-height:90vh;max-width:800px;overflow-y:auto;width:95%}.consent-forms-step{padding:20px}.registration-progress{margin-bottom:20px}.progress-bar{background-color:#e9ecef;border-radius:4px;height:8px;margin-bottom:10px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#45a049);height:100%;transition:width .3s ease}.progress-text{color:#495057;font-size:.9rem;margin:0;text-align:center}.consent-form-instruction{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:20px;padding:15px}.consent-form-instruction p{color:#856404;margin:5px 0}.consent-form-instruction strong{color:#856404}.registration-complete{padding:40px 20px;text-align:center}.success-icon-large{font-size:4rem;margin-bottom:20px}.registration-complete h3{color:#2c3e50;font-size:1.8rem;margin:20px 0}.registration-complete p{color:#495057;font-size:1.1rem;margin:10px 0}.registration-actions{margin-top:30px}.student-form{display:flex;flex-direction:column;gap:25px}.form-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.form-section h4{border-bottom:2px solid #3498db;color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 20px;padding-bottom:8px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group input,.form-group select,.form-group textarea{border:2px solid #e1e8ed;border-radius:6px;font-size:.95rem;padding:12px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.tier-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px}.tier-option{cursor:pointer}.tier-option input[type=radio]{display:none}.tier-card{background:#fff;border:2px solid #e1e8ed;border-radius:8px;padding:15px;text-align:center;transition:all .3s ease}.tier-option input[type=radio]:checked+.tier-card{background:#f8f9ff;border-color:#3498db;box-shadow:0 4px 12px #3498db26}.tier-card h5{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px}.tier-card p{color:#5a6c7d;font-size:.9rem;line-height:1.4;margin:0}.form-actions{border-top:1px solid #e9ecef;display:flex;gap:15px;justify-content:flex-end;padding-top:20px}.success-modal{max-width:600px;text-align:center;width:95%}.success-header{margin-bottom:30px}.success-icon{font-size:4rem;margin-bottom:15px}.success-header h3{color:#27ae60;font-size:1.8rem;font-weight:700;margin:0 0 10px}.success-header p{color:#5a6c7d;font-size:1.1rem;margin:0}.next-steps{margin-bottom:30px}.next-steps h4{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 20px}.next-step-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.next-step-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease}.next-step-card:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db26}.next-step-card h5{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 10px}.next-step-card p{color:#5a6c7d;font-size:.95rem;line-height:1.5;margin:0 0 15px}.next-step-card .btn{font-weight:600;padding:12px 20px;width:100%}.success-actions{border-top:1px solid #e9ecef;padding-top:20px}.success-actions .btn{font-weight:600;padding:12px 30px}@media (max-width:768px){.student-enrollment-modal{max-height:95vh;width:98%}.form-row{gap:15px}.form-row,.tier-options{grid-template-columns:1fr}.form-actions{flex-direction:column}.next-step-options{grid-template-columns:1fr}}.quick-schedule-actions{background:#f8f9fa;border-radius:12px;margin:20px 0;padding:20px}.quick-schedule-actions h4{color:#2c3e50;font-size:1.2rem;font-weight:700;margin:0 0 15px}.schedule-buttons{display:flex;flex-wrap:wrap;gap:15px}.schedule-buttons .btn{flex:1 1;font-weight:600;min-width:150px;padding:12px 20px}.sessions-table-container{margin:20px 0;overflow-x:auto}.sessions-table{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.sessions-table thead{background:#3498db;color:#fff}.sessions-table td,.sessions-table th{border-bottom:1px solid #e1e8ed;padding:12px 15px;text-align:left}.sessions-table th{font-size:.9rem}.sessions-table tbody tr:hover{background-color:#f8f9fa}.session-name{display:flex;flex-direction:column;gap:4px}.session-name strong{color:#2c3e50;font-size:.95rem}.session-type{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;text-transform:uppercase}.session-type.regular{background:#e3f2fd;color:#1976d2}.session-type.special{background:#fff3e0;color:#f57c00}.session-type.drop_in{background:#f3e5f5;color:#7b1fa2}.student-name{color:#5a6c7d;font-weight:500}.location{color:#7f8c8d;font-size:.9rem}.instructor{color:#34495e;font-size:.9rem}.session-actions{display:flex;flex-wrap:wrap;gap:8px}.session-actions .btn{border-radius:4px;font-size:.8rem;padding:6px 12px}.loading-spinner{color:#5a6c7d;padding:40px 20px;text-align:center}.loading-spinner .spinner{animation:spin 1s linear infinite;border:4px solid #e1e8ed;border-radius:50%;border-top-color:#3498db;height:40px;margin:0 auto 15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:block!important}.sessions-cards-container{display:flex;flex-direction:column;gap:20px;margin:20px 0}.child-sessions-group{display:flex;flex-direction:column;gap:12px}.child-sessions-header{align-items:center;border-bottom:2px solid #3498db;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.child-name-header{color:#2c3e50;font-size:1.1rem;font-weight:700;margin:0}.sessions-count-badge{background:#3498db;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px}.session-card{background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:16px}.show-more-sessions-btn{background:#f8f9fa;border:2px dashed #3498db;border-radius:8px;color:#3498db;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:8px;padding:12px;text-align:center;transition:all .3s ease}.show-more-sessions-btn:hover{background:#e3f2fd;border-color:#2980b9;color:#2980b9}.show-more-sessions-btn:active{transform:scale(.98)}.session-card-header{align-items:flex-start;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.session-card-header h4{color:#2c3e50;flex:1 1;font-size:1rem;margin:0 8px 0 0}.session-card-body{display:flex;flex-direction:column;gap:10px}.session-card-row{align-items:center;display:flex;justify-content:space-between}.session-card-label{color:#5a6c7d;font-size:.9rem;font-weight:600}.session-card-value{color:#2c3e50;font-size:.9rem;text-align:right}.session-type{border-radius:12px;display:inline-block;font-size:.7rem;font-weight:600;padding:4px 10px;text-transform:uppercase;white-space:nowrap}}@media (min-width:769px){.desktop-only{display:block!important}.mobile-only{display:none!important}}.schedule-modal{max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.schedule-form{gap:20px}.form-group,.schedule-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#2c3e50;font-size:.95rem;font-weight:600}.form-control{border:2px solid #e1e8ed;border-radius:8px;font-size:.95rem;padding:10px 12px;transition:border-color .3s ease}.form-control:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-control textarea{min-height:80px;resize:vertical}@media (max-width:768px){.upcoming-classes-grid{grid-template-columns:1fr}.class-card{padding:15px}.class-header{align-items:flex-start;flex-direction:column;gap:10px}.class-status{text-align:left}.class-actions{align-items:stretch}.class-actions,.schedule-buttons{flex-direction:column}.schedule-buttons .btn{min-width:auto}.schedule-modal{max-height:95vh;width:95%}}.program-details-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.program-details-content{display:flex;flex-direction:column;gap:30px}.program-card-large{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px}.program-card-large .program-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.program-card-large h4{color:#2c3e50;font-size:1.5rem;margin:0}.program-tier-badge{background:#007bff;border-radius:20px;color:#fff;font-size:.9rem;font-weight:500;padding:8px 16px}.program-info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{background:#f8f9fa;border-left:3px solid #007bff;border-radius:6px;padding:10px}.status-active{color:#28a745;font-weight:500}.sessions-section{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px}.sessions-section h4{color:#2c3e50;font-size:1.3rem;margin-bottom:20px}.sessions-list{display:flex;flex-direction:column;gap:15px}.session-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:15px}.session-date{flex:1 1}.session-time{color:#6c757d;flex:1 1;text-align:center}.session-status{flex:1 1;text-align:right}.status-scheduled{background:#17a2b8;border-radius:15px;color:#fff;font-size:.85rem;font-weight:500;padding:4px 12px}.additional-sessions-section{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px;text-align:center}.additional-sessions-section h4{color:#2c3e50;font-size:1.3rem;margin-bottom:15px}.additional-sessions-section p{color:#6c757d;margin-bottom:20px}.program-info{margin-top:15px}.program-info h5{color:#2c3e50;font-size:1.1rem;margin-bottom:10px}.program-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:15px;padding:15px}.program-card .program-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.program-card h6{color:#2c3e50;font-size:1.1rem;margin:0}.program-card .program-tier{background:#007bff;border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:4px 8px}.program-details{margin-bottom:15px}.no-program-message{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-top:10px;padding:20px;text-align:center}.no-program-message p{color:#856404;font-size:.95rem;margin:0 0 15px}.no-program-message .btn{margin-top:10px}.program-details p{color:#6c757d;font-size:.9rem;margin:5px 0}.session-package-section{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:25px}.session-package-section h4{color:#2c3e50;font-size:1.3rem;margin-bottom:20px}.session-package-card{display:flex;flex-direction:column;gap:20px}.package-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;display:flex;flex-direction:column;padding:15px}.stat-label{color:#6c757d;font-size:.9rem;font-weight:500;margin-bottom:5px}.stat-value{color:#2c3e50;font-size:1.5rem;font-weight:700}.stat-value.used{color:#28a745}.stat-value.remaining{color:#17a2b8}.package-dates{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:15px}.package-dates p{color:#6c757d;font-size:.9rem;margin:8px 0}.package-dates strong{color:#2c3e50;font-weight:600}.attendance-pills-container{background:#0000;border:none;box-shadow:none;margin-bottom:16px;padding-top:8px}.attendance-pills-header{align-items:center;display:flex;margin-bottom:8px;padding:0 30px}.attendance-pills-label{color:#9e9e9e;font-size:10px;font-weight:400;letter-spacing:.3px;text-transform:uppercase}.attendance-refresh-icon-mobile{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;opacity:.6;padding:4px;transition:all .2s ease;width:28px}.attendance-refresh-icon-mobile:hover{background:#f0f0f0;opacity:1;transform:rotate(180deg)}.attendance-refresh-icon-mobile:active{transform:rotate(1turn)}.attendance-pills-scroll{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;gap:8px;margin-left:-30px;margin-right:-30px;overflow-x:auto;padding:4px 30px 8px;scrollbar-width:none}.attendance-pills-scroll::-webkit-scrollbar{display:none}.attendance-pill{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:20px;box-shadow:0 1px 2px #0000000d;color:#495057;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:500;min-height:40px;padding:10px 18px;transition:all .2s ease;white-space:nowrap}.attendance-pill:hover{background:#f8f9ff;border-color:#667eea;box-shadow:0 2px 4px #667eea26;color:#667eea}.attendance-pill.active{background:#667eea;border-color:#667eea;box-shadow:0 2px 6px #667eea4d;color:#fff;font-weight:600}.attendance-pill.active:hover{background:#5568d3;border-color:#5568d3;box-shadow:0 2px 8px #667eea66}.attendance-filters{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:20px;margin-bottom:20px;padding:15px}.filter-group{gap:5px}.student-select{background:#fff;border:1px solid #ced4da;border-radius:6px;font-size:.9rem;min-width:200px;padding:8px 12px}.student-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.selected-child-info{background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;margin-bottom:15px;padding:10px 15px}.selected-child-info p{color:#1565c0;font-weight:500;margin:0}.no-attendance{color:#6c757d;padding:40px 20px;text-align:center}.no-attendance p{font-size:1.1rem;margin:10px 0}.attendance-table th{background:#f8f9fa;color:#2c3e50;font-weight:600}.attendance-table td{vertical-align:middle}.status-badge.present{background:#d4edda;color:#155724}.status-badge.absent{background:#f8d7da;color:#721c24}.status-badge.late{background:#fff3cd;color:#856404}.pending-actions-section{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:30px;padding:20px}.pending-actions-section .section-header h3{color:#856404;margin:0 0 10px}.pending-actions-section .section-header p{color:#856404;margin:0}.consent-forms-header{margin-bottom:30px}.consent-forms-header h3{color:#2c3e50;font-size:1.8rem;margin:0 0 10px}.consent-forms-header p{color:#6c757d;margin:0}.consent-forms-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.consent-form-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .2s ease}.consent-form-card:hover{box-shadow:0 4px 8px #00000026}.pending-action-card{background:#fff;border:2px solid #007bff;border-radius:8px;box-shadow:0 2px 8px #007bff33;margin-bottom:15px;padding:20px;transition:all .3s ease}.pending-action-card:hover{box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.register-student-card{background:linear-gradient(135deg,#fff,#f8f9ff);border-color:#28a745}.register-student-card:hover{box-shadow:0 4px 12px #28a7454d}.pending-action-header{align-items:flex-start;display:flex;gap:15px;margin-bottom:15px}.action-icon{flex-shrink:0;font-size:2.5rem;line-height:1}.action-content{flex:1 1}.action-content h4{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 8px}.action-content p{color:#495057;font-size:.95rem;line-height:1.5;margin:0}.pending-action-actions{border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:flex-end;margin-top:15px;padding-top:15px}.consent-form-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.consent-form-header h4{color:#2c3e50;flex:1 1;font-size:1.2rem;margin:0;min-width:200px}.form-type-badge{border-radius:4px;font-size:.8rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.form-type-badge.makerspace{background:#e3f2fd;color:#1565c0}.form-type-badge.media{background:#f3e5f5;color:#7b1fa2}.form-type-badge.photography{background:#e8f5e8;color:#2e7d32}.form-type-badge.general{background:#fff3e0;color:#ef6c00}.status-badge{border-radius:4px;font-size:.8rem}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.signed{background:#d4edda;color:#155724}.status-badge.expired,.status-badge.rejected{background:#f8d7da;color:#721c24}.consent-form-details{margin-bottom:15px}.consent-form-details p{color:#495057;font-size:.9rem;margin:5px 0}.consent-form-details strong{color:#2c3e50;font-weight:600}.consent-form-actions{align-items:center;display:flex;gap:10px}.expired-status,.signed-status{align-items:center;color:#6c757d;display:flex;font-size:.9rem;gap:8px}.status-icon{font-size:1.2rem}.no-consent-forms{color:#6c757d;padding:40px 20px;text-align:center}.no-consent-forms p{font-size:1.1rem;margin:10px 0}@media (max-width:768px){.attendance-filters{align-items:stretch;flex-direction:column;gap:15px}.student-select{min-width:auto;width:100%}.consent-forms-list{grid-template-columns:1fr}.consent-form-header{align-items:flex-start;flex-direction:column}.consent-form-header h4{min-width:auto}}.session-details-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px}.session-details-header h3{color:#2c3e50;font-size:1.8rem;font-weight:600;margin:0}.session-details-header p{color:#6c757d;font-size:1rem;margin:5px 0 0}.session-filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px}.filter-row{align-items:end;display:flex;flex-wrap:wrap;gap:20px}.filter-group{display:flex;flex-direction:column;min-width:200px}.filter-group label{color:#2c3e50;font-size:.9rem;font-weight:600;margin-bottom:5px}.filter-group select{background:#fff;border:1px solid #ddd;border-radius:4px;color:#495057;font-size:.9rem;padding:8px 12px}.filter-group select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.session-details-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.sessions-table{border-collapse:collapse;font-size:.9rem;width:100%}.sessions-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:15px 12px;text-align:left;text-transform:uppercase}.sessions-table td{border-bottom:1px solid #dee2e6;padding:12px;vertical-align:top}.sessions-table tr:hover{background:#f8f9fa}.sessions-table tr:last-child td{border-bottom:none}.no-sessions{color:#6c757d;padding:40px 20px;text-align:center}.no-sessions p{font-size:1.1rem;margin:0}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-badge.completed{background:#d4edda;color:#155724}.status-badge.registered{background:#cce5ff;color:#004085}.status-badge.cancelled{background:#f8d7da;color:#721c24}.status-badge.unknown{background:#e2e3e5;color:#383d41}@media (max-width:768px){.session-details-header{align-items:flex-start}.filter-row,.session-details-header{flex-direction:column;gap:15px}.filter-group{min-width:auto;width:100%}.sessions-table{font-size:.8rem}.sessions-table td,.sessions-table th{padding:8px 6px}.sessions-table td:nth-child(n+5),.sessions-table th:nth-child(n+5){display:none}}
/*# sourceMappingURL=main.87eeb9bb.css.map*/