:root{--bg:#FBF8FD;--surface:#FFFFFF;--sunk:#F3EDF8;--ink:#2E2238;--muted:#6E6078;--line:#E4DAEC;--plum:#7E52A0;--plum-deep:#5E3A7D;--plum-tint:#EFE6F6;--gold:#B8862B;--gold-soft:#F6E7C4;--brown:#7A5C3A;--ok:#2F7D55;--ok-tint:#E2F2E9;--warn:#9A6A0B;--warn-tint:#FBF0D6;--bad:#B1403A;--bad-tint:#F8E3E1;--f-display:"Cinzel","Trajan Pro",Georgia,serif;--f-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--f-body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--r:12px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#17111D;--surface:#211829;--sunk:#1C1423;--ink:#F1EAF6;--muted:#B4A6BF;--line:#3A2C46;--plum:#B994DA;--plum-deep:#D3B8EC;--plum-tint:#33244A;--gold:#E3B657;--gold-soft:#3D3020;--brown:#D9B98F;--ok:#7FD0A3;--ok-tint:#1E3A2C;--warn:#E9C26A;--warn-tint:#3A2F17;--bad:#F09A93;--bad-tint:#43211F;color-scheme:dark}}:root[data-theme=dark]{--bg:#17111D;--surface:#211829;--sunk:#1C1423;--ink:#F1EAF6;--muted:#B4A6BF;--line:#3A2C46;--plum:#B994DA;--plum-deep:#D3B8EC;--plum-tint:#33244A;--gold:#E3B657;--gold-soft:#3D3020;--brown:#D9B98F;--ok:#7FD0A3;--ok-tint:#1E3A2C;--warn:#E9C26A;--warn-tint:#3A2F17;--bad:#F09A93;--bad-tint:#43211F;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.55;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 48px}.wrap{max-width:1080px;margin:0 auto}h1,h2,h3{text-wrap:balance;margin:0}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.top{display:flex;align-items:center;gap:18px;padding-block:22px 18px;border-bottom:1px solid var(--line)}.top img{width:84px;height:auto;flex:none}.brand h1{font-family:var(--f-display);font-weight:600;font-size:clamp(22px,4vw,32px);letter-spacing:.04em;color:var(--brown)}.brand .by{font-family:var(--f-serif);font-style:italic;font-size:20px;color:var(--brown);margin-top:-4px}.brand p{margin:4px 0 0;color:var(--muted);font-size:14px}.tabs{display:flex;gap:6px;margin-left:auto;align-self:flex-end;flex-wrap:wrap}.tab{border:1px solid var(--line);background:var(--surface);padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:14px}.tab[aria-selected=true]{background:var(--plum);border-color:var(--plum);color:#fff}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .tab[aria-selected=true]{color:#1a1220}}:root[data-theme=dark] .tab[aria-selected=true]{color:#1a1220}@media (max-width:640px){.top{flex-wrap:wrap}.top img{width:64px}.tabs{margin-left:0;width:100%}}.book{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;margin-top:26px;align-items:start}@media (max-width:860px){.book{grid-template-columns:minmax(0,1fr)}}.step{padding-block:4px 22px;border-bottom:1px dashed var(--line);margin-bottom:22px}.step:last-child{border-bottom:0}.step-h{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.step-h .n{font-family:var(--f-display);color:var(--gold);font-size:15px;letter-spacing:.06em}.step-h h2{font-family:var(--f-serif);font-weight:600;font-size:26px;color:var(--plum-deep)}.services{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.svc{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0}.svc:hover{border-color:var(--plum)}.svc[aria-pressed=true]{border-color:var(--plum);box-shadow:0 0 0 2px var(--plum) inset;background:var(--plum-tint)}.svc b{font-weight:700;font-size:15px}.svc .meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:13px}.svc .price{color:var(--brown);font-weight:700;font-variant-numeric:tabular-nums}.svc .d{font-size:13px;color:var(--muted)}.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}.day{flex:none;width:64px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 0;text-align:center;cursor:pointer;scroll-snap-align:start}.day small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.day strong{display:block;font-family:var(--f-serif);font-size:24px;line-height:1.1}.day[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:#fff}.day[aria-pressed=true] small{color:inherit;opacity:.85}.day:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through}.month{font-size:13px;color:var(--muted);margin-bottom:8px}.slots{display:flex;flex-wrap:wrap;gap:8px}.slot{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px;cursor:pointer;font-variant-numeric:tabular-nums;font-weight:600}.slot[aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold);color:var(--ink)}.slot:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.empty{color:var(--muted);font-size:14px;margin:0}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form .full{grid-column:1/-1}@media (max-width:560px){.form{grid-template-columns:1fr}}label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}label .opt{font-weight:400;color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 12px}textarea{min-height:90px;resize:vertical}.modes{display:flex;gap:8px;flex-wrap:wrap}.modes label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;margin:0;font-weight:600;cursor:pointer;background:var(--surface)}.modes input{width:auto;margin:0;accent-color:var(--plum)}.err{color:var(--bad);font-size:13px;margin-top:4px}.summary{position:sticky;top:calc(env(safe-area-inset-top,0px) + 16px);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;overflow:hidden}.summary:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--plum),var(--gold))}.summary h3{font-family:var(--f-display);font-size:14px;letter-spacing:.12em;color:var(--brown);margin-bottom:12px}.sum-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.sum-row span:first-child{color:var(--muted)}.sum-row span:last-child{text-align:right;font-weight:600;min-width:0;overflow-wrap:anywhere}.total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px}.total b{font-family:var(--f-serif);font-size:30px;color:var(--plum-deep);font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer;text-decoration:none}.btn-primary{background:var(--plum);color:#fff;width:100%;margin-top:16px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .btn-primary,:root:not([data-theme=light]) .day[aria-pressed=true]{color:#1a1220}}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .day[aria-pressed=true]{color:#1a1220}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-wa{background:#1f8e4e;color:#fff}.btn-ghost{background:transparent;border:1px solid var(--line)}.note{font-size:12.5px;color:var(--muted);margin:10px 0 0}.confirm{margin-top:26px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;max-width:640px}.confirm h2{font-family:var(--f-serif);font-size:30px;color:var(--plum-deep)}.msg{white-space:pre-wrap;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:14px;font-size:14px;margin:14px 0;-webkit-user-select:all;user-select:all}.row-btns{display:flex;gap:10px;flex-wrap:wrap}.dash{margin-top:26px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}@media (max-width:640px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.stat small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat b{display:block;font-family:var(--f-serif);font-size:32px;line-height:1.1;font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar h2{font-family:var(--f-serif);font-size:26px;color:var(--plum-deep);margin-right:auto}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:13px;font-weight:600}.chip[aria-pressed=true]{border-color:var(--plum);background:var(--plum-tint);color:var(--plum-deep)}.ledger{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.daygroup{padding:8px 16px;background:var(--sunk);font-family:var(--f-display);font-size:13px;letter-spacing:.08em;color:var(--brown);border-top:1px solid var(--line)}.daygroup:first-child{border-top:0}.bk{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:14px;padding:14px 16px;border-top:1px solid var(--line);align-items:start}.bk .t{font-weight:700;font-variant-numeric:tabular-nums;font-size:16px}.bk .who b{font-size:15px}.bk .who div{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.bk .q{font-style:italic;font-family:var(--f-serif);font-size:16px;color:var(--ink);margin-top:4px}.bk .acts{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.bk .acts .row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.mini{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:4px 10px;font-size:12.5px;font-weight:600;cursor:pointer}.mini.danger{color:var(--bad)}.pill{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:999px}.pill.pending{background:var(--warn-tint);color:var(--warn)}.pill.confirmed{background:var(--plum-tint);color:var(--plum-deep)}.pill.done{background:var(--ok-tint);color:var(--ok)}.pill.cancelled{background:var(--bad-tint);color:var(--bad)}@media (max-width:560px){.bk{grid-template-columns:56px minmax(0,1fr)}.bk .acts{grid-column:1/-1;align-items:flex-start}.bk .acts .row{justify-content:flex-start}}.ledger-empty{padding:28px 16px;text-align:center;color:var(--muted)}.login-card input{font-size:22px;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.settings{margin-top:30px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}.settings h2{font-family:var(--f-serif);font-size:26px;color:var(--plum-deep);margin-bottom:14px}.weekdays{display:flex;gap:6px;flex-wrap:wrap}.weekdays label{display:flex;gap:5px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin:0;font-weight:600}.weekdays input{width:auto;accent-color:var(--plum)}.hint{font-size:12.5px;color:var(--muted);margin-top:4px}.status-line{font-size:13px;color:var(--muted);margin-top:10px;min-height:1.2em}.banner{margin-top:16px;padding:10px 14px;border-radius:10px;background:var(--gold-soft);color:var(--ink);font-size:14px}@media (prefers-reduced-motion:no-preference){.svc,.day,.slot,.chip{transition:background .15s,border-color .15s}}[hidden]{display:none!important}body{margin:0}img{max-width:100%}a.tab{text-decoration:none;color:inherit}.login{display:flex;justify-content:center;padding-block:48px 24px}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px 24px;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--plum),var(--gold))}.login-card h2{font-family:var(--f-serif);font-size:30px;color:var(--plum-deep)}.login-card form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.foot a{color:var(--muted)}.import{background:var(--surface);border:1px solid var(--gold);border-radius:var(--r);padding:18px 20px;margin-bottom:24px}.import h2{font-family:var(--f-serif);font-size:24px;color:var(--plum-deep);margin-bottom:4px}a.mini{text-decoration:none;color:var(--ok)}
