.booking-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:32px 0 48px}.home-shell{place-items:center;width:min(960px,100% - 32px);min-height:100vh;margin:0 auto;padding:32px 0;display:grid}.home-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf7e0;border:1px solid #13231a14;border-radius:28px;gap:16px;width:min(100%,720px);padding:32px;display:grid;box-shadow:0 18px 60px #4e432a14}.not-found-shell{place-items:center;width:min(960px,100% - 32px);min-height:100vh;margin:0 auto;padding:32px 0;display:grid}.not-found-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff8f4eb;border:1px solid #9a341224;border-radius:28px;gap:16px;width:min(100%,720px);padding:32px;display:grid;box-shadow:0 18px 60px #4e432a14}.home-panel h1{color:#13231a;margin:0;font-size:clamp(2.25rem,5vw,4rem);line-height:.95}.not-found-panel h1{color:#5f2512;margin:0;font-size:clamp(2.25rem,5vw,4rem);line-height:.95}.home-copy{color:#516156;max-width:56ch}.not-found-copy{color:#7d4a34;max-width:56ch}.home-copy code{color:#1c4c33;font-family:inherit;font-weight:700}.not-found-copy code{color:#8f3414;font-family:inherit;font-weight:700}.home-links{flex-wrap:wrap;gap:12px;display:flex}.home-links a,.home-links button{color:#203228;font-weight:700;font:inherit;cursor:pointer;background:#fffdfa;border:1px solid #1c3a2a1f;border-radius:16px;justify-content:center;align-items:center;padding:14px 18px;text-decoration:none;transition:transform .14s,border-color .14s,box-shadow .14s;display:inline-flex}.home-links a:hover,.home-links button:hover{border-color:#185f3c59;transform:translateY(-1px);box-shadow:0 14px 28px #2544331a}.hero-panel{grid-template-columns:minmax(0,1.7fr) minmax(260px,.9fr);align-items:stretch;gap:20px;margin-bottom:24px;display:grid}.hero-panel h1{text-transform:capitalize;color:#13231a;margin:10px 0 16px;font-size:clamp(2.5rem,6vw,4.75rem);line-height:.95}.eyebrow,.summary-label,.section-step{letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:700}.eyebrow{color:#486254}.hero-copy{color:#516156;max-width:58ch;font-size:1.05rem}.summary-card,.booking-section,.feedback{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf7e0;border:1px solid #13231a14;border-radius:24px;box-shadow:0 18px 60px #4e432a14}.summary-card{color:#294034;flex-direction:column;justify-content:center;gap:8px;padding:24px;display:flex}.summary-card strong{font-size:1.35rem}.summary-card.muted{color:#6c756f}.feedback{flex-direction:column;gap:6px;margin-bottom:20px;padding:18px 20px;display:flex}.feedback.error{color:#8f3414;background:#fff3edeb;border-color:#9a34122e}.feedback.success{color:#185f3c;background:#edfbf3f0;border-color:#1869432e}.admin-tenant-switcher{gap:8px;margin-bottom:20px;display:grid}.admin-tenant-switcher label{color:#516156;font-size:.85rem;font-weight:700}.admin-tenant-switcher select{color:#203228;width:100%;min-height:44px;font:inherit;background:#fffdfa;border:1px solid #1c3a2a1f;border-radius:14px;padding:0 14px}.booking-grid{gap:18px;display:grid}.booking-section{padding:24px}.section-heading{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.section-step{color:#1e4d34;background:#dceee3;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.section-heading h2{color:#1b3024;margin-bottom:4px;font-size:1.35rem}.section-heading p{color:#607064}.option-list,.slot-grid{gap:12px;display:grid}.option-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.slot-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.option-card,.slot-button,.submit-button{cursor:pointer;background:#fffdfa;border:1px solid #1c3a2a1f;border-radius:18px;transition:transform .14s,border-color .14s,box-shadow .14s}.option-card,.slot-button{text-align:left;padding:16px}.option-card:hover,.slot-button:hover,.submit-button:hover{border-color:#185f3c59;transform:translateY(-1px);box-shadow:0 14px 28px #2544331a}.option-card.selected,.slot-button.selected{background:#edf7f0;border-color:#185f3c}.option-card:disabled,.slot-button:disabled,.submit-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.option-title{color:#203228;margin-bottom:6px;font-weight:700;display:block}.option-meta{color:#647267;font-size:.95rem}.date-field,.booking-form label{gap:8px;display:grid}.date-field span,.booking-form span{color:#45584c;font-size:.95rem;font-weight:600}.date-field input,.booking-form input{color:#203228;background:#fffdfa;border:1px solid #1c3a2a1f;border-radius:16px;width:100%;padding:14px 16px}.booking-form{gap:14px;display:grid}.submit-button{color:#f7fcf8;background:linear-gradient(135deg,#244f38,#3a7d55);padding:16px 20px;font-weight:700}@media (width<=760px){.booking-shell{width:min(100%,100% - 20px);padding-top:20px}.hero-panel{grid-template-columns:1fr}.booking-section,.summary-card,.feedback{border-radius:20px}}.admin-shell{grid-template-columns:280px minmax(0,1fr);gap:24px;width:min(1320px,100% - 32px);margin:0 auto;padding:28px 0 40px;display:grid}.admin-sidebar,.admin-panel,.dashboard-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf7e0;border:1px solid #13231a14;border-radius:24px;box-shadow:0 18px 60px #4e432a14}.admin-sidebar{align-content:start;gap:24px;min-height:calc(100vh - 48px);padding:24px;display:grid;position:sticky;top:24px}.admin-brand h1,.admin-page-header h2{color:#13231a;margin-top:8px}.admin-brand h1{font-size:1.8rem}.admin-user-meta{color:#5a6c60;margin:0;line-height:1.5}.admin-nav{gap:10px;display:grid}.admin-nav-link{color:#375041;border:1px solid #0000;border-radius:16px;padding:14px 16px;text-decoration:none;transition:transform .14s,border-color .14s,background-color .14s}.admin-nav-link:hover{background:#edf7f0bf;border-color:#185f3c33;transform:translateY(-1px)}.admin-nav-link.active{color:#143722;background:#edf7f0;border-color:#185f3c47;font-weight:700}.admin-auth-button{color:#8f3414;font:inherit;cursor:pointer;background:#fff8f4eb;border:1px solid #9a34122e;border-radius:16px;padding:14px 16px;font-weight:700;transition:transform .14s,border-color .14s,box-shadow .14s}.admin-auth-button:hover{border-color:#9a341247;transform:translateY(-1px);box-shadow:0 14px 28px #8f34141a}.admin-content,.admin-page{min-width:0}.admin-page{gap:20px;display:grid}.admin-page-header{gap:6px;display:grid}.admin-page-copy,.admin-panel p{color:#5a6c60}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.dashboard-card,.admin-panel{padding:24px}.admin-form{gap:16px;display:grid}.admin-form label{color:#24362c;gap:8px;font-weight:600;display:grid}.admin-form input,.admin-form select{color:#203228;width:100%;font:inherit;background:#fffdfa;border:1px solid #1c3a2a1f;border-radius:14px;padding:12px 14px}.admin-primary-button{color:#143722;width:fit-content;font:inherit;cursor:pointer;background:#edf7f0;border:1px solid #185f3c33;border-radius:16px;padding:14px 18px;font-weight:700}.admin-secondary-button{color:#8f3414;width:fit-content;font:inherit;cursor:pointer;background:#fff8f4eb;border:1px solid #9a34122e;border-radius:14px;padding:12px 16px;font-weight:700}.admin-primary-button:disabled,.admin-secondary-button:disabled{cursor:wait;opacity:.7}.dashboard-card{gap:10px;display:grid}.dashboard-label{color:#607064;font-size:.95rem;font-weight:600}.dashboard-card strong{color:#163625;font-size:clamp(2rem,3vw,3rem);line-height:1}.table-wrap{overflow-x:auto}.appointments-table{border-collapse:collapse;width:100%;min-width:760px}.appointments-table th,.appointments-table td{text-align:left;border-bottom:1px solid #13231a14;padding:14px 16px}.appointments-table th{color:#486254;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.appointments-table td{color:#24362c}.staff-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.staff-list-item{background:#fffdfa;border:1px solid #13231a14;border-radius:18px;padding:16px 18px;display:block}.staff-card{gap:16px;display:grid}.staff-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.staff-card-actions{flex-wrap:wrap;gap:12px;display:flex}.staff-list-name{color:#24362c;font-weight:700}.staff-services-editor{border-top:1px solid #13231a14;gap:16px;padding-top:16px;display:grid}.staff-services-heading{color:#24362c;margin:0;font-weight:700}.staff-services-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.staff-service-option{color:#24362c;background:#fffcf7e0;border:1px solid #13231a14;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.staff-service-option input{width:16px;height:16px}.availability-form{gap:20px;display:grid}.availability-staff-field{color:#24362c;gap:8px;max-width:320px;font-weight:600;display:grid}.availability-staff-field select,.availability-row input{color:#203228;width:100%;font:inherit;background:#fffdfa;border:1px solid #1c3a2a1f;border-radius:14px;padding:12px 14px}.availability-section-heading{gap:6px;display:grid}.availability-section-heading h3{color:#13231a;margin:0}.availability-section-heading p{color:#5a6c60;margin:0}.availability-grid{gap:12px;display:grid}.availability-row{grid-template-columns:minmax(110px,160px) minmax(0,160px) auto minmax(0,160px);align-items:center;gap:12px;display:grid}.availability-day-label{color:#24362c;font-weight:700}.availability-separator{color:#5a6c60;font-weight:700}@media (width<=960px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{min-height:auto;position:static}.dashboard-grid{grid-template-columns:1fr}.staff-list-item,.staff-card-header{flex-direction:column;align-items:stretch}.availability-row{grid-template-columns:1fr}.availability-separator{display:none}}:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#c9eadee6,#0000 28%),linear-gradient(#f6f4ef 0%,#f4efe6 45%,#ece4d7 100%);font-family:Sora,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100vh;margin:0}button,input{font:inherit}h1,h2,p{margin:0}#root{min-height:100vh}
