:root{--bg: #f5f5f2;--card: #ffffff;--text: #1e293b;--muted: #64748b;--faint: #94a3b8;--border: #e2e8f0;--soft: #f1f5f9;--gold: #c8a460;--gold-d: #8a6d3b;--gold-l: #fdf6e8;--dark: #16181d;--ok: #15803d;--ok-bg: #f0fdf4;--warn: #b45309;--warn-bg: #fef3c7;--danger: #b91c1c;--danger-bg: #fef2f2;--radius: 14px;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:light}[data-theme=dark]{--bg: #0f1117;--card: #1a1d24;--text: #f8fafc;--muted: #94a3b8;--faint: #64748b;--border: #2a3040;--soft: #1e2330;--gold: #c8a460;--gold-d: #d9b978;--gold-l: #2a2318;--ok: #34d399;--ok-bg: #064e3b;--warn: #fbbf24;--warn-bg: #451a03;--danger: #f87171;--danger-bg: #450a0a;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--text)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--gold-d);text-decoration:none}.page{padding:8px 16px calc(110px + var(--safe-b));max-width:640px;margin:0 auto}.page.with-tabs{padding-bottom:calc(150px + var(--safe-b))}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:14px 2px 6px}.page-head h1{font-size:26px;line-height:1.15;margin:0;font-weight:700;letter-spacing:-.02em}.page-head .sub{color:var(--muted);margin-top:3px;font-size:14px}.section{margin-top:18px}.section-title{display:flex;justify-content:space-between;align-items:center;padding:0 4px 8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.section-title button{text-transform:none;letter-spacing:0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card+.card{margin-top:10px}.card.pad,.pad{padding:14px 16px}.tap{cursor:pointer;transition:background .12s}.tap:active{background:var(--soft)}.row{display:flex;align-items:center;gap:12px;padding:13px 16px;min-height:52px}.card>.row+.row,.card>.row+.field,.card>.field+.row{border-top:1px solid var(--border)}.row-icon{color:var(--gold-d);display:flex}.row-main{flex:1;min-width:0}.row-title{font-weight:500;overflow-wrap:anywhere}.row-sub{color:var(--muted);font-size:13px;margin-top:2px;overflow-wrap:anywhere}.row-right{color:var(--muted);font-size:14px;text-align:right;flex-shrink:0}.row.danger .row-title{color:var(--danger)}.chev{color:var(--faint);font-size:22px;line-height:1;margin-left:-4px}.btn{border:0;border-radius:12px;padding:14px 18px;font-weight:600;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;transition:transform .08s,opacity .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn.block{width:100%}.btn.small{padding:8px 12px;min-height:36px;font-size:14px;border-radius:10px}.btn.primary{background:var(--gold);color:#1a1d24}.btn.dark{background:var(--dark);color:#fff}[data-theme=dark] .btn.dark{background:#f8fafc;color:#16181d}.btn.secondary{background:var(--gold-l);color:var(--gold-d)}.btn.ghost{background:transparent;color:var(--gold-d)}.btn.danger{background:var(--danger-bg);color:var(--danger)}.btn-row{display:flex;gap:10px}.btn-row>*{flex:1}.stack>*+*{margin-top:10px}.bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:linear-gradient(to top,var(--bg) 75%,transparent);padding:14px 16px calc(14px + var(--safe-b))}.bottom-inner{max-width:608px;margin:0 auto;display:flex;gap:10px}.bottom-inner>*{flex:1}.with-tabs .bottom-bar,.tabs-on .bottom-bar{bottom:calc(62px + var(--safe-b));padding-bottom:10px}.field{display:block;padding:10px 16px 12px}.field-label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600}.field-hint{display:block;font-size:12px;color:var(--faint);margin-top:6px}.input{width:100%;border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:11px 12px;font-size:16px;outline:none;appearance:none}.input:focus{border-color:var(--gold)}textarea.input{resize:vertical}select.input{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0}.switch{width:46px;height:28px;border-radius:99px;background:var(--border);position:relative;flex-shrink:0;transition:background .15s}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left .15s}.switch.on{background:var(--gold)}.switch.on i{left:21px}.segmented{display:flex;background:var(--soft);border-radius:11px;padding:3px;gap:3px}.segmented button{flex:1;border:0;background:transparent;border-radius:9px;padding:8px 6px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer}.segmented button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px #00000014}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none;flex-wrap:nowrap}.chips.wrap{flex-wrap:wrap}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--card);border-radius:99px;padding:8px 14px;font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.chip.on{background:var(--dark);color:#fff;border-color:var(--dark)}[data-theme=dark] .chip.on{background:var(--gold);color:#16181d;border-color:var(--gold)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap}.tone-muted{background:var(--soft);color:var(--muted)}.tone-gold{background:var(--gold-l);color:var(--gold-d)}.tone-ok{background:var(--ok-bg);color:var(--ok)}.tone-warn{background:var(--warn-bg);color:var(--warn)}.tone-danger{background:var(--danger-bg);color:var(--danger)}.avatar{border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.datestrip{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none;scroll-snap-type:x proximity}.datestrip::-webkit-scrollbar{display:none}.ds{flex:0 0 52px;border:1px solid var(--border);background:var(--card);border-radius:14px;padding:4px 0 2px;display:flex;flex-direction:column;align-items:center;cursor:pointer;scroll-snap-align:center}.ds-m{font-size:10px;color:var(--gold-d);font-weight:700;text-transform:uppercase;height:13px}.ds-w{font-size:12px;color:var(--muted)}.ds.we .ds-w{color:var(--danger)}.ds-d{font-size:19px;font-weight:700;line-height:1.2}.ds-dot{color:var(--gold);font-size:14px;line-height:10px;height:10px}.ds.on{background:var(--dark);border-color:var(--dark);color:#fff}.ds.on .ds-w,.ds.on .ds-m{color:#ffffffb3}[data-theme=dark] .ds.on{background:var(--gold);border-color:var(--gold);color:#16181d}[data-theme=dark] .ds.on .ds-w,[data-theme=dark] .ds.on .ds-m{color:#0009}.ds.off{opacity:.35}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:11px 0;text-align:center;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}.slot.on{background:var(--gold);border-color:var(--gold);color:#1a1d24}.slot-group{font-size:13px;color:var(--muted);margin:14px 2px 8px}.appt{display:flex;gap:12px;padding:12px 14px;border-left:4px solid var(--gold)}.appt-time{width:50px;flex-shrink:0;font-variant-numeric:tabular-nums}.appt-time b{display:block;font-size:16px}.appt-time span{font-size:12px;color:var(--muted)}.appt-main{flex:1;min-width:0}.appt-client{font-weight:600}.appt-service{color:var(--muted);font-size:13px;margin-top:1px}.appt-meta{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.appt.cancelled{opacity:.5}.appt.cancelled .appt-client{text-decoration:line-through}.gap{margin:10px 0;padding:10px 14px;border:1.5px dashed var(--border);border-radius:12px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.gap b{color:var(--ok);font-weight:600}.pick{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.pick+.pick{border-top:1px solid var(--border)}.pick.on{background:var(--gold-l)}.pick .radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);flex-shrink:0}.pick.on .radio{border-color:var(--gold);background:radial-gradient(var(--gold) 45%,transparent 50%)}.price{font-weight:600;white-space:nowrap}.steps{display:flex;gap:6px;margin:4px 2px 0}.steps i{flex:1;height:4px;border-radius:4px;background:var(--border)}.steps i.on{background:var(--gold)}.hero{text-align:center;padding:26px 10px 8px}.hero img{width:76px;height:76px;border-radius:18px}.hero h2{margin:14px 0 6px;font-size:22px}.hero p{margin:0;color:var(--muted)}.logo-sm{width:34px;height:34px;border-radius:9px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty-icon{font-size:40px;margin-bottom:8px}.empty-title{font-weight:600;color:var(--text);font-size:17px;margin-bottom:4px}.empty-text{margin-bottom:16px}.notice{border-radius:var(--radius);padding:14px 16px;font-size:14px;display:flex;gap:10px}.notice.gold{background:var(--gold-l);color:var(--gold-d)}.notice.warn{background:var(--warn-bg);color:var(--warn)}.notice.danger{background:var(--danger-bg);color:var(--danger)}.notice.ok{background:var(--ok-bg);color:var(--ok)}.notice b{display:block;margin-bottom:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.stat b{display:block;font-size:20px}.stat span{font-size:12px;color:var(--muted)}.msg{padding:10px 14px;border-radius:14px;max-width:85%;margin:6px 0;font-size:14px;white-space:pre-wrap}.msg small{display:block;font-size:11px;opacity:.6;margin-top:3px}.msg.out{background:var(--gold-l);margin-left:auto}.msg.in{background:var(--soft)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--card);border-top:1px solid var(--border);padding:6px 4px calc(6px + var(--safe-b))}.tabbar button{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--faint);cursor:pointer;padding:4px 0}.tabbar button.on{color:var(--gold-d)}.tab-icon{display:flex}.fab{position:fixed;right:18px;bottom:calc(78px + var(--safe-b));z-index:25;width:56px;height:56px;border-radius:50%;border:0;background:var(--gold);color:#1a1d24;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #8a6d3b59;cursor:pointer}.sheet-wrap{position:fixed;inset:0;background:#0f111773;z-index:50;display:flex;align-items:flex-end;animation:fade .15s}.sheet{background:var(--bg);width:100%;max-width:640px;margin:0 auto;border-radius:20px 20px 0 0;max-height:88vh;display:flex;flex-direction:column;animation:up .2s ease-out;padding-bottom:var(--safe-b)}.sheet-grip{width:40px;height:5px;border-radius:4px;background:var(--border);margin:8px auto 4px}.sheet-title{font-weight:700;font-size:18px;padding:6px 18px 4px}.sheet-body{overflow-y:auto;padding:8px 16px 18px}@keyframes up{0%{transform:translateY(40px);opacity:.5}}@keyframes fade{0%{opacity:0}}.toast{position:fixed;left:50%;top:14px;transform:translate(-50%);z-index:100;padding:11px 18px;border-radius:12px;font-weight:600;font-size:14px;box-shadow:0 8px 24px #0000002e;max-width:90vw;animation:fade .2s}.toast.ok{background:var(--dark);color:#fff}.toast.err{background:var(--danger);color:#fff}.spin{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;display:inline-block;animation:rot .7s linear infinite}.spin.big{width:28px;height:28px;color:var(--gold)}@keyframes rot{to{transform:rotate(360deg)}}.center{display:flex;justify-content:center;align-items:center}.muted{color:var(--muted)}.small{font-size:13px}.mt{margin-top:12px}.mt2{margin-top:20px}.between{display:flex;justify-content:space-between;align-items:center;gap:10px}.flex{display:flex;align-items:center;gap:10px}.wd{display:flex;gap:6px}.wd button{flex:1;border:1px solid var(--border);background:var(--card);border-radius:10px;padding:9px 0;font-weight:600;font-size:13px;cursor:pointer}.wd button.on{background:var(--gold);border-color:var(--gold);color:#1a1d24}.code{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--soft);padding:8px 10px;border-radius:8px;overflow-wrap:anywhere}
