:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f5ef;--surface:#fff;--surface-muted:#f1f4f2;--text:#1d2420;--muted:#667069;--line:#dce2dd;--accent:#176b5b;--accent-strong:#0e4d40;--warning:#b35d17;--danger:#a5362f;--shadow:0 18px 45px #202c261f}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.loading-screen{place-items:center;min-height:45vh;padding:32px;display:grid}.spinner{border:3px solid #176b5b2e;border-top-color:var(--accent);border-radius:999px;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.catalog-hero{color:#fff;background:#1c2a26;align-items:end;min-height:30vh;padding:56px 24px 38px;display:flex}.catalog-hero h1{margin:0;font-size:clamp(34px,5vw,62px);line-height:1}.catalog-hero p{color:#ffffffd1;max-width:620px;margin:16px 0 0;font-size:18px}.content{width:min(1120px,100%);margin:0 auto;padding:28px 20px 64px}.date-picker,.custom-select{position:relative}.selector-control{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);cursor:pointer;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;display:flex;overflow:hidden}.selector-control:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #176b5b24}.date-display{text-align:left;width:100%;color:var(--text);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;padding:11px 42px 11px 12px;font-size:15px;font-weight:600;overflow:hidden}.selector-icon{color:var(--accent);flex:none;margin-right:12px}.calendar-popover,.select-popover{z-index:20;border:1px solid var(--line);width:min(380px,100vw - 48px);box-shadow:var(--shadow);max-height:min(var(--popover-max-height,420px), calc(100vh - 32px));overscroll-behavior:contain;background:#fff;border-radius:8px;padding:16px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.calendar-popover.popover-top,.select-popover.popover-top{top:auto;bottom:calc(100% + 8px)}.select-popover{max-height:min(var(--popover-max-height,320px), calc(100vh - 32px));gap:6px;padding:8px;display:grid}.select-option{min-height:44px;color:var(--text);text-align:left;background:#fff;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.select-option:hover,.select-option.selected{border-color:var(--accent);color:var(--accent-strong);background:#e8f3ef}.option-check{color:var(--accent);font-weight:900}.calendar-header{text-transform:capitalize;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.calendar-nav{border:1px solid var(--line);background:var(--surface-muted);width:40px;height:40px;color:var(--text);border-radius:6px;font-size:26px;line-height:1}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekdays{color:var(--muted);text-align:center;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.calendar-day{aspect-ratio:1;border:1px solid var(--line);min-height:42px;color:var(--text);background:#fff;border-radius:6px;font-weight:800}.calendar-day.muted{color:#9aa39d;background:#f8faf8}.calendar-day.selected{border-color:var(--accent);background:var(--accent);color:#fff}.calendar-day:disabled{opacity:.35;cursor:not-allowed}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.catalog-card{border:1px solid var(--line);background:var(--surface);color:inherit;box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto 1fr;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;overflow:hidden}.catalog-card:hover{border-color:#176b5b59;transform:translateY(-3px);box-shadow:0 24px 58px #202c262e}.catalog-card-media{min-height:240px;color:var(--accent);background:linear-gradient(145deg,#dfe8e3,#f6f2e7);place-items:center;font-size:76px;font-weight:900;display:grid}.catalog-card-media img{object-fit:cover;width:100%;height:100%;min-height:240px}.catalog-card-body{padding:18px}.catalog-card-body h2{margin:0 0 8px;font-size:1.45rem}.catalog-card-body p{min-height:44px;color:var(--muted);margin:0 0 14px}.catalog-card-body span{color:var(--accent);font-weight:800}.catalog-empty{text-align:center;color:var(--muted);padding:60px 20px}.catalog-empty p{margin:8px 0;font-size:1.1rem}.section-heading{margin-bottom:18px}.section-heading h2{margin:0 0 8px;font-size:clamp(26px,3vw,38px)}.section-heading p{color:var(--muted);margin:0}.calendar-toolbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.admin-calendar{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:82px repeat(auto-fit,minmax(240px,1fr));display:grid;overflow:auto}.single-service-calendar{grid-template-columns:82px minmax(320px,1fr)}.calendar-time-column,.calendar-service-column{min-width:0}.calendar-service-column{border-left:1px solid var(--line)}.calendar-service-heading{border-bottom:1px solid var(--line);height:44px;color:var(--muted);justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.calendar-hour{border-bottom:1px solid var(--line);height:58px;color:var(--muted);justify-content:center;align-items:start;padding-top:8px;font-size:13px;display:flex}.calendar-service-grid{min-height:870px;position:relative}.calendar-hour-line{border-bottom:1px solid var(--line);height:58px}.calendar-select-cell{cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;width:100%;padding:0;display:block}.calendar-select-cell:hover,.calendar-select-cell.selected{background:#1d786514}.calendar-event{z-index:1;border-radius:6px;padding:8px;font-size:13px;font-weight:800;position:absolute;left:8px;right:8px;overflow:hidden}.booking-event{color:var(--accent-strong);background:#dff0eb;border:1px solid #176b5b59}.block-event{color:#6f5a00;background:repeating-linear-gradient(135deg,#fff3c9,#fff3c9 6px,#f8e7a6 6px 12px);border:1px solid #ead58c}.admin-message{margin:-8px 0 18px}.modal-backdrop{z-index:60;background:#0b191e61;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(560px,100%);padding:22px;box-shadow:0 26px 70px #0f172a3d}.dialog h2{margin:0 0 16px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.block-list{gap:8px;margin-bottom:16px;display:grid}.block-list-item{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;grid-template-columns:1fr auto 34px;align-items:center;gap:10px;padding:10px;display:grid}.block-list-item span{color:var(--muted);font-weight:800}.property-access-list{gap:8px;display:grid}.small-select{max-width:240px}.clickable-table tbody tr{cursor:pointer}.clickable-table tbody tr:hover,.active-row{background:#eef5f2}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--accent);background:#fff;border-radius:6px;justify-content:center;align-items:center;font-size:18px;line-height:1;text-decoration:none;display:inline-flex}.danger-icon{color:#a33b2f}.danger-icon:hover{background:#fff3f1;border-color:#a33b2f59}.text-link{color:var(--accent);margin-bottom:10px;font-weight:800;text-decoration:none;display:inline-flex}.toggle-row{color:var(--text);align-items:center;gap:8px;font-weight:800;display:inline-flex}.table{border-collapse:collapse;width:100%;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px;font-size:14px}.table th{color:var(--muted);text-transform:uppercase;font-size:12px}.table tbody tr,.table tbody td{vertical-align:middle}.multi-select{min-width:240px}.multi-select .date-display{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multi-select-option{justify-content:flex-start}.multi-select-option input{accent-color:var(--accent)}.auth-box{background:var(--surface);border:1px solid var(--line);width:min(420px,100vw - 32px);box-shadow:var(--shadow);border-radius:8px;margin:80px auto;padding:22px}.embedded{background:#fff}.embedded .content{padding:16px}@media (max-width:860px){.section-header{grid-template-columns:1fr;align-items:stretch}.calendar-toolbar{align-items:stretch}.section-header{flex-direction:column}.table{display:block;overflow-x:auto}}
