:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{min-height:100svh;margin:0}:root{--brand:#0e7c66;--brand-dark:#095c4c;--ink:#1f2937;--muted:#6b7280;--border:#e5e7eb;--surface:#f9fafb}.section{max-width:60rem;margin:0 auto;padding:4rem 1.5rem}@media (width<=40rem){.section{padding:2.5rem 1.25rem}}.section h2{color:var(--ink);margin-bottom:1.5rem;font-size:1.75rem}.hero{text-align:center;background:linear-gradient(180deg, var(--surface), #fff);max-width:none;padding:5rem 1.5rem}.hero h1{color:var(--ink);margin:0 0 .5rem;font-size:clamp(2rem,5vw,3rem)}.hero .tagline{color:var(--brand-dark);margin:0 0 1.5rem;font-size:1.25rem}.hero .about{max-width:40rem;color:var(--muted);margin:0 auto 2rem}.cta-button{background:var(--brand);color:#fff;border-radius:999px;padding:.75rem 1.75rem;font-weight:600;text-decoration:none;display:inline-block}.cta-button:hover{background:var(--brand-dark)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem;display:grid}.service-card{border:1px solid var(--border);border-radius:.5rem;padding:1.25rem}.service-card h3{color:var(--ink);margin:0 0 .5rem;font-size:1.05rem}.service-card p{color:var(--muted);margin:0;font-size:.95rem}.hours-contact{background:var(--surface);grid-template-columns:1fr 1fr;gap:3rem;max-width:none;display:grid}.hours-contact>div{width:100%;max-width:28rem;margin:0 auto}.hours-table{border-collapse:collapse;width:100%}.hours-table td{border-bottom:1px solid var(--border);padding:.4rem 0}.hours-table td:first-child{color:var(--ink);font-weight:600}.hours-table td:last-child{text-align:right;color:var(--muted)}@media (width<=40rem){.hours-contact{grid-template-columns:1fr}}.booking-section .booking-success{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:.5rem;padding:.75rem 1rem}.booking-error{color:#b91c1c}.booking-layout{flex-wrap:wrap;align-items:flex-start;gap:2.5rem;display:flex}.calendar{border:1px solid var(--border);border-radius:.5rem;width:100%;max-width:20rem;padding:1rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;display:flex}.calendar-header button{cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.25rem}.calendar-header button:disabled{opacity:.3;cursor:default}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.calendar-weekday{text-align:center;color:var(--muted);padding-bottom:.25rem;font-size:.75rem}.calendar-day{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:.375rem;font-size:.9rem}.calendar-day:hover:not(:disabled){background:var(--surface)}.calendar-day.selected{background:var(--brand);color:#fff}.calendar-day.outside{visibility:hidden}.calendar-day:disabled{color:#d1d5db;cursor:default}.booking-slots-panel{flex:1;min-width:15rem}.booking-slots-panel h3{margin-top:0}.time-slots{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:.5rem;display:grid}.time-slot{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:.375rem;padding:.5rem}.time-slot:hover:not(:disabled){border-color:var(--brand)}.time-slot:disabled{background:var(--surface);color:#d1d5db;cursor:default;text-decoration:line-through}.modal-overlay{z-index:10;background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:.5rem;width:24rem;max-width:100%;padding:1.5rem}.modal h3{margin-top:0}.modal form{flex-direction:column;gap:.75rem;display:flex}.modal label{flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:600;display:flex}.modal input{border:1px solid var(--border);border-radius:.375rem;padding:.5rem;font-size:1rem}.modal-note{color:var(--muted);margin:0;font-size:.85rem}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.modal-actions button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:.5rem 1.25rem}.modal-actions button[type=submit]{background:var(--brand);border-color:var(--brand);color:#fff}.modal-actions button:disabled{opacity:.6;cursor:default}.admin-login{background:#f4f5f7;justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login form{background:#fff;border-radius:.5rem;flex-direction:column;gap:.75rem;width:20rem;padding:2.5rem;display:flex;box-shadow:0 1px 3px #00000026}.admin-login label{font-size:.9rem;font-weight:600}.admin-login input,.admin-dashboard input{border:1px solid #ccc;border-radius:.25rem;padding:.5rem;font-size:1rem}.admin-login button,.admin-dashboard button{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:.25rem;padding:.5rem 1rem;font-size:1rem}.admin-login button:disabled{opacity:.6;cursor:default}.admin-error{color:#b91c1c;font-size:.9rem}.admin-dashboard{max-width:60rem;margin:2rem auto;padding:0 1rem;font-family:system-ui,sans-serif}.admin-dashboard header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-range{gap:1.5rem;margin-bottom:1rem;display:flex}.admin-range label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.admin-table-scroll{margin-bottom:2rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:40rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.5rem}.admin-table tr.status-pendingconfirmation{background:#fef9c3}.admin-table tr.status-cancelled{color:#9ca3af;text-decoration:line-through}.admin-add-block form{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.admin-add-block label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}
