:root{--bg-main:#eef1ff;--bg-mist:#e4e8ff;--text-main:#1c1f4a;--text-muted:#5e6392;--border:#d6d9f5;--border-soft:#e4e6fb;--accent-1:#5a57e6;--accent-2:#7f46d8;--accent-2-dark:#5a2fae;--font-body:"Public Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-title:"Sora", "Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text-main);font:17px/1.5 var(--font-body);background:radial-gradient(circle at 9% 0%, #7e5cf433, transparent 36%), radial-gradient(circle at 88% 16%, #68a4ff52, transparent 44%), linear-gradient(180deg, var(--bg-mist), var(--bg-main));margin:0}#root{width:min(1120px,100% - 1.8rem);margin:0 auto;padding:1rem 0 2rem}h1,h2,h3{letter-spacing:-.01em;margin:0}p{margin:0}.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.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{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.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{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.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{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.custom-calendar{background-color:#f8f9fa;border:1px solid #ddd;border-radius:10px;width:98%;max-width:1600px;margin-top:20px;margin-left:auto;margin-right:auto;padding:20px;font-size:1.5rem;box-shadow:0 4px 8px #0003}.react-calendar .highlight{color:#fff;background-color:#4caf50;border-radius:50%;padding:5px;font-weight:700}.slot-list{color:#333;margin:0;padding:0;font-size:.9rem;list-style:none}.modal{background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:center;background-color:#fff;border-radius:8px;width:80%;max-width:500px;padding:20px}.close{cursor:pointer;font-size:24px;position:absolute;top:10px;right:20px}.signup-form{background-color:#fff;border:1px solid #ddd;border-radius:8px;width:90%;max-width:1200px;margin-top:20px;margin-left:auto;margin-right:auto;padding:20px;box-shadow:0 4px 8px #0000001a}.signup-form h2{color:#333;margin-bottom:20px}.signup-form label{margin-bottom:10px;font-weight:700;display:block}.signup-form input,.signup-form textarea{border:1px solid #ccc;border-radius:4px;width:100%;margin-bottom:15px;padding:10px;font-size:1rem}.signup-form button{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:10px 20px;font-size:1rem}.signup-form button:hover{background-color:#45a049}.signup-form button:disabled{cursor:not-allowed;background-color:#ccc}.form-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.btn-submit{flex:1;min-width:150px;background-color:#4caf50!important}.btn-submit:hover:not(:disabled){background-color:#45a049!important}.btn-clear{flex:0 auto;background-color:#2196f3!important}.btn-clear:hover:not(:disabled){background-color:#0b7dda!important}.btn-cancel{flex:0 auto;background-color:#f44336!important}.btn-cancel:hover:not(:disabled){background-color:#da190b!important}.error-message{color:#c62828;background-color:#ffebee;border-left:4px solid #c62828;border-radius:4px;margin-bottom:15px;padding:12px}.field-error{color:#d32f2f;margin-top:4px;font-size:.85rem;display:block}.input-error{background-color:#ffebee!important;border-color:#d32f2f!important}.success-message{text-align:center;color:#fff;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:8px;padding:30px 20px}.success-message h2{color:#fff;margin-bottom:15px;font-size:1.8rem}.success-message p{margin:10px 0;font-size:1rem;line-height:1.5}.slot-info{color:#666;margin-top:8px;font-size:.9rem}.form-header{margin-bottom:20px}.fade-enter{opacity:0;transform:scale(.9)}.fade-enter-active{opacity:1;transition:opacity .5s,transform .5s;transform:scale(1)}.fade-exit{opacity:1;transform:scale(1)}.fade-exit-active{opacity:0;transition:opacity .3s,transform .3s;transform:scale(.9)}.ta-dashboard{max-width:1200px;margin:0 auto;padding:20px}.ta-dashboard-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px;margin-bottom:20px;padding:30px}.ta-dashboard-header h1{margin:0 0 10px;font-size:32px}.ta-dashboard-header p{opacity:.9;margin:0;font-size:16px}.refresh-disabled{background:#fff3;border-radius:5px;margin-top:15px;padding:10px 15px;font-size:14px;font-weight:500}.ta-dashboard-loading{text-align:center;color:#667eea;padding:60px 20px;font-size:18px}.ta-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.tutor-selector{flex-wrap:wrap;flex:1;gap:10px;display:flex}.tutor-btn{color:#667eea;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:5px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s}.tutor-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea33}.tutor-btn.active{color:#fff;background:#667eea}.refresh-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:5px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s}.refresh-btn:hover:not(:disabled){background:#764ba2;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.ta-error{color:#fff;text-align:center;background:#ff6b6b;border-radius:8px;margin-bottom:20px;padding:15px}.ta-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{text-align:center;background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000001a}.stat-card h3{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:14px}.stat-card .number{color:#667eea;font-size:32px;font-weight:700}.ta-sessions{gap:20px;display:grid}.session-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.session-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);grid-template-columns:1fr 1fr;gap:20px;padding:20px;display:grid}.session-header h2{margin:0 0 5px;font-size:20px}.session-header p{opacity:.9;margin:0;font-size:14px}.students{padding:20px}.student-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:15px;padding:15px;display:flex}.student-item:last-child{border-bottom:none}.student-info{flex:1;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:15px;display:grid}.student-name{color:#333;font-size:15px;font-weight:600}.student-contact{color:#666;font-size:14px}.student-goal{color:#667eea;font-size:14px}.delete-btn{color:#fff;cursor:pointer;background:#ff6b6b;border:none;border-radius:5px;flex-shrink:0;padding:8px 12px;font-size:16px;font-weight:700;transition:all .3s}.delete-btn:hover{background:#ff5252;transform:scale(1.1);box-shadow:0 2px 8px #ff6b6b4d}.delete-btn:active{transform:scale(.95)}.no-students{text-align:center;color:#999;padding:40px 20px;font-style:italic}@media (width<=768px){.ta-dashboard{padding:15px}.ta-dashboard-header{padding:20px}.ta-dashboard-header h1{font-size:24px}.ta-controls{flex-direction:column;align-items:stretch}.tutor-selector{flex-direction:column}.tutor-btn,.refresh-btn{width:100%}.session-header{grid-template-columns:1fr;gap:10px}.student-info{grid-template-columns:1fr;gap:8px}.student-item{flex-direction:column;align-items:stretch}.delete-btn{width:100%}.ta-stats{grid-template-columns:1fr 1fr}}.app-shell{gap:1rem;display:grid}.site-header,.site-footer{padding:.8rem 1rem}#admin-trigger{cursor:default;-webkit-user-select:none;user-select:none}.nav-wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand-link{color:var(--text-main);font-family:var(--font-title);font-weight:700;text-decoration:none}.main-nav{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.main-nav a{color:var(--text-main);border-radius:999px;padding:.35rem .7rem;font-weight:600;text-decoration:none}.main-nav a.active{background:linear-gradient(140deg, var(--accent-2), var(--accent-1));color:#fff}.page-shell{gap:1rem;display:grid}.page-shell>.panel{animation:.62s cubic-bezier(.22,1,.36,1) both section-in}.page-shell>.panel:nth-of-type(2){animation-delay:70ms}.page-shell>.panel:nth-of-type(3){animation-delay:.13s}.route-frame{overflow:hidden}.route-shell{animation:.42s cubic-bezier(.22,1,.36,1) both route-fade-slide}.hero{color:#f8f9ff;background:linear-gradient(140deg,#281b5f 0%,#324ecf 46%,#65a3ff 120%);border-radius:1.2rem;padding:clamp(1.4rem,3.2vw,2.5rem);animation:.65s ease-out rise-in;position:relative;overflow:hidden;box-shadow:0 24px 45px #2b34914d}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff45,#fff0);border-radius:50%;width:28rem;height:28rem;animation:9s ease-in-out infinite float-orb;position:absolute;top:-11rem;right:-9rem}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#f8f9ffd9;margin:0;font-size:.74rem}.hero h1{color:#fff;font-family:var(--font-title);margin:.45rem 0 0;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.03}.hero-copy{color:#f8f9ffeb;max-width:58ch;margin-top:1rem}.hero-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem;display:grid}.hero-highlight-card{background:#f8f9ff14;border:1px solid #f8f9ff47;border-radius:.8rem;padding:.7rem;animation:.52s both fade-up}.hero-highlight-card:nth-child(2){animation-delay:90ms}.hero-highlight-card:nth-child(3){animation-delay:.18s}.hero-highlight-card h3{color:#fff;margin:0;font-size:1rem}.hero-highlight-card p{color:#f8f9ffe6;margin-top:.35rem;font-size:.9rem}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.2rem;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.68rem 1rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .22s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(140deg, var(--accent-1), var(--accent-2));color:#fff;box-shadow:0 8px 22px #4956dc57}.btn-ghost{color:#f8f9ff;background:#f8f9ff14;border-color:#f8f9ffb3}.btn-small{border:1px solid var(--border-soft);color:var(--text-main);background:#fff;padding:.5rem .8rem;font-size:.88rem}.panel{border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(#ffffffd9,#fff);border-radius:1rem;padding:clamp(1rem,2.2vw,1.4rem);transition:transform .22s,box-shadow .26s}.hero.panel{background:linear-gradient(140deg,#281b5f 0%,#324ecf 46%,#65a3ff 120%);border-color:#ffffff29}.panel:hover{transform:translateY(-2px);box-shadow:0 12px 30px #313ea51f}.info-strip{background:linear-gradient(#f6f9ffeb,#fffffffa)}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.8rem;display:grid}.info-card{border:1px solid var(--border-soft);background:#fff;border-radius:.8rem;padding:.9rem;animation:.52s both fade-up}.info-card h3{margin:0}.info-card p{color:var(--text-muted);margin:.45rem 0 0}.info-card:nth-child(2){animation-delay:80ms}.info-card:nth-child(3){animation-delay:.16s}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-head h1,.panel-head h2{margin:0}select,input,textarea{border:1px solid var(--border);font:inherit;background:#fff;border-radius:.8rem;padding:.55rem .75rem}label{color:var(--text-muted);gap:.4rem;font-size:.95rem;display:grid}textarea{resize:vertical}.ta-card{border:1px solid var(--border-soft);background:#fbfbff;border-radius:.9rem;margin-top:1rem;padding:1rem}.ta-card h3{margin:0;font-size:1.25rem}.ta-title{color:var(--text-muted);margin:.25rem 0 .7rem}.ta-hours{color:var(--text-muted);margin:.1rem 0 .5rem;font-size:.95rem;font-weight:500}.chips-wrap{flex-wrap:wrap;gap:.45rem;margin-top:.9rem;display:flex}.chip{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff;border-radius:999px;padding:.28rem .66rem;font-size:.8rem;text-decoration:none}.inline-link{color:var(--accent-2-dark);text-underline-offset:2px;font-weight:700}.spacer-top-sm{margin-top:.8rem}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem;display:grid}.review-list-stack{gap:.7rem;margin-top:1rem;display:grid}.review-card{border:1px solid var(--border-soft);background:#fff;border-radius:.85rem;min-height:8.8rem;padding:.9rem;animation:.42s both fade-up}.review-meta{color:var(--text-muted);justify-content:space-between;gap:.8rem;margin-bottom:.5rem;font-size:.86rem;display:flex}.stars{color:#5b3fd1;letter-spacing:.08em;margin:0;font-weight:800}.error-msg{color:#a31020}.about-layout,.contact-layout,.review-page-layout,.admin-layout{gap:.9rem;display:grid}.admin-login{gap:.8rem;max-width:26rem;display:grid}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.5rem;display:grid}.feature-card,.ta-grid-card{border:1px solid var(--border-soft);background:#fff;border-radius:.8rem;padding:.9rem;transition:transform .2s,box-shadow .24s}.feature-card:hover,.ta-grid-card:hover,.review-card:hover,.ta-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #323ea924}.ta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:.8rem;display:grid}.contact-form{gap:.8rem;display:grid}.actions{gap:.6rem;display:flex}.form-status{color:var(--text-muted);margin:0}.hidden-honey{display:none}.filter-row{flex-wrap:wrap;align-items:end;gap:.9rem;margin-top:.9rem;display:flex}.admin-tabs{border-bottom:2px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-1rem;padding:.6rem 1.2rem 1rem;font-weight:500;transition:all .2s}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:#3e2ef5;border-bottom-color:#3e2ef5}.logout-btn{margin-bottom:-.5rem;margin-left:auto}.signup-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.stat{text-align:center;background:#f5f5f5;border-radius:.8rem;padding:1rem}.stat strong{color:#3e2ef5;margin-bottom:.3rem;font-size:1.8rem;display:block}.stat span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.signup-card{border-left:4px solid #3e2ef5}.signup-details{border-top:1px solid var(--border-soft);margin-top:.8rem;padding-top:.8rem}.signup-details p{color:var(--text-main);margin:.4rem 0;font-size:.95rem}.btn-delete{color:#fff;background:#ff6b6b;border:none}.btn-delete:hover{background:#ff5252}.stats-bar{border:1px solid var(--border-soft);background:#f5f4ff;border-radius:.8rem;margin-top:.8rem;padding:.75rem}.top-gap{margin-top:.8rem}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float-orb{0%{transform:translate(0)}50%{transform:translate(-18px,16px)}to{transform:translate(0)}}@keyframes section-in{0%{opacity:0;transform:translateY(12px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes route-fade-slide{0%{opacity:0;filter:blur(3px);transform:translateY(8px)scale(.998)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.hours-editor{align-items:flex-end;gap:1rem;margin-top:.8rem;display:flex}.hours-editor label{flex-direction:column;gap:.4rem;margin:0;display:flex}.hours-editor input{width:80px}@media (width<=980px){.info-grid,.hero-highlights,.about-grid,.ta-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.info-grid,.hero-highlights,.about-grid,.ta-grid,.review-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(1.8rem,9vw,2.3rem)}}
