:root{--bg: #12110f;--bg-elevated: #221f1a;--bg-soft: #2c2822;--line: rgba(232, 220, 198, .2);--line-strong: rgba(232, 220, 198, .34);--text: #f6f1e8;--text-secondary: #ddd2c2;--text-muted: #c2b6a4;--accent: #d4a574;--accent-strong: #e8c08a;--accent-dim: rgba(212, 165, 116, .18);--danger: #e08a7c;--danger-dim: rgba(224, 138, 124, .12);--success: #9dcb97;--success-dim: rgba(157, 203, 151, .14);--radius: 18px;--radius-sm: 12px;--shadow: 0 18px 40px rgba(0, 0, 0, .35);--font-sans: "Manrope", system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(212,165,116,.16),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(90,70,40,.25),transparent 50%),linear-gradient(180deg,#171510 0%,var(--bg) 40%,#0e0d0b 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;color:inherit}.app-shell{width:min(100%,480px);margin:0 auto;min-height:100dvh;padding:calc(16px + var(--safe-top)) 16px calc(28px + var(--safe-bottom));display:flex;flex-direction:column}.page{display:flex;flex-direction:column;gap:20px;flex:1;animation:riseIn .32s ease both}@keyframes riseIn{0%{transform:translateY(8px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page,.success-hero .check{animation:none}}.brand{font-family:var(--font-display);font-size:2.4rem;line-height:1;letter-spacing:.01em;margin:0;color:var(--text)}.eyebrow{margin:0;color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.lead{margin:0;color:var(--text-muted);line-height:1.5;font-size:.98rem}.section-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 20px;border-radius:999px;font-weight:600;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#1a140c;box-shadow:0 10px 24px #d4a57447}.btn-primary:disabled{background:#3a342c;color:#8a8074;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:#ffffff08;border:1px solid var(--line-strong);color:var(--text)}.btn-secondary:disabled{color:#7a7166;border-color:var(--line);cursor:not-allowed}.btn-ghost{color:var(--text-muted);min-height:44px;padding:0 8px}.btn-danger{color:var(--danger);border:1px solid rgba(224,138,124,.4);background:var(--danger-dim);border-radius:999px;min-height:44px;padding:0 16px;font-weight:600}.btn-block{width:100%}.service-card,.master-card,.appointment-card,.summary-card,.admin-card{background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 42%),var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.service-card{text-align:left;width:100%;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.service-card:hover,.service-card.selected{border-color:#d4a574a6;background:linear-gradient(180deg,var(--accent-dim),var(--bg-elevated));box-shadow:0 0 0 1px #d4a5741f}.service-card h3{margin:0 0 6px;font-size:1.05rem;color:var(--text);font-weight:650}.service-card p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.45}.meta{display:flex;gap:12px;margin-top:14px;color:var(--accent-strong);font-weight:700;font-size:.95rem}.master-card{display:flex;align-items:flex-start;gap:14px;text-align:left;width:100%;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.master-card:hover,.master-card.selected{border-color:#d4a574a6;background:linear-gradient(180deg,var(--accent-dim),var(--bg-elevated));box-shadow:0 0 0 1px #d4a5741f}.master-avatar{flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--accent-dim);border:1px solid rgba(212,165,116,.4);color:var(--accent-strong);font-weight:700;font-size:.95rem}.master-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.master-copy strong{color:var(--text);font-size:1.05rem}.master-role{color:var(--accent-strong);font-size:.82rem;font-weight:600}.master-desc{color:var(--text-muted);font-size:.9rem;line-height:1.4}.date-picker{position:relative}.date-picker:after{content:"";position:absolute;top:0;right:0;bottom:18px;width:36px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(18,17,15,.92))}.date-hint{margin:0 0 10px;font-size:.8rem;color:var(--text-muted)}.date-scroller{display:flex;gap:10px;overflow-x:auto;padding:2px 28px 10px 2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(212,165,116,.35) transparent}.date-scroller::-webkit-scrollbar{height:4px}.date-scroller::-webkit-scrollbar-thumb{background:#d4a57459;border-radius:999px}.date-chip{flex:0 0 auto;width:74px;min-height:88px;border-radius:16px;border:1px solid var(--line-strong);background:var(--bg-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;scroll-snap-align:start;transition:border-color .2s ease,background .2s ease,color .2s ease}.date-chip .dow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.date-chip .dom{font-size:1.3rem;font-weight:700;color:var(--text)}.date-chip.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 0 0 1px #d4a57459}.date-chip.selected .dow,.date-chip.selected .dom{color:var(--accent-strong)}.date-chip:disabled{opacity:1;background:transparent;border-color:#e8dcc61a;color:#6f675c}.date-chip:disabled .dow,.date-chip:disabled .dom{color:#6f675c}.page-with-sticky{padding-bottom:88px}.sticky-cta{position:sticky;bottom:calc(8px + var(--safe-bottom));margin-top:auto;padding-top:12px;background:linear-gradient(180deg,transparent,rgba(18,17,15,.92) 28%,rgba(18,17,15,.98));z-index:2}.slots-scroll{flex:1;min-height:0;max-height:calc(100dvh - 260px);overflow-y:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.slots-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.slot-btn{min-height:48px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--text);font-weight:600;font-size:.95rem}.slot-btn.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-strong);box-shadow:inset 0 0 0 1px #d4a57447}.empty-state,.loading,.error-box{padding:20px;border-radius:var(--radius);border:1px dashed var(--line-strong);color:var(--text-muted);text-align:center}.error-box{border-style:solid;border-color:#e08a7c73;color:#f3c7bf;background:var(--danger-dim)}.demo-banner{align-self:flex-start;font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--text-muted);background:#ffffff0a;border:1px solid rgba(232,220,198,.14);border-radius:999px;padding:6px 10px}.demo-chrome{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:4px}.demo-badge{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid rgba(212,165,116,.32);border-radius:999px;padding:5px 10px}.demo-chrome-link{font-size:.82rem;font-weight:600;color:var(--text-secondary);min-height:32px;padding:0;background:none;border:none}.demo-chrome-link:hover{color:var(--accent)}.demo-admin-banner{margin-bottom:16px;padding:10px 14px;border-radius:14px;background:var(--accent-dim);border:1px solid rgba(212,165,116,.28);color:var(--text-secondary);font-size:.9rem}.demo-tour-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none}.demo-tour-spotlight{position:fixed;border-radius:18px;box-shadow:0 0 0 9999px #12110f9e;outline:2px solid var(--accent);pointer-events:none;transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}.demo-tour-tooltip{position:fixed;z-index:81;pointer-events:auto;padding:14px 16px 12px;border-radius:18px;background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow)}.demo-tour-progress{margin:0 0 6px;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.demo-tour-tooltip h2{margin:0 0 6px;font-size:1.05rem}.demo-tour-tooltip p{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.45}.demo-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}.demo-tour-nav{display:flex;gap:8px}.demo-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#12110f8f;display:flex;align-items:flex-end;justify-content:center}.demo-sheet{width:min(100%,480px);max-height:min(88dvh,640px);overflow:auto;padding:22px 18px calc(18px + var(--safe-bottom));border-radius:24px 24px 0 0;background:var(--bg-elevated);box-shadow:var(--shadow)}.demo-sheet h2{margin:8px 0 10px;font-family:var(--font-display);font-size:2rem;line-height:1.05}.demo-sheet-list,.demo-sheet-checks{margin:14px 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.demo-sheet-list li,.demo-sheet-checks li{color:var(--text-secondary);line-height:1.4}.demo-sheet-list li:before{content:"— ";color:var(--accent)}.demo-sheet-actions{display:flex;flex-direction:column;gap:8px}@media(min-width:720px){.demo-sheet-backdrop{align-items:center}.demo-sheet{border-radius:var(--radius);padding:28px 24px 24px}}@media(prefers-reduced-motion:reduce){.demo-tour-spotlight{transition:none}}.success-hero{text-align:center;padding:28px 12px 8px}.success-hero .check{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--success-dim);border:1px solid rgba(157,203,151,.45);color:var(--success);font-size:2rem;animation:pop .45s ease both}@keyframes pop{0%{transform:scale(.85)}to{transform:scale(1)}}.summary-card .summary-row:last-child span:last-child{color:var(--accent-strong);font-weight:700}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.98rem}.summary-row:last-child{border-bottom:none}.summary-row span:first-child{color:var(--text-secondary)}.summary-row span:last-child{color:var(--text);font-weight:600;text-align:right}.topbar{display:flex;align-items:center;gap:8px;min-height:40px}.topbar h1{margin:0;font-size:1.2rem;font-weight:650;color:var(--text)}.appointment-card .appointment-price{color:var(--accent-strong);font-weight:700}.appointment-card.is-cancelled,.admin-card.is-cancelled{opacity:1;border-color:#e08a7c47;background:linear-gradient(180deg,rgba(224,138,124,.06),transparent 50%),var(--bg-elevated)}.admin-layout{width:min(100%,1080px);margin:0 auto;padding:24px 16px 40px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated)}.admin-table{width:100%;border-collapse:collapse;min-width:720px}.admin-table th,.admin-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top;color:var(--text)}.admin-table th{color:var(--text-muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.admin-table tr.is-cancelled td{color:var(--text-muted);background:#e08a7c0d}.admin-cards{display:none;margin-top:16px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-tab{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);color:var(--text-muted);background:#ffffff08}.admin-tab.is-active{color:#1a140c;background:var(--accent);border-color:transparent}.admin-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-filters input,.admin-filters select{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--bg-elevated);color:var(--text)}.admin-filters .btn{min-height:44px}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.status-pill.confirmed{background:var(--success-dim);color:var(--success)}.status-pill.cancelled{background:var(--danger-dim);color:var(--danger)}.footer-nav{margin-top:auto;padding-top:24px;display:flex;gap:8px}.hero-block{padding:12px 0 4px;display:flex;flex-direction:column;gap:14px}.hero-cta{margin-top:8px}.muted{color:var(--text-muted)}@media(min-width:768px){.app-shell{padding-top:32px}}@media(max-width:720px){.admin-table-wrap{display:none}.admin-cards{display:flex;flex-direction:column;gap:12px}}
