.shell{min-height:100vh;display:flex}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;width:232px;height:100vh;display:flex;position:sticky;top:0}.brand{font-family:var(--display);align-items:center;gap:10px;padding:18px 18px 14px;font-size:20px;font-weight:600;display:flex}.brand-mark{background:var(--accent);color:#fff;width:30px;height:30px;font-family:var(--display);border-radius:9px;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:inline-flex}.side-nav{flex-direction:column;gap:2px;padding:4px 10px;display:flex}.side-link{color:var(--ink-2);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:9px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.side-link:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.side-link.on{background:var(--accent-soft);color:var(--accent-ink)}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:2px;margin-top:auto;padding:10px;display:flex}.side-me{align-items:center;gap:10px;padding:10px 8px 4px;display:flex}.side-me .title{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;overflow:hidden}.side-me .sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--nav-h);background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;align-items:center;gap:6px;padding:0 16px;display:flex;position:sticky;top:0}.bell{position:relative}.badge{background:var(--bad);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.content{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:0 20px 32px}.page-h{flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 18px;display:flex}.page-h h1{font-size:26px}.tabbar,.mobile-only{display:none}@media (width<=860px){.side{display:none}.mobile-only{display:flex}.content{padding:0 12px calc(72px + var(--safe-b))}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + var(--safe-b));z-index:30;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;font-size:11px;font-weight:700;text-decoration:none;display:flex}.tab.on{color:var(--accent)}.tab:hover{text-decoration:none}.page-h h1{font-size:22px}}.subnav{scrollbar-width:none;gap:4px;margin-bottom:14px;padding-bottom:6px;display:flex;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.subnav a,.subnav button{color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:999px;flex:none;padding:7px 12px;font-size:13.5px;font-weight:600;text-decoration:none}.subnav .on{background:var(--surface);border-color:var(--line-2);color:var(--ink)}.settings-grid{grid-template-columns:1fr;gap:16px;max-width:720px;display:grid}.hours-row{border-top:1px solid var(--line);grid-template-columns:96px 1fr;align-items:start;gap:10px;padding:10px 0;display:grid}.hours-row:first-child{border-top:0}.hours-row .day{padding-top:8px;font-weight:700}.hours-row input[type=time]{border:1px solid var(--line-2);background:var(--surface);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:8px;width:112px;min-height:38px;padding:6px 8px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px}.swatch.on{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px;display:grid}.bar{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.bar>i{background:var(--accent);border-radius:4px;height:100%;display:block}.gs{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:16px;padding:14px 16px}.gs-item{align-items:center;gap:10px;padding:7px 0;font-size:14px;font-weight:600;display:flex}.gs-item.done{color:var(--muted);text-decoration:line-through}.gs-dot{border:2px solid var(--line-2);border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:inline-flex}.gs-item.done .gs-dot{background:var(--ok);border-color:var(--ok);color:#fff}.auth{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:20px;padding:28px 26px}.auth h1{margin:14px 0 4px;font-size:26px}.auth form{flex-direction:column;gap:14px;margin-top:18px;display:flex}.ob{max-width:640px;margin:0 auto;padding:28px 16px 80px}.ob-steps{gap:6px;margin-bottom:22px;display:flex}.ob-steps i{background:var(--line);border-radius:4px;flex:1;height:4px}.ob-steps i.on{background:var(--accent)}.ind-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.ind{border:1px solid var(--line-2);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;font-size:13.5px;font-weight:600;display:flex}.ind.on{border-color:var(--accent);background:var(--accent-soft)}.ind .ico{font-size:22px}.svc-edit{border-top:1px solid var(--line);grid-template-columns:1fr 76px 88px 36px;align-items:center;gap:8px;padding:8px 0;display:grid}.svc-edit input{border:1px solid var(--line-2);border-radius:8px;width:100%;min-height:36px;padding:6px 9px}.linkbox{border:1px dashed var(--line-2);background:var(--surface-2);font-family:var(--mono);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:13.5px;display:flex;overflow:hidden}.linkbox span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.share-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.qr{width:160px;height:160px;image-rendering:pixelated;border:1px solid var(--line);background:#fff;border-radius:8px}.cal-h{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 12px;display:flex}.cal-h h1{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:22px;overflow:hidden}.cal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-title{align-items:baseline;gap:8px;min-width:0;display:flex}.cal-title .sub{color:var(--muted);font-size:14px}.cal-nav{gap:2px;display:inline-flex}.cal-nav .btn{min-height:36px;padding:0 10px}.staff-chips{scrollbar-width:none;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.staff-chips::-webkit-scrollbar{display:none}.cal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:clip}.cal-cols{grid-template-columns:52px repeat(var(--n), minmax(0, 1fr));display:grid}.cal-head{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.cal-head .colh{text-align:center;color:var(--ink-2);border-left:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:10px 6px;font-size:12.5px;font-weight:700;overflow:hidden}.cal-head .colh b{font-size:18px;font-family:var(--display);color:var(--ink);font-weight:500;line-height:1.1;display:block}.cal-head .colh.today b{color:var(--accent)}.cal-head .colh .avatar{width:28px;height:28px;margin:0 auto 4px;font-size:12px}.cal-body{max-height:calc(100vh - var(--nav-h) - 130px);position:relative;overflow:auto}.cal-body>.cal-cols:not(.cal-head){margin-top:10px}.cal-gutter{position:relative}.cal-gutter .hr{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.cal-col{border-left:1px solid var(--line);min-width:0;position:relative}.cal-col .line{border-top:1px solid var(--line);pointer-events:none;position:absolute;left:0;right:0}.cal-col .line.minor{border-color:#efede7;border-top-style:dashed}.cal-col .closed{pointer-events:none;background:repeating-linear-gradient(135deg,#f3f1ec 0 6px,#ebe8e1 6px 12px);position:absolute;left:0;right:0}.cal-col .now{border-top:2px solid var(--bad);z-index:3;pointer-events:none;position:absolute;left:0;right:0}.cal-col .now:before{content:"";background:var(--bad);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-5px}.cal-col .hit{cursor:pointer;position:absolute;left:0;right:0}.cal-col .hit:hover{background:var(--accent-soft)}.ev{background:var(--c-soft,var(--accent-soft));color:var(--ink);border-left:3px solid var(--c,var(--accent));cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;padding:4px 7px;font-size:12.5px;line-height:1.25;position:absolute;left:3px;right:3px;overflow:hidden;box-shadow:0 1px #0000000a}.ev:hover{filter:brightness(.97);z-index:4}.ev.dragging{opacity:.75;z-index:10;box-shadow:var(--shadow-lg)}.ev b{text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.ev span{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ev.short{padding:2px 7px}.ev.short span{display:none}.ev.pending{background:repeating-linear-gradient(135deg, #fff 0 4px, var(--c-soft,var(--accent-soft)) 4px 8px);border-left-style:dashed}.ev.done{opacity:.6}.ev.noshow{opacity:.55;text-decoration:line-through}.ev.online:after{content:"●";color:var(--c,var(--accent));font-size:8px;position:absolute;top:4px;right:6px}.ev.block{border-left-color:var(--line-2);color:var(--muted);background:repeating-linear-gradient(135deg,#f3f1ec 0 6px,#e6e3db 6px 12px)}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;max-height:220px;padding:2px;display:grid;overflow:auto}.slot{border:1px solid var(--line-2);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:8px;min-height:38px;font-size:13.5px;font-weight:600}.slot:hover{border-color:var(--accent)}.slot.on{background:var(--ink);color:#fff;border-color:var(--ink)}.agenda-day{margin-bottom:18px}.agenda-day h3{align-items:baseline;gap:8px;margin:0 0 6px;display:flex}.agenda-day h3 .muted{font-size:13px;font-weight:500}.agenda-item{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-left-width:4px;border-left-color:var(--c,var(--accent));border-radius:12px;align-items:center;gap:12px;margin-bottom:6px;padding:10px 12px;display:flex}.agenda-item .t{font-variant-numeric:tabular-nums;flex:none;width:48px;font-weight:700}.agenda-item .grow{min-width:0}.client-hits{border:1px solid var(--line-2);border-radius:10px;margin-top:-8px;overflow:hidden}.client-hits button{border:0;border-top:1px solid var(--line);background:var(--surface);text-align:left;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.client-hits button:first-child{border-top:0}.client-hits button:hover{background:var(--surface-2)}.detail-row{border-top:1px solid var(--line);gap:10px;padding:8px 0;font-size:14px;display:flex}.detail-row:first-child{border-top:0}.detail-row .k{width:96px;color:var(--muted);flex:none;padding-top:1px;font-size:13px}.detail-row .v{flex:1;min-width:0}.status-row{flex-wrap:wrap;gap:6px;margin:8px 0 14px;display:flex}.fab{display:none}@media (width<=860px){.cal-h{gap:8px 6px}.cal-h h1{font-size:18px}.cal-title{flex:auto;min-width:0}.cal-actions{justify-content:space-between;width:100%}.desktop-only{display:none}.cal-body{max-height:none;overflow:visible}.cal-head{top:var(--nav-h)}.cal-cols{grid-template-columns:44px repeat(var(--n), minmax(0, 1fr))}.fab{right:16px;bottom:calc(76px + var(--safe-b));background:var(--ink);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-lg);z-index:25;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:28px;display:flex;position:fixed}.ev{padding:3px 5px;font-size:12px;left:2px;right:2px}}
