@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap);*{box-sizing:border-box}html{font-family:Open Sans,sans-serif}#root{background:#0000;box-sizing:border-box;display:flex;flex-direction:column;height:100%;margin:0;padding:0;width:100%}body,html{background:linear-gradient(135deg,#f3f4f6,#fff);background-attachment:fixed;height:auto;min-height:100%}body{background:linear-gradient(135deg,#f3f4f6,#fff);box-sizing:border-box;margin:0;padding:0}.slide-in-left-enter{transform:translateX(-100%)}.slide-in-left-enter-active{transition:all .2s}.slide-in-left-enter-active,.slide-in-left-exit{opacity:1;transform:translateX(0)}.slide-in-left-exit-active{opacity:0;transform:translateX(-100%);transition:all .2s}.center{align-items:center;display:flex;justify-content:center}.app-layout.with-sidebar main{margin-left:250px;transition:margin-left .3s ease}main{background:inherit}.app-layout.without-sidebar main{margin-left:0}.side-navigation{display:none}.main-content.auth-page-container{align-items:center;display:flex;justify-content:center;margin-left:0}.homepage-wrapper{display:flex;flex-direction:column;min-height:92vh}.homepage-layout{display:flex;flex:1 1;height:100vh;overflow:hidden}.side-navigation{flex-shrink:0}.homepage-container{justify-content:space-between;padding:20px}.homepage-container,.welcome-section{display:flex;flex:1 1;flex-direction:column}.welcome-section{align-items:center;justify-content:center;text-align:center}.welcome-title{color:#333;font-size:2.5rem;margin-bottom:10px}.welcome-message{color:#666;font-size:1.2rem;margin-bottom:30px}.decorative-section{height:200px;overflow:hidden;position:relative;width:100%}.decorative-circle{animation:bounce 3s infinite;background:linear-gradient(90deg,#4a90e2,#8e44ad);border-radius:50%;height:150px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:150px}@keyframes bounce{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-55%) scale(1.2)}}.landing-footer{background:#eceff1;background-color:#f9f9f9;border-top:1px solid #e0e0e0;color:#666;font-size:.9rem;font-size:.875rem;padding:20px;padding:1rem;text-align:center}.landing-footer a{color:#666;text-decoration:none}.landing-footer a:hover{text-decoration:underline}.landing-page{background:linear-gradient(180deg,#f3f4f6,#fff);color:#333;display:flex;flex-direction:column;font-family:Arial,sans-serif;margin:0;min-height:93vh;padding:0;text-align:center;width:100%}.landing-header{background:linear-gradient(90deg,#4a90e2,#8e44ad);box-shadow:0 4px 8px #0003;color:#fff;margin:0;padding:50px 20px;position:relative;width:100%}.landing-header h1{font-size:3rem;margin-bottom:10px}.landing-header p{font-size:1.5rem;margin:0}.landing-content{align-items:flex-start;display:flex;flex:1 1;flex-wrap:wrap;justify-content:space-around;margin:40px 0;padding:0}.cta-section{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:20px;padding:30px;text-align:left;transition:transform .3s ease,box-shadow .3s ease;width:300px}.cta-section:hover{box-shadow:0 6px 10px #0003;transform:translateY(-5px)}.cta-section.staff{border-top:4px solid #4a90e2}.cta-section.parents{border-top:4px solid #8e44ad}.cta-section.students{border-top:4px solid #27ae60}.cta-section h2{color:#333;font-size:1.8rem;margin-bottom:10px}.cta-section p{color:#555;font-size:1rem;margin-bottom:20px}.cta-button{background:linear-gradient(90deg,#4a90e2,#3b78c8);border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;padding:10px 20px;transition:background .3s ease,transform .3s ease}.cta-button:hover{background:#3b78c8;transform:scale(1.05)}.footer{box-shadow:0 -2px 6px #0003;margin-top:auto;padding:10px 20px;text-align:center}.button,.footer{background:linear-gradient(90deg,#4a90e2,#8e44ad);color:#fff}.button{border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-block;font:inherit;margin-right:1rem;padding:.5rem 1.5rem;text-decoration:none;transition:background .3s,border-color .3s,color .3s}.button:focus{outline:none}.button:active,.button:hover{background:linear-gradient(90deg,#3b78c8,#732d91);border-color:#732d91}.button--inverse{background:#0000;border:2px solid;border-image:linear-gradient(90deg,#4a90e2,#8e44ad) 1;color:#4a90e2;transition:background .3s,color .3s}.button--inverse:active,.button--inverse:hover{background:linear-gradient(90deg,#4a90e2,#8e44ad);border-color:#0000;color:#fff}.button--danger{background:linear-gradient(90deg,#e74c3c,#c0392b);border:1px solid #c0392b;color:#fff;transition:background .3s,border-color .3s}.button--danger:active,.button--danger:hover{background:linear-gradient(90deg,#d63031,#b71c1c);border-color:#b71c1c}.button--danger:disabled,.button--inverse:disabled,.button:disabled{background:#ccc;border-color:#ccc;color:#979797;cursor:not-allowed}.button--small{font-size:.8rem}.button--medium{font-size:1rem}.button--big{font-size:1.5rem}.form-control{margin-bottom:.5rem;position:relative}.form-control label{font-weight:700;margin-bottom:.25rem}.form-control input,.form-control select,.form-control textarea{background:#f8f8f8;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font:inherit;padding:.5rem;width:100%}.form-control input:focus,.form-control select:focus,.form-control textarea:focus{background:#ebebeb;border-color:#510077;outline:none}.form-control--invalid input,.form-control--invalid select,.form-control--invalid textarea{background:#ffd1d1;border-color:red}.form-control .error-text{bottom:-1rem;color:red;font-size:.75rem;left:0;margin-top:.25rem;overflow:hidden;position:absolute;text-overflow:ellipsis;white-space:nowrap}.form-control select{-webkit-appearance:none;appearance:none;background:#f8f8f8;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23585858' d='M2 0 0 2h4z'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:.65rem auto;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font:inherit;padding:.5rem;width:100%}.form-control select:invalid{color:#999}.form-control select option[value=""]{color:#999}.image-upload{text-align:center}.image-upload.center{flex-direction:column}.image-upload.center,.image-upload__preview{align-items:center;display:flex;justify-content:center}.image-upload__preview{border:1px solid #ccc;height:10rem;margin-bottom:1rem;overflow:hidden;width:100%}.image-upload__preview img{height:100%;object-fit:cover;width:100%}.backdrop{background:#000000bf;height:100vh;left:0;position:fixed;top:0;width:100%;z-index:10}.modal{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000042;left:50%;max-height:90vh;overflow-y:auto;position:fixed;top:50%;width:80%;z-index:100}.modal,.modal--adjusted{transform:translate(-50%,-50%)}.modal--adjusted{top:calc(50% + 40px)}.modal__header{background:linear-gradient(90deg,#4a90e2,#8e44ad);border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:0 1px 4px #00000026;color:#fff;font-size:1.25rem;font-weight:700;padding:1rem;text-align:center}.modal__header h2{margin:.5rem}.modal__content,.modal__footer{padding:1rem .5rem}.modal__footer{background:#f9f9f9;border-top:1px solid #ddd;bottom:0;display:flex;justify-content:center;position:-webkit-sticky;position:sticky;z-index:10}@media (min-width:768px){.modal{max-width:90%;width:40rem}}.modal-enter{opacity:0;transform:translate(-50%,-60%)}.modal-enter-active{transition:all .2s ease-out}.modal-enter-active,.modal-exit{opacity:1;transform:translate(-50%,-50%)}.modal-exit-active{opacity:0;transform:translate(-50%,-60%);transition:all .2s ease-out}.center{text-align:center}.modal__cancel-btn{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;display:block;font-weight:700;margin:10px auto;padding:10px 20px;text-align:center;transition:background .3s ease;width:-webkit-fit-content;width:fit-content}.modal__cancel-btn:hover{background:#5a6268}@media (min-width:768px){.modal__cancel-btn{margin-top:0;width:auto}}.lds-dual-ring{display:inline-block;height:64px;width:64px}.lds-dual-ring:after{animation:lds-dual-ring 1.2s linear infinite;border-color:#510077 #0000;border-radius:50%;border-style:solid;border-width:5px;content:" ";display:block;height:46px;margin:1px;width:46px}.loading-spinner__overlay{align-items:center;background:#ffffffe6;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}@keyframes lds-dual-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.country-selector-wrapper{display:flex;flex-direction:column;gap:8px;max-width:300px;width:100%}.country-selector{background-color:#fff;border:1px solid #ccc;border-radius:5px;cursor:pointer;font-size:14px;padding:10px;width:100%}.plan-selector{justify-content:center}.plan-card{transition:all .2s ease;width:180px}.plan-card:hover{background-color:#f0f8ff;border-color:#4a90e2}.plan-card.selected{background-color:#e6f0ff;border-color:#4a90e2}.plan-card.highlight:after{color:#4a90e2;content:"Popular";display:block;font-size:.8rem;font-weight:700;margin-top:.5rem}.plan-card{background-color:#fff;border:2px solid #ccc;border-radius:8px;cursor:pointer;flex:1 1;padding:1rem;position:relative;text-align:center;transition:border-color .3s ease,box-shadow .3s ease}.plan-card.selected{border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.plan-card.current{border-color:#28a745}.plan-card.current:before{border-top-left-radius:6px;border-top-right-radius:6px;content:"";height:4px;right:0;top:0;width:100%}.plan-badge,.plan-card.current:before{background-color:#28a745;position:absolute}.plan-badge{border-radius:4px;color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .5rem;right:-10px;top:-10px;z-index:1}.new-school-container{background:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:1.5rem;margin:2rem auto;max-width:800px;padding:2rem}.new-school-container h2{color:#333;font-size:1.5rem;margin-bottom:1rem;text-align:center}.new-school-form{align-items:center;display:flex;flex-direction:column;gap:1rem}.new-school-form .form-control{margin:0 auto;max-width:600px;width:100%}.new-school-form button{align-self:center;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem;max-width:200px;padding:.5rem 1rem;transition:background-color .3s,box-shadow .3s;width:50%}.new-school-form button:hover{background-color:#510077;box-shadow:0 4px 6px #0003;color:#fff}@media (max-width:600px){.new-school-container{max-width:90%;padding:1rem}.new-school-form .form-control{max-width:100%}.new-school-form button{width:80%}}.student-count-note{color:#555;font-size:.9rem;margin-bottom:1rem;margin-top:-.5rem}.view-school-container{background:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:2rem auto;max-width:800px;padding:2rem;text-align:center}.school-header{align-items:center;display:flex;flex-direction:column;gap:1rem}.school-name{color:#4a90e2;font-size:2rem;margin-bottom:1rem}.school-image{border:2px solid #ddd;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:150px;object-fit:cover;width:150px}.school-counts,.school-details{color:#333;line-height:1.6;margin-top:2rem;text-align:left}.school-counts-entry,.school-details p{font-size:1rem;margin:.5rem 0}.school-counts-entry strong,.school-details strong{color:#510077;font-weight:700}.school-counts{background:#f1f1f1;border-radius:8px;margin-bottom:2rem;padding:1rem}.school-counts h4{color:#222;font-size:1.2rem;margin-bottom:1rem;text-align:center}.school-counts-row{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-around}.school-counts-entry{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 1px 3px #0000000d;min-width:120px;padding:.75rem 1.25rem;text-align:center}.view-school-container .update-button{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:2rem;padding:.75rem 1.5rem;transition:background .3s ease}.view-school-container .update-button:hover{background:#3578b0}@media (max-width:768px){.view-school-container{padding:1.5rem}.school-header{gap:.75rem}.school-counts,.school-details{font-size:.95rem;margin-top:1.5rem}.school-counts-row{gap:1rem}.view-school-container .update-button{font-size:.9rem;padding:.6rem 1.2rem}}.allowed-students{color:#888;font-size:.9rem;margin-left:.5rem}:root{--page-width:1200px;--page-space:1.5rem;--page-border:#dce3ec;--page-heading:#243b53}.main-content{min-width:0}.section-page.section-page{background:#fff;border:1px solid #dce3ec;border:1px solid var(--page-border);border-radius:8px;box-shadow:0 2px 8px #243b530f;display:flex;flex-direction:column;gap:1.5rem;gap:var(--page-space);margin:1.5rem auto;margin:var(--page-space) auto;max-width:1200px;max-width:var(--page-width);padding:1.5rem;padding:var(--page-space);text-align:left;width:calc(100% - 3rem)}.section-page>.section-page__header{align-items:center;border-bottom:1px solid #dce3ec;border-bottom:1px solid var(--page-border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-bottom:1rem}.section-page__header>h1{color:#243b53;color:var(--page-heading);font-size:1.5rem;line-height:1.3;margin:0}.section-page__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.section-page__actions .button{margin:0;max-width:none}.section-page>.filters{justify-content:flex-start;margin:0}.section-page>.pagination{justify-content:center;margin:0}.section-page :focus-visible{outline:3px solid #243b53;outline-offset:3px}@media (max-width:767px){.section-page.section-page{gap:1rem;margin:.75rem auto;padding:1rem;width:calc(100% - 1.5rem)}.section-page>.filters>div,.section-page__actions{width:100%}.section-page>.filters input,.section-page>.filters select{min-width:0;width:100%}}.section-page>.empty-message{background:#f8fafc;border:1px dashed #dce3ec;border:1px dashed var(--page-border);border-radius:6px;color:#526578;display:grid;font-size:1rem;margin:0;min-height:10rem;padding:2rem 1rem;place-items:center;text-align:center}.section-page>.bookables-table-wrapper,.section-page>.inquiries-table-wrapper,.section-page>.messages-table{border:1px solid #dce3ec;border:1px solid var(--page-border);border-radius:6px;box-shadow:none;margin:0}.section-page>.bookables-table-wrapper,.section-page>.inquiries-table-wrapper{overflow-x:auto}.section-page table td,.section-page table th{border-bottom:1px solid #dce3ec;border-bottom:1px solid var(--page-border);padding:.875rem 1rem;text-align:left}.section-page table th{background:#edf3fa;color:#243b53;color:var(--page-heading);font-weight:700}.section-page table tbody tr:hover{background:#f8fafc}.section-page__actions>.csv-upload{box-shadow:none;padding:.75rem;width:auto}.update-staff-container{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000001a;font-family:Open Sans,sans-serif;margin:0 auto;max-width:500px;padding:20px}.update-staff-container h2{color:#333;font-size:1.5rem;margin-bottom:20px;text-align:center}.update-staff-container .staff-details{color:#555;font-size:1rem;line-height:1.5;margin-bottom:20px}.update-staff-container .staff-details p{margin:5px 0}.update-staff-form{display:flex;flex-direction:column;gap:15px}.update-staff-form .form-control{display:flex;flex-direction:column;gap:5px}.update-staff-form .form-control label{color:#444;font-size:.95rem;font-weight:700}.update-staff-form .form-control input[type=checkbox],.update-staff-form .form-control input[type=text],.update-staff-form .form-control select{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:8px;width:100%}.update-staff-form .form-control input[type=checkbox]{margin-left:5px;width:auto}.update-staff-form .form-control input:focus,.update-staff-form .form-control select:focus{border-color:#007bff;box-shadow:0 0 4px #007bff80;outline:none}.update-staff-form button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 15px;transition:background-color .3s ease}.update-staff-form button:disabled{background-color:#ccc;cursor:not-allowed}.update-staff-form button:hover:not(:disabled){background-color:#0056b3}.staff-entry{grid-gap:15px;align-items:center;background-color:#f9f9f9;border-bottom:1px solid #ccc;display:grid;gap:15px;grid-template-columns:3fr 3fr 2fr 2fr 2fr auto;padding:10px 20px}.staff-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-entry-name{font-weight:700}.staff-entry-isAdmin,.staff-entry-role,.staff-entry-status{color:#666;text-transform:capitalize}.staff-update-btn{background-color:#007bff;border:none;color:#fff;cursor:pointer;font-size:.85rem;justify-self:end;padding:6px 12px;transition:background-color .3s ease}.staff-update-btn:hover{background-color:#0056b3}.staff-list{box-sizing:border-box;display:flex;flex-direction:column;gap:10px;margin:0 auto;max-width:100%;padding:10;width:100%}.staff-list p{color:#777;font-size:1.1rem;text-align:center}.staff-list-heading{color:#333;font-size:1.8rem;margin-bottom:20px;text-align:center}.create-staff{grid-gap:15px;align-items:center;background-color:#f9f9f9;border-bottom:1px solid #ccc;box-sizing:border-box;display:grid;gap:15px;grid-template-columns:3fr 2fr 1fr auto;padding:10px 20px;width:100%}.create-staff-email,.create-staff-role{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:.9rem;outline:none;padding:6px 12px;width:100%}.create-staff-email{grid-column:1/span 1}.create-staff-role{grid-column:2/span 1}.create-staff-admin{align-items:center;display:flex;font-size:.9rem;gap:5px;grid-column:3/span 1}.create-staff-invite-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;grid-column:4/span 1;justify-self:end;padding:6px 12px;transition:background-color .3s ease;white-space:nowrap}.create-staff-invite-btn:hover{background-color:#0056b3}.create-staff-label{color:#555;font-size:1rem;font-weight:500;padding:5px 30px}.pagination{align-items:center;margin-top:1rem}.pagination button{background:linear-gradient(90deg,#4a90e2,#8e44ad);border-radius:5px;color:#fff;font:inherit;margin:0 .5rem;padding:.5rem 1rem;transition:background .3s}.pagination button:disabled{background:#ccc}.pagination button:hover:not(:disabled){background:linear-gradient(90deg,#3b78c8,#732d91)}.fallback-container{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;margin:20px auto;max-width:400px;padding:20px;text-align:center}.fallback-container p{color:#555;font-size:1.1rem;margin-bottom:20px}.fallback-container .cta-button{margin-top:10px;max-width:200px;width:100%}.staff-table-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:1rem auto;overflow-x:auto;width:95%}.staff-table{border-collapse:collapse;table-layout:auto;width:100%}.staff-table td,.staff-table th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}.staff-table th{background-color:#4a90e2;color:#fff;font-weight:700;white-space:nowrap}.staff-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-table tr:hover{background-color:#f0f8ff}.staff-no-members{color:#666;font-size:1rem;margin:1rem auto;text-align:center}.staff-update-btn{border-radius:4px;font-size:.9rem;max-width:120px;padding:.5rem 1rem;text-align:center;white-space:nowrap}.country-code-selector-wrapper{display:flex;flex-direction:column;gap:8px;max-width:300px;width:100%}.country-search{border:1px solid #ccc;border-radius:5px;font-size:14px;padding:8px;width:100%}.country-search:focus{border-color:#007bff;box-shadow:0 0 5px #007bff33;outline:none}.country-code-selector{background-color:#fff;border:1px solid #ccc;border-radius:5px;cursor:pointer;font-size:14px;padding:10px;width:100%}.legal-acceptance{color:#333;font-size:.95rem;margin-top:1rem}.legal-acceptance label{align-items:flex-start;display:inline-flex;flex-wrap:wrap;gap:.5rem}.legal-acceptance input[type=checkbox]{flex-shrink:0;margin-top:.15rem;transform:scale(1.1)}.legal-acceptance span{line-height:1.4}.legal-acceptance a{color:#07c;text-decoration:underline;white-space:nowrap}.legal-acceptance a:hover{text-decoration:none}.registration-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:.8rem;max-width:500px;padding:1rem;width:100%}.registration-form h2{color:#333;font-size:1.2rem;margin-bottom:1rem;text-align:center}.form-group{gap:.2rem}.form-group label{font-size:.9rem}.form-group input,.form-group select{font-size:.9rem;padding:.4rem}.telephone-input{align-items:center}.telephone-input select{flex:1 1;padding:.4rem}.telephone-input input{flex:2 1;padding:.4rem}@media (max-width:768px){.registration-wrapper{padding-top:80px}.registration-form{max-width:90%}}.registration-form .row .form-group{flex:1 1}.address-container{background-color:#f9f9f9;border-radius:8px;margin-top:1.5rem;padding:1rem}.address-container h3{color:#333;font-size:1.1rem;margin-bottom:1rem}.registration-form .form-group input,.registration-form .form-group select{width:100%}.address-container .form-group select{padding:.5rem}.registration-form .form-group select{border:1px solid #ddd;border-radius:4px}body,html{height:100%;margin:0;padding:0}.registration-wrapper{align-items:center;display:flex;flex-direction:column;height:calc(100vh - 4rem);justify-content:center;padding:1rem;text-align:center}.expired-token,.registration-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;max-width:500px;padding:2rem;width:100%}h2{margin-bottom:1.5rem}.success-message{align-items:center;display:flex;gap:.5rem;justify-content:center}.email-icon{font-size:1.5rem}.password-guidelines{color:#c00;padding-left:0}.registration-form .row{display:flex;gap:1.5rem;justify-content:space-between}.password-guidelines{margin:.5rem 0 1rem;padding:0;text-align:left}.password-guidelines li{align-items:center;display:flex;gap:.4rem;margin:.3rem 0}.place-form{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000042;list-style:none;max-width:40rem;width:90%}.card,.place-form{margin:0 auto;padding:1rem;position:relative}.card{background:#f9f9f9;background:var(--primary-bg,#f9f9f9);border:1px solid #ddd;border:1px solid var(--primary-border,#ddd);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#333;color:var(--primary-text,#333);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:0 4px 16px #0003;transform:translateY(-2px)}.card h2,.card p{color:#555;color:var(--secondary-text,#555);margin:.5rem 0}.card a{color:#007bff;color:var(--link-color,#007bff);text-decoration:none}.card a:hover{color:#0056b3;color:var(--link-hover-color,#0056b3);text-decoration:underline}.update-class-form{gap:1rem}.form-control,.update-class-form{display:flex;flex-direction:column}.update-class-actions{display:flex;gap:.5rem;justify-content:flex-end}.update-student{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 8px #0000001a;padding:1rem}.update-student h2{color:#333;font-size:1.5rem;margin-bottom:1rem}.form-group label{font-weight:700}.form-group input,.form-group select{background-color:#f9f9f9;border:1px solid #ccc}.form-group input:focus,.form-group select:focus{background-color:#fff;border-color:#888;outline:none}.form-actions{gap:1rem;justify-content:flex-end}.error-text{margin-bottom:1rem}.parents-list{list-style:none;padding:0}.parent-item{background:#f9f9f9;border-radius:5px;display:flex;justify-content:space-between;margin-bottom:5px;padding:8px}.parent-item,.student-entry{align-items:center;border:1px solid #ddd}.student-entry{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-direction:row;gap:1rem;height:auto;margin:.5rem 0;overflow:hidden;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.student-entry:hover{box-shadow:0 4px 8px #0003;transform:translateY(-3px)}.student-details{align-items:center;display:flex;flex-direction:row;gap:1rem;justify-content:space-between;width:100%}.student-class,.student-email,.student-name{color:#444;flex:1 1;font-size:.9rem;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.student-name{color:#333;font-weight:700}.student-class{color:#555;text-align:center}.student-email{color:#666;font-style:italic;padding-right:.5rem}.student-entry>*{margin:0;padding:0}@media (max-width:768px){.student-entry{align-items:flex-start;flex-direction:column;padding:.5rem}.student-details{flex-direction:column;gap:.5rem}.student-class,.student-email,.student-name{max-width:100%;text-align:left;white-space:normal}}.modal.move-down{transform:translate(-50%,-45%)!important}.students-table-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:1rem auto;max-width:100%;overflow-x:auto;width:95%}.students-table{border-collapse:collapse;table-layout:auto;width:100%}.students-table td,.students-table th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}.students-table th{background-color:#4a90e2;color:#fff;font-weight:700;white-space:nowrap}.students-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.students-table tr:hover{background-color:#f0f8ff}.no-students-message{color:#666;font-size:1rem;margin:1rem auto;text-align:center}.update-button{border-radius:4px;font-size:.9rem;max-width:100px;padding:.5rem 1rem;text-align:center;white-space:nowrap}.class-entry{margin:1rem;min-width:17.5rem;width:calc(45% - 2rem)}.class-entry__content{align-items:flex-start;background:linear-gradient(180deg,#4a90e2,#8e44ad);border-radius:8px;box-shadow:0 2px 8px #00000042;color:#f3f4f6;display:flex;flex-direction:column;justify-content:center;padding:1rem;text-decoration:none;transition:background-color .3s,color .3s}.class-entry__content:active,.class-entry__content:hover{background:#3b78c8}.class-entry__info h2{color:#dceffd;font-size:1.5rem;font-weight:400;margin:0 0 .5rem}.class-entry__content:active h2,.class-entry__content:active h3,.class-entry__content:hover h2,.class-entry__content:hover h3{color:#fff}.class-entry__info h3{color:#f3f4f6;font-size:1.2rem;margin:.5rem 0}.class-entry__info p{color:#f3f4f6;font-size:1rem;margin:.5rem 0}.class-modal-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.class-modal-actions button{flex:1 1;max-width:8rem}.class-modal-actions button.inverse{background-color:#fff;border:1px solid #4a90e2;color:#4a90e2;transition:background-color .3s,color .3s}.class-modal-actions button.inverse:hover{background-color:#4a90e2;color:#fff}.update-class-form .form-actions{display:flex;gap:.5rem;justify-content:flex-end}.class-list{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;list-style:none;margin:0 auto;max-width:50rem;padding:0;width:90%}.new-class-form{background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif;margin:2rem auto;max-width:600px;padding:1.5rem 2rem}.new-class-form h2{color:#333;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.form-control{margin-bottom:1rem}.form-control label{color:#555;display:block;font-size:1rem;font-weight:500;margin-bottom:.5rem}.form-control input,.form-control select{border:1px solid #ccc;border-radius:6px;font-size:1rem;outline:none;padding:.75rem;transition:border-color .3s ease;width:100%}.form-control input:focus,.form-control select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.form-actions{align-items:center;justify-content:space-between;margin-top:1.5rem}.form-actions button{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .3s ease}.form-actions button:hover{background-color:#0056b3}.form-actions button:disabled{background-color:#ccc;cursor:not-allowed}.form-actions button[type=button]{background-color:#6c757d}.form-actions button[type=button]:hover{background-color:#5a6268}.form-control select[multiple]{height:auto;min-height:150px}@media (max-width:768px){.new-class-form{padding:1rem 1.5rem}.form-actions{flex-direction:column;gap:1rem}.form-actions button{width:100%}}.no-classes-container{background-color:#fff;background-color:var(--background-light,#fff);border:1px solid #dcdcdc;border:1px solid var(--border-color,#dcdcdc);border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:30rem;padding:1.5rem 2rem;text-align:center;width:100%}.no-classes-message{color:#333;color:var(--text-primary,#333);font-size:1.25rem;font-weight:500;margin:0}.new-class-btn-wrapper{display:flex;justify-content:center;margin-top:2rem;max-width:30rem;width:100%}.new-class-btn{background-color:#007bff;background-color:var(--primary-color,#007bff);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;color:var(--button-text-color,#fff);cursor:pointer;font-size:1rem;font-weight:700;max-width:12rem;padding:.6rem 1rem;text-align:center;transition:background-color .3s ease,box-shadow .3s ease;width:100%}.new-class-btn:hover{background-color:#0056b3;background-color:var(--primary-color-hover,#0056b3);box-shadow:0 4px 8px #0003}@media (max-width:768px){.classes-wrapper{gap:1rem;padding:1.5rem 1rem}.no-classes-container{padding:1rem 1.5rem}.new-class-btn{font-size:.9rem}}.student-search{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:row;gap:.5rem;padding:.5rem 1rem}.search-label{font-size:.9rem;white-space:nowrap}.search-input{background-color:#f9f9f9;border-radius:4px;font-size:.9rem;max-width:300px;padding:.4rem}.search-input:focus{border-color:#888}.search-button{background-color:#007bff;border-radius:4px;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.search-button:disabled{background-color:#ccc}.search-button:hover:not(:disabled){background-color:#0056b3}.csv-upload{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;flex-direction:column;gap:.5rem;max-width:600px;padding:1rem}.csv-upload,.csv-upload-container{align-items:center;display:flex;width:100%}.csv-upload-container{flex-direction:row;gap:1rem;justify-content:center}.csv-upload-input{max-width:250px;padding:.5rem}.csv-upload-input:focus{background-color:#fff;border-color:#888;outline:none}.csv-upload-status{font-size:.9rem;margin-top:.5rem;text-align:center;width:100%}.csv-upload-status.error{color:red}.csv-upload-status.success{color:green}.csv-upload button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem;transition:background-color .2s ease;white-space:nowrap}.csv-upload button:disabled{background-color:#ccc;cursor:not-allowed}.new-student-form{background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 6px #0000001a;font-family:Arial,sans-serif;margin:0 auto;max-width:600px;padding:2rem}.new-student-form .form-control{margin-bottom:1.5rem}.new-student-form .form-control label{color:#333;display:block;font-weight:700;margin-bottom:.5rem}.new-student-form .form-control input,.new-student-form .form-control select{background-color:#fff;border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.8rem;transition:border-color .3s ease;width:100%}.new-student-form .form-control input:focus,.new-student-form .form-control select:focus{border-color:#007bff;outline:none}.new-student-form .form-control input[type=checkbox]{margin-right:.5rem;width:auto}.new-student-form .form-control input[required]{border-left:3px solid #ff6b6b}.new-student-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.new-student-form .form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.8rem 1.5rem;transition:background-color .3s ease,color .3s ease}.new-student-form .form-actions button[type=submit]{background-color:#007bff;color:#fff}.new-student-form .form-actions button[type=submit]:hover{background-color:#0056b3}.new-student-form .form-actions button[disabled]{background-color:#ddd;color:#888;cursor:not-allowed}.new-student-form .form-actions button[type=button]{background-color:#f1f1f1;color:#333}.new-student-form .form-actions button[type=button]:hover{background-color:#e1e1e1}.new-student-form .form-control input[type=email]:invalid{border-color:#ff6b6b}.new-student-form .form-control input[type=email]:valid{border-color:#28a745}.new-student-form .form-control input[type=number]{-moz-appearance:textfield}.new-student-form .form-control input[type=number]::-webkit-inner-spin-button,.new-student-form .form-control input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.students-wrapper .class-selector{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:row;gap:1rem;justify-content:space-between;padding:1rem}.students-wrapper .class-selector select{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.5rem;transition:border-color .2s ease,background-color .2s ease}.students-wrapper .class-selector select:focus{border-color:#888;outline:none}.student-list-container{background-color:#fff;border-bottom:1px solid #ddd;border-top:1px solid #ddd;flex-grow:1;overflow-y:auto;padding:1rem}.cta-buttons .add-student-btn,.cta-buttons .upload-csv-btn{background-color:#007bff;border:none;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:1rem;max-width:170px;padding:.75rem 1.5rem;transition:background-color .2s ease,box-shadow .2s ease}.cta-buttons .add-student-btn:hover,.cta-buttons .upload-csv-btn:hover{background-color:#0056b3}.cta-buttons{align-items:center;bottom:0;box-shadow:0 -2px 4px #0000001a;display:flex;gap:1rem;justify-content:space-between;padding:1rem;position:-webkit-sticky;position:sticky;z-index:10}.add-student-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;max-width:200px;padding:.75rem 1.5rem;text-align:center;transition:background-color .2s ease;white-space:nowrap;width:auto}.add-student-btn:hover{background-color:#0056b3}.csv-upload-label{color:#333;font-size:.9rem;font-weight:700;white-space:nowrap}.csv-upload-input{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;flex-grow:1;font-size:.9rem;max-width:300px;padding:.4rem}.csv-upload button:hover{background-color:#0056b3}.desktop-only-message{align-items:center;background-color:#f9f9f9;color:#333;display:flex;flex-direction:column;font-size:1.1rem;height:70vh;justify-content:center;padding:2rem;text-align:center}.update-parent-form{border-radius:8px;font-family:Arial,sans-serif;margin:0 auto;max-width:600px;padding:1.5rem}.update-parent-form h2{background:linear-gradient(90deg,#4a90e2,#8e44ad);border-radius:8px 8px 0 0;color:#fff;font-size:1.5rem;font-weight:700;margin:-1.5rem -1.5rem 1rem;padding:1rem;text-align:center}.update-parent-form form{display:flex;flex-direction:column;gap:1rem}.update-parent-form label{color:#4a4a4a;font-weight:700;margin-bottom:.25rem}.update-parent-form input,.update-parent-form select{background:#fdfdfd;border:1px solid #ccc;border-radius:5px;font-size:1rem;padding:10px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.update-parent-form input:focus,.update-parent-form select:focus{border-color:#4a90e2;box-shadow:0 0 6px #4a90e299;outline:none}.update-parent-form .telephone-input{align-items:center;display:flex;gap:.5rem}.update-parent-form .telephone-input input{flex:1 1}.update-parent-form h3{color:#4a90e2;font-size:1.2rem;margin-top:1rem}.update-parent-form ul{list-style:none;margin:0;padding:0}.update-parent-form li{align-items:center;background:#f9f9f9;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:5px;padding:.5rem}.update-parent-form button[type=button],.update-parent-form button[type=submit]{background:linear-gradient(90deg,#4a90e2,#8e44ad);border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;padding:10px 20px;transition:background .3s ease}.update-parent-form button[type=button]:hover,.update-parent-form button[type=submit]:hover{background:#3b78c8}.update-parent-form li button{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px;transition:background-color .3s}.update-parent-form li button:hover{background:#c0392b}button[type=submit]:disabled{background:#ccc;cursor:not-allowed;opacity:.6}@media (max-width:768px){.update-parent-form{padding:1rem}.update-parent-form .telephone-input{flex-direction:column}}.student-dropdown select{border:1px solid #ccc;border-radius:4px;margin:5px 0;padding:8px;width:100%}.parent-entry td{border:1px solid #ddd;padding:.75rem;text-align:left}.parent-entry:hover{background-color:#f9f9f9}.parents-table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.parents-table td,.parents-table th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}.parents-table th{background-color:#4a90e2;color:#fff;font-weight:700}.parents-table tr:hover{background-color:#f0f8ff}.parent-search{background:#f9f9f9;border-radius:8px;box-shadow:0 2px 5px #0000001a;flex-direction:column;max-width:400px;padding:.5rem 1rem}.parent-search,.search-container{align-items:center;display:flex;gap:.5rem;width:100%}.search-container{flex-direction:row}.search-label{color:#333;font-size:14px;font-weight:700;text-align:left;width:100%}.search-input{border:1px solid #ccc;border-radius:5px;flex-grow:1;font-size:14px;padding:10px;transition:border-color .2s ease-in-out}.search-input:focus{border-color:#007bff;box-shadow:0 0 5px #007bff33;outline:none}.search-button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 15px;transition:background .2s ease-in-out}.search-button:hover{background:#0056b3}.search-button:disabled{background:#ccc;cursor:not-allowed}.error-text{color:red;display:block;font-size:12px;margin-top:5px;width:100%}.parent-creation-container{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;margin:2rem auto;max-width:600px;padding:1.5rem}.parent-creation-container h2{color:#333;margin-bottom:1rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{color:#555;display:block;font-size:1rem;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;outline:none;padding:.5rem;width:100%}.form-group input:focus,.form-group select:focus{border-color:#4caf50;box-shadow:0 0 4px #4caf504d}.parent-submit-btn{background-color:#007bff;border:none;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:block;font-size:1rem;max-width:120px;padding:.75rem 1.5rem;transition:background-color .2s ease,box-shadow .2s ease}.parents-wrapper .class-selector{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.parents-wrapper .class-selector label{color:#333;font-weight:700}.parents-wrapper .class-selector select{border:1px solid #ccc;border-radius:4px;padding:.5rem}.parents-wrapper .empty-message{color:#777;font-size:1rem;text-align:center}.parents-wrapper .cta-container{text-align:center}.new-parent-btn{background-color:#007bff;border:none;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:1rem;max-width:140px;padding:.75rem 1.5rem;transition:background-color .2s ease,box-shadow .2s ease}.new-parent-btn:hover{background-color:#45a049}.new-parent-btn:active{background-color:#3e8e41}.parents-wrapper .cta-container{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:1.5rem}.csv-upload-btn,.new-parent-btn{flex:1 1;max-width:200px}.message-card{box-shadow:0 1px 3px #0000001a}.message-card-actions{gap:.5rem}.message-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 1px 4px #0000000d;margin-bottom:1rem;padding:1rem}.message-card>div{margin-bottom:.5rem}.message-card-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:.75rem}.messages-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-top:1rem;overflow:hidden;width:100%}.messages-table td,.messages-table th{border-bottom:1px solid #ddd;padding:.8rem;text-align:left}.messages-table th{background-color:#4a90e2;color:#fff;font-weight:700}.messages-table tr:hover{background:#f5f5f5}.recipient-selector{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;margin:1rem auto;max-width:500px;padding:1rem}.class-dropdown{margin-bottom:1rem}.student-summary{align-items:center;background:#f4f4f4;border-radius:6px;display:flex;flex-direction:column;justify-content:space-between;margin-top:1rem;padding:.8rem}.view-students-btn{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:6px 12px;transition:background .3s}.view-students-btn:hover{background:#3b78c8}.class-header{justify-content:left}.student-entry{display:flex;justify-content:space-between;padding:5px 0}.remove-student-btn{background:none;border:none;color:red;cursor:pointer;font-size:1.2rem}.modal-content{max-height:400px;overflow-y:auto;padding:1rem}.class-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.remove-class-btn{background:red;padding:4px 8px}.close-modal-btn,.remove-class-btn{border:none;border-radius:4px;color:#fff;cursor:pointer}.close-modal-btn{background:#4a90e2;margin-top:10px;padding:6px 12px;width:100%}.attach-form{padding:1rem;text-align:center}.attach-prompt{align-items:center;gap:1rem}.attach-prompt,.form-builder{display:flex;flex-direction:column;margin:auto;max-width:600px}.form-builder{background:#fff;border:1px solid #ddd;border-radius:8px;gap:1.5rem;padding:1.5rem}.form-builder input,.form-builder select{border:1px solid #ccc;border-radius:5px;font-size:1rem;padding:.5rem;width:100%}.question{background:#f8f8f8;border:1px solid #e0e0e0;border-radius:5px;gap:.75rem;padding:1rem}.options-section,.question{display:flex;flex-direction:column}.options-section{border-left:3px solid #4a90e2;gap:.5rem;padding-left:1rem}.option-item{align-items:center;display:flex;gap:.5rem}.option-item input{flex:1 1}button{background:#4a90e2;border-radius:5px;font-size:1rem;padding:.5rem 1rem;transition:background .3s ease-in-out}button:hover{background:#357ac9}.option-item button{background:#e74c3c;font-size:.9rem;padding:.3rem .6rem}.option-item button:hover{background:#c0392b}@media (max-width:768px){.form-builder{padding:1rem}}.compose-message{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;margin:1rem auto;max-width:600px;padding:1.5rem}.compose-form{display:flex;flex-direction:column;gap:1rem}.compose-form label{font-weight:700;margin-bottom:5px}.compose-form input,.compose-form textarea{border:1px solid #ccc;border-radius:6px;font-size:1rem;padding:10px;width:100%}.compose-form textarea{min-height:120px;resize:vertical}.compose-form input[type=file]{border:none}button{background:linear-gradient(90deg,#4a90e2,#8e44ad);border-radius:6px;cursor:pointer;padding:10px;transition:background .3s}button:disabled{background:#ccc}.error{color:red;font-size:.9rem}.attachment-link{align-items:center;color:#2563eb;display:inline-flex;font-weight:500;gap:.5rem;margin-bottom:.5rem;text-decoration:none}.attachment-link:hover{color:#1d4ed8;text-decoration:underline}.icon{font-size:1.2rem}button.attachment-link{background:#0000;border:0;cursor:pointer;font:inherit;padding:.5rem 0;text-align:left}button.attachment-link:disabled{cursor:default;opacity:.65}button.attachment-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}.attachment-file{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem}.attachment-file .attachment-preview{max-height:20rem;max-width:100%;object-fit:contain}.attachment-file [role=alert]{color:#b42318;margin:0}.form-results{padding:1rem;text-align:center}.results-table{border-collapse:collapse;margin-top:1rem;width:100%}.results-table td,.results-table th{border:1px solid #ddd;padding:8px;text-align:left}.results-table th{background-color:#f4f4f4}.not-completed{color:red;font-weight:700}.view-message{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:700px;padding:1.5rem}.view-message h2{color:#333;font-size:1.6rem;margin-bottom:.5rem}.view-message p{color:#555;font-size:1rem;line-height:1.5}.message-content{word-wrap:break-word;background:#f9f9f9;border-left:4px solid #007bff;border-radius:5px;margin:1rem 0;padding:1rem}.loading-text{color:#666;font-size:1.2rem}.error-text,.loading-text{margin:1rem 0;text-align:center}.error-text{color:#d9534f;font-size:1rem;font-weight:700}.message-images{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:1rem}.message-images img{border:2px solid #ddd;border-radius:5px;cursor:pointer;height:100px;object-fit:cover;transition:transform .2s,border-color .2s;width:100px}.message-images img:hover{border-color:#007bff;transform:scale(1.1)}.cta-container{justify-content:space-between;margin-top:1rem}.cta-container button:hover{background:#0056b3;transform:scale(1.05)}.cta-container .form-results-btn{background:#28a745}.cta-container .form-results-btn:hover{background:#218838}@media (max-width:600px){.view-message{padding:1rem}.cta-container{flex-direction:column;gap:10px}}.scheduled-at{color:#007bff;font-size:1rem;font-weight:700;margin-top:10px}.message-list{background:#f9f9f9;border-radius:8px;box-shadow:0 1px 4px #0000001a;margin-top:1rem;padding:1rem}.message-list ul{list-style:none;padding:0}.message-list li{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem;padding:.8rem;text-align:left;transition:background .3s}.message-list li:hover{background:#eef5ff}.messaging-wrapper .cta-container{display:flex;justify-content:center;margin-top:1.5rem}.new-message{padding:1rem}.new-message h3{color:#4a90e2;font-size:1.5rem;margin-bottom:1rem}.archive-confirmation-text{text-align:center}td:last-child{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:.5rem}td:last-child button{flex:1 1;min-width:100px;text-align:center}.view-btn{background:linear-gradient(90deg,#4a90e2,#8e44ad);border-radius:5px;padding:.5rem 1rem;transition:background .3s}.view-btn:hover{background:linear-gradient(90deg,#3b78c8,#732d91)}@media (max-width:600px){td:last-child{align-items:stretch;flex-direction:column}td:last-child button{width:100%}}td{vertical-align:middle}.td-inner{align-items:center;box-sizing:border-box;display:flex;gap:.5rem;height:100%;justify-content:center;padding:2rem;width:100%}.recipient-message-card{background:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 1px 4px #0000000d;margin-bottom:1rem;padding:1rem}.recipient-message-card>div{margin-bottom:.5rem}.recipient-card-actions{display:flex;gap:.75rem;justify-content:center}.message-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-top:1rem;overflow:hidden;width:100%}.message-table td,.message-table th{border-bottom:1px solid #ddd;padding:.8rem;text-align:left}.message-table th{background-color:#4a90e2;color:#fff;font-weight:700}.message-table tr:hover{background:#f5f5f5}.no-messages{color:#888;font-size:1.2rem;padding:1rem;text-align:center}.form-container{background-color:#fff;border-radius:10px;font-family:Arial,sans-serif;margin:20px auto}.form-container form{display:flex;flex-direction:column;gap:15px}.form-question{display:flex;flex-direction:column;gap:5px}.form-question label{color:#333}input[type=datetime-local],input[type=text]{border:1px solid #ccc;border-radius:5px;font-size:14px;outline:none;padding:10px;transition:border-color .2s ease-in-out;width:100%}input[type=datetime-local]:focus,input[type=text]:focus{border-color:#007bff}.checkbox-options,.radio-options{display:flex;flex-direction:column;gap:5px;margin-top:5px}.checkbox-option,.radio-option{align-items:center;color:#555;display:flex;font-size:14px;gap:10px}.checkbox-option input,.radio-option input{cursor:pointer;transform:scale(1.1)}@media (max-width:768px){.form-container{padding:15px;width:90%}button,input[type=text]{font-size:14px}button{padding:8px}}.form-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:600px;padding:20px}.error-message{background-color:#fcc;border-left:5px solid #d9534f;border-radius:5px;color:#a94442;font-weight:700;margin-bottom:15px;padding:10px}.form-question label{display:block;font-weight:700;margin-bottom:5px}.form-question input[type=checkbox],.form-question input[type=radio],.form-question input[type=text]{margin-right:10px}Button Styling button:disabled{background-color:#ccc;cursor:not-allowed}.error-message-box{background-color:#fdd;border-left:5px solid #d9534f;border-radius:5px;color:#a94442;font-weight:700;margin-bottom:25px;padding:15px}.error-message-box p{margin:0}.error-message-box ul{margin-top:10px;padding-left:20px}.error-message-box li{font-size:14px;line-height:1.5;list-style-type:none}.recipient-messaging-wrapper h2{color:#4a90e2;font-size:1.8rem;margin-bottom:1rem}.update-inquiry-container{background-color:#f5f5f5;box-shadow:0 2px 4px #0000001a;gap:1.5rem;margin:0 auto;max-width:600px;padding:1.5rem}.messages-list,.update-inquiry-container{border-radius:8px;display:flex;flex-direction:column}.messages-list{gap:1rem;max-height:250px;padding:1rem}.message{background-color:#f9f9f9;border-left:4px solid #007bff;border-radius:6px;display:flex;flex-direction:column;gap:.25rem;padding:.75rem}.message strong{font-size:.95rem}.message p{font-size:.9rem;margin:0}.timestamp{color:#888;text-align:right}.message-form{display:flex;flex-direction:column;gap:1rem}.message-form textarea{border:1px solid #ccc;font-size:1rem;min-height:80px;padding:.75rem}.file-upload-form{background-color:#fff;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1rem}.file-upload-form input{border:1px solid #ccc;border-radius:4px;padding:.5rem}.uploaded-files{display:flex;flex-wrap:wrap;gap:.5rem}.file-name{background-color:#e9ecef;border-radius:4px;color:#333;font-size:.9rem;padding:.5rem}.actions{gap:1rem}.actions button{padding:.75rem}button{background-color:#007bff;border:none;color:#fff;transition:background-color .2s ease}button:hover{background-color:#0056b3}button:disabled{background-color:#ccc;cursor:not-allowed}.message-error,.message-success{font-size:.9rem;margin-top:.5rem}.attachments-section{border-top:1px solid #ccc;margin-top:1rem;padding-top:1rem}.attachment-entry{align-items:center;display:flex;font-size:.95rem;gap:.5rem;margin-bottom:.5rem}.attachment-entry a{color:#007bff;font-weight:500;text-decoration:none}.attachment-entry a:hover{text-decoration:underline}.attachment-icon{height:20px;object-fit:contain;width:20px}.inquiry-entry td{border:1px solid #ddd;padding:.75rem;text-align:left}.inquiry-entry:hover{background-color:#f9f9f9}.update-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.update-btn:hover{background-color:#357abd}.inquiry-card{background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 4px #0000000d}.inquiry-card p{font-size:.95rem;margin:.25rem 0}.inquiry-card strong{font-weight:600}.inquiry-card button{margin-top:.75rem;width:100%}.inquiry-card-list{display:flex;flex-direction:column;padding:.5rem}.highlight-card{background-color:#fffef4;border-left:4px solid #f39c12}.inquiries-table{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.empty-message{color:#777;font-size:1rem;margin-top:1rem}.student-dropdown-container{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.student-dropdown-container label{color:#333;font-size:1rem;font-weight:700}.student-dropdown-container select{background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.student-dropdown-container select:hover{border-color:#007bff}.student-dropdown-container select:disabled{background-color:#e0e0e0;cursor:not-allowed}.student-dropdown-container select:focus{border-color:#0056b3;box-shadow:0 0 4px #005bbb80;outline:none}.new-inquiry-container{background-color:#f5f5f5;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:600px;padding:2rem}.new-inquiry-form{display:flex;flex-direction:column;gap:1rem}.new-inquiry-form label{color:#333;display:block;font-weight:700;margin-bottom:.5rem}.new-inquiry-form input,.new-inquiry-form select,.new-inquiry-form textarea{background-color:#fff;border:1px solid #ccc;border-radius:4px;font-size:1rem;margin-bottom:.5rem;padding:.75rem;transition:border .2s ease-in-out;width:100%}.new-inquiry-form input:focus,.new-inquiry-form select:focus,.new-inquiry-form textarea:focus{border-color:#007bff;outline:none}.new-inquiry-form textarea{min-height:120px;resize:vertical}.date-picker-container{display:flex;gap:1rem}.date-picker-container .date-picker{flex:1 1}.file-upload-container{background-color:#fff;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.file-upload-container input{border:1px solid #ccc;border-radius:4px;padding:.5rem}.uploaded-files{color:#333;font-size:.9rem;margin-top:.5rem}.uploaded-files .file-name{background-color:#e9ecef;border-radius:4px;margin-top:.3rem;padding:.4rem}.error-message{color:red;font-size:.9rem;margin-top:.5rem;text-align:center}.success-message{font-size:1rem;font-weight:700}.cta-container{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.submit-inquiry-btn{background-color:#007bff;border:none;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s ease,box-shadow .2s ease}.submit-inquiry-btn:hover{background-color:#0056b3}.submit-inquiry-btn:disabled{background-color:#ccc;cursor:not-allowed}.cancel-inquiry-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s ease,box-shadow .2s ease}.cancel-inquiry-btn:hover{background-color:#5a6268}.inquiries-wrapper .inquiries-header{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.inquiries-wrapper .inquiries-header h2{color:#333;font-size:1.5rem;margin:0}.inquiries-table-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.inquiries-table{border-collapse:collapse;width:100%}.inquiries-table td,.inquiries-table th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}.inquiries-table th{background-color:#4a90e2;color:#fff;font-weight:700}.inquiries-table tr:hover{background-color:#f0f8ff}.inquiries-wrapper .empty-message{color:#777;font-size:1rem;margin-top:1rem;text-align:center}.inquiries-wrapper .cta-container{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:1.5rem}.recipient-inquiry-entry td{vertical-align:middle}.recipient-inquiry-entry .view-respond-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.4rem .8rem}.recipient-inquiry-entry .view-respond-button:hover{background-color:#0056b3}.highlight-row{background-color:#f0f4ff;border-left:4px solid #3b82f6;font-weight:500}.inquiry-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 1px 4px #0000000d;margin-bottom:1rem;padding:1rem}.inquiry-card>div{margin-bottom:.5rem}.inquiry-card-actions{display:flex;gap:.75rem;justify-content:center;margin-top:.75rem}.highlight-card{background-color:#f9faff;border-left:4px solid #4a90e2}.recipient-inquiry-table{background-color:#fff;border:1px solid #ddd;border-collapse:collapse;border-radius:8px;font-size:.95rem;margin-top:1rem;overflow:hidden;width:100%}.recipient-inquiry-table td,.recipient-inquiry-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.recipient-inquiry-table th{background-color:#f5f5f5;color:#333;font-weight:600}.recipient-inquiry-table tr:hover{background-color:#f9f9f9}.view-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 12px}.view-btn:hover{background-color:#0056b3}.view-and-respond{background-color:#f9f9f9;border-radius:8px;padding:1rem}.view-and-respond h3,.view-and-respond h4{color:#333;margin-bottom:.5rem}.view-and-respond p{color:#555;margin:.5rem 0}.messages-list{background-color:#fff;border:1px solid #ddd;border-radius:4px;margin:1rem 0;max-height:200px;overflow-y:auto;padding:.5rem}.message{margin-bottom:.5rem}.message strong{color:#333}.message p{color:#555;margin:.2rem 0}.timestamp{color:#999;font-size:.8rem}.message-form{margin:1rem 0}.message-form textarea{border:1px solid #ddd;border-radius:4px;padding:.5rem;resize:vertical;width:100%}.actions{gap:.5rem}.actions button{flex:1 1}.inquiry-attachments{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:.5rem;margin-top:1rem;padding:.75rem}.inquiry-attachments h4{color:#333;font-size:1rem;margin-bottom:.5rem}.attachment-list{list-style:none;padding-left:0}.attachment-list li{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.actions{flex-wrap:wrap;gap:.75rem}@media (max-width:768px){.actions{align-items:stretch;flex-direction:column}.actions .button{width:100%}}.inquiries-wrapper .pagination-container{display:flex;justify-content:center;margin-top:1.5rem}.bookable-card{border:1px solid #ccc}.bookable-card-actions{flex-wrap:wrap;gap:.75rem}.new-bookable-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;font-size:1rem;gap:1rem;padding:1.5rem}.new-bookable-form h3{color:#333;font-size:1.4rem;margin-bottom:1rem}.new-bookable-form label{color:#444;font-weight:500}.new-bookable-form input[type=date],.new-bookable-form input[type=datetime-local],.new-bookable-form input[type=number],.new-bookable-form input[type=text],.new-bookable-form select,.new-bookable-form textarea{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.5rem .75rem;width:100%}.new-bookable-form textarea{min-height:80px;resize:vertical}.new-bookable-form input[type=checkbox]{margin-right:.5rem}.checkbox-list{display:flex;flex-direction:column;gap:.25rem;margin-left:1rem;margin-top:.5rem}.file-list{color:#333;font-size:.95rem;list-style:none;margin:0;padding-left:1rem}.file-list li:before{content:"📎 "}.new-bookable-form button{align-self:flex-start;margin-top:1rem}.message-success{color:green;font-weight:500}.message-error{color:red;font-weight:500}.view-bookings{margin-top:1.5rem;padding:1rem}.bookings-table{border-collapse:collapse;margin-top:1rem;width:100%}.bookings-table td,.bookings-table th{border:1px solid #ccc;padding:.75rem;text-align:left;vertical-align:top}.bookings-table th{background-color:#f8f8f8}.booking-dates-list{list-style-type:disc;margin:0;padding-left:1.25rem}.bookable-entry td{border-bottom:1px solid #eee;padding:1rem;text-align:left;vertical-align:middle}.bookable-entry .action-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-right:.5rem;padding:.5rem 1rem;transition:background-color .2s ease}.bookable-entry .action-button:hover{background-color:#0056b3}.bookable-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 1px 4px #0000000d;margin-bottom:1rem;padding:1rem}.bookable-card>div{margin-bottom:.5rem}.bookable-card-actions{display:flex;justify-content:center;margin-top:.75rem}.bookables-table-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:1rem;overflow:hidden}.bookables-table{border-collapse:collapse;width:100%}.bookables-table td,.bookables-table th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}.bookables-table th{background-color:#4a90e2;color:#fff;font-weight:700}.bookables-table tr:hover{background-color:#f0f8ff}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.book-component{padding:1rem}.calendar-section{margin:1rem 0}.selected-date{background-color:#007bff!important;border-radius:50%;color:#fff!important}.selected-dates{margin-top:.5rem}.actions{justify-content:flex-end;margin-top:1rem}.react-calendar__tile{background:#fff;color:#000}.react-calendar__tile--active,.react-calendar__tile--rangeEnd,.react-calendar__tile--rangeStart{background:#007bff;border-radius:50%;color:#fff}.react-calendar__month-view__days__day--weekend{color:#d9534f}.book-component{margin:0 auto;max-width:500px;padding:1.5rem}.calendar-section{margin:1.5rem 0;text-align:center}.react-calendar{box-shadow:0 0 4px #0000001a;display:inline-block;margin-top:.5rem;padding:.5rem}.selected-dates{font-style:italic;margin-top:.75rem;text-align:center}.student-select{margin:1.25rem 0}.student-select select{margin-top:.5rem;max-width:300px;padding:.4rem;width:100%}.react-calendar__navigation__label{color:#333!important}.react-calendar__navigation__label:hover{color:#000;cursor:pointer}.react-calendar{background-color:#fff;border:none;border-radius:8px;box-shadow:0 4px 12px #0000001a;font-family:Inter,sans-serif;padding:1rem}.react-calendar__navigation{display:flex;justify-content:center;margin-bottom:1rem}.react-calendar__navigation__label{color:#4b2aad!important;font-size:1.1rem;font-weight:600}.react-calendar__navigation button{background:none;border:none;color:#4b2aad;font-size:1rem}.react-calendar__navigation button:disabled{color:#ccc}.react-calendar__month-view__weekdays{color:#666;font-size:.8rem;font-weight:500;margin-bottom:.5rem;text-transform:uppercase}.react-calendar__tile{border-radius:4px;color:#333;font-size:.95rem;padding:.6rem 0;transition:background-color .2s ease}.react-calendar__tile--active,.selected-date{background-color:#4b2aad!important;color:#fff!important}.react-calendar__tile:disabled{background-color:#eee!important;color:#aaa!important;cursor:not-allowed}.react-calendar__tile:hover:not(:disabled){background-color:#ece6ff;cursor:pointer}.attachments{margin-top:1.5rem}.attachments h4{font-size:1.1rem;margin-bottom:.5rem}.attachments ul{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding-left:0}.attachment-item{max-width:120px}.attachment-doc{color:#555;font-size:.85rem;text-align:center}.attachment-doc a{display:inline-block;margin-top:.25rem}.attachments{margin-top:2rem;text-align:center}.attachments h4{color:#4b2aad;font-size:1.2rem;margin-bottom:1rem}.attachments-list{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;list-style:none;padding:0}.attachment-item{align-items:center;display:flex;flex-direction:column;max-width:180px;text-align:center;word-break:break-word}.attachment-preview{border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 6px #0000001a;margin-bottom:.5rem;max-height:200px;max-width:200px;object-fit:cover;transition:transform .2s ease}.attachment-preview:hover{transform:scale(1.05)}.attachment-doc span{display:block;font-size:.9rem;margin-bottom:.25rem}.attachment-doc a{color:#4b2aad;font-size:.85rem;text-decoration:underline}.inquiries-wrapper{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:1rem;padding:1rem}.inquiries-header{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.pagination-container{display:flex;justify-content:center;margin-top:1.5rem}.recipient-booking-card{background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:1rem;padding:1rem}.card-section{margin-bottom:.5rem}.card-section strong{display:block;font-weight:600;margin-bottom:.25rem}.card-section span{color:#333;display:block}.card-actions{display:flex;justify-content:flex-end;margin-top:1rem}.recipient-booking-table{border-collapse:collapse;margin-top:1rem;width:100%}.recipient-booking-table td,.recipient-booking-table th{border-bottom:1px solid #e5e5e5;color:#333;font-size:.95rem;padding:.75rem 1rem;text-align:left}.recipient-booking-table th{background-color:#f9f9fb;color:#555;font-weight:600}.recipient-booking-table tr:hover{background-color:#fafafa}.recipient-bookings{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;margin:0 auto;max-width:1000px;padding:2rem}.recipient-bookings h2{color:#333;font-size:1.6rem;margin-bottom:1.5rem}.pagination{display:flex;gap:.5rem;justify-content:center;margin-top:2rem}.pagination button{background-color:#f0f0f0;border:none;border-radius:4px;color:#333;cursor:pointer;font-weight:500;padding:.5rem .8rem;transition:all .2s ease}.pagination button.active{background-color:#4b2aad;color:#fff}.pagination button:disabled{background-color:#ddd;color:#888;cursor:not-allowed}.auth-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0 auto;padding:2rem;width:40%}.auth-form{display:flex;flex-direction:column;gap:1rem}.password-guidelines{color:#555;font-size:.9rem;list-style:none;margin-bottom:1rem;margin-top:0;padding-left:1rem}.password-guidelines li{margin-bottom:.25rem}.password-guidelines .valid{color:green}.password-guidelines .invalid{color:#c00}.success-message{color:green}.error-text{color:#c00;font-size:.9rem;margin-top:-.5rem}.back-link{color:#007bff;display:inline-block;font-size:.95rem;margin-top:1rem;text-decoration:underline}.password-toggle{font-size:.9rem;margin-top:-.5rem}.success-message-container{background-color:#fdfdfd;border:1px solid #a5d6a7;border-radius:8px;color:#2e7d32;margin-top:2rem;padding:1.5rem;text-align:center}.success-message-container .success-message{font-size:1rem;font-weight:600;margin-bottom:1rem}.success-message-container .back-link{color:#2e7d32;display:inline-block;font-weight:500;margin-top:1rem;text-decoration:underline}.map{height:100%;width:100%}.place-item{margin:1rem 0}.place-item__content{padding:0}.place-item__info{padding:1rem;text-align:center}.place-item__image{height:12.5rem;margin-right:1.5rem;width:100%}.place-item__image img{height:100%;object-fit:cover;width:100%}.place-item__info h2,.place-item__info h3,.place-item__info p{margin:0 0 .5rem}.place-item__actions{border-top:1px solid #ccc;padding:1rem;text-align:center}.place-item__modal-content{padding:0}.place-item__modal-actions{text-align:right}.place-item__actions a,.place-item__actions button{margin:.5rem}.map-container{height:15rem;width:100%}@media (min-width:768px){.place-item__image{height:20rem}}.place-list{list-style:none;margin:1rem auto;max-width:40rem;padding:0;width:90%}.authentication-container{align-items:center;display:flex;flex:1 1;justify-content:center;padding:1rem}.authentication{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000042;display:flex;flex-direction:column;gap:.5rem;margin:2rem auto;max-width:400px;padding:2rem;width:90%}form{width:100%}form input{margin-bottom:.5rem}.form-actions{display:flex;flex-direction:column;gap:.5rem}.form-actions button{margin:0;width:100%}.forgot-password-link{margin-bottom:-.25rem;margin-top:-.25rem;text-align:right}.forgot-password-link a{color:#007bff;font-size:.85rem;text-decoration:underline}.forgot-password-link a:hover{text-decoration:none}.account-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:2rem auto;max-width:600px;padding:2rem}.heading{color:#333;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-group label{color:#444;font-weight:600;margin-bottom:.25rem}input,select{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.5rem}input:disabled{background-color:#f4f4f4}.row{display:flex;flex-wrap:wrap;gap:1rem}.row .form-group{flex:1 1}.telephone-input{display:flex;gap:.5rem}.success-message{background-color:#e6ffed;border:1px solid #b2dfdb;border-radius:4px;font-weight:500;margin-bottom:1rem}.change-password-section{border-top:1px solid #ddd;margin-top:2rem;padding-top:1rem}.child-entry-row td{vertical-align:middle}.child-card{background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:1rem;padding:1rem}.child-card div{font-size:.95rem;margin-bottom:.5rem}.children-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:2rem auto;max-width:90%;padding:1.5rem;text-align:center}.children-wrapper h2{color:#4a90e2;font-size:1.8rem;margin-bottom:1rem}.children-table-wrapper{margin-top:1rem;overflow-x:auto}.children-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;width:100%}.children-table td,.children-table th{border-bottom:1px solid #ddd;padding:.8rem;text-align:left}.children-table th{background-color:#4a90e2;color:#fff;font-weight:700}.children-table tr:hover{background:#f5f5f5}.empty-message{color:#888;font-size:1.2rem;padding:1rem;text-align:center}@media (max-width:768px){.children-table td,.children-table th{font-size:.95rem;padding:.6rem}.children-wrapper h2{font-size:1.5rem}}.register-card{background:#fff;border:1px solid #ccc;border-left:4px solid #0000;border-radius:8px;box-shadow:0 1px 4px #0000000d;margin-bottom:1rem;padding:1rem}.register-card.absent-card{background-color:#fff5f5;border-left-color:#e74c3c}.register-card>div{margin-bottom:.5rem}.register-card-actions{display:flex;justify-content:center;margin-top:.75rem}.register-table-wrapper{border-radius:.5rem;box-shadow:0 2px 8px #0000000d;overflow-x:auto}.register-table{border-collapse:collapse;font-size:.95rem;width:100%}.register-table thead{background-color:#f9fafb;text-align:left}.register-table td,.register-table th{border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.register-table th{color:#374151;font-weight:600}.register-table td{color:#4b5563}.record-absence-container{font-size:1rem;padding:1.5rem}.record-absence-container h3{color:#222;font-size:1.3rem;margin-bottom:1rem}.absence-form{display:flex;flex-direction:column;gap:1rem}.absence-form .field-group{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.absence-form label{font-weight:600;margin-right:.5rem}.absence-form input[type=date],.absence-form select{border:1px solid #ccc;border-radius:6px;font-size:1rem;min-width:150px;padding:.5rem}.absence-form .actions{display:flex;gap:1rem;justify-content:space-between;margin-top:1.5rem}.absence-form .actions button{background:linear-gradient(90deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:.6rem 1rem;transition:background .3s ease}.absence-form .actions button:hover{background:linear-gradient(90deg,#5a67d8,#6b46c1)}.view-absence-details-container{margin:0 auto;max-width:600px;padding:1.5rem}.view-absence-details-container h3{font-size:1.6rem;margin-bottom:1rem;text-align:center}.absence-info{margin-bottom:1.5rem}.absence-info p{font-size:1rem;margin:.5rem 0}.inquiry-section{border-top:1px solid #ccc;margin-top:2rem;padding-top:1rem}.inquiry-section h4{font-size:1.4rem;margin-bottom:1rem}.inquiry-messages{background:#fafafa;border:1px solid #ddd;border-radius:6px;margin-top:1rem;max-height:200px;overflow-y:auto;padding:.5rem}.inquiry-messages .message{margin-bottom:1rem}.inquiry-messages .message strong{display:block;margin-bottom:.3rem}.inquiry-messages .message p{margin:0}.inquiry-messages .timestamp{color:#777;font-size:.8rem;margin-top:.3rem}.actions{display:flex;justify-content:center;margin-top:1.5rem}.actions button{background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1.5rem}.actions button:hover{background-color:#005bb5}.register-wrapper .filters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.5rem}.register-wrapper .filters label{font-weight:500;margin-right:.5rem}.register-wrapper .filters input[type=date],.register-wrapper .filters select{border:1px solid #ccc;border-radius:.375rem;min-width:200px;padding:.5rem}.register-warning{background:#fff5f5;border:1px solid #f5c2c2;border-radius:6px;color:#c00;font-weight:700;margin-top:1rem;padding:1rem}.main-header{align-items:center;background:linear-gradient(90deg,#4a90e2,#8e44ad);box-shadow:0 1px 4px #00000026;color:#fff;display:flex;height:4rem;left:0;margin:0;padding:0 1rem;position:fixed;top:0;width:100%;z-index:200}main{flex:1 1;margin-top:4rem}@media (min-width:768px){.main-header{justify-content:space-between}}.main-navigation__header-nav a{border-radius:5px;padding:10px 15px;transition:background-color .3s}.main-navigation__header-nav a:hover{background-color:#3b78c8}.main-navigation__menu-btn span{background-color:#fff}.nav-links{list-style:none;margin:0;padding:0;width:100%}.nav-links--top{align-items:center;display:flex;flex-direction:row;justify-content:center}.nav-links--drawer{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem;padding:3rem 0 1rem}.nav-links--drawer a,.nav-links--drawer button{text-align:left;width:100%}.nav-links a{border:1px solid #0000;border-radius:5px;padding:.5rem 1rem;transition:background .3s ease,color .3s ease,border-color .3s ease}.nav-links a.active,.nav-links a:active,.nav-links a:hover{background:#3b78c8;border-color:#fff;color:#fff}.nav-links button{background:#0000;border:1px solid #fff;border-radius:5px;color:#f3f4f6;cursor:pointer;font:inherit;padding:.5rem 1rem;transition:background .3s ease,color .3s ease,border-color .3s ease}.nav-links button:active,.nav-links button:hover{background:#20b2aa;border-color:#fff;color:#fff}@media (min-width:768px){.nav-links--top{flex-direction:row}.nav-links--drawer{flex-direction:column}.nav-links li{margin:0 .5rem}.nav-links a{color:#f3f4f6;text-decoration:none}.nav-links a.active,.nav-links a:active,.nav-links a:hover{background:#3b78c8;color:#fff}.nav-links button{background:#0000;border:1px solid #fff;color:#f3f4f6}.nav-links button:active,.nav-links button:hover{background:#f8df00;color:#292929}}.nav-link{border-radius:4px;color:#f3f4f6;display:block;font-size:1rem;padding:8px 12px;text-decoration:none;transition:color .3s ease,background-color .3s ease}.nav-link.active{background-color:#2a5298;box-shadow:0 2px 6px #0003;color:#fff;font-weight:700}.nav-link:hover{background-color:#ffffff1a;color:#dceffd}.side-drawer{background:#fff;box-shadow:0 2px 8px #00000042;height:100vh;left:0;position:fixed;top:0;width:70%;z-index:100}.main-navigation__menu-btn:hover{background:#ffffff26!important}.language-switcher{display:inline-block;position:relative}.dropdown-button{align-items:center;background:#4a90e2;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;justify-content:space-between;padding:8px 12px;transition:background .3s}.dropdown-button:hover{background:#3b78c8}.dropdown-arrow{font-size:.8rem}.dropdown-menu{background:#fff;border:1px solid #ddd;border-radius:5px;box-shadow:0 4px 8px #0000001a;left:0;list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;width:150px;z-index:1000}.dropdown-menu li{color:#333;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:background .2s}.dropdown-menu li:hover{background:#f3f4f6;color:#000}.dropdown-menu li:active,.dropdown-menu li:focus{outline:none}.active-language{color:#4a90e2;font-weight:700}.unread-badge{background-color:#e74c3c;border-radius:50%;color:#fff;font-size:.75rem;font-weight:700;margin-left:.4rem;padding:.3rem .6rem}.side-navigation{padding:8rem auto}.nav-section{cursor:pointer;padding:15px 20px;transition:background-color .3s ease,color .3s ease;width:100%}.nav-section:hover{background-color:#3b78c8}.nav-section-title{color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:10px}.side-nav-links{align-items:flex-start;display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-left:20px}.nav-links a{padding:5px 0}.nav-links.expanded{display:flex}@media (max-width:768px){.side-navigation{width:100%}.nav-section{padding:10px}.nav-links{padding-left:10px}}.nav-links a{color:#f3f4f6;display:block;font-size:1rem;text-decoration:none;transition:color .3s ease,background-color .3s ease}.nav-links a,.nav-links a.active{border-radius:4px;padding:8px 12px}.nav-links a.active{background-color:#2a5298;box-shadow:0 2px 6px #0003;color:#fff;font-weight:700}.nav-links a:hover{background-color:#ffffff1a;border-radius:4px;color:#dceffd}@media (max-width:768px){.side-navigation{width:100%}.nav-section{padding:10px}.nav-links{padding-left:10px}.nav-links a,.nav-links a.active{padding:10px}}.side-navigation{height:100%;overflow-y:auto;z-index:10}.side-navigation.drawer-style{background:#0000;box-shadow:none;height:auto;left:0;padding:1rem;position:relative;top:.5;width:100%}.main-navigation{align-items:center;background:linear-gradient(90deg,#4a90e2,#8e44ad);box-shadow:0 2px 6px #0003;display:flex;height:4rem;justify-content:space-between;left:0;margin:0;padding:0;position:fixed;top:0;width:100%;z-index:10}.main-navigation__menu-btn{background:#0000;border:none;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;height:3rem;justify-content:space-around;margin-right:2rem;width:3rem}.main-navigation__menu-btn span{background:#fff;border-radius:2px;display:block;height:2.5px;margin:0 auto;width:90%}.main-navigation__title{color:#fff;font-size:1.5rem;font-weight:700}.main-navigation__title a{color:#fff;text-decoration:none;transition:color .3s ease}.main-navigation__title a:hover{color:#dceffd}.main-navigation__header-nav{align-items:center;display:flex;gap:20px}.main-navigation__header-nav a{border-radius:4px;color:#fff;font-size:1rem;padding:.5rem;text-decoration:none;transition:background .3s ease,color .3s ease}.main-navigation__header-nav a:hover{background:#ffffff1a;color:#dceffd}.main-navigation__language-switcher{margin-left:auto}.main-navigation__language-switcher button{background:#0000;border:1px solid #fff;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:5px 10px;transition:background .3s ease,color .3s ease}.main-navigation__language-switcher button:hover{background:#3b78c8;color:#fff}.main-navigation__drawer-nav{background:linear-gradient(180deg,#4a90e2,#8e44ad);display:flex;flex-direction:column;height:100%;padding:2rem 1rem}.main-navigation__drawer-nav a{color:#fff;font-size:1.2rem;margin:.5rem 0;text-decoration:none;transition:color .3s ease}.main-navigation__drawer-nav a:hover{color:#dceffd}.side-navigation{background:linear-gradient(180deg,#4a90e2,#8e44ad);box-shadow:2px 0 6px #0003;color:#fff;display:flex;flex-direction:column;height:calc(100% - 4rem);left:0;margin-top:0;position:fixed;top:4rem;width:250px}@media (min-width:768px){.main-navigation__menu-btn{display:none}.main-navigation__header-nav{display:flex;justify-content:flex-end}}@media (max-width:768px){.main-navigation__header-nav{display:none}.main-navigation__drawer-nav{display:flex}}.legal-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:800px;padding:4rem 1rem 2rem}.legal-content h1,h2,h3{color:#333;margin-top:1.5rem}.legal-content p{line-height:1.6;margin-bottom:1rem}.legal-error{color:#c00;font-weight:700;text-align:center}.pricing-container{font-family:Inter,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.pricing-title{color:#4a90e2;font-size:2rem;margin-bottom:2rem;text-align:center}.pricing-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.pricing-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 6px #0000000d;flex:1 1 300px;max-width:300px;padding:1.5rem;transition:transform .2s ease-in-out}.pricing-card:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-4px)}.plan-name{color:#333;font-size:1.25rem;margin-bottom:.5rem}.plan-price{color:#8e44ad;font-size:1.1rem;margin-bottom:.5rem}.plan-description{color:#666;margin-bottom:1rem}.plan-features{color:#444;list-style:none;padding:0}.plan-features li{align-items:center;display:flex;margin-bottom:.5rem}.subscription-container{border-radius:12px;box-shadow:0 2px 8px #0000001a}.subscription-container h2{font-size:2rem;margin-bottom:1.5rem;text-align:center}.subscription-details{border-left:4px solid #4caf50;border-radius:6px;margin-bottom:2rem;padding:1rem}.subscription-details p{font-size:1rem;margin:.5rem 0}.plan-selection{background-color:#f5f5f5;border-radius:8px;margin-top:2rem;padding:1.5rem;text-align:center}.plan-selection h3{font-size:1.25rem;margin-bottom:1rem}.button-container{margin-top:1.5rem}.plan-selector{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.plan-option{background-color:#fff;border:2px solid #ccc;border-radius:8px;cursor:pointer;flex:1 1 45%;padding:1rem;transition:border-color .3s,background-color .3s}.plan-option:hover{border-color:#007bff}.plan-option.selected{background-color:#e6f0ff;border-color:#007bff}.plan-option h4{margin-bottom:.5rem;margin-top:0}.plan-option p{margin:.25rem 0}.button-container{margin-top:2rem}.subscription-container{box-shadow:0 1px 4px #0000001a;margin:0 auto;max-width:800px;padding:1.5rem}.plan-interaction-section{margin-top:1rem}.expected-students-field{max-width:300px}.subscription-note{color:#666;margin-bottom:1rem}.subscription-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;padding:2rem}.cancel-banner{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:6px;color:#856404;font-size:.95rem;margin-bottom:1rem;padding:1rem}.plan-interaction-section{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.subscription-note{color:#555;font-size:.9rem;margin-top:-.5rem}.seat-update-section{background-color:#f7f9fc;border:1px solid #dce1e7;border-radius:8px;margin-top:2rem;padding:1rem}.success-banner{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:5px;color:#155724;font-weight:500;margin-bottom:1rem;padding:.75rem 1rem}.subscription-details{background-color:#f9f9f9;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1rem 1.5rem}.subscription-details p{font-size:.95rem;margin:.4rem 0}.billing-cycle-toggle p{font-weight:500;margin-bottom:.5rem}.stripe-feedback-page{align-items:center;background-color:#f0f2f5;display:flex;height:100%;justify-content:center;min-height:calc(100vh - 64px);padding:2rem}.stripe-feedback-container{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:600px;padding:2.5rem;text-align:center;width:100%}.stripe-feedback-container h1{color:#4a90e2;font-size:2rem;margin-bottom:1rem}.stripe-feedback-container p{color:#333;font-size:1.1rem;margin-bottom:2rem}.button-container{display:flex;justify-content:center}.button-container button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .3s ease}.button-container button:hover{background-color:#3578b0}.restrictedContainer{background-color:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 4px 12px #00000014;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:3rem auto;max-width:600px;padding:2rem;text-align:center}.restrictedContainer h2{color:#d9534f;margin-bottom:1rem}.restrictedContainer p{color:#333;font-size:1.1rem;margin-bottom:1rem}.buttonGroup{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.buttonGroup button{font-size:1rem;padding:.6rem 1.5rem}.billing-history-wrapper .empty-message{color:#333;color:var(--text-primary,#333);font-size:1.25rem;font-weight:500;margin:2rem 0;text-align:center}.billing-history-table-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:50rem;overflow-x:auto;width:100%}.billing-history-table{border-collapse:collapse;width:100%}.billing-history-table thead{background-color:#4a90e2;background-color:var(--primary-color,#4a90e2);color:#fff}.billing-history-table td,.billing-history-table th{border-bottom:1px solid #eee;font-size:.95rem;padding:.75rem 1rem;text-align:left}.billing-history-table tbody tr:hover{background-color:#f9f9f9}.billing-history-table a{color:#4a90e2;color:var(--primary-color,#4a90e2);text-decoration:underline}@media (max-width:768px){.billing-history-wrapper{padding:1rem}.billing-history-table td,.billing-history-table th{font-size:.85rem;padding:.5rem .75rem}.empty-message{font-size:1rem}}.billing-history-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;font-size:.95rem;margin-bottom:1rem;padding:1rem}.billing-history-card div{margin-bottom:.5rem}.billing-history-card a{color:#4a90e2;font-weight:500;text-decoration:none}.billing-history-card a:hover{text-decoration:underline}.contact-form-wrapper{background-color:#fff;border-radius:10px;box-shadow:0 4px 16px #0000001a;margin:3rem auto;max-width:600px;padding:2rem;width:90%}.contact-form{display:flex;flex-direction:column;gap:1.2rem}.contact-form h2{color:#333;font-size:2rem;margin-bottom:1.5rem;text-align:center}.contact-form .form-control{display:flex;flex-direction:column}.contact-form label{color:#333;font-weight:600;margin-bottom:.4rem}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font:inherit;font-size:1rem;padding:.6rem .8rem;transition:border-color .2s;width:100%}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#007bff;outline:none}.contact-form textarea{min-height:120px;resize:vertical}.success-message{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:5px;color:#2e7d32;font-weight:600;margin-top:1rem;padding:.75rem;text-align:center}.communication-preferences{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:600px;padding:1rem}.communication-preferences h2{margin-bottom:.5rem}.communication-preferences p{color:#666}.channel-section{margin-top:1.5rem}.channel-section h3{font-size:1.1rem;margin-bottom:.5rem}.preference-toggle{display:block;font-size:.95rem;margin:.3rem 0}.preference-toggle input{margin-right:.5rem}.save-btn{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:1.5rem;padding:.6rem 1.2rem}.save-btn:disabled{cursor:not-allowed;opacity:.6}
/*# sourceMappingURL=main.3b539c45.css.map*/