.search-page-header{padding:1.75rem 0 1.25rem}.search-page-title{color:var(--calico-ink);letter-spacing:-.025em;margin:0 0 .375rem;font-size:1.75rem;font-weight:800;line-height:1.15}@media (min-width:640px){.search-page-title{font-size:2.125rem}}@media (min-width:1024px){.search-page-title{font-size:2.5rem}}.search-page-subtitle{color:var(--calico-body-muted);font-size:var(--type-body-sm);margin:0;line-height:1.5}@media (min-width:768px){.search-page-subtitle{font-size:var(--type-body)}}.search-wrapper{gap:var(--space-2);flex-direction:column;margin-bottom:1.25rem;display:flex}.search-filter-row{align-items:stretch;gap:var(--space-2);display:flex}@media (min-width:640px){.search-wrapper{margin-bottom:1.5rem}}@media (min-width:768px){.search-wrapper{margin-bottom:2rem}}.search-container{flex:auto;width:100%;min-width:0;position:relative}.search-icon{color:var(--calico-slate-400);pointer-events:none;z-index:1;width:1.25rem;height:1.25rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}@media (min-width:768px){.search-icon{width:1.5rem;height:1.5rem}}.search-input{font-size:var(--type-body-sm)!important;border-radius:var(--radius-lg)!important;background:#fff!important;border:1.5px solid #fdae1e33!important;width:100%!important;padding:1rem 1rem 1rem 3rem!important;transition:border-color .2s,box-shadow .2s!important;box-shadow:0 1px 4px #0000000a!important}@media (min-width:768px){.search-input{font-size:var(--type-body)!important;padding-top:1.125rem!important;padding-bottom:1.125rem!important;padding-left:3.5rem!important}}.search-input:focus{border-color:var(--calico-orange-strong)!important;outline:none!important;box-shadow:0 0 0 3px #fdae1e1f!important}.course-filter-toggle{align-self:stretch;align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex;padding-inline:var(--space-3)!important;border-radius:var(--radius-lg)!important;border:1.5px solid #fdae1e33!important;box-shadow:0 1px 4px #0000000a!important}.tabs-wrapper{justify-content:center;align-items:center;width:100%;margin-bottom:1.25rem;padding:0;display:flex}@media (min-width:640px){.tabs-wrapper{margin-bottom:1.5rem}}@media (min-width:768px){.tabs-wrapper{margin-bottom:2rem}}.tabs-container{justify-content:center;width:100%;max-width:100%;display:flex}.tabs-list{background:var(--calico-slate-50)!important;border:1px solid var(--calico-slate-200)!important;border-radius:var(--radius-lg)!important;grid-template-columns:repeat(2,1fr)!important;gap:.3rem!important;width:100%!important;height:auto!important;padding:.3rem!important;display:grid!important;overflow:visible!important;box-shadow:0 1px 3px #0000000d!important}@media (min-width:640px){.tabs-list{gap:.375rem!important;padding:.375rem!important}}.tab-trigger{color:var(--calico-slate-500)!important;border-radius:var(--radius-md)!important;font-weight:500!important;font-size:var(--type-label)!important;white-space:nowrap!important;cursor:pointer!important;text-align:center!important;background:0 0!important;border:none!important;justify-content:center!important;align-items:center!important;min-height:2.5rem!important;padding:.625rem 1rem!important;line-height:1.5!important;transition:all .3s!important;display:flex!important;overflow:visible!important}@media (min-width:640px){.tab-trigger{font-size:var(--type-body-sm)!important;min-height:2.75rem!important;padding:.625rem 1.25rem!important}}@media (min-width:768px){.tab-trigger{font-size:var(--type-body)!important;min-height:3rem!important;padding:.75rem 1.5rem!important}}.tab-trigger:hover{background:var(--calico-slate-200)!important;color:var(--calico-slate-500)!important}.tab-trigger[data-state=active]{background:var(--calico-orange-gradient)!important;color:#fff!important;border:none!important;font-weight:600!important;box-shadow:0 2px 8px #fdae1e59!important}.tab-trigger[data-state=active]:hover{background:var(--calico-orange-gradient)!important;color:#fff!important;box-shadow:0 4px 12px #fdae1e73!important}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}@media (min-width:768px){.loading-container{padding:4rem 2rem}}.loading-container .spinner{border:3px solid var(--student-app-bg);border-top:3px solid var(--calico-orange-strong);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@media (min-width:768px){.loading-container .spinner{border-width:4px;width:48px;height:48px}}.loading-container p{color:var(--calico-ink);font-size:var(--type-body);margin:0}@media (min-width:768px){.loading-container p{font-size:var(--type-body-lg)}}.empty-container{border-radius:var(--radius-lg);text-align:center;background:#fff;border:2px solid #fdae1e1a;flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 1.5rem;display:flex}@media (min-width:768px){.empty-container{padding:4rem 2rem}}.empty-container .empty-icon{margin-bottom:1rem;font-size:3rem}@media (min-width:768px){.empty-container .empty-icon{margin-bottom:1.5rem;font-size:4rem}}.empty-container h3{color:var(--calico-ink);margin:0 0 .75rem;font-size:1.25rem;font-weight:700;line-height:1.3}@media (min-width:768px){.empty-container h3{margin:0 0 1rem;font-size:1.5rem}}.empty-container p{color:var(--calico-body-muted);font-size:var(--type-body-sm);max-width:400px;margin:0;padding:0 .5rem;line-height:1.6}@media (min-width:768px){.empty-container p{font-size:var(--type-body-lg);padding:0}}.tutors-container{padding:0 .75rem}@media (min-width:768px){.tutors-container{padding:0 1.5rem}}.tutors-grid{flex-direction:column;gap:1rem;display:flex}@media (min-width:768px){.tutors-grid{gap:1.5rem}}.course-cards-grid{grid-template-columns:1fr;gap:.875rem;width:100%;display:grid}.course-filter-count{background:color-mix(in srgb, var(--page-section-surface-bg) 88%, transparent);min-width:1.25rem;height:1.25rem;color:inherit;font-size:var(--type-xs);font-weight:var(--font-weight-bold);border-radius:9999px;justify-content:center;align-items:center;padding:0 .35rem;display:inline-flex}.course-filter-bar{align-items:flex-end;gap:var(--space-2);width:100%;padding:var(--space-3);background:color-mix(in srgb, var(--calico-orange) 3%, var(--page-section-surface-bg));border:1px solid color-mix(in srgb, var(--page-section-border) 78%, transparent);border-radius:var(--radius-lg);box-shadow:var(--elev-1);flex-wrap:wrap;display:flex}.course-filter-group{gap:var(--space-1);flex-direction:column;min-width:min(100%,15rem);display:flex}.course-filter-label{color:var(--calico-body-muted);font-size:var(--type-caption);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}.course-filter-options{gap:var(--space-1);flex-wrap:wrap;display:flex}.course-filter-select{gap:var(--space-1);flex-direction:column;min-width:min(100%,14rem);display:flex}.course-filter-select select{min-height:var(--control-h-sm);padding:0 var(--space-2);border:1px solid var(--page-section-border);border-radius:var(--radius-sm);background:var(--page-section-surface-bg);color:var(--calico-ink);font-family:var(--font-sans-stack);font-size:var(--type-label);font-weight:var(--font-weight-medium)}.course-filter-select select:focus{border-color:var(--calico-orange);box-shadow:0 0 0 3px var(--calico-orange-soft);outline:none}@media (min-width:480px){.course-cards-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width:640px){.search-filter-row{flex-direction:column}.course-filter-toggle{justify-content:center;min-height:3rem!important}.course-filter-bar,.course-filter-group,.course-filter-select{align-items:stretch;width:100%}.course-filter-options>button{flex:auto}}@media (min-width:1024px){.course-cards-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.results-container{flex-direction:column;gap:.875rem;width:100%;display:flex}@media (min-width:640px){.results-container{gap:1rem}}@media (min-width:768px){.results-container{gap:1.25rem}}.results-loading{text-align:center;padding:3rem 1rem}@media (min-width:768px){.results-loading{padding:4rem 2rem}}.loading-spinner{border:3px solid var(--calico-orange-soft);border-top-color:var(--calico-orange);border-radius:50%;width:3rem;height:3rem;margin:0 auto;animation:1s linear infinite spin}@media (min-width:768px){.loading-spinner{width:3.5rem;height:3.5rem}}.loading-text{color:var(--calico-body-muted);font-size:var(--type-body-sm);margin-top:1rem}@media (min-width:768px){.loading-text{font-size:var(--type-body)}}.results-empty{text-align:center;padding:3rem 1rem}@media (min-width:768px){.results-empty{padding:4rem 2rem}}.empty-text{color:var(--calico-body-muted);font-size:var(--type-body-sm);line-height:1.6}@media (min-width:768px){.empty-text{font-size:var(--type-body)}}@media (max-width:480px){.search-wrapper{margin-bottom:1.25rem}.tabs-wrapper{margin-bottom:1.25rem;padding:0}.results-container{gap:.5rem}.tab-trigger{font-size:var(--type-caption)!important;min-height:2.25rem!important;padding:.5rem!important}.search-input{font-size:var(--type-label)!important;padding-left:2.5rem!important}.search-icon{width:1rem;height:1rem;left:.75rem}}@media (max-width:320px){.tab-trigger,[data-slot=tabs-trigger]{font-size:var(--type-xs)!important;white-space:normal!important;min-height:2rem!important;padding:.375rem .25rem!important}.search-input{padding-left:2.25rem!important}.search-icon{left:.625rem}}.results-container>*{width:100%;min-height:0}.line-clamp-2{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.results-container button{flex-shrink:0}.results-container .bg-\[\#FF8C00\]{justify-content:center;align-items:center;min-height:2.5rem;display:inline-flex}@media (min-width:640px){.results-container .bg-\[\#FF8C00\]{min-height:2.75rem}}.results-container .bg-\[var\(--student-app-bg\)\]{min-height:auto;max-height:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.responsive-title{font-size:1.25rem;line-height:1.3}@media (min-width:640px){.responsive-title{font-size:1.5rem}}@media (min-width:768px){.responsive-title{font-size:1.875rem}}@media (min-width:1024px){.responsive-title{font-size:2.25rem}}.button-group{flex-direction:column;gap:.75rem;display:flex}@media (min-width:640px){.button-group{flex-direction:row;gap:1rem}}.responsive-modal{width:100%;max-width:90%;max-height:90vh;overflow-y:auto}@media (min-width:640px){.responsive-modal{max-width:var(--form-narrow)}}[data-slot=tabs-list]{background:var(--calico-slate-50)!important;border:1px solid var(--calico-slate-200)!important;border-radius:var(--radius-lg)!important;height:auto!important;padding:.3rem!important;overflow:visible!important;box-shadow:0 1px 3px #0000000d!important}@media (min-width:640px){[data-slot=tabs-list]{padding:.375rem!important}}[data-slot=tabs-trigger]{color:var(--calico-slate-500)!important;border-radius:var(--radius-md)!important;font-weight:500!important;font-size:var(--type-label)!important;white-space:nowrap!important;background:0 0!important;border:none!important;justify-content:center!important;align-items:center!important;min-height:2.5rem!important;padding:.625rem 1rem!important;line-height:1.5!important;transition:all .3s!important;display:flex!important}@media (min-width:640px){[data-slot=tabs-trigger]{font-size:var(--type-body-sm)!important;min-height:2.75rem!important;padding:.625rem 1.25rem!important}}@media (min-width:768px){[data-slot=tabs-trigger]{font-size:var(--type-body)!important;min-height:3rem!important;padding:.75rem 1.5rem!important}}[data-slot=tabs-trigger]:hover{background:var(--calico-slate-200)!important;color:var(--calico-slate-500)!important}[data-slot=tabs-trigger][data-state=active]{background:var(--calico-orange-gradient)!important;color:#fff!important;border:none!important;font-weight:600!important;box-shadow:0 2px 8px #fdae1e59!important}[data-slot=tabs-trigger][data-state=active]:hover{background:var(--calico-orange-gradient)!important;color:#fff!important;box-shadow:0 4px 12px #fdae1e73!important}.course-availability-shell{--course-availability-shell-pad-y:var(--space-3);--course-availability-scroll-height:calc(100vh - var(--student-app-header-height) - var(--course-availability-shell-pad-y) * 2 - env(safe-area-inset-bottom,0px));width:100%;max-width:none;padding:var(--course-availability-shell-pad-y) clamp(var(--space-2), 3vw, var(--space-6));box-sizing:border-box;margin-inline:0}@supports (height:100dvh){.course-availability-shell{--course-availability-scroll-height:calc(100dvh - var(--student-app-header-height) - var(--course-availability-shell-pad-y) * 2 - env(safe-area-inset-bottom,0px))}}.course-availability-shell--wide{max-width:min(100%,1680px);margin-inline:auto}.course-availability-shell__layout{gap:var(--space-4);align-items:stretch;display:grid}.course-availability-shell__sidebar{min-width:0}.course-availability-shell__sidebar .course-availability-summary{margin-bottom:0}.course-availability-shell__tutor-profile{margin-top:var(--space-4)}.course-availability-shell__main-body--detail{gap:var(--space-4);flex-direction:column;display:flex}.course-availability-shell__calendar-card{min-width:0}.course-availability-shell__state{justify-content:center;align-items:center;gap:var(--space-3);min-height:220px;padding:var(--space-6);text-align:center;color:var(--calico-body-muted);border:1px solid var(--page-section-border);border-radius:var(--page-section-radius);background:#fff;flex-direction:column;display:flex}.course-availability-shell__state--error{color:#b42318;border-color:#b423182e}.course-availability-shell__panel{isolation:isolate;min-width:0;min-height:0;position:relative;overflow-x:hidden}.course-availability-shell__main-body{padding-bottom:var(--space-4)}.course-availability-shell .page-section-header--sticky,.course-availability-shell .page-section-header--sticky-high{z-index:1;position:relative;top:auto}.course-availability-shell .page-section-header--surface{box-sizing:border-box;max-width:100%;overflow:visible}.course-availability-shell__main-body{z-index:0;position:relative}@media (min-width:768px){.course-availability-shell__layout{gap:clamp(var(--space-4), 2vw, var(--space-6));grid-template-columns:minmax(260px,1fr) minmax(0,2.35fr);align-items:stretch}.course-availability-shell__sidebar{top:var(--space-3);max-height:var(--course-availability-scroll-height);overscroll-behavior:contain;padding-right:var(--space-4);border-right:1px solid var(--page-section-border);align-self:start;position:sticky;overflow:hidden auto}.course-availability-shell__panel--scroll{max-height:var(--course-availability-scroll-height);overscroll-behavior:contain;padding-right:var(--space-1);padding-bottom:var(--space-6);-webkit-overflow-scrolling:touch;overflow:hidden auto}}@media (max-width:767px){.course-availability-shell{--course-availability-shell-pad-y:var(--space-2);padding-inline:clamp(var(--space-2), 4vw, var(--space-4))}.course-availability-shell__sidebar{padding-bottom:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--page-section-border)}.course-availability-shell__panel--scroll{max-height:none;padding-bottom:var(--space-6);overflow:visible}}.course-availability-shell .availability-calendar-container{gap:var(--space-4);min-height:min(520px,55dvh);padding:var(--space-3);background:0 0}@media (min-width:768px){.course-availability-shell .availability-calendar-container{align-items:stretch;gap:var(--space-5);padding:var(--space-4);flex-direction:row;min-height:min(560px,58dvh)}}.course-availability-shell .calendar-panel,.course-availability-shell .slots-panel{background:var(--page-section-surface-bg);border:1px solid var(--page-section-border);border-radius:var(--page-section-radius);width:100%;box-shadow:var(--page-section-shadow-a), var(--page-section-shadow-b);flex:100%}@media (min-width:768px){.course-availability-shell .calendar-panel{flex:1.15 58%;min-width:0}.course-availability-shell .slots-panel{flex:42%;min-width:0}}.course-availability-shell .calendar-header,.course-availability-shell .slots-header{border-bottom-color:var(--page-section-border)}.course-availability-shell .calendar-title{color:var(--page-section-title-color)}.course-availability-shell .calendar-title svg{color:var(--page-section-accent)}.course-availability-shell .react-calendar__navigation button{border-color:var(--page-section-border);color:var(--page-section-accent);background:#ffffffd9}.course-availability-shell .react-calendar__navigation button:hover:not(:disabled){background:color-mix(in srgb, var(--student-app-bg) 85%, white);border-color:color-mix(in srgb, var(--page-section-accent) 35%, var(--page-section-border))}.course-availability-shell .react-calendar__navigation__label{background:linear-gradient(135deg, color-mix(in srgb, var(--calico-orange-strong) 92%, white), color-mix(in srgb, var(--calico-orange) 95%, white))}.course-availability-shell .react-calendar__tile{border-color:color-mix(in srgb, var(--page-section-border) 80%, transparent)}.course-availability-shell .react-calendar__tile:hover:not(.past-date){border-color:color-mix(in srgb, var(--page-section-accent) 45%, var(--page-section-border));transform:translateY(-1px)}.course-availability-shell .loading-spinner{border-color:color-mix(in srgb, var(--student-app-bg) 70%, white);border-top-color:var(--page-section-accent)}.course-availability-shell--direct-tutor{--direct-tutor-accent:color-mix(in srgb, var(--calico-green) 18%, var(--student-app-bg))}.course-availability-shell__direct-badge{width:fit-content;max-width:100%;font-size:var(--type-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--calico-ink);background:var(--direct-tutor-accent,var(--calico-green-muted));border:1px solid color-mix(in srgb, var(--calico-green) 28%, transparent);margin-bottom:var(--space-3);border-radius:999px;align-items:center;padding:.35rem .75rem;font-weight:600;display:inline-flex}.course-availability-shell__direct-hint{font-size:var(--type-body-sm);line-height:var(--leading-normal);color:var(--page-section-subtitle-color);max-width:48ch;margin:0}.course-availability-shell--direct-tutor .course-availability-shell__sidebar{border-right-color:color-mix(in srgb, var(--calico-green) 22%, var(--page-section-border))}