.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.input-label{display:block;font-size:.82rem;color:#888;font-weight:500;margin-bottom:.1rem;margin-left:2px;letter-spacing:.1px}:root{--mathspiration-primaryColor: rgba(255, 107, 111, 1);--background-color: #ffffff;--text-color: #333333;--border-color: #dddddd;--hover-color: #f5f5f5;--success-color: #4caf50;--error-color: #f44336;--mathspiration-labelText: #444;--mathspiration-warningBg: #fff3cd;--mathspiration-warningBorder: #ffc107;--mathspiration-warningAccent: #ff9800;--mathspiration-warningText: #856404}html,body{margin:0;padding:0;min-height:100vh;font-family:Inter,Roboto,Montserrat,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;min-height:100vh;font-family:Inter,Roboto,Montserrat,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}#root,body,html{height:100%}.app-flex-root{min-height:100vh;display:flex;flex-direction:column}.app-flex-content{flex:1 0 auto;display:flex;flex-direction:column}nav{background:#fff;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0000000a}nav .logo{font-size:1.68rem;font-weight:400;color:var(--mathspiration-primaryColor);letter-spacing:2px;font-family:Inter,Roboto,Montserrat,Segoe UI,Arial,sans-serif;line-height:1.1}nav .menu{display:flex;gap:.7rem}nav .menu a{color:var(--mathspiration-primaryColor);text-decoration:none;font-weight:500;font-size:1.1rem;transition:color .2s;padding:.3rem .8rem;font-family:inherit;letter-spacing:.2px}nav .menu a:hover{color:#ffb6d5}nav .menu a.active{text-decoration:underline;text-underline-offset:3px;color:var(--mathspiration-primaryColor);font-weight:700}.container{max-width:900px;margin:2rem auto;background:#fff;border-radius:18px;box-shadow:0 4px 24px #00000012;padding:2.5rem 2rem;width:95vw;min-width:320px;box-sizing:border-box}.signin-signup-container{max-width:400px;margin:3rem auto;text-align:center;background:#fff;border-radius:18px;box-shadow:0 4px 24px #00000012;padding:2.5rem 2rem;width:95vw;min-width:320px;box-sizing:border-box}h1,h2,h3{color:var(--mathspiration-primaryColor);font-family:Inter,Roboto,Montserrat,Segoe UI,Arial,sans-serif;text-align:left}button,input[type=submit]{background:linear-gradient(90deg,#ffb6d5 0%,var(--mathspiration-primaryColor) 100%);color:#fff;border:none;border-radius:8px;padding:.7rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem;transition:background .2s}button:hover,input[type=submit]:hover{background:linear-gradient(90deg,var(--mathspiration-primaryColor) 0%,#ffb6d5 100%)}input,textarea,select{font-family:inherit;font-size:.95rem;padding:.25rem .55rem;border:1px solid #cfd8dc;border-radius:6px;margin-bottom:.3rem;width:100%;max-width:340px;box-sizing:border-box}form input,form textarea,form select{max-width:340px;font-size:.95rem;padding:.25rem .55rem;margin-bottom:.3rem}fieldset{margin-bottom:1rem!important;padding-bottom:.7rem!important;padding-top:.7rem!important}.student-name-row{display:flex;align-items:center;gap:.5rem!important;margin-bottom:.4rem!important}.student-name-row input:last-child{margin-bottom:0!important}.student-name-row input{margin-bottom:0!important;padding:.35rem .7rem!important;font-size:1rem;border-radius:6px;border:1px solid #cfd8dc;width:100%;box-sizing:border-box}.student-add-btn{position:absolute;left:-38px;top:50%;transform:translateY(-50%);z-index:2;width:28px;height:28px;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.student-box{position:relative}.loading-spinner{border:4px solid rgba(233,64,122,.1);border-left-color:var(--mathspiration-primaryColor);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.container,.signin-signup-container{padding:1rem .5rem;min-width:unset}nav{flex-direction:column;gap:1rem}nav .menu{gap:1rem}}@media (min-width: 1000px){.container{max-width:700px}.signin-signup-container{max-width:420px}}@media (min-width: 1400px){.container{max-width:900px}.signin-signup-container{max-width:480px}}.user-menu:hover .user-dropdown{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}.user-email:hover{background-color:#e9407a1a;border-radius:4px}.calendar-popup{position:absolute;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:1rem;min-width:280px;max-width:400px;z-index:1000;font-family:Inter,Roboto,Montserrat,Segoe UI,Arial,sans-serif}.calendar-popup:before{content:"";position:absolute;top:-8px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}.calendar-popup:after{content:"";position:absolute;top:-9px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #ddd}.calendar-popup h3{color:var(--mathspiration-primaryColor);margin:0 0 .75rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.calendar-popup .event-item{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0}.calendar-popup .event-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.calendar-popup .event-title{font-weight:600;color:#333;margin:0 0 .25rem;font-size:.95rem}.calendar-popup .event-type{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.calendar-popup .event-description{color:#555;font-size:.85rem;line-height:1.4;margin:0}
