:root{--bg: #f5f2ec;--surface: #ffffff;--surface-warm: #faf8f2;--ink: #1f2b23;--soft: #5b675d;--muted: #6c7a6e;--accent: #3f6b52;--accent-dark: #2c4f3b;--accent-soft: #e7efe9;--line: #e6e1d4;--line-soft: #efece3;--chip-bg: #f0ede4;--forest: #24382c;--danger: #a03d3d;--radius: 18px;--display: Marcellus, "Times New Roman", serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Figtree,Segoe UI,system-ui,sans-serif;line-height:1.5}.display{font-family:var(--display);font-weight:400}.nav{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--surface-warm);border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.wordmark .name{font-family:var(--display);font-size:1.35rem;letter-spacing:.5px}.wordmark .sub{display:none;font-size:.62rem;letter-spacing:3px;color:var(--muted);text-transform:uppercase}.nav-right{display:flex;align-items:center;gap:24px}.nav-phone{display:flex;align-items:center;gap:8px;color:#4b584d;font-size:.9rem;font-weight:500}.footer{background:var(--forest);color:#e9ede4;padding:40px 20px 22px;margin-top:auto}.footer-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.footer-cols{display:grid;grid-template-columns:1fr;gap:28px}.footer .tagline{font-size:.88rem;line-height:1.6;color:#b9c5b8;max-width:320px}.footer-label{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:#9db7a2;font-weight:600;margin-bottom:8px}.footer-text{font-size:.9rem;line-height:1.7;color:#d7ded2}.footer-bottom{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;border-top:1px solid #35493a;padding-top:16px;font-size:.78rem;color:#93a294}.hero{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;max-width:1180px;margin:0 auto;padding:36px 20px 24px}.hero-eyebrow{font-size:.68rem;letter-spacing:2.5px;color:var(--accent);font-weight:600;text-transform:uppercase}.hero h1{font-family:var(--display);font-weight:400;font-size:2.1rem;line-height:1.15;margin:10px 0 12px;text-wrap:pretty}.hero-sub{font-size:1rem;line-height:1.6;color:var(--soft);max-width:480px;margin:0 0 16px}.trust{display:flex;flex-wrap:wrap;gap:8px}.trust span{display:inline-flex;align-items:center;gap:7px;background:var(--accent-soft);border-radius:999px;padding:7px 13px;font-size:.8rem;font-weight:500;color:#37453a}.hero-art{display:none;justify-content:center}.book-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start;max-width:1180px;margin:0 auto;padding:4px 14px 96px}.steps{display:flex;flex-direction:column;gap:16px;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.step-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.step-num{width:26px;height:26px;min-width:26px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.82rem;font-weight:700;display:flex;align-items:center;justify-content:center}.step-title{font-family:var(--display);font-size:1.22rem}.segmented{display:flex;background:var(--chip-bg);border-radius:12px;padding:4px;max-width:420px}.segmented button{flex:1;border:none;background:none;border-radius:9px;padding:11px 0;font:inherit;font-size:.92rem;font-weight:500;color:var(--muted);cursor:pointer}.segmented button.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #1f2b231f}.member-label{font-size:.78rem;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin:16px 0 10px}.member-label:first-child{margin-top:0}.service-list{display:grid;gap:10px}.service-option{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;background:var(--surface);text-align:left;font:inherit;color:inherit;transition:border-color .15s,background .15s}.service-option:hover{border-color:var(--accent)}.service-option.selected{border:1.5px solid var(--accent);background:#f2f6f2;padding:13.5px 15.5px}.service-info{display:flex;flex-direction:column;gap:3px;min-width:0}.service-name{font-size:.98rem;font-weight:600;display:flex;align-items:center;gap:9px}.service-desc{font-size:.84rem;color:var(--muted)}.service-side{display:flex;align-items:center;gap:12px;flex-shrink:0}.duration-chip{font-size:.76rem;color:var(--muted);background:var(--chip-bg);border-radius:999px;padding:4px 10px;white-space:nowrap}.service-option.selected .duration-chip{color:var(--accent);background:var(--accent-soft)}.price{font-family:var(--display);font-size:1.1rem;white-space:nowrap}.field{margin-bottom:12px}.field label{display:block;font-size:.84rem;color:var(--muted);font-weight:500;margin-bottom:5px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;background:var(--surface);color:var(--ink)}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.details-grid{display:grid;grid-template-columns:1fr;gap:0 14px}.day-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px}.day-pill{display:flex;flex-direction:column;align-items:center;gap:1px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:9px 0;min-width:64px;font:inherit;color:inherit;cursor:pointer}.day-pill .dow{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.day-pill .dom{font-size:1.02rem;font-weight:600}.day-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.day-pill.on .dow{color:#d8e5dc}.slot-group{margin-bottom:14px}.slot-group-label{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:8px}.slot-grid{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:0 17px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s}.chip:hover{border-color:var(--accent)}.chip.selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.chip.blocked{opacity:.75;cursor:not-allowed;text-decoration:line-through;border-color:transparent}.chip.blocked:hover{border-color:transparent;filter:brightness(.96)}.r-outside_hours{background:#ededeb;color:#949089}.r-too_soon{background:#e0eef0;color:#46767f}.r-staff_busy{background:#fdf1dc;color:#96690f}.r-staff_time_off{background:#ebe3f4;color:#6b4d95}.r-room_busy{background:#e1eaf6;color:#3d669a}.r-item_in_use{background:#fbe4d4;color:#a4571e}.r-item_missing{background:#f6dddd;color:#a03d3d}.r-salon_closed{background:#e4e0da;color:#6f6a63}.reason-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.8rem;color:var(--muted)}.reason-legend .dot{display:inline-block;width:11px;height:11px;border-radius:4px;margin-right:5px;vertical-align:-1px}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 32px #1f2b2314}.summary-title{font-family:var(--display);font-size:1.25rem}.summary-rows{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line-soft);padding-top:14px}.summary-row{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.summary-row .who{color:var(--muted)}.summary-meta{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted)}.summary-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-soft);padding-top:14px;font-weight:600}.summary-total .amount{font-family:var(--display);font-size:1.5rem;font-weight:400}.btn{display:inline-block;width:100%;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:15px 20px;font:inherit;font-size:.98rem;font-weight:600;cursor:pointer;transition:background .15s}.btn:hover{background:var(--accent-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.danger{background:var(--danger)}.pay-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8rem;color:var(--muted)}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #1f2b231a}.mobile-bar .what{display:flex;flex-direction:column;min-width:0}.mobile-bar .what .label{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-bar .what .amount{font-family:var(--display);font-size:1.2rem}.mobile-bar .btn{width:auto;padding:13px 24px;flex-shrink:0}.has-mobile-bar{padding-bottom:76px}.hint{color:var(--muted);font-size:.88rem;margin:8px 0 0}.error{background:#f9e9e4;border:1px solid #eccfc5;color:#b3452f;border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:.92rem}.center{text-align:center}.shell{max-width:640px;margin:0 auto;padding:32px 16px 64px;width:100%}.confirm-icon{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 12px}.manage-link{word-break:break-all;font-size:.85rem;color:var(--muted)}.status-badge{display:inline-block;border-radius:999px;padding:3px 12px;font-size:.85rem;font-weight:600;background:var(--accent-soft);color:var(--accent)}.status-badge.cancelled{background:#f9e9e4;color:#b3452f}.status-badge.pending{background:#fdf1dc;color:#96690f}.page{min-height:100vh;display:flex;flex-direction:column}@media(min-width:1024px){.nav{padding:18px 64px}.wordmark .sub{display:block}.hero{grid-template-columns:1.15fr .85fr;padding:56px 64px 40px}.hero h1{font-size:3.1rem}.hero-sub{font-size:1.08rem}.hero-art{display:flex}.book-layout{grid-template-columns:minmax(0,1fr) 380px;gap:32px;padding:8px 64px 88px}.card{padding:26px 30px}.summary-card{position:sticky;top:24px}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-bar{display:none}.has-mobile-bar{padding-bottom:0}.footer{padding:56px 64px 28px}.footer-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}}
