:root{--brand:#6f42c1;--bg:#f5f4f8;--surface:#fff;--ink:#1d1a25;--muted:#746f7d;--radius:22px;--shadow:0 18px 50px rgba(35,24,55,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 10% -10%,color-mix(in srgb,var(--brand) 14%,transparent),transparent 32rem),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{text-decoration:none}.app-container{max-width:980px}.glass{background:rgba(255,255,255,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.05)}
.brand-orb{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--brand);color:#fff;box-shadow:0 10px 25px color-mix(in srgb,var(--brand) 25%,transparent)}
.hero{padding:34px 0 22px}.hero h1{font-size:clamp(2rem,7vw,4.4rem);letter-spacing:-.055em;line-height:.98}.hero p{color:var(--muted);font-size:1.05rem}
.card-premium{background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.055);border-radius:var(--radius);box-shadow:var(--shadow)}
.service-card,.pro-card{transition:.22s ease;cursor:pointer;height:100%;overflow:hidden}.service-card:hover,.pro-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(35,24,55,.16)}
.service-img,.pro-img{aspect-ratio:1.45/1;object-fit:cover;width:100%;background:linear-gradient(135deg,#eee,#ddd)}.pro-img{aspect-ratio:1/1;border-radius:20px}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;border-radius:14px;font-weight:700;padding:.8rem 1rem}.btn-brand:hover{filter:brightness(.92);color:#fff}
.btn-soft{background:color-mix(in srgb,var(--brand) 10%,white);color:var(--brand);border:0;border-radius:999px;font-weight:700}
.stepper{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.step{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#e9e7ee;color:#716b78;font-size:.82rem;font-weight:700}.step.active{background:var(--brand);color:#fff}
.slot{border:1px solid #dedbe4;background:white;border-radius:14px;padding:.72rem .85rem;font-weight:750}.slot:hover,.slot.selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,white);color:var(--brand)}
.date-chip{min-width:84px;border:1px solid #e1dee6;background:#fff;border-radius:18px;padding:.8rem;text-align:center}.date-chip.selected{background:var(--brand);color:#fff;border-color:var(--brand)}
.section-title{letter-spacing:-.03em}.price{font-size:1.05rem;font-weight:850;color:var(--brand)}.muted{color:var(--muted)}
.admin-top{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:0;z-index:1020}.nav-scroller{overflow-x:auto;scrollbar-width:none}.nav-pills .nav-link{border-radius:999px;color:#5d5766;white-space:nowrap}.nav-pills .nav-link.active{background:var(--brand)}
.kpi{padding:1.1rem 1.15rem}.kpi .value{font-size:1.75rem;font-weight:850;letter-spacing:-.04em}.kpi .label{color:var(--muted);font-size:.85rem}
.table-card{overflow:hidden}.table>:not(caption)>*>*{padding:.9rem 1rem}.badge-soft{background:#eeeaf7;color:var(--brand);border-radius:999px;padding:.42rem .65rem}
.form-control,.form-select{border-radius:14px;border-color:#dedbe4;padding:.78rem .9rem}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .25rem color-mix(in srgb,var(--brand) 15%,transparent)}
.modal-content{border:0;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.2)}.modal-header,.modal-footer{border-color:#efedf2}
.app-bottom{position:fixed;bottom:0;left:0;right:0;padding:8px max(12px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid rgba(0,0,0,.06);z-index:1030}.safe-bottom{padding-bottom:92px}.empty{padding:42px 20px;text-align:center;color:var(--muted)}
.qr{max-width:280px;width:100%;border-radius:20px;background:#fff;padding:12px;border:1px solid #eee}.toast-container{z-index:2000}
@media(max-width:575.98px){.hero{padding-top:24px}.card-premium{border-radius:18px}.service-img{aspect-ratio:1.6/1}.table-responsive{font-size:.9rem}.hide-mobile{display:none!important}}
