:root{--bg: #121414;--card: #1A1C1C;--input: #1E2020;--border: #282A2B;--text: #E2E2E2;--text2: #C4C7C7;--muted: #8E9192;--amber: #FFBF00;--green: #3ECF8E;--red: #F2543D;--error: #FF5555;--blue: #54A9EB;--violet: #A78BFA;--font-sans: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--t-tiny: 10.5px;--t-xs: 11px;--t-sm: 12px;--t-body: 13px;--t-md: 14px;--t-lg: 16px;--t-xl: 20px;--t-2xl: 24px;--w-mid: 500;--w-semi: 600;--w-bold: 700;--w-black: 800;--lh-body: 1.35;--track-label: .08em;--track-tight: -.005em;--r-pill: 9999px}*{box-sizing:border-box}:root{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--t-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}main{max-width:34rem;margin:0 auto;padding:1rem 1rem calc(4.5rem + env(safe-area-inset-bottom,0px))}h1{font-size:var(--t-xl);font-weight:var(--w-black);letter-spacing:var(--track-tight);margin:0 0 .25rem}h2{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--text);margin:1.75rem 0 .5rem}.eyebrow{font-family:var(--font-mono);font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--muted);text-transform:uppercase;letter-spacing:var(--track-label)}p{margin:.25rem 0}a{color:var(--text)}.muted{color:var(--muted)}.empty{color:var(--muted);padding:3rem 0;text-align:center}.header{padding-bottom:.5rem}.meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:var(--t-sm)}.meta .rating{color:var(--amber)}.sep{color:var(--muted)}.section-tabs{display:flex;gap:1.25rem;border-bottom:1px solid var(--border);margin:1.25rem 0 .75rem;overflow-x:auto;scrollbar-width:none}.section-tabs::-webkit-scrollbar{display:none}.section-tabs button{flex:0 0 auto;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 0 .5rem;font:inherit;font-weight:var(--w-semi);color:var(--muted);cursor:pointer}.section-tabs button.active{color:var(--text);border-bottom-color:var(--amber)}.status{background:var(--card);border-radius:.75rem;padding:1rem;margin-top:1rem}.statusline{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--amber)}.statusline .dot{width:6px;height:6px;border-radius:var(--r-pill);background:currentColor}.statusline.shut{color:var(--muted)}.wait{font-size:var(--t-md)}.services ul{list-style:none;margin:0;padding:0}.service{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;margin-bottom:.5rem}.service[data-bookable=false]{background:var(--input)}.service .row{display:flex;align-items:baseline;gap:.5rem}.service .row.selectable{cursor:pointer}.row.selectable input[type=radio]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.service:has(:checked){border-color:var(--amber)}.service:has(:checked) .price{color:var(--amber)}.masters .row.selectable:has(:checked) .name,.masters .row.selectable:has(:checked) .price{color:var(--amber)}.masters .row.selectable:has(input:focus-visible),.service:has(input:focus-visible){outline:2px solid var(--amber);outline-offset:2px}.service .name{flex:1}.service .price{white-space:nowrap}.service .meta{color:var(--muted);font-size:var(--t-xs)}.report{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.report input{flex:1 1 10rem}.sheet-title{font-size:var(--t-lg);font-weight:var(--w-bold);margin:0 0 .25rem}.sheet>label{display:block;color:var(--muted);font-size:var(--t-xs);margin:.75rem 0 .25rem}.days{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}.days::-webkit-scrollbar{display:none}.day{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:3rem;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:.5rem;padding:.4rem .6rem;font:inherit;cursor:pointer}.day .dow{font-size:var(--t-tiny);color:var(--muted)}.day .dom{font-family:var(--font-mono);font-size:var(--t-md);font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.day.selected{border-color:var(--amber);background:var(--card)}.day.selected,.day.selected .dow{color:var(--amber)}.slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem;margin-top:.75rem}.slot{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:.5rem;font:inherit;cursor:pointer;text-align:center}.field{margin-top:1rem}.field label{display:block;color:var(--muted);font-size:var(--t-xs);margin-bottom:.25rem}input[type=tel],input[type=text],input[type=time],select{width:100%;background:var(--input);color:var(--text);border:1px solid var(--border);border-radius:.5rem;padding:.75rem;font:inherit}.card{background:var(--card);border-radius:.75rem;padding:.875rem;margin-top:1rem}.card-face{display:block;text-decoration:none;color:inherit}.card .label{color:var(--muted);font-size:var(--t-xs)}.card .value{font-size:var(--t-2xl)}.actions{margin-top:1rem;display:flex;align-items:center;gap:.75rem}.status-center{margin-top:2rem;text-align:center}.wait,.service .price,.slot .time,.card .value,.masters .price{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.primary{display:block;width:100%;margin-top:1rem;background:var(--amber);color:#121414;border:none;border-radius:var(--r-pill);padding:.9rem;font:inherit;font-weight:var(--w-bold);cursor:pointer}a.primary{text-align:center;text-decoration:none}.primary:disabled{opacity:.45;cursor:default}.quiet{background:var(--border);color:var(--text2);border:none;border-radius:var(--r-pill);padding:.5rem .9rem;font:inherit;font-weight:var(--w-bold);cursor:pointer}.link,.danger{display:inline;background:none;border:none;padding:0;font:inherit;font-size:var(--t-sm);font-weight:var(--w-semi);text-decoration:none;cursor:pointer}.link{color:var(--amber)}.danger{color:var(--error);font-size:var(--t-body)}.error{background:var(--input);border-left:3px solid var(--error);color:var(--text);padding:.75rem 1rem;border-radius:.25rem;margin-top:1rem}.flash{background:var(--input);border-left:3px solid var(--muted);padding:.75rem 1rem;border-radius:.25rem;margin-top:1rem}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px)}.tabs a{flex:1;padding:.75rem .25rem;text-align:center;font-size:9.5px;font-weight:var(--w-mid);color:var(--muted);text-decoration:none}.tabs a.active{font-weight:var(--w-bold);color:var(--amber)}.masters{margin:.75rem 0}.masters .row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0}.masters .name{flex:1}.masters .price{font-size:var(--t-xs);color:var(--muted)}.portrait,.logo{border-radius:50%;object-fit:cover}.gallery .strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.gallery img{height:7rem;width:auto;border-radius:.5rem;flex:none}.toggle{display:flex;gap:.5rem;margin:.75rem 0}.toggle button{flex:1;background:var(--card);color:var(--text);border:1px solid transparent;border-radius:.5rem;padding:.5rem .75rem;font:inherit;cursor:pointer}.toggle button.selected{border-color:var(--muted);background:var(--border)}.kometa-map-placeholder{height:60vh;border-radius:12px;background:var(--card);display:grid;place-items:center;color:var(--muted)}.stamps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.stamp{width:20px;height:20px;border-radius:50%;border:1px solid var(--muted)}.stamp.filled{background:var(--amber);border-color:var(--amber)}.card .name{font-size:var(--t-lg);font-weight:var(--w-bold)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.row-line{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.row-line:last-child{border-bottom:none}.row-line>:first-child{font-size:var(--t-md);font-weight:var(--w-semi);color:var(--text)}.row-line>:last-child{font-size:var(--t-sm);color:var(--muted);text-align:right}.row-line>.accent{color:var(--amber);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.row-line select{width:auto;background:none;border:none;padding:0;color:var(--muted);font:inherit;font-size:var(--t-sm);text-align:right;cursor:pointer}.card .meta-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:var(--t-xs);color:var(--muted)}.badge{display:inline-block;background:var(--amber);color:#121414;font-family:var(--font-mono);font-size:var(--t-tiny);font-weight:var(--w-bold);padding:3px 7px;border-radius:4px}.results-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:.75rem 0 .25rem}.results-head .count{font-size:var(--t-md);font-weight:var(--w-bold)}.results-head .sorted{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--muted)}.fig{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.identity{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.identity-text{flex:1;min-width:0}.identity .name{font-size:var(--t-lg);font-weight:var(--w-black)}.avatar{flex:none;width:3rem;height:3rem;border-radius:var(--r-pill);background:var(--border);color:var(--text2);display:grid;place-items:center;font-size:var(--t-lg);font-weight:var(--w-bold)}.settings{margin-top:1.5rem}.loyalty-card{display:block;text-decoration:none;background:var(--amber);border-radius:.75rem;padding:1.25rem;margin-top:1rem}.loyalty-card .eyebrow{color:#121414a6}.loyalty-card .count{font-size:var(--t-xl);font-weight:var(--w-black);color:#121414;margin:.25rem 0 0}.loyalty-card .note{font-size:var(--t-sm);color:#121414}.loyalty-card .stamp{border-color:#12141459}.loyalty-card .stamp.filled{background:#121414;border-color:#121414}.pill-ink{display:inline-block;background:#121414;color:var(--amber);border:none;border-radius:var(--r-pill);padding:.55rem .9rem;font:inherit;font-size:var(--t-sm);font-weight:var(--w-bold);text-decoration:none;cursor:pointer}.pill-danger{display:block;width:100%;margin-top:1.5rem;background:none;border:1px solid rgba(242,84,61,.4);border-radius:var(--r-pill);color:var(--red);padding:.8rem;font:inherit;font-weight:var(--w-bold);text-align:center;cursor:pointer}.version{margin-top:1.5rem;text-align:center;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--muted)}.quiet:disabled{opacity:.45;cursor:default}.toggle button{border-radius:var(--r-pill);border-color:var(--border);font-size:var(--t-sm);font-weight:var(--w-semi)}.toggle button.selected{background:var(--amber);border-color:var(--amber);color:#121414}.chip{flex:0 0 auto;background:var(--card);color:var(--text2);border:1px solid var(--border);border-radius:var(--r-pill);padding:.45rem .8rem;font:inherit;font-size:var(--t-sm);font-weight:var(--w-semi);cursor:pointer}.chip.selected{border-color:var(--amber);color:var(--amber)}.card{border:1px solid var(--border)}.quiet{background:none;border:1px solid var(--border);color:var(--text2);font-weight:var(--w-semi)}:root{--click: #0072C6;--payme: #00CFC8;--border2: #333535}.hero{position:relative;margin:-1rem -1rem .75rem;aspect-ratio:16 / 9;background:#0f1010;overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover;display:block}.hero .scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#00000073,#0000 32%,#00000040 58%,#0a0b0beb)}.hero-controls{position:absolute;top:.75rem;right:.75rem;display:flex;gap:.5rem}.circle{width:34px;height:34px;flex:none;border-radius:var(--r-pill);border:none;background:#0a0b0b8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2)}.circle.flat{background:var(--input);border:1px solid var(--border2);-webkit-backdrop-filter:none;backdrop-filter:none}.hero-id{position:absolute;left:1rem;right:1rem;bottom:.75rem;display:flex;align-items:flex-end;gap:.75rem}.hero-logo{width:64px;height:64px;flex:none;border-radius:var(--r-pill);border:3px solid #fff;object-fit:cover;background:var(--input);box-shadow:0 6px 20px #0000008c}.hero-text{flex:1;min-width:0}.hero-text h1{color:#fff;margin:0;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-meta{display:flex;align-items:center;gap:.35rem;margin:3px 0 0;color:#ededed}.hero-meta .rating{font-weight:var(--w-bold)}.hero-meta .dim{color:#b9bcbc}.addr{display:flex;align-items:center;gap:.35rem;min-width:0;font-size:var(--t-sm);color:var(--muted)}.addr .line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.statusline{font-family:var(--font-sans);font-size:var(--t-body);font-weight:var(--w-semi);color:var(--text);min-width:0}.statusline .dot{width:8px;height:8px;flex:none;background:var(--green);box-shadow:0 0 0 4px #3ecf8e29}.statusline.shut{color:var(--text2)}.statusline.shut .dot{background:var(--muted);box-shadow:none}.statusline .wait{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-sm);font-weight:400;color:var(--muted)}.status-actions{display:flex;gap:.5rem;flex:none}.pill{display:flex;align-items:center;gap:.35rem;background:var(--input);border:1px solid var(--border2);border-radius:var(--r-pill);padding:7px 12px;font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--text2);text-decoration:none}.section-tabs button{font-weight:var(--w-mid)}.section-tabs button.active{font-weight:var(--w-bold)}.gallery .strip img{width:120px;height:120px;object-fit:cover;border-radius:12px;background:var(--input)}.service .row{align-items:center}.service .col{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.service .meta{display:block;margin:0}.service .price{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.service .price .figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-md);font-weight:var(--w-bold);white-space:nowrap}.service .price .cur{font-family:var(--font-sans);font-size:var(--t-tiny);font-weight:400;color:var(--muted)}.service:has(:checked){background:#ffbf0012}.service[data-bookable=false]{background:var(--card)}.service[data-bookable=false] .name,.service[data-bookable=false] .price .figure,.services.shut .service .price .figure,.services.shut .service .price .cur{color:var(--text2)}.day.selected{background:var(--amber);border-color:var(--amber)}.day.selected,.day.selected .dow,.day.selected .dom{color:#121414}.day.selected .dow{font-weight:var(--w-semi)}.slot{border-radius:9px;border-color:var(--border2);color:var(--text2);padding:10px 0;font-weight:var(--w-mid)}.slot .time{font-size:12.5px}.slot.selected{background:var(--amber);border-color:var(--amber);font-weight:var(--w-bold)}.slot.selected .time{color:#121414}.picked{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.6rem .75rem}.picked .col{min-width:0;display:flex;flex-direction:column;gap:2px}.picked .label{font-size:var(--t-xs);color:var(--muted)}.picked .line{font-size:var(--t-body);font-weight:var(--w-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picked .figure{flex:none;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:var(--w-bold)}.primary.sticky{position:sticky;bottom:.75rem;z-index:2;box-shadow:0 8px 24px #0000008c}.secondary{display:block;width:100%;margin-top:1rem;background:none;border:1px solid var(--border2);border-radius:var(--r-pill);padding:.85rem;font:inherit;font-weight:var(--w-semi);color:var(--text);text-align:center;text-decoration:none;cursor:pointer}.actions .primary,.actions .secondary{margin-top:0}.card .actions{justify-content:flex-end}.primary.secondary{background:none;border:1px solid var(--border2);color:var(--text);font-weight:var(--w-semi);box-shadow:none}.link.muted{color:var(--muted)}.link.underline{text-decoration:underline}.danger:disabled{opacity:.45;cursor:default}a.primary.click{background:var(--click);color:#fff}a.primary.payme{background:var(--payme);color:#10201f}a.secondary.click{color:var(--click);border-color:var(--click)}a.secondary.payme{color:var(--payme);border-color:var(--payme)}.masters .avatar{width:56px;height:56px;flex:none;border-radius:var(--r-pill);border:2px solid var(--border2);background:var(--input);object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--text2)}.masters .row.selectable:has(:checked) .avatar{border-color:var(--amber);color:var(--text)}.page-foot{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);text-align:center}.page-foot .powered{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:.75rem;font-size:var(--t-sm);color:var(--text2)}.summary{display:flex;flex-direction:column;gap:.35rem}.summary .line{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.summary .k{font-size:var(--t-body);color:var(--muted)}.summary .v{font-size:var(--t-body);font-weight:var(--w-semi);text-align:right}.summary .v.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--amber)}.affix{display:flex;align-items:center;background:var(--input);border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.affix .code{padding:.75rem 0 .75rem .75rem;font-family:var(--font-mono);font-size:var(--t-md);color:var(--text)}.affix input{flex:1;min-width:0;border:none;border-radius:0;background:none;font-family:var(--font-mono);font-size:var(--t-md)}.affix input:focus-visible{outline:none}.affix:focus-within{border-color:var(--amber)}.total{display:flex;align-items:baseline;justify-content:space-between;margin-top:1.25rem}.total .k{font-size:var(--t-xs);color:var(--muted)}.total .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-lg);font-weight:var(--w-bold)}.done-head{display:flex;align-items:center;gap:.6rem}.done-head .tick{width:34px;height:34px;flex:none;border-radius:var(--r-pill);background:#3ecf8e24;display:flex;align-items:center;justify-content:center}.ticket{display:flex;flex-direction:column;gap:.6rem}.ticket .line{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.ticket .k{font-size:var(--t-body);color:var(--muted);flex:none}.ticket .v{font-size:var(--t-body);font-weight:var(--w-semi);text-align:right}.ticket .v.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ticket .v.price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--amber)}.title-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.title-row h1{font-size:18px;font-weight:var(--w-bold)}.note{display:flex;align-items:flex-start;gap:.5rem;background:var(--card);border-radius:12px;padding:.6rem .75rem;margin-top:.6rem;font-size:11.5px;color:var(--muted)}.group{margin:1.5rem 0 .5rem;font-size:var(--t-sm);color:var(--text2)}.headline{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:32px;font-weight:var(--w-bold);line-height:1.1;margin:2px 0 0}.headline.queued{color:var(--amber)}.state-pill{border:1px solid currentColor;border-radius:var(--r-pill);padding:4px 10px;font-size:var(--t-xs);font-weight:var(--w-semi);white-space:nowrap}.state-pill.queued{color:var(--amber)}.state-pill.booked{color:var(--blue)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.card-head .name{font-size:var(--t-md);font-weight:var(--w-bold)}.plain{list-style:none;margin:0;padding:0}.past{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.past .col{min-width:0;display:flex;flex-direction:column;gap:2px}.past .name{font-size:var(--t-body);font-weight:var(--w-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.past .sub{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-xs);color:var(--muted)}.past .right{flex:none;display:flex;align-items:center;gap:.6rem}.past .done{display:flex;align-items:center;gap:.35rem;font-size:var(--t-xs);color:var(--muted)}.past .done:before{content:"";width:6px;height:6px;border-radius:var(--r-pill);background:var(--green)}.empty-state{padding:2.5rem 0 1rem;text-align:center}.empty-state h2{margin:0 0 .35rem}.empty-state p{color:var(--muted);max-width:22rem;margin:0 auto}.pill-center{margin-top:1.25rem;text-align:center}.pill-center .secondary{display:inline-block;width:auto;padding:14px 28px;border-radius:var(--r-pill);font:inherit;font-weight:var(--w-semi);cursor:pointer}
