:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#30243e;background:#faf8fc;font-synthesis:none;--accent:#7444dc;--line:#eadff0;--muted:#71627e}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{border:0;border-radius:12px;padding:13px 20px;background:var(--accent);color:white;font-weight:650;cursor:pointer;min-height:44px}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#efe7fa;color:#6636bc}button.danger{background:#fff0f3;color:#ab3565}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c670af;outline-offset:3px}a{color:var(--accent)}header{display:flex;align-items:center;gap:24px;padding:22px max(24px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{font-size:36px;font-weight:800;letter-spacing:-2px;text-decoration:none}.brand span{color:#d77fb7;font-size:22px;vertical-align:top}.tagline{font-size:13px;color:var(--muted)}#account{margin-left:auto;display:flex;align-items:center;gap:16px}#account span{font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis}main{max-width:1160px;padding:32px 24px;min-height:75vh;margin:auto}h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1.8px;line-height:1.15;margin:12px 0 18px}h2{font-size:22px;letter-spacing:-.6px;margin:0 0 14px}h3{font-size:18px;margin:8px 0 12px}p{line-height:1.65;color:var(--muted);font-size:14px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:#9771b0}.hero{background:linear-gradient(120deg,#7444dc,#9c61d4 65%,#d594c5);color:white;border-radius:28px;padding:44px;margin-bottom:26px}.hero .eyebrow,.hero p{color:#f3e7ff}.hero p{max-width:610px}.hero h1{max-width:700px}.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:26px;margin-bottom:20px}.empty{text-align:center;padding:60px 28px;max-width:760px;margin:42px auto}.empty .symbol{width:72px;height:72px;border-radius:24px;background:#f2e6fa;color:#a662b8;font-size:34px;display:grid;place-items:center;margin:0 auto 25px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid .panel{margin-bottom:0}.stack{display:grid;gap:16px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{padding:24px;background:white;border:1px solid var(--line);border-radius:20px}.card .price{font-size:26px;font-weight:750;letter-spacing:-1px;margin:18px 0 8px}.muted,small{color:var(--muted);font-size:12px;line-height:1.6}.pill{display:inline-flex;font-size:11px;font-weight:600;padding:6px 10px;border-radius:30px;background:#f1eafb;color:#7444b4}.pill.green{background:#e9f5ef;color:#337052}.pill.warn{background:#fff2e1;color:#93652e}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.tabs button{background:white;color:var(--muted);border:1px solid var(--line)}.tabs button[aria-current=page]{background:var(--accent);color:white;border-color:var(--accent)}label{display:grid;gap:8px;font-size:13px;font-weight:600;margin-bottom:17px}input,select,textarea{border:1px solid #dacee6;border-radius:10px;background:white;color:#30243e;padding:12px;width:100%;min-height:44px}input[type=checkbox]{width:20px;min-height:20px;margin:0}.check{display:flex;align-items:center;gap:10px}textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full{grid-column:1/-1}.slots{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.slots label{margin:0}.slots input{position:absolute;opacity:0;width:1px}.slots span{display:block;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer}.slots input:checked+span{background:var(--accent);color:white}.slots input:focus-visible+span{outline:3px solid #c670af;outline-offset:2px}.booking{display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}.booking .actions{margin:0}.notice-inline{padding:15px 18px;border:1px solid #ead3a8;border-radius:12px;background:#fff8eb;color:#815d26;line-height:1.6;font-size:13px;margin:16px 0}.error{background:#fff0f3;color:#a32f57;border-color:#f0cfda}#notice:empty{display:none}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;background:#352443;color:white;border-radius:14px;padding:16px 22px;box-shadow:0 8px 35px #30243e30;z-index:10}footer{text-align:center;color:#95869e;font-size:12px;padding:30px}dialog{border:1px solid var(--line);border-radius:22px;padding:28px;width:min(480px,calc(100vw - 32px));box-shadow:0 12px 70px #301a4940}dialog::backdrop{background:#24153066}.divider{height:1px;background:var(--line);margin:22px 0}.summary{font-size:30px;font-weight:750;letter-spacing:-1px}.scroll-table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.hour-row{display:grid;grid-template-columns:100px 1fr 1fr;gap:12px;align-items:center}.hour-row input{min-width:0}.loading{color:var(--muted);padding:26px;text-align:center}.status-list{text-align:left;display:grid;gap:12px;margin:28px 0;padding:0;list-style:none}.status-list li{padding:15px 18px;background:#faf7fd;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;gap:20px}.status-list span{font-size:12px;color:var(--muted)}
@media(max-width:800px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.tagline{display:none}.hero{padding:32px}.booking{align-items:flex-start}}
@media(max-width:500px){header{padding:16px 20px;gap:12px}.brand{font-size:32px}#account span{display:none}main{padding:22px 16px}.hero{padding:28px 24px;border-radius:22px}.cards{grid-template-columns:1fr}.panel{padding:22px}.empty{padding:36px 22px;margin:20px auto}.actions>button{flex:1}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.tabs{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.tabs button{white-space:nowrap}.hour-row{grid-template-columns:74px 1fr 1fr;gap:8px}.status-list li{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
