:root{--accent: #ff5c33;--accent-contrast: #ffffff;--radius: 14px;font-size:16px}:root[data-theme=dark]{--bg: #101114;--surface: #1a1c21;--surface-2: #23262d;--border: #33363f;--text: #f4f5f7;--text-dim: #9aa0ab;--danger: #ff5f56;--success: #4cc38a}:root[data-theme=light]{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eef0f3;--border: #d9dce2;--text: #16181d;--text-dim: #5d636e;--danger: #d5382e;--success: #1f8a5d}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}html.embedded,html.embedded body{background:transparent}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit}.page{max-width:640px;margin:0 auto;padding:16px 16px 120px}.page.standalone{padding-top:32px}.brand{text-align:center;margin-bottom:20px}.brand h1{font-size:1.35rem;font-weight:700}.brand p{color:var(--text-dim);font-size:.9rem;margin-top:4px}.step{margin-bottom:22px}.step h2{font-size:1.02rem;font-weight:600;margin-bottom:10px;display:flex;align-items:baseline;gap:8px}.step h2 .step-no{color:var(--accent);font-size:.85rem;font-weight:700}.step .hint{color:var(--text-dim);font-size:.85rem;margin:-4px 0 10px}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.option-grid.wide{grid-template-columns:1fr}.option{display:flex;flex-direction:column;gap:2px;padding:12px 14px;min-height:56px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);text-align:left;transition:border-color .12s ease,background .12s ease}.option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.option[aria-pressed=true],.option.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.option .label{font-weight:600;font-size:.95rem}.option .meta{color:var(--text-dim);font-size:.83rem}.option .price{color:var(--accent);font-weight:700;font-size:.9rem}.option:disabled{opacity:.45;cursor:not-allowed}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.slot{padding:12px 4px;min-height:46px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);font-weight:600;text-align:center}.slot[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.slot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{margin-bottom:14px}.field label{display:block;font-size:.88rem;font-weight:600;margin-bottom:6px}.field label .opt{color:var(--text-dim);font-weight:400}.field input[type=text],.field input[type=tel],.field input[type=email],.field input[type=date],.field textarea,.field select{width:100%;padding:12px 14px;background:var(--surface);color:var(--text);border:1.5px solid var(--border);border-radius:10px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.field .error-text{color:var(--danger);font-size:.82rem;margin-top:5px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--text-dim)}.consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--accent);flex-shrink:0}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.summary-card .row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.92rem}.summary-card .row .k{color:var(--text-dim)}.summary-card .row.total{border-top:1px solid var(--border);margin-top:8px;padding-top:12px;font-weight:700;font-size:1.05rem}.sticky-bar{position:fixed;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:50}.sticky-bar .inner{max-width:640px;margin:0 auto;display:flex;align-items:center;gap:14px}.sticky-bar .price-block{flex:1;min-width:0}.sticky-bar .price-block .total{font-size:1.2rem;font-weight:800}.sticky-bar .price-block .sub{color:var(--text-dim);font-size:.78rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;min-height:48px;border:none;border-radius:12px;background:var(--accent);color:var(--accent-contrast);font-weight:700;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.btn.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn.danger{background:var(--danger)}.btn.small{padding:8px 14px;min-height:36px;font-size:.86rem;border-radius:9px}.alert{border-radius:10px;padding:12px 14px;font-size:.9rem;margin:10px 0;border:1px solid var(--border)}.alert.error{border-color:color-mix(in srgb,var(--danger) 50%,transparent);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.alert.info{color:var(--text-dim);background:var(--surface)}.spinner{width:20px;height:20px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:8px auto}@keyframes spin{to{transform:rotate(360deg)}}.page.wizard{padding-bottom:96px}html.embedded .page.wizard{padding-bottom:20px}.wizard-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;position:sticky;top:0;z-index:40;padding:10px 0;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}html.embedded .wizard-header{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.back-btn{width:40px;height:40px;flex-shrink:0;border:1.5px solid var(--border);border-radius:12px;background:var(--surface);font-size:1.1rem;line-height:1}.back-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.back-btn:disabled{opacity:.4;cursor:default}.progress-wrap{flex:1;min-width:0}.progress-label{display:block;color:var(--text-dim);font-size:.72rem;margin-bottom:5px}.progress-track{height:4px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease}.price-pill{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:6px 12px;border:1.5px solid var(--accent);border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));min-width:74px}.price-pill.empty{border-color:var(--border);background:var(--surface)}.price-pill .amount{font-weight:800;font-size:.98rem;color:var(--accent);line-height:1.15}.price-pill .time{color:var(--text-dim);font-size:.7rem}.screen-title{font-size:1.15rem;font-weight:700;margin-bottom:12px}.screen{animation:screen-in .22s ease}@keyframes screen-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.action-bar{position:fixed;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:50}html.embedded .action-bar{position:sticky;background:transparent;border-top:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:12px 0 4px}.action-bar .btn{max-width:640px;margin:0 auto;display:block}.success-panel{text-align:center;padding:40px 16px}.success-panel.celebrate{position:relative;overflow:hidden;padding-top:56px}.sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sparkles span{position:absolute;font-size:1.3rem;opacity:0;animation:float-up 2.6s ease-out infinite}.sparkles span:nth-child(1){left:12%;top:62%;animation-delay:0s}.sparkles span:nth-child(2){left:28%;top:74%;animation-delay:.5s;font-size:1rem}.sparkles span:nth-child(3){left:50%;top:80%;animation-delay:1s}.sparkles span:nth-child(4){left:68%;top:70%;animation-delay:1.4s;font-size:1.6rem}.sparkles span:nth-child(5){left:84%;top:76%;animation-delay:.8s;font-size:1rem}.sparkles span:nth-child(6){left:40%;top:66%;animation-delay:1.9s}@keyframes float-up{0%{opacity:0;transform:translateY(0) scale(.7)}15%{opacity:.9}to{opacity:0;transform:translateY(-140px) scale(1.15) rotate(12deg)}}.check.pop{animation:pop-in .45s cubic-bezier(.34,1.56,.64,1)}@keyframes pop-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}.success-price{font-size:2.4rem;font-weight:800;color:var(--accent);margin:10px 0 2px;animation:pop-in .5s .12s cubic-bezier(.34,1.56,.64,1) backwards}.success-when{font-size:1.05rem;font-weight:600;margin-bottom:12px}.ref-box{display:inline-flex;flex-direction:column;gap:2px;border:1.5px dashed var(--border);border-radius:12px;padding:10px 22px;margin:14px 0;background:var(--surface)}.ref-box .ref-label{color:var(--text-dim);font-size:.75rem}.success-panel .check{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--success) 15%,var(--surface));color:var(--success);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 18px}.success-panel h2{margin-bottom:12px}.success-panel p{color:var(--text-dim);margin-bottom:8px}.success-panel .ref{font-size:1.3rem;font-weight:800;letter-spacing:.05em;color:var(--text);margin:14px 0}.success-panel .pending-note{color:var(--accent);font-weight:600}.admin{max-width:1080px;margin:0 auto;padding:20px 16px 60px}.admin header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px}.admin header h1{font-size:1.25rem}.admin nav.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.admin nav.tabs button{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:.88rem;font-weight:600}.admin nav.tabs button.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.booking-list{display:flex;flex-direction:column;gap:10px}.booking-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;cursor:pointer}.booking-card:hover{border-color:var(--accent)}.booking-card .who{font-weight:700}.booking-card .what{color:var(--text-dim);font-size:.86rem;margin-top:2px}.booking-card .when{font-weight:600;font-size:.92rem}.booking-card .money{color:var(--accent);font-weight:800}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700}.badge.pending{background:#8a6d1a33;color:#e8b931}.badge.proposed{background:#6d5ae033;color:#8f7dff}.badge.confirmed{background:#1f8a5d33;color:var(--success)}.badge.completed{background:#4a90d933;color:#62a8e8}.badge.rejected,.badge.cancelled,.badge.expired{background:#d5382e26;color:var(--danger)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0}.detail-grid .cell{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.detail-grid .cell .k{color:var(--text-dim);font-size:.78rem;margin-bottom:3px}.detail-grid .cell .v{font-weight:600;font-size:.95rem;word-break:break-word}.actions-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}table.plain{width:100%;border-collapse:collapse;font-size:.86rem}table.plain th,table.plain td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}table.plain th{color:var(--text-dim);font-weight:600}@media (max-width: 420px){.option-grid{grid-template-columns:1fr 1fr}.slot-grid{grid-template-columns:repeat(4,1fr)}}
