@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/PlusJakartaSans-latin.woff2) format("woff2")}:root{--bg: #faf6f0;--bg-tint: #f5f1e9;--surface: #ffffff;--surface-2: #f9fafb;--surface-3: #f3f4f6;--border: #e5e7eb;--border-strong:#d1d5db;--ink: #111827;--ink-2: #374151;--ink-3: #6b7280;--ink-mute: #9ca3af;--primary: #16a34a;--primary-deep: #15803d;--primary-soft: #dcfce7;--secondary: #5eead4;--secondary-deep: #0f766e;--secondary-soft: #ccfbf1;--alert: #c0793a;--alert-deep: #92400e;--alert-soft: #fef3e7;--wa: #25d366;--warn: #ca8a04;--warn-deep: #854d0e;--warn-soft: #fef9c3;--status-attention: #ca8a04;--status-attention-ink: #7d5c05;--status-attention-soft: #fdf3c4;--status-live: #0d9488;--status-live-ink: #0b7268;--status-live-soft: #cdf3ee;--status-done: #9ca3af;--status-done-ink: #6b7280;--status-done-soft: #eef0f2;--status-off: #e60f2b;--status-off-ink: #b00c20;--status-off-soft: #fcd9dd;--st-requested: var(--status-attention);--st-requested-ink: var(--status-attention-ink);--st-requested-soft: var(--status-attention-soft);--st-unconfirmed: var(--status-attention);--st-unconfirmed-ink: var(--status-attention-ink);--st-unconfirmed-soft: var(--status-attention-soft);--st-confirmed: var(--status-live);--st-confirmed-ink: var(--status-live-ink);--st-confirmed-soft: var(--status-live-soft);--st-arrived: var(--status-live);--st-arrived-ink: var(--status-live-ink);--st-arrived-soft: var(--status-live-soft);--st-collected: var(--status-done);--st-collected-ink: var(--status-done-ink);--st-collected-soft: var(--status-done-soft);--st-cancelled: var(--status-off);--st-cancelled-ink: var(--status-off-ink);--st-cancelled-soft: var(--status-off-soft);--st-declined: var(--status-off);--st-declined-ink: var(--status-off-ink);--st-declined-soft: var(--status-off-soft);--viewing: #efc63c;--viewing-soft: var(--warn-soft);--viewing-deep: #7a5c07;--st-expected: var(--viewing);--st-expected-ink: var(--viewing-deep);--st-expected-soft: var(--viewing-soft);--st-visited: var(--status-done);--st-visited-ink: var(--status-done-ink);--st-visited-soft: var(--status-done-soft);--st-no-show: var(--status-off);--st-no-show-ink: var(--status-off-ink);--st-no-show-soft: var(--status-off-soft);--due: #ea7317;--due-ink: #c2410c;--due-soft: #fde6d3;--pm: oklch(.74 .09 58);--pm-deep: oklch(.5 .1 51);--pm-soft: oklch(.96 .022 67);--brand: #008080;--brand-deep: #006666;--brand-soft: #e0f2f1;--sel-bg: var(--brand-soft);--heat-0: var(--surface-2);--heat-1: #d6eceb;--heat-2: #a9d6d5;--heat-3: #6fbdbb;--heat-4: #2f9c99;--heat-5: var(--brand);--flag-meds: #7c5cbf;--flag-meds-soft: #efeaff;--avatar-clay: oklch(.92 .05 50);--avatar-sage: oklch(.92 .04 160);--avatar-mist: oklch(.92 .04 220);--avatar-mauve: oklch(.92 .05 320);--wa-green: #25d366;--shadow-sm: 0 1px 2px -1px oklch(.2 .04 250 / .1), 0 6px 16px -10px oklch(.2 .04 250 / .1);--shadow-lg: 0 24px 60px -20px oklch(.2 .04 250 / .18), 0 8px 20px -12px oklch(.2 .04 250 / .1);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-avatar: 30%;--dur-fast: .1s;--dur: .12s;--dur-reveal: .26s;--ease: cubic-bezier(.4, 0, .2, 1);--field: transparent;--field-hover: var(--bg-tint);--field-border: rgba(140, 100, 55, .2);--control-h: 34px;--control-w-icon: 38px;--topbar-h: calc(var(--control-h) + 32px);--topbar-h-shrunk: calc(var(--control-h) + 20px);--sidebar-w: 216px;--sidebar-w-collapsed: 64px;--z-dropdown: 40;--z-topbar: 50;--pad-shell-x: 14px;--pad-shell-bottom: 24px;--pad-view-x: 12px;--pad-view-bottom: 30px;--text-eyebrow: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--weight-body: 400;--weight-medium: 500;--weight-strong: 600;--weight-display: 700;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: var(--font-sans);--weight-lead: var(--weight-medium);--weight-sub: var(--weight-body);--ink-lead: var(--ink);--ink-body: var(--ink-2);--ink-sub: var(--ink-3);--size-lead: var(--text-base);--size-body: var(--text-sm);--size-sub: var(--text-xs);--tracking-tight: -.02em;--tracking-snug: -.005em;--tracking-flat: 0;--tracking-eyebrow: .06em;--opacity-muted: .55;--opacity-disabled: .4}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-md);line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono{font-family:var(--font-mono);font-feature-settings:"ss01"}.amount{font-family:var(--font-sans);font-weight:var(--weight-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.desk-actions .amount{font-size:var(--text-sm)}button{font-family:inherit}input,select,textarea{font-family:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.app.sidebar-layout{min-height:100vh;display:flex;flex-direction:column}.shell-body{display:flex;flex:1;min-height:0}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 0;gap:18px;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));z-index:20;transition:width .26s var(--ease),padding .26s var(--ease),top .28s var(--ease),height .28s var(--ease)}.app.sidebar-layout.tb-shrunk .sidebar{top:var(--topbar-h-shrunk);height:calc(100vh - var(--topbar-h-shrunk))}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 16px;width:100%;border:none;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm)}.sidebar-nav{display:flex;flex-direction:column;gap:14px;padding:0 10px;flex:1;overflow-y:auto}.sb-group{display:flex;flex-direction:column;gap:2px}.sb-group-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-mute);font-weight:var(--weight-strong);padding:4px 10px}.sb-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;background:transparent;border-radius:8px;cursor:pointer;font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--ink-2);letter-spacing:var(--tracking-snug);text-align:left;transition:var(--dur-fast) background,var(--dur-fast) color}.sb-item:hover{background:var(--bg-tint);color:var(--ink)}.sb-item.active,.sb-item.active:hover{background:var(--brand-soft);color:var(--brand-deep)}.sb-item.active .icon{stroke:var(--brand-deep);stroke-width:2.3}.sidebar-foot{padding:10px 10px 4px;border-top:1px solid var(--border)}.sidebar-foot .btn.sm{gap:10px}.sidebar-userwrap{position:relative}.sidebar-user{width:100%;justify-content:flex-start;padding:8px 10px}.sidebar-user .avatar{flex:none}.sidebar-user-id{flex:1;text-align:left;min-width:0}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{font-size:var(--text-eyebrow);color:var(--ink-3)}.usermenu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.sidebar-usermenu{left:0;right:0;bottom:calc(100% + 6px);z-index:41;min-width:180px;border-radius:var(--radius);padding:4px}.usermenu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;background:transparent;border-radius:7px;font-size:var(--text-base);color:var(--ink);white-space:nowrap;cursor:pointer;transition:background .15s ease}.usermenu-item .avatar,.usermenu-item svg{flex:none}.usermenu-item:hover:not(:disabled){background:var(--surface-3)}.usermenu-item:disabled{opacity:.6;cursor:default}.toast-viewport{position:fixed;top:16px;right:16px;z-index:1100;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:center;gap:10px;pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:10px;box-shadow:0 8px 24px #00000024;padding:11px 12px;font-size:var(--text-base);color:var(--ink);animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.toast-msg{flex:1;min-width:0}.toast-success{border-left-color:var(--brand)}.toast-success>svg:first-child{color:var(--brand-deep)}.toast-error{border-left-color:var(--alert)}.toast-error>svg:first-child{color:var(--alert-deep)}.toast-info{border-left-color:var(--ink-3)}.toast-close{flex:none;display:grid;place-items:center;width:24px;height:24px;border:none;background:transparent;color:var(--ink-mute);border-radius:6px;cursor:pointer}.toast-close:hover{color:var(--ink);background:var(--surface-3)}@media (max-width: 767px){.toast-viewport{top:12px;right:12px;left:12px;max-width:none}}.main{flex:1;min-width:0}.page-title{margin:0;font-size:var(--text-2xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink)}.bookings{padding:18px var(--pad-view-x) var(--pad-view-bottom);display:flex;flex-direction:column;gap:14px}.page-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}.search-wrap{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px 14px;color:var(--ink-3);min-width:240px}.search-wrap input{border:0;background:transparent;outline:none;font-size:var(--text-base);color:var(--ink);flex:1;min-width:0}.filter-chip-group{display:flex;gap:4px;align-items:center}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);transition:var(--dur-fast) background,var(--dur-fast) border-color}.filter-chip:hover{background:var(--bg-tint)}.filter-chip.on{border-color:var(--brand);background:var(--brand);color:var(--bg)}.filter-chip .count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-3);background:var(--bg-tint);padding:0 6px;border-radius:var(--radius-sm)}.filter-chip.on .count{background:oklch(from var(--bg) l c h / .18);color:var(--bg)}.filter-chip.unconfirmed{border-color:var(--st-unconfirmed);color:var(--st-unconfirmed-ink)}.filter-chip.confirmed{border-color:var(--st-confirmed);color:var(--st-confirmed-ink)}.filter-chip.arrived{border-color:var(--st-arrived);color:var(--st-arrived-ink)}.filter-chip.collected{border-color:var(--st-collected);color:var(--st-collected-ink)}.filter-chip.cancelled{border-color:var(--st-cancelled);color:var(--st-cancelled-ink)}.filter-chip.unconfirmed:hover,.filter-chip.unconfirmed.on{background:var(--st-unconfirmed-soft)}.filter-chip.confirmed:hover,.filter-chip.confirmed.on{background:var(--st-confirmed-soft)}.filter-chip.arrived:hover,.filter-chip.arrived.on{background:var(--st-arrived-soft)}.filter-chip.collected:hover,.filter-chip.collected.on{background:var(--st-collected-soft)}.filter-chip.cancelled:hover,.filter-chip.cancelled.on{background:var(--st-cancelled-soft)}.filter-chip.unconfirmed.on .count,.filter-chip.confirmed.on .count,.filter-chip.arrived.on .count,.filter-chip.collected.on .count,.filter-chip.cancelled.on .count{background:var(--bg-tint);color:var(--ink-2)}.status-dot{width:7px;height:7px;border-radius:50%}.status-dot.primary{background:var(--primary)}.status-dot.secondary{background:var(--secondary)}.status-dot.alert{background:var(--alert)}.status-dot.mute{background:var(--ink-mute)}.bookings-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.bt-row{display:grid;grid-template-columns:2fr 1.1fr .7fr 1.5fr .7fr 1fr .8fr .8fr;align-items:center;padding:12px 18px;gap:14px;border-bottom:1px solid var(--border);cursor:pointer;transition:.15s background,.2s box-shadow}.bt-row:last-child{border-bottom:0}.bt-row:not(.head):hover{background:var(--bg-tint)}.bt-row.head{background:var(--surface-2);cursor:default}.bt-head-btn{border:0;background:transparent;padding:0;margin:0;font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong);cursor:pointer;text-align:left;font-family:inherit;display:inline-flex;align-items:center;gap:4px;transition:var(--dur-fast) color;justify-self:start}.bt-head-btn:hover,.bt-head-btn.active{color:var(--ink)}.bt-sort-arrow{font-size:var(--text-sm);line-height:1;color:var(--ink-2);font-family:var(--font-mono)}.bt-sort-arrow.is-hidden{visibility:hidden}.bt-row.cancelled .bt-dogs,.bt-row.cancelled .bt-num,.bt-row.cancelled .bt-stay,.bt-row.cancelled .bt-area,.bt-row.cancelled .bt-breed{opacity:var(--opacity-muted);text-decoration:line-through;text-decoration-color:var(--ink-mute)}.bt-breed{font-size:var(--text-sm);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.bt-added{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap}.bt-stay{display:flex;flex-direction:column;gap:2px;min-width:0}.bt-stay-dates{font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-stay-nights{font-size:var(--text-xs);color:var(--ink-3);letter-spacing:var(--tracking-eyebrow)}.bt-due-rate{font-family:var(--font-mono)}.bt-row.today-flag{box-shadow:inset 3px 0 0 var(--brand)}.bt-row.today-flag.status-confirmed{box-shadow:inset 3px 0 0 var(--st-confirmed)}.bt-row.today-flag.status-collected{box-shadow:inset 3px 0 0 var(--st-collected)}.bt-row.today-flag.status-cancelled{box-shadow:inset 3px 0 0 var(--st-cancelled)}.bt-row.status-arrived{box-shadow:inset 3px 0 0 var(--st-arrived)}.bt-row.is-boarding{box-shadow:inset 3px 0 0 var(--brand)}.bt-row.status-unconfirmed,.desk-row.status-unconfirmed{background:var(--st-unconfirmed-soft)}.desk-row.status-requested{background:var(--st-requested-soft)}.bt-dogs{display:flex;align-items:center;gap:12px;min-width:0}.dog-pile{display:flex}.dog-pile>*+*{margin-left:-8px}.dog-pile .avatar{border:2px solid var(--surface)}.bt-meta{min-width:0}.bt-meta .dog-names{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink);display:flex;align-items:center;gap:6px;min-width:0}.bt-meta .dog-names .dog-names-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.health-warn{display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 5px;border-radius:var(--radius-sm);font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:var(--tracking-flat);flex-shrink:0;line-height:1.4}.health-warn.red{background:var(--alert-soft);color:var(--alert-deep);border:1px solid var(--alert)}.health-warn.amber{background:var(--warn-soft);color:var(--warn-deep);border:1px solid var(--warn)}.dog-name-unit{display:inline-flex;align-items:center}.dog-name-unit .dog-sep{color:var(--ink-mute);margin:0 4px;font-weight:var(--weight-body)}.flag-strip{display:inline-flex;align-items:center;gap:3px;margin-left:5px;flex-shrink:0}.bflag{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);border:1px solid transparent;flex-shrink:0}.bflag .icon{width:12px;height:12px}.bflag.tint-new{color:var(--brand-deep);background:var(--brand-soft)}.bflag.tint-meds{color:var(--flag-meds);background:var(--flag-meds-soft)}.bflag.tint-food{color:var(--brand-deep);background:var(--brand-soft)}.bflag.tint-note{color:var(--ink-3);background:var(--surface-3)}.bflag.tint-vax{color:var(--warn-deep);background:var(--warn-soft)}.bflag.tint-mix{color:var(--alert-deep);background:var(--alert-soft)}.bflag.bflag-warnmark{color:var(--st-cancelled-ink);background:var(--st-cancelled-soft)}.bflag-new{display:inline-flex;align-items:center;height:18px;padding:0 4px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-deep);font-size:9px;font-weight:var(--weight-display);line-height:1;letter-spacing:.01em;flex-shrink:0}.bflag-new.tint-viewing{background:var(--viewing-soft);color:var(--viewing-deep)}.flag-detail-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.flag-detail{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm)}.flag-detail b{font-weight:var(--weight-strong)}.flag-detail .who{color:var(--ink-3)}.carried-note{display:flex;align-items:center;gap:6px;padding:6px 11px;margin-bottom:7px;background:var(--brand-soft);color:var(--brand-deep);border:1px solid var(--brand);border-radius:var(--radius);font-size:var(--text-xs);font-weight:var(--weight-strong)}.carried-note .icon{flex-shrink:0}.pane-head-avatar{border:none;background:none;padding:0;cursor:pointer;border-radius:50%;display:inline-flex;flex-shrink:0;transition:transform var(--dur) ease,box-shadow var(--dur) ease}.pane-head-avatar:hover{transform:scale(1.04);box-shadow:0 0 0 3px var(--brand-soft)}.pane-head-avatar:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand)}.do-not-mix-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:var(--weight-body)}.do-not-mix-toggle input{width:auto;margin:0;flex-shrink:0}.do-not-mix-toggle strong{color:var(--alert-deep)}.health-banner{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;border-radius:8px;font-size:var(--text-sm);font-weight:var(--weight-strong)}.health-banner.red{background:var(--alert-soft);color:var(--alert-deep);border:1px solid var(--alert)}.health-banner.amber{background:var(--warn-soft);color:var(--warn-deep);border:1px solid var(--warn)}.field.flag-amber>input{border-color:var(--warn);background:var(--warn-soft)}.field-flag-hint{display:flex;align-items:center;gap:5px;margin-top:5px;font-size:var(--text-xs);font-weight:var(--weight-display);color:var(--warn-deep)}.bt-meta .owner-name{margin-top:1px}.bt-date{font-size:var(--text-sm)}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:var(--radius);font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);border:1px solid transparent;background:var(--st-soft, var(--surface-2));cursor:pointer;transition:var(--dur) background,var(--dur) border-color,var(--dur) color;color:var(--st-ink, var(--ink-2))}.status-pill:hover:not(:disabled){background:color-mix(in oklab,var(--st-tone, var(--ink-3)) 14%,var(--st-soft, var(--surface-2)))}.status-pill.is-busy{opacity:.65;cursor:default}.status-pill.sm{padding:2px 8px;font-size:var(--text-eyebrow);gap:5px;border-radius:var(--radius-sm)}.status-pill.sm svg{width:11px;height:11px}.status-pill.glyph{width:18px;height:18px;padding:0;gap:0;justify-content:center;flex:0 0 auto}.status-pill.glyph svg{width:11px;height:11px}.status-pill.glyph,.status-pill.glyph:hover{background:var(--st-soft, var(--surface-2));cursor:inherit}.status-pill.paid{--st-tone: var(--primary);--st-ink: var(--primary-deep);--st-soft: var(--primary-soft)}.status-pill.partial{--st-tone: var(--warn);--st-ink: var(--warn-deep);--st-soft: var(--warn-soft)}.status-pill.unpaid{--st-tone: var(--border-strong);--st-ink: var(--ink-3);--st-soft: var(--surface-2)}.status-pill:disabled{cursor:default;pointer-events:none}.status-pill .dot-ind{width:7px;height:7px;border-radius:50%;background:var(--st-ink, var(--ink-mute))}.status-pill.unconfirmed{--st-tone: var(--st-unconfirmed);--st-ink: var(--st-unconfirmed-ink);--st-soft: var(--st-unconfirmed-soft)}.status-pill.confirmed{--st-tone: var(--st-confirmed);--st-ink: var(--st-confirmed-ink);--st-soft: var(--st-confirmed-soft)}.status-pill.arrived{--st-tone: var(--st-arrived);--st-ink: var(--st-arrived-ink);--st-soft: var(--st-arrived-soft)}.status-pill.collected{--st-tone: var(--st-collected);--st-ink: var(--st-collected-ink);--st-soft: var(--st-collected-soft)}.status-pill.cancelled{--st-tone: var(--st-cancelled);--st-ink: var(--st-cancelled-ink);--st-soft: var(--st-cancelled-soft)}.status-pill.declined{--st-tone: var(--st-declined);--st-ink: var(--st-declined-ink);--st-soft: var(--st-declined-soft)}.status-pill.expected{--st-tone: var(--st-expected);--st-ink: var(--st-expected-ink);--st-soft: var(--st-expected-soft)}.status-pill.visited{--st-tone: var(--st-visited);--st-ink: var(--st-visited-ink);--st-soft: var(--st-visited-soft)}.status-pill.no-show{--st-tone: var(--st-no-show);--st-ink: var(--st-no-show-ink);--st-soft: var(--st-no-show-soft)}.bookings-empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;padding:60px 20px;color:var(--ink-3);font-size:var(--text-base)}.bookings-week{display:flex;flex-direction:column;gap:14px}.bw-stats{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:10px}.bw-stats.four{grid-template-columns:repeat(4,1fr)}.bw-stats.three{grid-template-columns:repeat(3,1fr)}.val-split{display:flex;align-items:center;gap:14px;margin-top:4px}.val-split .vs-cell{display:flex;align-items:baseline;gap:6px}.val-split .vs-tag{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong)}.val-split .vs-num{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);color:var(--ink)}.val-split .vs-sep{width:1px;align-self:stretch;background:var(--border)}.val-total{display:flex;flex-direction:column;gap:1px;min-width:0}.val-total .vt-num{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:1.1}.val-total .vt-break{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap}.bw-stat .val .sub-num{font-size:var(--text-md);color:var(--ink-3);font-weight:var(--weight-medium);margin-left:2px}.bw-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.bw-stat .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong)}.stat-label{display:flex;align-items:center;gap:5px}.stat-ico{color:var(--ink-3);opacity:.65;flex:0 0 auto}.bw-stat.prime .stat-ico{color:var(--bg);opacity:.8}.stat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-head .stat-label{min-width:0}.stat-detail{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap;flex:0 0 auto}.bw-stat.prime .stat-detail{color:var(--bg);opacity:.85}.bw-stat .val{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);margin-top:4px}.bw-stat.prime{background:var(--brand);color:var(--bg);border-color:var(--brand)}.bw-stat.prime .label{color:var(--bg)}.bw-stat.prime .val{color:var(--bg);font-size:var(--text-lg)}.bw-controls{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}.bw-ctl-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.bw-legend{display:flex;gap:12px;font-size:var(--text-xs);color:var(--ink-3)}.bw-leg-item{display:inline-flex;align-items:center;gap:5px}.bw-leg-swatch{display:inline-block;width:14px;height:8px;border-radius:3px}.bw-leg-swatch.big{background:var(--primary);border:1px solid var(--primary-deep)}.bw-leg-swatch.little{background:var(--secondary-soft);border:1px solid var(--secondary)}.bw-leg-swatch.house{background:var(--alert-soft);border:1px solid var(--alert)}.bw-leg-swatch.other{background:var(--bg-tint);border:1px solid var(--border-strong)}.bw-gantt{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto;overflow-y:visible;position:relative}.bw-head-row,.bw-row{display:flex;min-width:max-content;align-items:stretch}.bw-head-row{background:var(--surface-2);border-bottom:1px solid var(--border-strong);position:sticky;top:0;z-index:3}.bw-corner{width:var(--first-col);flex-shrink:0;padding:8px 14px;border-right:1px solid var(--border-strong);background:var(--surface-2);position:sticky;left:0;z-index:4;display:flex;align-items:center}.bw-corner-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.bw-head-cells{display:flex}.bw-day-head{width:var(--col-w);flex-shrink:0;padding:6px 4px;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:1px;position:relative}.bw-day-head.weekend{background:var(--bg-tint)}.bw-day-head.today{background:var(--brand-soft)}.bw-day-head.month-start{border-left:2px solid var(--ink)}.bw-day-head .dow{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.bw-day-head .dnum{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink)}.bw-day-head.today .dnum{color:var(--brand-deep)}.bw-day-head .cap-bar{width:80%;height:3px;background:var(--bg-tint);border-radius:var(--radius-sm);overflow:hidden;margin-top:2px}.bw-day-head .cap-fill{display:block;height:100%;background:var(--primary);border-radius:var(--radius-sm)}.bw-day-head .month-tag{position:absolute;bottom:-2px;left:4px;font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);text-transform:uppercase}.bw-body{display:flex;flex-direction:column}.bw-row{border-bottom:1px solid var(--border);min-height:var(--row-h);height:var(--row-h)}.bw-row:last-child{border-bottom:0}.bw-row:hover .bw-dog-col{background:var(--bg-tint)}.bw-dog-col{width:var(--first-col);flex-shrink:0;position:sticky;left:0;z-index:2;background:var(--surface);padding:0 12px;border-right:1px solid var(--border-strong);display:flex;align-items:center;gap:9px;min-width:0}.bw-dog-col .info{min-width:0;flex:1;line-height:1.15}.bw-dog-col .info .name{font-size:var(--text-sm);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.bw-dog-col .info .owner{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bw-dog-col .solo-flag{width:16px;height:16px;border-radius:50%;background:var(--alert);color:var(--bg);font-size:var(--text-eyebrow);font-weight:var(--weight-display);display:grid;place-items:center;flex-shrink:0;cursor:help}.bw-track{position:relative;display:flex;flex-grow:1}.bw-cell{width:var(--col-w);flex-shrink:0;border-right:1px dashed var(--border)}.bw-cell.weekend{background:var(--bg-tint)}.bw-cell.today{background:oklch(from var(--brand-soft) l c h / .5)}.bw-bar{position:absolute;top:4px;bottom:4px;border-radius:6px;background:var(--primary-soft);border:1px solid var(--primary);display:flex;align-items:center;gap:6px;padding:0 8px;font-size:var(--text-xs);font-weight:var(--weight-strong);color:var(--primary-deep);cursor:pointer;overflow:hidden;z-index:1;transition:var(--dur) transform,var(--dur) box-shadow}.bw-bar:hover{transform:translateY(-1px);box-shadow:0 4px 10px -4px #07172733;z-index:2}.bw-bar.continues-left{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0}.bw-bar.continues-right{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.bw-bar.status-arrived{background:var(--primary);border-color:var(--primary-deep);color:var(--ink)}.bw-bar.status-collected{background:var(--bg-tint);border-color:var(--border-strong);color:var(--ink-3)}.bw-bar.area-little{background:var(--secondary-soft);border-color:var(--secondary);color:var(--secondary-deep)}.bw-bar.area-other{background:var(--bg-tint);border-color:var(--border-strong);color:var(--ink-2)}.bw-bar .bar-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bw-bar .bar-time{font-size:var(--text-eyebrow);font-weight:var(--weight-medium);opacity:var(--opacity-muted);flex-shrink:0}.bw-bar .bar-arrow{font-size:var(--text-xs);opacity:var(--opacity-muted);flex-shrink:0}.bw-group-row{display:flex;background:var(--surface-2);border-bottom:1px solid var(--border);position:sticky;left:0;z-index:1}.bw-group-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-2);font-weight:var(--weight-display);padding:7px 14px;width:var(--first-col);flex-shrink:0;position:sticky;left:0;background:var(--surface-2)}.bw-empty-group{padding:12px 14px 12px calc(var(--first-col) + 14px);font-size:var(--text-xs);color:var(--ink-mute);font-style:italic}.bookings-cal-wrap{display:flex;flex-direction:column;gap:14px}.bookings-cal-wrap.is-pending,.bookings-chart.is-pending,.charts-wrap.is-pending{opacity:.55;transition:opacity .15s ease;pointer-events:none}.bc-month{display:flex;flex-direction:column;gap:10px}.page-date-nav-row{display:flex;justify-content:center;padding:4px 0 2px}.bc-month-nav{display:inline-flex;align-items:center;gap:4px;padding:0}.bc-month-nav.tight{gap:4px}.bc-month-label{margin:0;font-size:var(--text-xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink);text-align:center;padding:4px 10px;border-radius:6px;min-width:140px}.bc-month-nav.tight .bc-month-label{font-size:var(--text-lg);min-width:130px}.month-label-wrap{position:relative}.month-label-trigger{border:0;background:transparent;font-family:inherit;cursor:pointer;color:var(--ink);transition:var(--dur-fast) background}.month-label-trigger:hover{background:var(--bg-tint)}.month-grid-popover{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:30;width:240px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:10px}.charts-wrap{display:flex;flex-direction:column;gap:14px}.charts-scope-bar{display:flex;align-items:center;justify-content:center;gap:18px;padding:4px 4px 8px;flex-wrap:wrap}.charts-month-sep{color:var(--ink-3);font-size:var(--text-xl);font-weight:var(--weight-medium);padding:0 4px}.dog-chip-list{display:flex;flex-wrap:wrap;gap:6px}.dog-chip-mini{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);transition:var(--dur-fast) background,var(--dur-fast) border-color,var(--dur-fast) color}.dog-chip-mini:hover{background:var(--bg-tint)}.dog-chip-mini.on{border-color:var(--border-strong);color:var(--ink)}.dog-chip-mini.warn{border-color:var(--alert);color:var(--alert-deep)}.dog-chip-mini.on.warn{color:var(--alert-deep);border-color:var(--alert)}.dog-chip-mini .check-mark{display:inline-flex;margin-right:2px;color:var(--ink)}.dog-chip-mini .name{font-weight:var(--weight-strong)}.dog-chip-mini .sub{color:var(--ink-3);font-size:var(--text-xs)}.dog-chip-mini.on .sub{color:var(--ink-3);opacity:1}.dog-chip-mini.add{padding:4px 12px;color:var(--ink-2)}.confirm-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#07172773;display:grid;place-items:center;z-index:100}.confirm-dialog{background:var(--surface);border-radius:12px;padding:22px 24px 20px;max-width:420px;width:calc(100% - 40px);box-shadow:0 24px 60px -16px #0717274d}.confirm-msg{margin:0 0 18px;font-size:var(--text-base);color:var(--ink-2);line-height:1.5}.btn.danger{background:var(--alert);color:var(--bg);border-color:var(--alert)}.btn.danger:hover{background:var(--alert-deep);border-color:var(--alert-deep)}.bd-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bd-meta-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-display)}.bd-status-wrap{position:relative}.bd-status-trigger{cursor:pointer}.bd-status-trigger .chip-arrow{font-size:var(--text-eyebrow);opacity:var(--opacity-muted);margin-left:4px}.bd-status-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:180px}.bd-status-menu .status-dot{width:8px;height:8px;border-radius:50%;margin-right:2px}.field .mini-toggle{align-self:flex-start}.picker-preview{margin-bottom:18px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--surface);padding:14px 16px}.picker-preview .pp-banner{font-size:var(--text-xs);color:var(--alert-deep);font-weight:var(--weight-display);margin-bottom:14px;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.picker-preview .pp-block{margin-bottom:28px}.picker-preview .pp-block:last-child{margin-bottom:0}.picker-preview .pp-head{font-size:var(--text-sm);color:var(--ink-2);margin-bottom:12px}.dp{width:460px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px -16px #07172733;overflow:hidden}.dp.wide{width:680px}.dp .dp-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.dp .dp-head h3{margin:0;font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.dp .dp-body{padding:14px 18px;display:flex;flex-direction:column;gap:14px}.dp .dp-body.dp-two-col{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}.dp .dp-col{display:flex;flex-direction:column;gap:14px}.dp section{display:flex;flex-direction:column;gap:10px}.dp .dp-section{background:var(--bg-tint);border-radius:8px;padding:10px 12px}.dp .dp-section-label{font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3)}.dp-owner{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.dp-avatar{width:30px;height:30px;border-radius:50%;background:var(--avatar-clay);font-size:var(--text-xs);font-weight:var(--weight-strong);display:grid;place-items:center}.dp-owner-info{flex:1;min-width:0}.dp-owner-name{font-size:var(--text-base);font-weight:var(--weight-strong)}.dp-owner-sub{font-size:var(--text-xs);color:var(--ink-3)}.dp-pencil{width:26px;height:26px;border:1px solid var(--border);background:var(--surface);border-radius:50%;cursor:pointer;display:grid;place-items:center;color:var(--ink-3)}.dp-dogs{display:flex;flex-wrap:wrap;gap:6px}.dp-dog{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);font-size:var(--text-sm);font-weight:var(--weight-medium)}.dp-dog.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-deep)}.dp-davatar{width:18px;height:18px;border-radius:50%;background:var(--avatar-sage);font-size:var(--text-eyebrow);font-weight:var(--weight-strong);display:grid;place-items:center}.dp-bsub{font-size:var(--text-xs);color:var(--ink-3);margin-left:2px}.dp-add-dog{padding:5px 12px;border:1px dashed var(--border-strong);background:transparent;border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:var(--text-xs);color:var(--ink-3);font-weight:var(--weight-medium)}.dp-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dp-field label{display:block;font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-display);margin-bottom:4px}.dp-field input,.dp-field textarea{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-family:var(--font-mono);font-size:var(--text-sm);background:var(--surface);color:var(--ink);box-sizing:border-box}.dp-field textarea{font-family:inherit;resize:vertical}.dp-field input.dp-readonly{background:var(--bg-tint);color:var(--ink-3)}.dp-seg{display:inline-flex;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.dp-seg button{flex:1;border:0;background:transparent;padding:6px 8px;font-family:inherit;font-size:var(--text-sm);cursor:pointer;color:var(--ink-2)}.dp-seg button.active{background:var(--brand);color:var(--bg)}.dp-seg.dp-seg-4 button{font-size:var(--text-xs);padding:5px 4px}.dp-quote{background:var(--bg-tint);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.dp-qrow{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--ink-2)}.dp-qrow.total{border-top:1px solid var(--border);padding-top:6px;font-weight:var(--weight-display);color:var(--ink)}.dp-status-bar{display:flex;flex-wrap:wrap;gap:5px}.dp-status-bar .status-pill.is-dim{opacity:var(--opacity-disabled)}.dp-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.meta-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-display)}.chip-arrow{font-size:var(--text-eyebrow);opacity:var(--opacity-muted);margin-left:2px}.paid-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);color:var(--ink-2)}.paid-pill.paid{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-deep)}.dp-footer{padding:12px 18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--bg-tint)}.dp-foot-right{display:flex;gap:8px}.dp-btn{padding:6px 14px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);cursor:pointer}.dp-btn.ghost{border-color:transparent;background:transparent;color:var(--alert-deep)}.dp-btn.primary{background:var(--brand);color:var(--bg);border-color:var(--brand)}.rpg-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 8px;border-bottom:1px solid var(--border);margin-bottom:8px;font-size:var(--text-sm)}.rpg-months{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.rpg-month{border:1px solid transparent;background:transparent;padding:8px 6px;border-radius:6px;font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;color:var(--ink)}.rpg-month:hover{background:var(--bg-tint)}.rpg-month.on{background:var(--brand);color:var(--bg);border-color:var(--brand);font-weight:var(--weight-display)}.bc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bc-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.bc-stat .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong)}.bc-stat .val{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);margin-top:4px}.bc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px}.bc-dow{text-align:center;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong);padding-bottom:4px}.bc-day{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:110px;padding:8px;display:flex;flex-direction:column;gap:6px;font-size:var(--text-xs)}.bc-day.muted{background:var(--bg-tint);border-style:dashed;opacity:var(--opacity-disabled)}.bc-day.today{box-shadow:inset 0 0 0 2px var(--brand)}.bc-day.jumpable{cursor:pointer;transition:var(--dur) border-color,var(--dur) background}.bc-day.jumpable:hover{border-color:var(--ink-3);background:var(--bg-tint)}.bt-none{color:var(--ink-3)}.bt-status-viewing{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bt-row.viewing.done .bt-dogs,.bt-row.viewing.done .bt-stay{color:var(--ink-2)}.obx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#0f1c2457;animation:obxBack .2s ease;padding:8px;--bg-tint:#f5f1e9;--surface-2:#f9fafb;--surface-3:#f3f4f6;--border-2:#e5e7eb;--te:10px;--txs:11px;--ts:12px;--tb:13px;--tm:14px;--tl:16px;--txl:18px;--trk:.06em;--trks:-.005em;--mono:var(--font-mono);--sh:0 18px 44px -18px rgba(15,40,50,.22),0 6px 16px -10px rgba(15,40,50,.12);--sh-pop:0 12px 30px -12px rgba(15,40,50,.28);--ease:cubic-bezier(.2,.7,.2,1)}@keyframes obxBack{0%{opacity:0}}.obx.has-aside .card{width:min(1310px,96vw)}.obx .card{width:min(960px,96vw);height:min(752px,96vh);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--sh);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.obx .chead{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid var(--border);min-width:0}.obx .obx-subject{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.obx .obx-subject-av{padding:0;border:0;background:none;cursor:pointer;border-radius:50%;display:grid;place-items:center;flex:none}.obx .obx-subject-av:hover{box-shadow:0 0 0 3px var(--brand-soft)}.obx .obx-subject-av:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand)}.obx .obx-subject-txt{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0;line-height:1.3}.obx .obx-subject-txt>.obx-line{flex:0 1 auto}.obx .obx-subject-txt>.obx-dogs{flex:0 1 auto;padding-left:12px;border-left:1px solid var(--border);min-height:20px}.obx .obx-line{display:flex;align-items:center;gap:8px;min-width:0}.obx .obx-subject-txt strong{min-width:0;flex:0 1 auto;font-size:var(--tm);font-weight:var(--weight-strong);letter-spacing:var(--trks);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obx .obx-subject-txt>.mut{font-size:var(--ts);font-weight:var(--weight-body);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obx .obx-dogs{display:flex;align-items:center;gap:14px;min-width:0;overflow:hidden}.obx .obx-dog{display:inline-flex;align-items:center;gap:6px;flex:none;min-width:0}.obx .obx-dog>.bflag{margin-left:-2px}.obx .obx-dog>.bflag+.bflag{margin-left:0}.obx .obx-dog>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obx .obx-dogs .obx-dog>span{color:var(--ink-2)}.obx .obx-state{display:flex;align-items:center;flex:none;margin-left:auto}.obx .chead:has(.obx-subject)>.x{margin-left:8px}.obx .obx-flags{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.obx .obx-flag{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:var(--ts);color:var(--ink-2);white-space:nowrap}.obx .obx-flag>b{font-weight:var(--weight-medium)}.obx .obx-flag>.bflag,.obx .obx-dog>.bflag{width:16px;height:16px;border-radius:var(--radius-sm);display:grid;place-items:center;flex:none}.obx .obx-flag>.bflag svg,.obx .obx-dog>.bflag svg{width:10px;height:10px}.obx .chead:has(.obx-subject){padding:8px 20px}.obx .chead strong{font-size:var(--tl);font-weight:var(--weight-medium);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obx .chead .mut{color:var(--ink-3);font-size:var(--ts)}.obx .x{margin-left:auto;border:none;background:var(--surface-3);color:var(--ink-2);width:30px;height:30px;border-radius:9px;font-size:17px;cursor:pointer;transition:var(--dur) background,var(--dur) color;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.obx .x:hover{background:var(--bg-tint);color:var(--ink)}.obx .body{display:flex;flex:1;min-height:0;position:relative}.obx .btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);padding:8px 14px;border-radius:var(--radius);font-size:var(--tb);font-weight:var(--weight-medium);display:inline-flex;align-items:center;gap:6px;transition:var(--dur) background,var(--dur) border-color;text-transform:capitalize;cursor:pointer}.obx .btn:hover{background:var(--surface-2)}.obx .btn.primary{background:var(--brand);color:var(--bg);border-color:var(--brand)}.obx .btn.primary:hover{background:var(--brand-deep)}.obx .btn.danger{background:var(--alert);color:var(--bg);border-color:var(--alert)}.obx .btn.danger:hover{background:var(--alert-deep)}.obx .btn:disabled{opacity:.5;cursor:default}.obx .field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}.obx .field label,.obx .field .field-label{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium)}.obx .field input,.obx .field select,.obx .field textarea{padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;font-size:var(--tb);background:var(--surface);outline:none;transition:var(--dur) border-color;width:100%;font-family:inherit}.obx .field input::placeholder,.obx .field textarea::placeholder{color:var(--ink-mute);font-weight:var(--weight-body);opacity:1}.obx .field input:focus,.obx .field textarea:focus,.obx .field select:focus{border-color:var(--primary-deep);box-shadow:0 0 0 3px var(--primary-soft)}.obx .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.obx .field-row .field{min-width:0}.obx .seg{display:flex;gap:4px;background:var(--bg-tint);padding:4px;border-radius:10px;border:1px solid var(--border)}.obx .seg button{flex:1;border:0;background:transparent;padding:7px 8px;border-radius:7px;font-size:var(--ts);font-weight:var(--weight-medium);color:var(--ink-2);cursor:pointer}.obx .seg button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #281e0a0f}.obx .bd-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.obx .bd-meta-label{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium)}.obx .quote-row{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;font-size:var(--tb)}.obx .quote-row .label{color:var(--ink-2)}.obx .quote-row .val{font-weight:var(--weight-medium);color:var(--ink);font-family:var(--font-mono)}.obx .quote-row.total{border-top:1px solid var(--border-strong);margin-top:6px;padding-top:9px}.obx .quote-row.total .label,.obx .quote-row.total .val{font-size:var(--tm);font-weight:var(--weight-medium)}.obx .qrate{display:inline-flex;align-items:center;gap:3px}.obx .qrate .pf{color:var(--ink-3)}.obx .qrate input{width:58px;text-align:right;padding:4px 7px;border:1px solid var(--border-strong);border-radius:7px;font-family:var(--font-mono);font-size:var(--tb)}.obx .pane input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.obx .pane input[type=number]::-webkit-outer-spin-button,.obx .pane input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.obx .readonly-pill{background:var(--bg-tint);border:1px solid var(--border);font-family:var(--font-mono);font-weight:var(--weight-medium)}.obx .health-strip{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:7px 11px;border-radius:7px;font-size:var(--ts);background:var(--surface-2);border:1px solid var(--border-2)}.obx .health-strip.vacc{border-left:3px solid var(--warn);color:var(--warn-deep)}.obx .health-strip.mix{border-left:3px solid var(--alert);color:var(--alert-deep)}.obx .owner-contact-add{width:100%;border:1px dashed var(--border-strong);background:transparent;color:var(--ink-2);border-radius:8px;padding:9px;font-weight:var(--weight-medium);font-size:var(--ts);text-transform:capitalize;cursor:pointer}.obx .owner-contact-add:hover{background:var(--bg-tint)}.obx .owner-contact-email-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}.obx .owner-contact-email-locked{position:relative;display:flex;align-items:center;min-width:0}.obx .owner-contact-email-locked input{width:100%;padding-right:34px;cursor:not-allowed}.obx .owner-contact-email-locked input:disabled{background:var(--surface-3);border-color:var(--border);color:var(--ink-3);-webkit-text-fill-color:var(--ink-3);opacity:1}.obx .owner-contact-email-locked input:disabled::placeholder{color:var(--ink-mute);-webkit-text-fill-color:var(--ink-mute);font-weight:var(--weight-body);opacity:1}.obx .owner-contact-email-locked .icon{position:absolute;right:11px;color:var(--ink-mute);pointer-events:none;flex:none}.obx .owner-contact-email-why{display:block;font-size:var(--te);line-height:1.4;color:var(--ink-3)}.obx .field>label{display:flex;align-items:center;gap:6px;min-height:20px}.obx .cust-mark{display:inline-flex;align-items:center;margin-left:auto;flex:none}.obx .dog-care{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:640px){.obx .dog-care{grid-template-columns:1fr;gap:8px}}.obx .dog-care .care-tile{width:100%;min-width:0}.obx .dog-care .cust-mark{margin-left:0;flex:none}.obx .contact-reg{flex:none;font-size:var(--te);font-weight:var(--weight-semibold);padding:3px 8px;border-radius:var(--radius-sm);white-space:nowrap;background:var(--surface-3);color:var(--ink-3)}.obx .contact-reg.yes{background:var(--brand-soft);color:var(--brand-deep)}.obx .modal-foot{flex:0 0 auto;display:flex;gap:8px;justify-content:space-between;align-items:center;padding:9px 22px 10px;border-top:1px solid var(--border);background:var(--surface)}.obx .foot-right{display:flex;gap:8px}.obx .do-not-mix-toggle{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--alert);border-radius:var(--radius);background:var(--alert-soft);font-size:var(--ts);color:var(--alert-deep);margin-bottom:13px;cursor:pointer}.obx .do-not-mix-toggle input{width:17px;height:17px;accent-color:var(--alert);flex:0 0 auto}.obx .repeat{border:1px solid var(--border-2);border-radius:var(--radius);padding:13px;margin-bottom:10px;background:var(--surface)}.obx .repeat-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.obx .repeat-head>.repeat-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obx .repeat-label{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-display)}.obx .repeat-del{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-3);border-radius:8px;cursor:pointer;transition:var(--dur)}.obx .repeat-del:hover{background:var(--alert-soft);border-color:var(--alert);color:var(--alert-deep)}.obx .empty{color:var(--ink-mute);font-size:var(--ts);font-style:italic}.obx .eyebrow{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium)}.obx .dnm{display:inline-flex;align-items:center;gap:3px;background:var(--alert-soft);color:var(--alert-deep);border-radius:var(--radius-sm);padding:0 6px;font-size:var(--te);font-weight:var(--weight-medium)}.obx mark{background:var(--brand-soft);color:var(--brand-deep);border-radius:3px;padding:0 1px;font-weight:var(--weight-medium)}.obx .pencil{opacity:0;transition:var(--dur) opacity;color:var(--ink-mute);font-size:13px;flex:0 0 auto}.obx .pane.creating{box-shadow:inset 4px 0 0 var(--brand)}.obx .pane-title{font-size:var(--tl);font-weight:660;letter-spacing:var(--trks);color:var(--ink);margin:0 0 10px}.obx .bk-owner{display:flex;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--border-2);border-radius:var(--radius);background:var(--surface-2);margin:4px 0 14px;cursor:pointer;transition:var(--dur) border-color,var(--dur) background}.obx .bk-owner:hover{background:var(--surface-3)}.obx .bk-owner .pencil{margin-left:auto}.obx .bk-owner:hover .pencil{opacity:.9}.obx .bo-name{font-weight:var(--weight-medium);font-size:var(--tm);display:flex;align-items:center;gap:7px}.obx .bo-dogs{display:flex;flex-wrap:wrap;gap:12px;margin-top:5px}.obx .bo-dog{display:inline-flex;align-items:center;gap:6px;font-size:var(--ts);color:var(--ink-2);font-weight:var(--weight-medium)}.obx .acc{border-top:1px solid var(--border)}.obx .acc-head{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;padding:13px 2px;cursor:pointer;text-align:left}.obx .acc-title{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium);flex:0 0 auto}.obx .acc-sum{font-size:var(--ts);color:var(--ink-3);display:none;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.obx .acc:not(.open) .acc-sum{display:flex}.obx .acc-chev{margin-left:auto;color:var(--ink-mute);transition:transform .2s;flex:0 0 auto}.obx .acc.open .acc-chev{transform:rotate(180deg)}.obx .acc-body{overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.4,0,.2,1)}.obx .acc.open .acc-body{max-height:600px}.obx .sumdog{display:inline-flex;align-items:center;gap:5px}.obx .datecard{display:grid;grid-template-columns:1fr auto 1fr;border:1px solid var(--border-2);border-radius:var(--radius);overflow:hidden}.obx .datecard.single{grid-template-columns:1fr}.obx .viewing-pane .when-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}.obx .viewing-pane .notes-card{display:flex;flex-direction:column}.obx .viewing-pane .notes-card .field-notes{flex:1;display:flex;margin:0}.obx .viewing-pane .notes-card textarea{flex:1;height:auto;min-height:96px;max-height:none;resize:none}.obx .cal-day.start.single{border-radius:8px}.obx .dcell{position:relative;padding:8px 13px;background:var(--surface);cursor:pointer;transition:background var(--dur);border:0;width:100%;font:inherit;text-align:left}.obx .dcell:hover{background:var(--surface-2)}.obx .dcell.r{text-align:right}.obx .dcell.active{background:var(--brand-soft)}.obx .dk{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium)}.obx .dv{font-size:var(--tl);font-weight:var(--weight-medium);letter-spacing:-.01em;margin-top:3px}.obx .dv .dow{color:var(--ink-3);font-weight:var(--weight-medium);font-size:var(--ts)}.obx .dv .dph{color:var(--ink-mute);font-weight:var(--weight-medium);font-size:var(--tm)}.obx .dmid{background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px;border-left:1px solid var(--border-2);border-right:1px solid var(--border-2);cursor:pointer}.obx .dn{font-weight:var(--weight-medium);font-size:var(--tl);color:var(--ink-2);line-height:1.05}.obx .du{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium)}.obx .calmodal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#0f1c2452;padding:16px;animation:obxBack .15s ease}.obx .calcard{width:316px;max-width:94vw;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--sh-pop);padding:14px 16px;animation:obxFade .18s var(--ease)}.obx .fieldchips{display:flex;gap:8px;margin-bottom:10px}.obx .fieldchip{flex:1;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:6px 10px;font:inherit;cursor:pointer;transition:var(--dur) background,var(--dur) border-color}.obx .fieldchip .fl{display:block;font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-display)}.obx .fieldchip b{font-size:var(--tb);font-weight:var(--weight-strong);color:var(--ink-2)}.obx .fieldchip.armed{background:var(--brand-soft);border-color:oklch(from var(--brand) l c h / .2)}.obx .fieldchip.armed .fl,.obx .fieldchip.armed b{color:var(--brand-deep)}.obx .calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.obx .calhead .caltitle{font-weight:var(--weight-medium);font-size:var(--tb)}.obx .calhead button{width:28px;height:28px;border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;color:var(--ink-2);font-size:14px;cursor:pointer}.obx .calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.obx .cdow{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);font-weight:var(--weight-medium);text-align:center;padding:4px 0}.obx .cal-day{height:32px;min-height:0;display:grid;place-items:center;border:none;background:transparent;border-radius:7px;font-size:var(--txs);color:var(--ink-2);cursor:pointer;padding:0}.obx .cal-day:hover{background:var(--surface-3)}.obx .cal-day.start,.obx .cal-day.end{background:var(--brand);color:#fff;font-weight:var(--weight-medium)}.obx .cal-day.inrange{background:var(--brand-soft);color:var(--brand-deep);border-radius:0}.obx .cal-day.start{border-radius:8px 0 0 8px}.obx .cal-day.end{border-radius:0 8px 8px 0}.obx .calfoot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:var(--ts);color:var(--ink-3)}.obx .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.obx .row3{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.obx .times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.obx .chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:35px}.obx .chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);border-radius:var(--radius);padding:6px 14px;font-size:var(--ts);font-weight:var(--weight-medium);cursor:pointer;transition:var(--dur) background,var(--dur) border-color}.obx .chip:hover{background:var(--surface-2)}.obx .chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.obx .ctl-label{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium);margin-bottom:3px;display:block}.obx .useg{display:flex;gap:3px;background:var(--bg-tint);border:1px solid var(--border);padding:3px;border-radius:9px}.obx .useg button{flex:1;border:0;background:transparent;color:var(--ink-3);font-size:var(--ts);font-weight:var(--weight-medium);padding:6px;border-radius:6px;white-space:nowrap;cursor:pointer}.obx .useg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #281e0a12}.obx .useg-sm{display:inline-flex;border-radius:var(--radius);padding:2px;gap:2px;min-height:35px;align-items:center}.obx .useg-sm button{flex:0 0 auto;padding:5px 14px;border-radius:var(--radius-sm)}.obx .scard{border:1px solid var(--border-2);border-radius:var(--radius);padding:10px 12px;margin-bottom:12px;background:var(--surface)}.obx .scard .sh{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium);margin-bottom:7px;display:block}.obx .scard .sh-toggle{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;margin-bottom:11px;cursor:pointer;font:inherit;font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium)}.obx .scard .sh-toggle.closed{margin-bottom:0}.obx .sh-label{flex:0 0 auto}.obx .sh-sum{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;overflow:hidden;text-transform:none;letter-spacing:0;color:var(--ink-2);font-weight:var(--weight-medium);font-size:var(--ts)}.obx .sh-sum .sumdog{flex:0 0 auto}.obx .sh-chev{color:var(--ink-mute);transition:transform .2s;flex:0 0 auto;margin-left:auto}.obx .scard .sh-toggle.closed .sh-chev{margin-left:0}.obx .scard .sh-toggle.open .sh-chev{transform:rotate(180deg)}.obx .sh-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.obx .sh-row .sh{margin:0}.obx .rail{width:262px;flex:0 0 auto;border-right:1px solid var(--border);background:var(--surface-2);display:flex;flex-direction:column;min-height:0}.obx .railhead{padding:12px 12px 10px;border-bottom:1px solid var(--border);position:relative}.obx .sf{position:relative;display:flex;align-items:center}.obx .sf .ic{position:absolute;left:10px;width:14px;height:14px;color:var(--ink-mute);pointer-events:none}.obx .sf input{width:100%;border:1px solid var(--border-strong);border-radius:9px;padding:8px 40px 8px 30px;font-size:var(--ts);background:var(--surface);outline:none;transition:var(--dur) border-color,var(--dur) box-shadow;font-family:inherit}.obx .sf-add{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:1px solid var(--border-strong);background:var(--surface);border-radius:7px;color:var(--brand-deep);font-size:18px;line-height:0;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.obx .sf-add:hover{background:var(--surface-2);border-color:var(--brand)}.obx .sf input::placeholder{color:var(--ink-mute)}.obx .sf input:focus{border-color:var(--primary-deep);box-shadow:0 0 0 3px var(--primary-soft)}.obx .sf .clr{position:absolute;right:37px;border:none;background:var(--surface-3);color:var(--ink-2);width:18px;height:18px;border-radius:50%;font-size:11px;display:grid;place-items:center;cursor:pointer}.obx .res-add{position:sticky;bottom:-6px;display:flex;align-items:center;gap:8px;width:100%;padding:9px;border:0;background:var(--surface);border-radius:8px;color:var(--brand-deep);font-size:var(--ts);cursor:pointer;font-family:inherit;border-top:1px solid var(--border);margin-top:4px;box-shadow:0 -6px 10px -8px #0f28321f}.obx .res-add:hover{background:var(--surface-3)}.obx .res-plus{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);font-size:13px;line-height:1;flex:0 0 auto}.obx .nomatch .res-add{border-top:0;justify-content:center;margin-top:2px;position:static;box-shadow:none}.obx .curowner{display:flex;align-items:center;gap:9px;margin-top:9px;padding:8px 9px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);width:100%;text-align:left;cursor:pointer;transition:var(--dur)}.obx .curowner:hover{background:var(--surface-3)}.obx .curowner.active{border-color:transparent;background:var(--sel-bg)}.obx .curowner:hover .pencil,.obx .curowner.active .pencil{opacity:.9}.obx .curowner .nm{font-weight:var(--weight-medium);font-size:var(--tb);display:flex;align-items:center;gap:5px}.obx .curowner .mt{font-size:var(--txs);color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.obx .results{position:absolute;left:12px;right:12px;top:54px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--sh-pop);padding:6px;z-index:40;max-height:320px;overflow:auto;animation:obxPop .14s var(--ease)}@keyframes obxPop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1}}.obx .grouplbl{padding:7px 10px 4px;display:flex;justify-content:space-between}.obx .orow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:transparent;border-radius:9px;padding:7px 9px;cursor:pointer}.obx .orow:hover,.obx .orow.active{background:var(--surface-3)}.obx .orow.cur{background:var(--brand-soft)}.obx .orow .nm{font-weight:var(--weight-medium);font-size:var(--ts)}.obx .orow .mt{font-size:var(--txs);color:var(--ink-3)}.obx .orow .rt{margin-left:auto;text-align:right;font-size:var(--txs);color:var(--ink-3);white-space:nowrap}.obx .orow .curtick{margin-left:auto;color:var(--brand-deep);font-size:var(--txs);font-weight:var(--weight-medium)}.pane.pane-empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;min-height:0}.pane-empty-card{max-width:300px;display:flex;flex-direction:column;align-items:center}.pane-empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);margin-bottom:12px}.pane-empty-title{font-family:var(--font-sans);font-weight:var(--weight-display);font-size:var(--text-lg);color:var(--ink)}.pane-empty-hint{font-size:var(--text-sm);color:var(--ink-3);line-height:1.5;margin-top:4px}.rail-rowtext{min-width:0;flex:1;overflow:hidden}.rail-rowtext .nm,.rail-rowtext .mt{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rail-recents{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.rail-recents .grouplbl{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 6px}.rail-recents .recents-list{flex:1;overflow:auto;padding:0 8px 8px;display:flex;flex-direction:column;gap:2px}.account-obx .chead strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obx .nomatch{padding:20px 14px;text-align:center}.obx .nomatch .ico{width:32px;height:32px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;margin:0 auto 8px}.obx .nomatch .t{font-size:var(--ts);color:var(--ink-2);font-weight:var(--weight-medium)}.obx .nomatch .s{font-size:var(--txs);color:var(--ink-mute);margin:3px 0 10px}.obx .createbtn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);padding:6px 13px;font-size:var(--ts);font-weight:var(--weight-medium);color:var(--brand-deep);cursor:pointer}.obx .kbhint{display:flex;gap:11px;padding:7px 11px;border-top:1px solid var(--border);font-size:var(--te);color:var(--ink-mute)}.obx .kbhint kbd{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--border);border-radius:4px;padding:0 5px;color:var(--ink-2);margin-right:3px}.obx .tlhead{display:flex;align-items:center;justify-content:space-between;padding:11px 14px 4px}.obx .tlhead .eyebrow{margin:0}.obx .newbtn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);color:var(--brand-deep);font-weight:var(--weight-medium);font-size:var(--txs);padding:3px 10px;cursor:pointer}.obx .newbtn:hover{border-color:var(--brand)}.obx .newbtn.active{background:var(--brand);color:var(--bg);border-color:var(--brand)}.obx .tl{flex:1;overflow:auto;padding:3px 12px 12px;min-height:0}.obx .tl-loading{display:flex;flex-direction:column;gap:8px;padding:6px 2px}.obx .yr{font-size:var(--te);font-weight:var(--weight-medium);color:var(--ink-mute);letter-spacing:.08em;margin:10px 0 3px 24px}.obx .node{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:transparent;padding:3px 6px 3px 0;cursor:pointer}.obx .node .spine{position:relative;width:12px;flex:0 0 auto;display:flex;justify-content:center;align-items:center;align-self:stretch}.obx .yeargroup{position:relative}.obx .yeargroup:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--border-strong)}.obx .curowner .pencil{margin-left:auto}.obx .node .dot{position:relative;z-index:1;width:9px;height:9px;border-radius:50%;background:var(--ink-mute);border:0;transition:.18s var(--ease)}.obx .node.cancel .dot{border-style:dashed}.obx .node:hover .lab{background:var(--surface-3)}.obx .node:hover .pencil{opacity:.8}.obx .node.on .dot{background:var(--brand);box-shadow:0 0 0 4px var(--sel-bg);transform:scale(1.2)}.obx .node.on .lab{background:var(--sel-bg)}.obx .lab{position:relative;flex:1;border-radius:8px;padding:5px 8px;display:flex;align-items:center;gap:8px;min-width:0}.obx .lab .pencil{position:absolute;right:7px;bottom:5px;pointer-events:none}.obx .lab .txt{min-width:0;flex:1;display:flex;flex-direction:column;min-height:0}.obx .lab .rng{display:flex;align-items:center;gap:8px;min-width:0;font-weight:var(--weight-medium);font-size:var(--ts)}.obx .lab .rng-dates{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obx .lab .sb{display:flex;gap:6px;align-items:center;margin-top:2px;color:var(--ink-3);font-size:var(--txs)}.obx .lab .sb .mono{font-family:var(--font-mono)}.obx .lab .sb .nts{color:var(--ink-mute)}.obx .panebox{flex:1;display:flex;min-width:0;min-height:0}.slide-pane{height:100%;min-height:0;min-width:0;flex:1 1 auto;display:flex;flex-direction:column}.obx .pane{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:0}.obx .pane h3{margin:0;font-size:var(--txl);font-weight:var(--weight-medium)}.obx .pane-scroll{flex:1;overflow:auto;padding:10px 20px;scrollbar-gutter:stable}.obx .when{color:var(--ink-3);font-size:var(--ts);margin:2px 0 14px}.obx .anim-fade{animation:obxFade .24s var(--ease)}@keyframes obxFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.obx :focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion: reduce){.obx,.obx .anim-fade,.obx .acc-body,.obx .calmodal,.obx .calcard,.obx .results{animation:none;transition:none}}@media (max-width:768px){.obx .card{height:100%;width:100%;border-radius:0}.obx .rail{width:200px;flex-basis:200px}}.day-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.dd-stat{background:var(--bg-tint);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.dd-stat .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong)}.dd-stat .val{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);margin-top:2px}.dd-stat .val.warn{color:var(--alert-deep)}.dd-area-bar{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding:10px 12px;background:var(--bg-tint);border-radius:8px;border:1px solid var(--border)}.dd-area-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--ink-2);margin-bottom:4px}.dd-area .cap-bar{height:6px;background:var(--surface);border-radius:var(--radius-sm);overflow:hidden}.dd-area .cap-fill{height:100%;background:var(--primary);border-radius:var(--radius-sm);transition:.3s width}.dd-section{margin-bottom:16px}.dd-section-head{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong);margin-bottom:6px}.dd-section-head .dot{width:8px;height:8px;border-radius:50%}.dd-section-head .dot-arrive{background:var(--primary-deep)}.dd-section-head .dot-collect{background:var(--secondary-deep)}.dd-section-head .dot-stay{background:var(--ink-mute)}.dd-list{display:flex;flex-direction:column;gap:4px}.day-detail-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;color:inherit;font-family:inherit;transition:var(--dur-fast) background,var(--dur-fast) border-color;width:100%}.day-detail-row:hover{background:var(--bg-tint);border-color:var(--border-strong, var(--ink-3))}.day-detail-row .info{flex:1;min-width:0}.day-detail-row .line1{display:flex;align-items:center;gap:6px;font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.day-detail-row .line1 .dogs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.day-detail-row .line2{font-size:var(--text-xs);color:var(--ink-3);margin-top:1px}.day-detail-row .time-pill{background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 9px;font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);color:var(--ink-2)}.day-detail-summary{flex:1;font-size:var(--text-xs);color:var(--ink-3)}.bc-day-head{display:flex;align-items:center;justify-content:space-between;gap:4px}.bc-day-head .n{font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight)}.bc-booking.clickable:hover{border-color:var(--brand);background:var(--bg-tint)}.bc-section{display:flex;flex-direction:column;gap:3px}.bc-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);color:var(--ink-3)}.bc-section.arrivals .bc-label{color:var(--primary-deep)}.bc-section.collections .bc-label{color:var(--secondary-deep)}.bc-booking{display:flex;align-items:center;gap:6px;padding:3px 7px 3px 8px;border-radius:5px;background:var(--surface);border:1px solid var(--border);cursor:pointer;position:relative;transition:var(--dur-fast) background}.bc-booking:hover{background:var(--surface-2)}.bc-booking .bc-dogs{display:flex;flex-shrink:0}.bc-booking .bc-dogs .avatar:not(:first-child){margin-left:-5px}.bc-day.clickable-day{cursor:pointer}.bc-booking:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ink-mute);border-radius:5px 0 0 5px}.bc-booking.arrive:before{background:var(--primary)}.bc-booking.collect:before{background:var(--secondary)}.bc-booking .who{font-size:var(--text-xs);font-weight:var(--weight-medium);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-booking .time{font-size:var(--text-eyebrow);color:var(--ink-3)}.owner-mini{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);margin-top:6px;color:var(--ink-2)}.owner-combo{position:relative}.owner-combo-input{border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);display:flex;align-items:center;min-height:38px;transition:var(--dur) border-color,var(--dur) box-shadow}.owner-combo.open .owner-combo-input{border-color:var(--primary-deep);box-shadow:0 0 0 3px var(--primary-soft)}.owner-combo-input input{flex:1;border:0;outline:0;background:transparent;padding:9px 11px;font-size:var(--text-base);color:var(--ink);font-family:inherit}.owner-combo-input input::placeholder{color:var(--ink-mute)}.owner-selected{flex:1;display:flex;align-items:center;gap:10px;padding:6px 11px;cursor:text}.owner-selected .name{font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);color:var(--ink)}.owner-selected .sub{font-size:var(--text-xs);color:var(--ink-3)}.owner-selected svg{color:var(--ink-mute)}.owner-selected .owner-selected-edit{margin-left:auto;width:24px;height:24px;border:1px solid var(--border);background:var(--surface);border-radius:50%;cursor:pointer;color:var(--ink-3);display:grid;place-items:center;padding:0;transition:var(--dur-fast) background,var(--dur-fast) color,var(--dur-fast) border-color}.owner-selected .owner-selected-edit:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.owner-selected .owner-selected-edit+svg{margin-left:6px}.owner-household-preview{background:var(--brand-soft);border:1px solid var(--brand);border-radius:8px;padding:10px 14px;display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.owner-archived-note{display:flex;align-items:center;gap:8px;background:var(--surface-3);border:1px solid var(--border);border-left:3px solid var(--ink-3);border-radius:8px;padding:9px 12px;font-size:var(--text-sm);color:var(--ink-2);margin-bottom:12px}.owner-archived-note>svg{flex:none;color:var(--ink-3)}.owner-household-preview .lbl{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-display);color:var(--brand-deep)}.owner-household-preview .val{font-size:var(--text-base);font-weight:var(--weight-strong);color:var(--ink)}.owner-contacts-list{display:flex;flex-direction:column;gap:10px}.owner-contact{border:1px solid var(--border);border-radius:10px;padding:12px 14px 14px;background:var(--surface);display:flex;flex-direction:column;gap:8px}.owner-contact.primary{border-color:var(--brand);background:var(--brand-soft)}.owner-contact.primary .field input,.owner-contact.primary .field select{background:var(--surface)}.owner-contact-head{display:flex;align-items:center;gap:8px}.owner-contact-tag{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-display);color:var(--ink-3)}.owner-contact.primary .owner-contact-tag{color:var(--brand-deep)}.owner-contact-promote{margin-left:auto;background:transparent;border:0;padding:2px 8px;font:inherit;font-size:var(--text-xs);color:var(--brand-deep);cursor:pointer;font-weight:var(--weight-medium)}.owner-contact-promote:hover{text-decoration:underline}.owner-contact-remove{width:22px;height:22px;border:0;background:transparent;border-radius:50%;cursor:pointer;color:var(--ink-3);display:grid;place-items:center;padding:0;margin-left:auto}.owner-contact-promote+.owner-contact-remove{margin-left:0}.owner-contact-remove:hover{background:var(--alert-soft);color:var(--alert-deep)}.owner-contact-add{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;background:transparent;border:1px dashed var(--border-strong);border-radius:var(--radius);padding:6px 14px;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-3);cursor:pointer;transition:var(--dur-fast) color,var(--dur-fast) border-color,var(--dur-fast) background}.owner-contact-add:hover{color:var(--brand-deep);border-color:var(--brand);background:var(--brand-soft)}.owner-combo-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 32px -8px #07172733;max-height:280px;overflow-y:auto;padding:4px}.owner-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 9px;border:0;background:transparent;border-radius:7px;cursor:pointer;font-family:inherit;color:var(--ink);text-align:left;transition:.08s background}.owner-row:hover{background:var(--bg-tint)}.owner-row.on{background:var(--primary-soft)}.owner-row.on .name{font-weight:var(--weight-strong)}.owner-row .info{flex:1;min-width:0}.owner-row .info .name{font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-row .info .sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-empty{padding:14px 12px;font-size:var(--text-sm);color:var(--ink-3);text-align:center}.dog-chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dog-chip{display:flex;align-items:stretch;border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden;transition:var(--dur-fast) background,var(--dur-fast) border-color}.dog-chip:hover{background:var(--bg-tint)}.dog-chip.on{border-color:var(--ink);background:var(--primary-soft)}.dog-chip-main{flex:1;display:flex;align-items:center;gap:9px;padding:8px 10px;background:transparent;border:0;cursor:pointer;text-align:left;color:inherit;font-family:inherit;min-width:0}.dog-chip .meta{flex:1;min-width:0}.dog-chip .name{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.dog-chip .sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:1px}.pencil-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;font-size:var(--text-xs);color:var(--ink-3);font-weight:var(--weight-medium);font-family:inherit;transition:var(--dur-fast) background,var(--dur-fast) color}.pencil-btn:hover{background:var(--bg-tint);color:var(--ink)}.pencil-btn.icon-only{padding:0 10px;border:0;border-left:1px solid var(--border);border-radius:0;background:transparent;height:auto;align-self:stretch}.pencil-btn.icon-only:hover{background:var(--bg-tint);color:var(--ink)}.dog-chip.on .pencil-btn.icon-only{border-left-color:var(--primary)}.dog-chip.warn{border-color:var(--alert)}.dog-chip.on.warn{border-color:var(--alert);background:var(--alert-soft)}.dog-chip.add-dog{display:flex;align-items:center;gap:9px;padding:8px 10px;border-style:dashed;border-color:var(--border);color:var(--ink-3);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:var(--dur-fast) color,var(--dur-fast) border-color,var(--dur-fast) background}.dog-chip.add-dog:hover{color:var(--primary-deep);border-color:var(--primary);background:var(--primary-soft)}.dog-chip.add-dog .add-dog-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--bg-tint);color:var(--ink-3);flex-shrink:0}.dog-chip.add-dog:hover .add-dog-icon{background:var(--primary);color:var(--ink)}.dog-chip.add-dog .add-dog-label{letter-spacing:var(--tracking-snug)}.owner-dogs-list{display:flex;flex-direction:column;gap:6px}.owner-dog-row{display:flex;align-items:center;gap:9px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;color:inherit;font-family:inherit;transition:var(--dur-fast) background,var(--dur-fast) border-color}.owner-dog-row:hover{background:var(--bg-tint)}.owner-dog-row .meta{flex:1;min-width:0}.owner-dog-row .name{font-size:var(--text-base);font-weight:var(--weight-strong)}.owner-dog-row .sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:1px}.owner-dog-row.add{border-style:dashed;color:var(--ink-3)}.owner-dog-row.add:hover{color:var(--primary-deep);border-color:var(--primary);background:var(--primary-soft)}.owner-dog-row.add .add-dog-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--bg-tint);color:var(--ink-3)}.owner-dog-row.add:hover .add-dog-icon{background:var(--primary);color:var(--ink)}.owner-dog-row.add .add-dog-label{font-size:var(--text-base);font-weight:var(--weight-medium)}.dog-chip-health{width:100%;display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--alert-soft);color:var(--alert-deep);font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-flat);text-transform:uppercase;border-top:1px solid var(--alert);order:99;flex-basis:100%}.dog-chip{flex-wrap:wrap}.inline-row{display:flex;align-items:center;gap:10px;padding:4px 0;margin-top:-4px}.inline-row .inline-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.mini-toggle{display:inline-flex;background:var(--bg-tint);border:1px solid var(--border);padding:2px;border-radius:var(--radius);gap:1px}.mini-toggle button{border:0;padding:4px 11px;font-size:var(--text-xs);font-weight:var(--weight-strong);border-radius:var(--radius-sm);cursor:pointer;background:transparent;color:var(--ink-3);font-family:inherit;letter-spacing:var(--tracking-eyebrow)}.mini-toggle button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #07172714}.owner-mini{display:flex;align-items:center}.quote-box{background:var(--bg-tint);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.quote-row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:var(--text-sm)}.quote-row .label{color:var(--ink-2)}.quote-row .val{font-weight:var(--weight-medium);color:var(--ink)}.quote-row.total{border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.quote-row.total .label{font-weight:var(--weight-strong);color:var(--ink)}.quote-row.total .val{font-size:var(--text-xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight)}.rate-edit{display:inline-flex;align-items:baseline;gap:2px}.rate-edit input{width:56px;padding:2px 6px;border:1px solid transparent;background:transparent;border-radius:6px;text-align:right;font:inherit;font-weight:var(--weight-medium);color:inherit;outline:none;transition:var(--dur) border-color,var(--dur) background;-moz-appearance:textfield}.rate-edit input::-webkit-outer-spin-button,.rate-edit input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rate-edit input:hover{border-color:var(--border)}.rate-edit input:focus{border-color:var(--primary-deep);background:var(--surface);box-shadow:0 0 0 3px var(--primary-soft)}.rate-edit .suffix{color:var(--ink-3);font-size:var(--text-xs);margin-left:4px;font-weight:var(--weight-body)}.rate-reset{margin-right:8px;padding:0;border:none;background:transparent;color:var(--ink-3);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);cursor:pointer;align-self:center;line-height:1}.rate-reset:hover{color:var(--ink)}.quote-box{position:relative;transition:.2s background,.2s border-color}.quote-box.paid{background:var(--primary-soft);border-color:var(--primary)}.paid-stamp{position:absolute;top:50%;left:50%;padding:6px 16px;border:3px solid var(--primary-deep);color:var(--primary-deep);font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:800;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;border-radius:6px;transform:translate(-50%,-50%) rotate(-8deg);pointer-events:none;opacity:var(--opacity-muted);background:transparent;z-index:1}.pricing-card{position:relative;transition:.2s background,.2s border-color}.pricing-card.paid{background:var(--primary-soft);border-color:var(--primary)}.readonly-pill{background:var(--bg-tint);border:1px solid var(--border);font-family:var(--font-mono);font-weight:var(--weight-medium)}.obx .booking-pane .pane-scroll{display:flex;flex-direction:column;padding:16px 24px 6px}.obx .booking-pane .pane-head{margin-bottom:16px}.obx .booking-pane .flag-detail-row{background:none;border:none;padding:0;margin:0 0 16px}.obx .booking-pane .scard{padding:14px 16px;margin-bottom:16px}.obx .booking-pane .scard .sh{margin-bottom:10px}.obx .pane-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:stretch}.viewing-obx .card{width:min(880px,96vw)}@media (max-width:720px){.obx .pane-grid{grid-template-columns:1fr}}.obx .pane-grid .scard{min-width:0}.obx .pane-grid .row3{grid-template-columns:1fr;gap:10px}.obx .area-chips{width:100%;flex-wrap:nowrap}.obx .area-chips .chip{flex:1 1 0;text-align:center;padding-left:0;padding-right:0}.obx .area-chips .chip.on{background:var(--brand-soft);color:var(--brand-deep);border-color:oklch(from var(--brand) l c h / .2);font-weight:var(--weight-strong)}.obx .care-card .care-tiles{align-items:start}.obx .care-pick{min-width:0;display:flex;flex-direction:column}.obx .care-pick .perdog-in{padding:10px}.obx .care-pick .drow{width:calc(100% + 20px);margin-inline:-10px;padding:8px 10px}.obx .care-pick .dmeds .cp-input{height:auto;min-height:46px;padding:7px 9px;line-height:1.4;resize:vertical}.obx .care-pick .dck{width:18px;height:18px;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);display:grid;place-items:center;color:transparent;flex:none;background:var(--surface);pointer-events:none;transition:var(--dur) background,var(--dur) border-color}.obx .care-pick .dck.on{border-color:var(--brand);background:var(--brand);color:var(--surface)}.obx .care-pick .dck.meds.on{border-color:var(--flag-meds);background:var(--flag-meds)}.obx .care-pick .dck.mix.on{border-color:var(--alert);background:var(--alert)}.obx .care-pick .drow{grid-template-columns:auto minmax(0,1fr) auto;width:calc(100% + 24px);margin-inline:-12px;padding:8px 12px;border:0;border-top:1px solid var(--border);background:none;font:inherit;text-align:left;cursor:pointer;border-radius:0;transition:var(--dur) background}.obx .care-pick .drow:hover{background:var(--surface-3)}.obx .care-pick .drow:first-of-type{border-top:0}.obx .care-pick .dmeds{margin:4px 0 10px;padding-left:28px}.obx .care-pick .dmeds.one{margin:0;padding-left:0}.obx .care-pick .dmeds .cp-input{width:100%;height:auto;min-height:46px;max-height:96px;overflow:auto;resize:none;padding:7px 9px;border:1px solid var(--border-strong);line-height:1.4;border-radius:var(--radius-sm);background:var(--surface);font-size:var(--ts);color:var(--ink)}.obx .care-pick .dmeds .cp-input::placeholder{color:var(--ink-mute)}.obx .care-pick .cust-mark{margin-left:auto;flex:none;display:inline-flex;align-items:center}.obx .perdog{display:grid;grid-template-rows:0fr;grid-template-columns:minmax(0,1fr);overflow:hidden;opacity:0;margin-top:0;transition:grid-template-rows .22s ease,opacity .18s ease,margin-top .22s ease}.obx .perdog>.perdog-in{min-height:0;min-width:0}.obx .perdog.open{grid-template-rows:1fr;opacity:1;margin-top:12px;overflow:visible;transition:grid-template-rows .22s ease,opacity .18s ease,margin-top .22s ease,overflow 0s linear .22s;transition-behavior:allow-discrete}.obx .perdog-in{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px}.obx .perdog-h{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-mute);font-weight:var(--weight-medium);margin-bottom:8px}.obx .perdog-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.obx .drow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--border)}.obx .drow:first-of-type{border-top:0}.obx .dname{min-width:0;font-size:var(--tb);color:var(--ink);font-weight:var(--weight-medium);display:flex;align-items:center;gap:9px}.obx .dname .nm{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obx .dname i{font-style:normal;color:var(--ink-mute);font-weight:var(--weight-body);font-size:var(--txs)}.obx .drow .nm{display:flex;flex-direction:column;line-height:1.3}.obx .drow .nm i{font-size:var(--te)}.obx .drow .nm .nm-t,.obx .drow .nm i{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obx .drow.needs .fc-pill{border-color:var(--alert);box-shadow:0 0 0 2px var(--alert-soft)}.obx .drow.needs .dname{color:var(--alert-deep)}.obx .due-stat{display:flex;align-items:center;justify-content:space-between;margin-top:9px;border-top:1px solid var(--border);padding:9px 0 2px}.obx .due-stat .l{font-size:var(--te);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-3);font-weight:var(--weight-medium)}.obx .due-stat .amt{font-size:var(--tl);font-weight:var(--weight-display);color:var(--due-ink);background:var(--due-soft);border-radius:var(--radius-sm);padding:2px 10px;font-family:var(--font-mono)}.obx .pricing-card.paid .due-stat .amt{color:var(--ink-3);background:var(--surface-3)}.obx .due-stat.credit .amt,.obx .pricing-card.paid .due-stat.credit .amt{color:var(--secondary-deep);background:var(--secondary-soft)}.obx .qrate.invalid input{border-color:var(--alert);color:var(--alert-deep)}.obx .pay-cleared{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.obx .pay-cleared-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:var(--te);color:var(--ink-mute)}.obx .pay-cleared-row .amt{font-family:var(--font-mono);text-decoration:line-through}.obx .care-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width:640px){.obx .care-tiles{grid-template-columns:1fr;gap:8px}}.obx .care-tile{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);padding:9px 11px;font:inherit;cursor:pointer;transition:var(--dur) border-color,var(--dur) background}.obx .care-tile .ct-ic{width:30px;height:30px;flex:none;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--surface-3);color:var(--ink-mute)}.obx .care-tile .ct-txt{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.obx .care-tile .ct-title{font-size:var(--tb);font-weight:var(--weight-strong);color:var(--ink-2);text-align:left}.obx .care-tile .ct-sub{font-size:var(--txs);color:var(--ink-3);line-height:1.35;text-align:left}.obx .care-tile .ct-tick{margin-left:auto;width:18px;height:18px;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);display:grid;place-items:center;color:transparent;flex:none}.obx .care-tile[aria-pressed=true]{border-color:var(--brand);background:oklch(from var(--brand-soft) l c h / .4)}.obx .care-tile[aria-pressed=true] .ct-ic{background:var(--brand-soft);color:var(--brand-deep)}.obx .care-tile[aria-pressed=true] .ct-tick{border-color:var(--brand);background:var(--brand);color:var(--surface)}.obx .care-tile.meds[aria-pressed=true]{border-color:var(--flag-meds);background:oklch(from var(--flag-meds-soft) l c h / .5)}.obx .care-tile.meds[aria-pressed=true] .ct-ic{background:var(--flag-meds-soft);color:var(--flag-meds)}.obx .care-tile.meds[aria-pressed=true] .ct-tick{border-color:var(--flag-meds);background:var(--flag-meds);color:var(--surface)}.obx .care-tile.mix[aria-pressed=true]{border-color:var(--alert);background:oklch(from var(--alert-soft) l c h / .55)}.obx .care-tile.mix[aria-pressed=true] .ct-ic{background:var(--alert-soft);color:var(--alert-deep)}.obx .care-tile.mix[aria-pressed=true] .ct-tick{border-color:var(--alert);background:var(--alert);color:var(--surface)}.obx .care-card .carried-note{margin-top:12px}.obx .care-card .field-notes{margin:12px 0 0}.obx .care-card .field-notes textarea{width:100%;min-height:96px;max-height:144px}.obx .booking-pane .care-card{flex:1;display:flex;flex-direction:column;padding-bottom:10px}.obx .booking-pane .care-card .field-notes{flex:1;display:flex}.obx .booking-pane .care-card .field-notes textarea{flex:1;height:auto;min-height:56px;max-height:none}.obx .booking-pane .pane-scroll>.scard:last-child{margin-bottom:0}.obx .payments-card .pay-empty{margin:6px 0 10px;font-size:var(--tb);color:var(--ink-3)}.obx .pay-list{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:2px}.obx .pay-row{display:grid;grid-template-columns:1fr auto auto 24px;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--border)}.obx .pay-row:last-child{border-bottom:0}.obx .pay-row.estimated{color:var(--ink-3)}.obx .pay-date{font-size:var(--tb);color:var(--ink-2);display:inline-flex;align-items:center;gap:6px}.obx .pay-row.estimated .pay-date{color:var(--ink-3)}.obx .pay-est{font-size:var(--txs);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-3);background:var(--surface-3);border-radius:var(--radius-sm);padding:1px 5px}.obx .pay-src{font-size:var(--txs);text-transform:uppercase;letter-spacing:var(--trk);color:var(--ink-3)}.obx .pay-amt{font-size:var(--tb);font-weight:var(--weight-medium);color:var(--ink);font-family:var(--font-mono);text-align:right}.obx .pay-del{width:24px;height:24px;display:grid;place-items:center;border:0;background:none;color:var(--ink-3);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:var(--dur) opacity,var(--dur) background}.obx .pay-row:hover .pay-del,.obx .pay-del:focus-visible{opacity:1}.obx .pay-del:hover{background:var(--surface-3);color:var(--ink)}.obx .pay-del:disabled{cursor:not-allowed;opacity:.4}.obx .pay-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px}.obx .pay-date-input{padding:4px 7px;border:1px solid var(--border-strong);border-radius:7px;font-family:inherit;font-size:var(--tb);color:var(--ink);background:var(--surface)}.obx .pay-add-btn{padding:5px 14px;border:1px solid var(--brand);background:var(--brand);color:var(--surface);border-radius:var(--radius-sm);font:inherit;font-size:var(--tb);font-weight:var(--weight-medium);cursor:pointer}.obx .pay-add-btn:disabled{background:var(--surface-3);border-color:var(--border-strong);color:var(--ink-3);cursor:not-allowed}.obx .pay-amt.adjustment{color:var(--due-ink)}.obx .rq{--rq:#4a6fb5;--rq-soft:#dfe8f7;--rq-ink:#2f4f8a;--rq-solid:#4a6fb5;box-sizing:border-box;flex:none;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--radius);border:1px solid color-mix(in oklab,var(--rq) 32%,transparent);background:color-mix(in oklab,var(--rq-soft) 58%,var(--surface))}.obx .rq{transition:background-color .38s var(--ease),border-color .38s var(--ease)}.obx .rq .rq-stat,.obx .rq .rq-stat svg{transition:color .38s var(--ease),border-color .38s var(--ease),background-color .38s var(--ease)}.obx .rq-btns .is-busy{cursor:progress}.obx :is(.ss-money,.ss-vax){transition:opacity .38s var(--ease)}@media (prefers-reduced-motion: reduce){.obx .rq,.obx .rq .rq-stat,.obx :is(.ss-money,.ss-vax){transition:none}}.obx .rq.is-accepted{--rq:#ca8a04;--rq-soft:#fdf3c4;--rq-ink:#7d5c05;--rq-solid:#8a6b06}.obx .rq.is-confirmed{--rq:#16a34a;--rq-soft:#dcfce7;--rq-ink:#15803d;--rq-solid:#15803d}.obx .rq.is-declined,.obx .rq.is-desk,.obx .rq.is-household{--rq:#b0b6bf;--rq-soft:#eef0f2;--rq-ink:#5b6270;--rq-solid:#6a7381}.obx .rq.is-skeleton{opacity:.72}.obx .rq.is-skeleton .rq-top{cursor:default}.obx .rq-top{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:2px;align-items:center;width:100%;border:0;background:transparent;padding:0;margin:0;text-align:left;font:inherit;color:inherit}.obx .rq-top:focus-visible{outline:2px solid var(--rq-ink);outline-offset:4px;border-radius:var(--radius-sm)}.obx .rq-title{grid-column:1;grid-row:1;font-size:var(--tm);font-weight:var(--weight-display);letter-spacing:var(--tracking-snug);line-height:1.2;color:var(--ink);min-width:0}.obx .rq-stat{grid-column:2;grid-row:1;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--radius-sm);background:transparent;color:var(--rq-ink);border:1px solid color-mix(in oklab,var(--rq-ink) 36%,transparent);font-size:11.5px;font-weight:var(--weight-strong);white-space:nowrap}.obx .rq-chev{grid-column:3;grid-row:1;justify-self:end;color:var(--rq-ink);opacity:.75;transition:transform .2s ease}.obx .rq.open .rq-chev{transform:rotate(180deg)}.obx .rq-sub{grid-column:1/-1;grid-row:2;font-size:var(--txs);line-height:1.35;color:var(--ink-3)}.obx .rq-glance{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--rq-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:8px;border-top:1px solid color-mix(in oklab,var(--rq) 22%,transparent)}.obx .rq-body{display:flex;flex-direction:column;gap:10px}.obx .rq-note{border:1px solid color-mix(in oklab,var(--rq) 26%,transparent);border-radius:var(--radius-sm);background:var(--surface);padding:9px 10px}.obx .rq-note .sh{display:flex;align-items:center;gap:6px;font-size:var(--te);letter-spacing:var(--trk);text-transform:uppercase;color:var(--rq-ink);font-weight:var(--weight-strong)}.obx .rq-note q{display:block;margin-top:5px;font-size:12px;line-height:1.45;color:var(--ink);font-style:italic}.obx .rq-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.obx .rq-btns button{font:inherit;font-size:12.5px;font-weight:var(--weight-strong);height:34px;padding:0 12px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid color-mix(in oklab,var(--rq-ink) 26%,transparent);background:var(--surface);color:var(--rq-ink)}.obx .rq-btns .rq-yes{background:var(--rq-solid);border-color:var(--rq-solid);color:#fff}.obx .rq-btns button:hover:not(:disabled){background:color-mix(in oklab,var(--rq-soft) 70%,var(--surface))}.obx .rq-btns .rq-yes:hover:not(:disabled){background:color-mix(in oklab,var(--rq-solid) 88%,#000)}.obx .rq-btns button:disabled{opacity:.6;cursor:default}.obx .rq.is-blue{--rq:#4a6fb5;--rq-soft:#dfe8f7;--rq-ink:#2f4f8a;--rq-solid:#4a6fb5}.obx .rq.is-gold{--rq:#ca8a04;--rq-soft:#fdf3c4;--rq-ink:#7d5c05;--rq-solid:#8a6b06}.obx .rq.is-green{--rq:#16a34a;--rq-soft:#dcfce7;--rq-ink:#15803d;--rq-solid:#15803d}.obx .rq.is-grey{--rq:#b0b6bf;--rq-soft:#eef0f2;--rq-ink:#5b6270;--rq-solid:#6a7381}.obx .proof-img{display:block;width:100%;padding:0;margin:0;border:1px solid color-mix(in oklab,var(--rq) 26%,transparent);border-radius:var(--radius-sm);background:var(--surface-3);overflow:hidden;cursor:zoom-in}.obx .proof-img img{display:block;width:100%;max-height:280px;object-fit:contain}.obx .proof-img.is-muted{opacity:var(--opacity-muted)}.obx .proof-img:focus-visible{outline:2px solid var(--rq-ink);outline-offset:2px}.proof-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;padding:24px;background:color-mix(in oklab,var(--ink) 82%,transparent);cursor:zoom-out}.proof-full img{max-width:100%;max-height:100%;min-width:120px;min-height:120px;object-fit:contain;border-radius:var(--radius-sm);background:var(--surface)}.proof-pdf{display:grid;gap:6px;width:100%;justify-items:center}.proof-pdf iframe{display:block;width:100%;height:220px;border:0;border-radius:var(--radius-sm);background:var(--surface)}.proof-pdf-open{font-size:var(--text-sm);font-weight:600;color:var(--brand)}.proof-full .proof-pdf{width:min(860px,100%);height:100%;grid-template-rows:1fr auto;cursor:auto}.proof-full .proof-pdf iframe{height:100%}.proof-full .proof-pdf-open{color:var(--surface)}.obx :is(.ss-money,.ss-vax){padding:8px 10px 10px;margin-bottom:0}.obx :is(.ss-money,.ss-vax) .ss-band{display:flex;align-items:center;gap:10px;width:100%;padding:4px 2px 4px 4px;border:0;border-radius:var(--radius-ctl);margin:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.obx :is(.ss-money,.ss-vax) .ss-band:hover{background:var(--surface-2)}.obx :is(.ss-money,.ss-vax).is-na{opacity:.62}.obx :is(.ss-money,.ss-vax) .ss-band.na{cursor:default}.obx :is(.ss-money,.ss-vax) .ss-band.na:hover{background:transparent}.obx :is(.ss-money,.ss-vax) .ss-band.na .bsent{color:var(--ink-3)}.obx :is(.ss-money,.ss-vax) .ss-band .bfig{margin-left:auto;display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--ink);font-size:var(--text-md);font-weight:var(--weight-display);font-variant-numeric:tabular-nums;line-height:1.1;flex:none}.obx :is(.ss-money,.ss-vax) .ss-band.due .bfig{background:var(--due-soft);color:var(--due-ink)}.obx :is(.ss-money,.ss-vax) .ss-band.due .bsent{color:var(--due-ink)}.obx :is(.ss-money,.ss-vax) .ss-band.warn .bfig{background:var(--warn-soft);color:var(--warn-deep)}.obx :is(.ss-money,.ss-vax) .ss-band.warn .bsent{color:var(--warn-deep)}.obx :is(.ss-money,.ss-vax) .ss-band.ok .bfig{background:var(--primary-soft);color:var(--primary-deep)}.obx :is(.ss-money,.ss-vax) .ss-band.ok .bsent{color:var(--primary-deep)}.obx :is(.ss-money,.ss-vax) .ss-band:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.obx :is(.ss-money,.ss-vax) .ss-band .bt{display:flex;flex-direction:column;min-width:0;gap:1px}.obx :is(.ss-money,.ss-vax) .ss-band .ss-title{font-size:var(--tm);font-weight:var(--weight-strong);color:var(--ink)}.obx :is(.ss-money,.ss-vax) .ss-band .bsent{font-size:var(--txs);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obx :is(.ss-money,.ss-vax) .ss-band .ss-chev{color:var(--ink-mute);flex:none;transition:transform .2s ease}.obx :is(.ss-money,.ss-vax).open .ss-band .ss-chev{transform:rotate(180deg)}.obx :is(.ss-money,.ss-vax) .ss-trail{display:flex;flex-direction:column;margin-top:8px}.obx :is(.ss-money,.ss-vax) .ss-tr{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px}.obx :is(.ss-money,.ss-vax) .ss-tr .spine{position:relative;display:flex;justify-content:center;align-items:flex-start;padding-top:9px}.obx :is(.ss-money,.ss-vax) .ss-tr .spine:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--border-2)}.obx :is(.ss-money,.ss-vax) .ss-tr:first-child .spine:before{top:14px}.obx :is(.ss-money,.ss-vax) .ss-tr:last-child:not(:has(.ss-row.open)) .spine:before{height:14px;bottom:auto}.obx :is(.ss-money,.ss-vax) .bflag{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);flex:none}.obx :is(.ss-money,.ss-vax) .bflag.tint-mute{background:var(--surface-3);color:var(--ink-3)}.obx :is(.ss-money,.ss-vax) .bflag.tint-seen{background:var(--primary-soft);color:var(--primary-deep)}.obx :is(.ss-money,.ss-vax) .bflag.tint-warn{background:var(--warn-soft);color:var(--warn-deep)}.obx :is(.ss-money,.ss-vax) .bflag.tint-no{background:var(--st-cancelled-soft);color:var(--st-cancelled-ink)}.obx :is(.ss-money,.ss-vax) .ss-ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none}.obx .ss-ic.money{background:var(--due-soft);color:var(--due-ink)}.obx .ss-ic.vax{background:var(--warn-soft);color:var(--warn-deep)}.obx :is(.ss-money,.ss-vax) .ss-band.na .ss-ic{opacity:.55}.obx :is(.ss-money,.ss-vax) .ss-tr .spine .bflag{overflow:visible}.obx :is(.ss-money,.ss-vax) .rail-tick{position:absolute;right:-4px;bottom:-4px;width:11px;height:11px;border-radius:50%;color:#fff;display:grid;place-items:center;box-shadow:0 0 0 1.5px var(--surface)}.obx :is(.ss-money,.ss-vax) .rail-tick svg{width:6px;height:6px;stroke-width:3}.obx :is(.ss-money,.ss-vax) .rail-tick.us-ok{background:var(--primary)}.obx :is(.ss-money,.ss-vax) .rail-tick.us-eye{background:var(--warn)}.obx :is(.ss-money,.ss-vax) .rail-tick.us-bad{background:var(--st-cancelled)}.obx :is(.ss-money,.ss-vax) .ss-row .st.has-ic{display:inline-flex;align-items:center;gap:5px}.obx :is(.ss-money,.ss-vax) .ss-row .st.has-ic svg{flex:none}.obx :is(.ss-money,.ss-vax) .ss-row{display:flex;flex-direction:column;gap:8px;padding:6px 8px;margin:2px 0;border-radius:var(--radius-ctl);border:1px solid var(--border-2);background:var(--surface);font-size:var(--txs);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.obx :is(.ss-money,.ss-vax) .ss-row{transition:border-color var(--dur-fast) var(--ease),box-shadow .26s var(--ease),background .26s var(--ease)}.obx :is(.ss-money,.ss-vax) .ss-row.open{border-color:color-mix(in oklab,var(--border-strong) 70%,var(--border-2));box-shadow:0 1px 2px color-mix(in oklab,var(--ink) 6%,transparent),0 8px 20px -14px color-mix(in oklab,var(--ink) 30%,transparent)}.obx :is(.ss-money,.ss-vax) .ss-row.open.ok{border-color:color-mix(in oklab,var(--primary) 22%,var(--border-2))}.obx :is(.ss-money,.ss-vax) .ss-row.open.bad{border-color:color-mix(in oklab,var(--st-cancelled) 24%,var(--border-2))}.obx :is(.ss-money,.ss-vax) .ss-row .hd{display:grid;grid-template-columns:26px minmax(0,1fr) auto 14px;gap:8px;align-items:center}.obx :is(.ss-money,.ss-vax) .th{width:26px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface-2);overflow:hidden;display:grid;place-items:center;padding:0;margin:0;flex:none}.obx :is(.ss-money,.ss-vax) .th.empty{border-style:dashed;border-color:var(--border-strong);color:var(--ink-mute)}.obx :is(.ss-money,.ss-vax) .th.has-img{cursor:zoom-in;background:var(--surface-3)}.obx :is(.ss-money,.ss-vax) .th.pdf{cursor:zoom-in;background:var(--surface-3);color:var(--ink-sub)}.obx :is(.ss-money,.ss-vax) .th img{width:100%;height:100%;object-fit:cover;display:block}.obx :is(.ss-money,.ss-vax) .t{display:flex;flex-direction:column;min-width:0;border:0;background:transparent;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.obx :is(.ss-money,.ss-vax) .t b{font-size:var(--ts);font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-variant-numeric:tabular-nums}.obx :is(.ss-money,.ss-vax) .t small{color:var(--ink-3);font-size:var(--txs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obx :is(.ss-money,.ss-vax) .st{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:var(--radius-sm);border:0;background:var(--surface-3);font-size:10.5px;font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);white-space:nowrap;color:var(--ink-2)}.obx :is(.ss-money,.ss-vax) .st.ok{background:var(--primary-soft);color:var(--primary-deep)}.obx :is(.ss-money,.ss-vax) .st.warn{background:var(--warn-soft);color:var(--warn-deep)}.obx :is(.ss-money,.ss-vax) .st.todo{background:var(--due-soft);color:var(--due-ink)}.obx :is(.ss-money,.ss-vax) .st.bad{background:var(--st-cancelled-soft);color:var(--st-cancelled-ink)}.obx :is(.ss-money,.ss-vax) .chev{color:var(--ink-mute);transition:transform .2s ease}.obx :is(.ss-money,.ss-vax) .ss-row.open .chev{transform:rotate(180deg)}.obx :is(.ss-money,.ss-vax) .vx{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--border-2)}.obx :is(.ss-money,.ss-vax) .big,.obx :is(.ss-money,.ss-vax) .big.xl{display:flex;flex-direction:column;gap:8px}.obx :is(.ss-money,.ss-vax) .shot{position:relative;background:var(--surface-3);border-radius:var(--radius-ctl);padding:6px;display:grid;place-items:center}.obx :is(.ss-money,.ss-vax) .shot .proof-img{border:0;background:transparent}.obx :is(.ss-money,.ss-vax) .shot .proof-img img{max-height:150px}.obx :is(.ss-money,.ss-vax) .shot .proof-img.is-waiting{display:block;width:100%;height:120px}.obx :is(.ss-money,.ss-vax) .vx-decide .is-busy{cursor:progress}.obx :is(.ss-money,.ss-vax) .vx-decide{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-ctl);padding:8px 9px;display:flex;flex-direction:column;gap:8px}.obx :is(.ss-money,.ss-vax) .vx-decide .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.obx :is(.ss-money,.ss-vax) .vx-decide .k{font-size:var(--txs);font-weight:var(--weight-strong);color:var(--ink);white-space:nowrap}.obx :is(.ss-money,.ss-vax) .vx-decide input{width:96px;height:28px;font:inherit;font-size:var(--txs);padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums}.obx :is(.ss-money,.ss-vax) .vx-decide input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.obx :is(.ss-money,.ss-vax) .vx-decide .n{font-size:10px;color:var(--ink-3);line-height:1.3}.obx :is(.ss-money,.ss-vax) .vx-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.obx :is(.ss-money,.ss-vax) .vx-decide .vx-acts{display:grid;grid-template-columns:1fr 1fr}.obx :is(.ss-money,.ss-vax) .vx-acts .btn{padding:5px 10px;font-size:var(--txs);display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;text-decoration:none}.obx :is(.ss-money,.ss-vax) .btn.quiet-danger{color:var(--st-cancelled-ink);border-color:var(--st-cancelled);background:var(--surface)}.obx :is(.ss-money,.ss-vax) .btn.quiet{color:var(--ink-3);border-color:transparent;background:transparent;padding:3px 8px;font-size:var(--txs);display:inline-flex;align-items:center;gap:4px}.obx :is(.ss-money,.ss-vax) .btn.quiet:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.obx :is(.ss-money,.ss-vax) .shot{position:relative}.obx :is(.ss-money,.ss-vax) .mc-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:var(--surface-3);color:var(--ink-2);cursor:pointer;box-shadow:0 1px 2px color-mix(in oklab,var(--ink) 12%,transparent);transition:var(--dur) background,var(--dur) color}.obx :is(.ss-money,.ss-vax) .mc-remove:hover{background:var(--bg-tint);color:var(--ink)}.obx :is(.ss-money,.ss-vax) .mc-remove:disabled{opacity:var(--opacity-muted);cursor:default}.obx :is(.ss-money,.ss-vax) .mc-remove-ask{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:8px 9px;border:1px solid var(--st-cancelled);border-radius:var(--radius-ctl);background:var(--st-cancelled-soft);font-size:var(--txs);color:var(--st-cancelled-ink);line-height:1.4;animation:rqReveal .2s var(--ease) both}.obx :is(.ss-money,.ss-vax) .mc-remove-acts{display:flex;gap:6px}.obx :is(.ss-money,.ss-vax) .mc-remove-acts .btn{padding:4px 9px;font-size:var(--txs)}.obx :is(.ss-money,.ss-vax) .mc-remove-no{background:var(--surface)}.obx :is(.ss-money,.ss-vax) .btn.ic.wa-open{background:var(--wa);border-color:var(--wa);color:#fff}.obx :is(.ss-money,.ss-vax) .btn.ic.wa-open.is-off{opacity:.5;pointer-events:none}.obx :is(.ss-money,.ss-vax) .btn.rq-copy.copied{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-deep)}.obx :is(.ss-money,.ss-vax) .vx-done{display:flex;gap:8px;align-items:flex-start;padding:8px 9px;background:var(--primary-soft);border-radius:var(--radius-ctl);font-size:var(--txs);color:var(--primary-deep);line-height:1.4}.obx :is(.ss-money,.ss-vax) .vx-done .m{width:16px;height:16px;border-radius:50%;display:inline-grid;place-items:center;flex:none;background:var(--primary);color:#fff;margin-top:1px}.obx :is(.ss-money,.ss-vax) .vx-done.bad{background:var(--st-cancelled-soft);color:var(--st-cancelled-ink)}.obx :is(.ss-money,.ss-vax) .vx-done.bad .m{background:var(--st-cancelled)}.obx :is(.ss-money,.ss-vax) .vx-done .vx-undo{margin-left:auto;flex:none;color:inherit;text-decoration:underline;text-underline-offset:2px}.obx .ss-vax .vx-decide input{width:112px}.obx :is(.ss-money,.ss-vax) .ss-trail{max-height:560px;overflow-y:auto;overscroll-behavior:contain}.obx :is(.ss-money,.ss-vax) .mc-drop{font-style:normal;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 12px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-ctl);background:var(--surface-2);color:var(--ink-3);font-size:var(--txs);cursor:pointer;text-align:center}.obx :is(.ss-money,.ss-vax) .mc-drop:hover{background:var(--surface-3)}.obx .ss-msg{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-ctl)}.obx :is(.ss-money,.ss-vax) .ss-msg{margin-top:8px}.obx .ss-msg-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:8px;padding:6px 6px 6px 10px}.obx .ss-msg-hd{display:grid;grid-template-columns:minmax(0,1fr) 14px;grid-template-rows:auto auto;column-gap:6px;row-gap:1px;align-items:center;align-content:start;min-width:0;height:30px;border:0;background:none;padding:0;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-sm)}.obx .ss-msg-hd:hover .ss-msg-preview{color:var(--ink)}.obx .ss-msg-hd:hover .ss-msg-chev{color:var(--ink-2)}.obx .ss-msg-hd:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.obx .ss-msg-eyebrow{grid-column:1;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.obx .ss-msg-preview{grid-column:1;grid-row:2;font-size:var(--txs);line-height:1.45;font-style:italic;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.obx .ss-msg-preview.is-hint{color:var(--ink-mute);font-style:normal;font-size:10px;letter-spacing:.02em}.obx .ss-msg-chev{grid-column:2;grid-row:1/span 2;color:var(--ink-mute);transition:transform .2s var(--ease)}.obx .ss-msg.open .ss-msg-chev{transform:rotate(180deg)}.obx .ss-msg-acts{display:flex;align-items:center;flex:none;margin-top:3px}.obx .ss-msg-wa{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:var(--radius-sm);background:var(--wa);color:#fff;text-decoration:none;transition:filter var(--dur-fast) var(--ease)}.obx .ss-msg-wa:hover{background:color-mix(in oklab,var(--wa) 86%,var(--ink))}.obx .ss-msg-wa.is-off{background:var(--surface-3);color:var(--ink-3);pointer-events:none}.obx .ss-msg-body{padding:0 10px 9px;border-top:1px solid var(--border-2);margin-top:0}.obx .ss-msg-body p{margin:8px 0 0;font-size:var(--txs);line-height:1.5;color:var(--ink);font-style:italic;white-space:pre-line}@media (prefers-reduced-motion: reduce){.obx .ss-msg-chev{transition:none}}.obx :is(.ss-money,.ss-vax) .ss-row:not(.open):hover{background:var(--surface-2);border-color:var(--border-strong)}.obx :is(.ss-money,.ss-vax) .ss-row .hd{border-radius:var(--radius-sm);margin:-2px -4px;padding:2px 4px;transition:background var(--dur-fast) var(--ease)}.obx :is(.ss-money,.ss-vax) .ss-row .hd:hover{background:var(--surface-2)}.obx :is(.ss-money,.ss-vax) .ss-row.open .hd:hover{background:var(--surface-3)}.obx :is(.ss-money,.ss-vax) .th.has-img:hover{box-shadow:0 0 0 2px var(--brand-soft);border-color:var(--brand)}.obx :is(.ss-money,.ss-vax) .shot .proof-img:hover img{opacity:.92}.obx :is(.ss-money,.ss-vax) .btn.secondary:hover:not(:disabled){border-color:var(--ink-3);background:var(--surface-2)}.obx :is(.ss-money,.ss-vax) .btn.quiet-danger:hover:not(:disabled){background:var(--st-cancelled-soft)}.obx :is(.ss-money,.ss-vax) .btn.ic.wa-open:hover{background:color-mix(in oklab,var(--wa) 86%,var(--ink));border-color:color-mix(in oklab,var(--wa) 86%,var(--ink))}.obx :is(.ss-money,.ss-vax) .mc-drop b{font-weight:var(--weight-strong);color:var(--ink)}.obx :is(.ss-money,.ss-vax) .mc-drop small{font-size:10px}.obx :is(.ss-money,.ss-vax) .mc-drop .btn{margin-top:6px;padding:5px 10px;font-size:var(--txs)}.obx :is(.ss-money,.ss-vax) .mc-drop.is-busy{opacity:var(--opacity-disabled);cursor:default}.dog-card-view{font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--brand-deep);background:transparent;border:0;padding:0 0 0 8px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.dog-card-view:hover{text-decoration:underline}.obx .ob-access{gap:10px}.obx .locked-fields{border:0;padding:0;margin:0;min-width:0}.obx .locked-fields input,.obx .locked-fields textarea{background:var(--bg-tint);color:var(--ink-3);cursor:default}.obx .locked-fields .chip:not(.on),.obx .locked-fields .useg button:not(.on){background:var(--bg-tint);color:var(--ink-3)}.obx .locked-fields .chip,.obx .locked-fields .useg button{cursor:default}.today-view{padding:18px var(--pad-view-x) var(--pad-view-bottom);display:flex;flex-direction:column;gap:14px}.today-view.is-stepping{opacity:.55;transition:opacity var(--dur) ease}.today-loading .today-ctx-card{display:flex;flex-direction:column;gap:8px}.today-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.today-col{display:flex;flex-direction:column;gap:14px}.today-desk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}@media (max-width: 1200px){.today-desk{grid-template-columns:1fr}}.today-chart{min-width:0;display:flex;flex-direction:column;gap:8px}.today-meta-row{display:grid;grid-template-columns:1fr;gap:14px}.today-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px}.today-section h3{margin:0 0 10px;font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-display);display:flex;align-items:center;gap:8px}.today-section h3 .count{font-size:var(--text-xs);background:var(--bg-tint);color:var(--ink-2);padding:1px 8px;border-radius:var(--radius-sm);font-weight:var(--weight-strong);letter-spacing:var(--tracking-flat)}.today-card{display:flex;align-items:stretch;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;margin-bottom:6px;background:var(--surface);cursor:pointer;transition:var(--dur-fast) background}.today-card:hover{background:var(--bg-tint)}.today-card.flat{background:var(--bg-tint);border-style:dashed}.today-card.flat:hover{background:var(--surface-2)}.tc-time{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--primary-deep);align-self:flex-start;padding:3px 9px;background:var(--primary-soft);border-radius:6px;flex-shrink:0}.tc-body{flex:1;min-width:0}.tc-dogs{display:flex;align-items:center;gap:10px}.tc-dogs .dog-names{font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.tc-dogs .dog-names.sm{font-size:var(--text-sm)}.tc-dogs .owner-sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px}.tc-note{font-size:var(--text-xs);color:var(--ink-2);margin-top:6px;padding:6px 9px;background:var(--alert-soft);border-radius:6px;border-left:2px solid var(--alert)}.desk-section{transition:.2s background,.2s border-color,.2s box-shadow}.desk-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.desk-section-title{display:flex;align-items:center;gap:12px}.desk-section-title h3{margin:0}.desk-counts{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--ink-3)}.desk-counts.active{color:var(--alert-deep);font-weight:var(--weight-strong)}.window-tag{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;background:var(--primary-soft);color:var(--primary-deep);border:1px solid var(--primary);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.window-tag .window-dot{width:7px;height:7px;border-radius:50%;background:var(--primary-deep);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:var(--opacity-disabled)}}.desk-list{display:flex;flex-direction:column;gap:6px}.desk-row{--size-body: var(--text-xs);--size-sub: var(--text-eyebrow);--names-reserve: 72px;--desk-actions-w: 218px;--desk-pay-w: 92px;--desk-pill-w: 118px;--desk-dogs-min: 104px;--desk-contact-min: 80px;--desk-stay-min: 92px;display:grid;grid-template-columns:minmax(var(--desk-dogs-min),1.55fr) minmax(var(--desk-contact-min),.85fr) minmax(var(--desk-stay-min),1fr) var(--desk-actions-w);gap:10px;align-items:center;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:var(--dur-fast) background,var(--dur-fast) border-color,.15s opacity;min-height:50px}.desk-row:hover{background:var(--bg-tint);border-color:var(--border-strong)}@media (min-width: 1201px) and (max-width: 1400px){.desk-row{--names-reserve: 24px;--desk-dogs-min: 88px;--desk-contact-min: 72px;--desk-stay-min: 84px;--desk-pay-w: 92px;--desk-pill-w: 96px;--desk-actions-w: 196px}.desk-row .desk-actions>.status-pill,.desk-row .desk-actions>.desk-row-pay{padding-left:8px;padding-right:8px;gap:5px}.desk-row .status-pill-word{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (min-width: 1401px) and (max-width: 1600px){.desk-row{--names-reserve: 40px}}@media (min-width: 1601px) and (max-width: 1800px){.desk-row{--names-reserve: 56px}}@media (min-width: 1801px) and (max-width: 2199px){.desk-row{--names-reserve: 64px}}.desk-row.viewing{border-color:var(--viewing)}.desk-row.viewing:not(.done):hover{border-color:var(--viewing-deep)}.desk-row.viewing:focus-visible{outline:2px solid var(--viewing-deep);outline-offset:2px}.desk-row.done{background:var(--bg-tint);border-style:dashed;border-color:var(--border);opacity:var(--opacity-muted)}.desk-row.done:hover{opacity:1}.desk-row.done .dog-names-text{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--ink-3)}.desk-row.done .owner-name,.desk-row.done .dog-sub,.desk-row.done .desk-row-stay,.desk-row.done .desk-row-dates,.desk-row.done .desk-row-total,.desk-row.done .desk-row-owner,.desk-row.done .desk-row-phone{color:var(--ink-3)}.desk-counts-viewings{font-size:var(--text-xs);color:var(--ink-3);margin-left:4px}.desk-counts-unknown{font-size:var(--text-xs);color:var(--alert-deep);margin-left:4px}.desk-booked{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:var(--radius-sm);background:var(--st-visited-soft);color:var(--st-visited-ink);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap}.desk-row>.bt-dogs{min-width:0}.desk-row .bt-meta{flex:1 1 auto;min-width:0}.desk-row .dog-names-text{position:relative}.desk-row .dog-name-unit{display:inline}.flag-strip-probe{position:absolute;visibility:hidden;pointer-events:none;white-space:nowrap;display:inline-flex;gap:3px;left:0;top:0}.desk-row .flag-strip{position:relative}.dog-names-probe{position:absolute;visibility:hidden;pointer-events:none;white-space:nowrap;left:0;top:0}.dog-names-more{color:var(--ink-2)}.desk-row .bt-dogs{gap:6px}.desk-row .bflag.bflag-more{width:auto;min-width:16px;padding:0 3px;background:var(--surface-2);color:var(--ink-3);font-size:var(--text-eyebrow);font-weight:var(--weight-display);font-variant-numeric:tabular-nums}.avatar.avatar-more{background:var(--surface-2);color:var(--ink-3);font-size:var(--text-eyebrow);font-variant-numeric:tabular-nums;letter-spacing:0}.avatar-count{display:inline-flex}.avatar-count .avatar{font-weight:var(--weight-display);letter-spacing:-.02em}.desk-row-contact{min-width:0;display:flex;flex-direction:column;gap:1px}.desk-row-owner,.desk-row-phone{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desk-row-phone{min-height:1em}.dog-sub{min-width:0;display:flex;align-items:center;gap:4px}.desk-row .dog-sub,.desk-row .dog-names{min-height:18px}.desk-row .dog-names>.flag-strip{flex:0 0 auto}.desk-row .dog-sub,.desk-row .dog-names{overflow:hidden}.dog-sub-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dog-sub>.flag-strip{flex-shrink:0}.desk-row-total{color:var(--ink-3);font-family:var(--font-sans);margin-left:5px}.nights-short{display:none}@media (max-width: 1550px){.nights-long{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.nights-short{display:inline}}@media (max-width: 1400px){.desk-row-total{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.desk-row-stay{min-width:0;display:flex;flex-direction:column;gap:1px}.desk-row-dates{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desk-row-flags{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.health-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--radius-sm);font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:var(--tracking-flat);border:1px solid;line-height:1.5}.health-chip.ok{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-deep)}.health-chip.lapsed{background:var(--alert-soft);border-color:var(--alert);color:var(--alert-deep)}.health-chip.meds{background:var(--secondary-soft);border-color:var(--secondary);color:var(--secondary-deep)}.desk-row-action{padding:6px 12px;border-radius:var(--radius);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);border:1px solid var(--brand);background:var(--surface);color:var(--brand-deep);cursor:pointer;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;transition:var(--dur-fast) background,var(--dur-fast) color,var(--dur-fast) border-color,var(--dur-fast) transform;white-space:nowrap}.desk-row-action:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.desk-row-pair{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.desk-row .desk-actions>.status-pill{--st-tone: var(--st-arrived);--st-ink: var(--st-arrived-ink);--st-soft: var(--st-arrived-soft)}.desk-row .desk-actions>.status-pill:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.desk-row .desk-actions>.status-pill.is-done{--st-tone: var(--st-collected);--st-ink: var(--st-collected-ink);--st-soft: var(--st-collected-soft)}.desk-row-pay{--pay-tone: var(--due);--pay-ink: var(--due-ink);--pay-soft: var(--due-soft);padding:7px 12px;border-radius:var(--radius);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);border:1px solid transparent;background:var(--pay-soft);color:var(--pay-ink);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:var(--dur-fast) background,var(--dur-fast) color,var(--dur-fast) border-color;white-space:nowrap}.desk-row-pay:hover:not(:disabled){background:color-mix(in oklab,var(--pay-tone) 14%,var(--pay-soft))}.desk-row-pay:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.desk-row-pay:disabled{opacity:.65;cursor:default}.desk-row-pay.paid{--pay-tone: var(--st-collected);--pay-ink: var(--st-collected-ink);--pay-soft: var(--st-collected-soft)}.desk-row-pay.credit,.desk-row-pay.paid.credit{--pay-tone: var(--secondary);--pay-ink: var(--secondary-deep);--pay-soft: var(--secondary-soft)}.desk-row-action,.desk-row-pay{text-transform:capitalize}.desk-actions{display:flex;align-items:center;gap:8px}.desk-row .desk-actions{display:grid;grid-template-columns:var(--desk-pay-w) var(--desk-pill-w);justify-items:start}.desk-row .desk-actions>.status-pill,.desk-row .desk-actions>.desk-row-pay{box-sizing:border-box;height:30px}.desk-row .desk-actions>.desk-row-pay,.desk-row .desk-actions>.desk-row-action,.desk-row .desk-actions>.desk-row-action-slot,.desk-row .desk-actions>.desk-booked,.desk-row .desk-actions>.status-pill{grid-row:1}.oc-stack{display:flex;flex-direction:column;gap:8px}.oc-line{display:flex;align-items:center;gap:10px}.oc-lbl{width:30px;flex-shrink:0;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-display);color:var(--ink-3)}.oc-chips{display:flex;gap:6px;flex-wrap:wrap}.oc-none{color:var(--ink-mute);font-size:var(--text-sm)}.cs{position:relative}.cs-rail{display:flex;align-items:stretch;min-width:0;height:44px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.cs-seg{display:flex;align-items:center;min-width:0}.cs-seg+.cs-seg{border-left:1px solid var(--border)}.cs-seg-btn{display:flex;align-items:center;gap:9px;width:100%;height:100%;min-width:0;padding:0 10px;background:transparent;border:0;font:inherit;text-align:left;color:inherit;cursor:pointer;overflow:hidden;transition:background var(--dur-fast) var(--ease)}.cs-seg-btn:hover:not(:disabled){background:var(--bg-tint)}.cs-seg-btn:disabled{cursor:default}.cs-seg-btn:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.cs-seg-title{margin-right:16px;flex:0 0 auto;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-display);color:var(--ink-3);white-space:nowrap}.cs-chev{flex:0 0 auto;display:flex;margin-left:auto;color:var(--ink-3);transition:transform var(--dur-reveal) var(--ease)}.cs-seg-btn[aria-expanded=true] .cs-chev{transform:rotate(180deg)}.cs-seg-attn{flex:0 0 357px;min-width:max-content}.cs-seg-attn .cs-seg-btn{gap:6px}.cs-attn-ico{display:flex;flex:0 0 auto;color:var(--alert-deep)}.cs-sep{width:1px;height:22px;flex:0 0 auto;margin:0 3px;background:var(--border-strong)}.cs-seg-attn.is-stale{opacity:var(--opacity-muted);transition:opacity var(--dur) ease}.cs-cnts{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-start;gap:0;min-width:0}.cs-cnts .cs-cnt{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;justify-content:flex-start;max-width:none;padding:0;height:20px;border:0;background:none;font-size:var(--text-xs);font-weight:var(--weight-regular);white-space:nowrap}.cs-cnts .cs-cnt+.cs-cnt:before{content:"";width:2.5px;height:2.5px;border-radius:50%;background:var(--ink-mute);opacity:.55;flex:0 0 auto;margin:0 3px 0 8px}.cs-cnts .cs-cnt svg{color:var(--cnt-mark);flex:0 0 auto}.cs-cnts .cs-cnt b{font-size:var(--text-sm);font-weight:var(--weight-display);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.015em;color:var(--cnt-ink)}.cs-cnts .cs-cnt-word{margin-left:-1px;font-size:var(--text-xs);font-weight:var(--weight-regular);line-height:1;letter-spacing:.004em;color:var(--ink-3)}.cs-cnts .cs-cnt.vax{--cnt-mark: var(--warn);--cnt-ink: var(--warn-deep)}.cs-cnts .cs-cnt.unc{--cnt-mark: var(--st-unconfirmed);--cnt-ink: var(--st-unconfirmed-ink)}.cs-cnts .cs-cnt.vw{--cnt-mark: var(--viewing);--cnt-ink: var(--viewing-deep)}.cs-cnts .cs-cnt.req{--cnt-mark: var(--st-requested);--cnt-ink: var(--st-requested-ink)}.cs-cnts .cs-cnt.more{--cnt-mark: var(--ink-mute);--cnt-ink: var(--ink-2)}.cs-clear{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto}.cs-tick{width:18px;height:18px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-deep)}.cs-clear-ln{font-size:var(--text-xs);font-weight:var(--weight-body);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-seg-duty{flex:1 1 auto;min-width:0}.cs-stack{display:flex;align-items:center;gap:18px;min-width:0;flex:1 1 auto}.cs-half{display:flex;align-items:center;gap:7px;min-width:0;flex:1 1 0}.cs-team{display:flex;align-items:center;gap:6px;min-width:0}.cs-team.faces{gap:6px}.cs-divider{width:1px;height:22px;flex:0 0 auto;background:var(--border-strong)}.cs-shift{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-display);color:var(--brand-deep)}.cs-shift:before{content:"";width:8px;height:2px;border-radius:2px;background:var(--brand);flex:0 0 auto}.cs-shift.pm{color:var(--pm-deep)}.cs-shift.pm:before{background:var(--pm)}.cs-helper{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink);white-space:nowrap;background:transparent;border:0;padding:0;font-family:inherit}.cs-helper.boxed{padding:3px 9px 3px 3px;background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink)}.cs-helper-name.is-clipped{max-width:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-helper.clickable{cursor:pointer;transition:var(--dur-fast) background,var(--dur-fast) border-color}.cs-helper.boxed.clickable:hover{background:var(--brand-soft);border-color:var(--brand)}.cs-none{font-size:var(--text-xs);color:var(--ink-mute);white-space:nowrap}.cs-seg-res{flex:0 0 auto;min-width:0}.cs-count{flex:0 0 auto;font-size:var(--text-lg);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;color:var(--brand-deep)}.cs-sk{flex:0 0 auto;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-3) 25%,var(--bg-tint) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:cs-shimmer 1.3s linear infinite}.cs-sk-badge{width:40px;height:23px}.cs-sk-rail{flex:1 1 auto;height:22px;align-self:center;border-radius:var(--radius)}@keyframes cs-shimmer{to{background-position:-200% 0}}.cs-panel{margin-top:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.cs-panel-head{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.cs-panel-ico{color:var(--ink-3);flex:0 0 auto}.cs-panel-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-strong);color:var(--ink-3)}.cs-panel-sum{font-size:var(--text-xs);font-weight:var(--weight-body);color:var(--ink-3)}.cs-panel-link{margin-left:auto;background:transparent;border:0;padding:4px 6px;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--brand-deep);cursor:pointer;white-space:nowrap}.cs-panel-link:hover{color:var(--brand);text-decoration:underline}.cs-panel-foot{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--surface-2);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--ink-3)}.cs-panel-tot{margin-left:auto}.stay-scroll{max-height:322px;overflow:auto;overscroll-behavior:contain}.cs-wk-failed{display:flex;align-items:center;gap:6px;padding:6px 12px;color:var(--ink-2);font-size:var(--text-xs);border-bottom:1px solid var(--border)}.stay-table{width:100%;border-collapse:collapse}.stay-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-display);color:var(--ink-3);padding:7px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.stay-table th.st-num,.stay-table td.st-num{text-align:right}.stay-row{border-bottom:1px solid var(--border);cursor:pointer;transition:var(--dur-fast) background}.stay-row:hover{background:var(--bg-tint)}.stay-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;background:var(--bg-tint)}.stay-row:last-child{border-bottom:0}.stay-table td{padding:7px 12px;font-size:var(--text-sm);color:var(--ink-2);vertical-align:middle;white-space:nowrap}.stay-table td.st-breed{max-width:168px;overflow:hidden;text-overflow:ellipsis}.stay-table td .owner-name{max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay-table td .dog-names-text{overflow-wrap:anywhere}.st-dogs-n{margin-left:6px;padding:0 5px;border-radius:var(--radius-sm);background:var(--bg-tint);color:var(--ink-3);font-size:var(--text-xs);font-variant-numeric:tabular-nums;vertical-align:middle}.st-stay-dates{font-size:var(--text-sm)}.st-stay-nights,.st-due-rate{font-size:var(--text-xs);color:var(--ink-3)}.st-pay.unpaid{color:var(--alert-deep)}.st-due{font-size:var(--text-sm)}.cs-week{display:flex;flex-direction:column;transition:opacity var(--dur) ease}.cs-week.is-loading{opacity:var(--opacity-muted)}.cs-wk-days,.cs-wk-band{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));align-items:stretch}.cs-wk-days{border-bottom:1px solid var(--border)}.cs-wk-band.pm{border-top:1px solid var(--border)}.cs-wk-band-label{display:flex;align-items:center;justify-content:flex-end;padding:10px 10px 10px 12px;border-right:1px solid var(--border)}.cs-wk-day{display:flex;align-items:baseline;gap:5px;padding:8px 10px;border-right:1px solid var(--border);min-width:0}.cs-wk-day:last-child{border-right:0}.cs-wk-dow{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-display);color:var(--ink-3)}.cs-wk-dom{font-size:var(--text-md);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight)}.cs-wk-day .dogs-in{margin-left:auto}.cs-wk-cell{display:flex;flex-direction:column;gap:4px;padding:8px 10px 10px;border-right:1px solid var(--border);min-width:0}.cs-wk-cell:last-child{border-right:0}.cs-wk-day.today,.cs-wk-cell.today{background:var(--brand-soft)}.cs-wk-day.today .cs-wk-dow,.cs-wk-day.today .cs-wk-dom{color:var(--brand-deep)}.cs-wk-name{display:flex;align-items:center;gap:7px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink);min-width:0;padding:2px 0}.cs-wk-name .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-wk-name.clickable{width:100%;background:transparent;border:0;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer;border-radius:var(--radius-sm);padding:2px 4px;margin-left:-4px;transition:background var(--dur-fast) var(--ease)}.cs-wk-name.clickable:hover{background:var(--surface)}.cs-wk-short{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:var(--text-eyebrow);font-weight:var(--weight-display);color:var(--alert-deep);background:var(--alert-soft);border:1px solid color-mix(in srgb,var(--alert) 40%,transparent);border-radius:var(--radius-sm);padding:1px 6px;margin-top:2px}.cs-wk-nav{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}.cs-wk-step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink-3);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.cs-wk-step:hover{background:var(--surface);border-color:var(--border);color:var(--ink-2)}.cs-wk-rel{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);white-space:nowrap;padding:0 6px;min-width:110px;text-align:center}.cs-wk-rel.now{color:var(--brand-deep)}.cs-empty{display:flex;flex-direction:column;align-items:center;gap:7px;padding:30px 20px;text-align:center}.cs-empty-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--bg-tint);color:var(--ink-mute)}.cs-empty-line{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--ink-2)}.cs-empty-detail{font-size:var(--text-xs);color:var(--ink-mute);max-width:44ch;line-height:1.55}.cs-empty-cta{margin-top:4px;background:var(--surface);border:1px solid var(--brand);color:var(--brand-deep);border-radius:var(--radius);padding:5px 12px;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);cursor:pointer}.cs-empty-cta:hover{background:var(--brand-soft)}.desk-section-head{min-height:24px}.desk-section-head .today-ctx-copy{margin-left:auto}@media (prefers-reduced-motion: reduce){.cs-chev,.cs-sk{transition:none;animation:none}}.cs-rail{container-type:inline-size;container-name:strip}.cs-seg-ico{display:flex;flex:0 0 auto;color:var(--ink-3);opacity:.65}@container strip (max-width: 1360px){.cs-seg-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.cs-wk-leave-row{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border)}.cs-wk-leave-row .cs-wk-cell{padding:6px 10px}.cs-wk-leave{display:inline-flex;align-items:center;font-size:var(--text-eyebrow);font-weight:var(--weight-strong);color:var(--alert-deep);background:var(--alert-soft);border:1px solid color-mix(in srgb,var(--alert) 35%,transparent);border-radius:var(--radius-sm);padding:2px 6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay-table .st-cap{margin-top:2px;font-size:var(--text-xs);color:var(--ink-3)}.stay-table .st-cap.is-limited{color:var(--st-requested-ink);font-weight:var(--weight-medium)}.stay-table .st-cap.is-full{color:var(--st-declined-ink);font-weight:var(--weight-medium)}.stay-table .st-cap-others{font-size:var(--text-xs);color:var(--st-unconfirmed-ink)}.stay-table .st-proof-in{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--brand-deep)}.dogs-view{padding:18px var(--pad-view-x) var(--pad-view-bottom);display:flex;flex-direction:column;gap:14px}.owners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:14px}.owner-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.oc-head{display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:0;font-family:inherit;color:inherit;width:100%;text-align:left}.oc-head.clickable{cursor:pointer;border-radius:6px;transition:var(--dur-fast) color}.oc-head.clickable:hover .oc-name{color:var(--primary-deep)}.oc-head.clickable>.svg,.oc-head.clickable svg{color:var(--ink-3)}.oc-name{font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.oc-meta{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px}.oc-loyal{font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;background:var(--primary-soft);color:var(--primary-deep);padding:3px 9px;border-radius:var(--radius-sm)}.oc-stats{display:flex;flex-direction:column;gap:2px;font-size:var(--text-xs);color:var(--ink-2)}.oc-dogs{display:flex;flex-direction:column;gap:6px;border-top:1px dashed var(--border);padding-top:10px}.oc-dog{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid transparent;border-radius:8px;padding:4px 6px;margin:0 -6px;font-family:inherit;color:inherit;text-align:left;width:calc(100% + 12px)}.oc-dog.clickable{cursor:pointer;transition:var(--dur-fast) background,var(--dur-fast) border-color}.oc-dog.clickable:hover{background:var(--bg-tint);border-color:var(--border)}.oc-dog .meta{flex:1;min-width:0}.oc-dog .name{font-size:var(--text-sm);font-weight:var(--weight-medium)}.oc-dog .sub{font-size:var(--text-xs);color:var(--ink-3)}.oc-dog.add{cursor:pointer;border-style:dashed;border-color:var(--border);color:var(--ink-3);justify-content:flex-start;font-weight:var(--weight-medium);font-size:var(--text-sm);padding:6px 8px;transition:var(--dur-fast) color,var(--dur-fast) border-color,var(--dur-fast) background}.oc-dog.add:hover{color:var(--primary-deep);border-color:var(--primary);background:var(--primary-soft)}.oc-dog.add .add-dog-icon{width:26px;height:26px;display:inline-grid;place-items:center;border-radius:50%;background:var(--bg-tint);color:var(--ink-3)}.oc-dog.add:hover .add-dog-icon{background:var(--primary);color:var(--ink)}.oc-dog.add .add-dog-label{letter-spacing:var(--tracking-snug)}.dog-flag{width:18px;height:18px;border-radius:50%;background:var(--alert);color:var(--bg);font-size:var(--text-xs);font-weight:var(--weight-display);display:grid;place-items:center;cursor:help}.bookings-table.owners-table .bt-row{grid-template-columns:2fr 1.1fr 1.2fr 1.4fr .5fr .7fr .9fr .9fr}.ot-contact{min-width:0}.ot-contact .mono{font-size:var(--text-sm);color:var(--ink)}.ot-contact .sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finances-view{padding:12px var(--pad-view-x) var(--pad-view-bottom)}.fin-summary{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:10px;margin-bottom:14px}.fin-summary .stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px}.fin-summary .stat-card.prime{background:var(--brand);color:var(--bg);border-color:var(--brand)}.fin-summary .stat-card.prime .label{color:var(--bg)}.fin-summary .stat-card .label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.fin-summary .stat-card .val{font-size:var(--text-3xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);margin-top:4px}.fin-summary .stat-card .sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px}.fin-summary .stat-card.prime .val{color:var(--bg);font-size:var(--text-2xl)}.fin-summary .stat-card.prime .sub{color:var(--bg)}.fin-rows{display:flex;flex-direction:column;gap:4px}.fin-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr auto;align-items:center;gap:14px;padding:10px 12px;border-bottom:1px solid var(--border)}.fin-row:last-child{border-bottom:0}.fin-sub{margin-top:2px}.fin-num{font-size:var(--text-base);text-align:right}.fin-num.due{color:var(--alert-deep);font-weight:var(--weight-strong)}.fin-num.paid{color:var(--primary-deep);font-weight:var(--weight-strong)}.messages{display:flex;flex-direction:column;gap:14px;padding:18px var(--pad-view-x) var(--pad-view-bottom)}.messages.is-stepping{opacity:.55;transition:opacity var(--dur) ease}.messages-view{display:grid;grid-template-columns:240px 1fr;gap:14px}.msg-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px;display:flex;flex-direction:column;gap:12px;height:fit-content;position:sticky;top:18px}.msg-cat-group{display:flex;flex-direction:column;gap:2px}.msg-cat-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-mute);font-weight:var(--weight-display);padding:4px 8px}.msg-list-item{border:0;background:transparent;text-align:left;padding:7px 10px;border-radius:6px;font-size:var(--text-sm);color:var(--ink-2);cursor:pointer;font-family:inherit}.msg-list-item:hover{background:var(--bg-tint)}.msg-list-item.active{background:var(--brand);color:var(--bg)}.msg-pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px}.msg-pane-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.msg-pane-head h2{margin:0;font-size:var(--text-xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.msg-body{background:var(--bg-tint);border:1px solid var(--border);border-radius:10px;padding:16px 18px;font-family:inherit;font-size:var(--text-base);line-height:1.65;color:var(--ink);white-space:pre-wrap;word-wrap:break-word;max-height:60vh;overflow-y:auto;margin:0}.msg-hint{font-size:var(--text-xs);color:var(--ink-3);margin-top:10px;line-height:1.5}.msg-hint code{background:var(--bg-tint);padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:var(--text-xs)}.msg-title-group{display:flex;align-items:center;gap:10px}.msg-list-item.soon{display:flex;align-items:center;opacity:.5;cursor:not-allowed}.msg-list-item.soon:hover{background:transparent}.soon-tag{margin-left:auto;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-display);color:var(--ink-mute);background:var(--surface-3);padding:2px 6px;border-radius:var(--radius-sm)}.copy-btn{gap:7px;min-width:148px;justify-content:center;transition:background .2s ease,border-color .2s ease,color .2s ease}.copy-btn .copy-ico{display:inline-flex;align-items:center}.copy-btn .copy-ico .icon{display:block}.copy-btn.is-copied{background:var(--primary);border-color:var(--primary);color:#fff;animation:copy-ring .55s ease-out}.copy-btn.is-copied .copy-ico{animation:copy-pop .34s cubic-bezier(.2,.8,.3,1.5)}@keyframes copy-pop{0%{transform:scale(.2) rotate(-18deg);opacity:0}55%{transform:scale(1.28) rotate(2deg);opacity:1}to{transform:scale(1) rotate(0)}}@keyframes copy-ring{0%{box-shadow:0 0 #16a34a73}to{box-shadow:0 0 0 12px #16a34a00}}@media (prefers-reduced-motion: reduce){.copy-btn,.copy-btn.is-copied,.copy-btn.is-copied .copy-ico{transition:none;animation:none}}.topbar{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-svg{display:block;flex-shrink:0;filter:drop-shadow(0 1px 2px oklch(.2 .04 250 / .1))}.brand-text{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1;flex-shrink:0}.brand-name{font-family:var(--font-sans);font-weight:var(--weight-strong);font-size:var(--text-xl);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:1;white-space:nowrap;text-align:center}.brand-tagline{font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-medium);color:var(--ink-3);margin-top:4px;text-align:center}.signin-landing{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1100px 460px at 50% -8%,var(--brand-soft) 0%,transparent 62%),var(--bg)}.signin-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:40px 32px 26px;text-align:center;box-shadow:0 16px 48px -20px #11182738;display:flex;flex-direction:column;align-items:center}.signin-mark{width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft);margin-bottom:16px}.signin-title{font-family:var(--font-sans);font-size:26px;font-weight:var(--weight-display);color:var(--ink);margin:0}.signin-eyebrow{font-family:var(--font-sans);font-size:11px;font-weight:var(--weight-strong);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-deep);margin:5px 0 0}.signin-blurb{font-size:var(--text-base);color:var(--ink-3);line-height:1.55;margin:18px 4px 24px}.signin-actions{display:flex;flex-direction:column;gap:12px;width:100%}.signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:12px 18px;border:1px solid transparent;border-radius:var(--radius);font-family:inherit;font-size:var(--text-md);font-weight:var(--weight-strong);text-decoration:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .06s ease}.signin-btn:active{transform:translateY(1px)}.signin-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.signin-btn__logo{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:var(--radius-sm)}.signin-btn__logo svg{display:block}.signin-btn--google{background:var(--brand);color:#fff;box-shadow:0 10px 22px -12px #00808099}.signin-btn--google .signin-btn__logo{background:#fff}.signin-btn--google:hover{background:var(--brand-deep);box-shadow:0 14px 26px -12px #008080b8}.signin-btn--microsoft{background:var(--surface);color:var(--ink-2);border-color:var(--border-strong)}.signin-btn--microsoft:hover{border-color:var(--ink-3);background:var(--surface-2);box-shadow:0 6px 16px -10px #11182740}.signin-or{display:flex;align-items:center;gap:12px;margin:2px 0;color:var(--ink-mute);font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:.02em}.signin-or:before,.signin-or:after{content:"";flex:1;height:1px;background:var(--border)}@media (prefers-reduced-motion: reduce){.signin-btn{transition:none}.signin-btn:active{transform:none}}.signin-foot{font-size:var(--text-eyebrow);color:var(--ink-mute);margin:16px 0 0}.account-view{padding:18px var(--pad-view-x) var(--pad-view-bottom);display:flex;flex-direction:column;gap:14px}.account-error{display:flex;align-items:center;gap:8px;background:var(--alert-soft);color:var(--alert-deep);border:1px solid var(--alert);border-radius:8px;padding:9px 12px;font-size:var(--text-sm)}.account-table .bt-row{grid-template-columns:minmax(0,1.7fr) .8fr 1fr .6fr 1fr 1.2fr .9fr 44px}.account-seen,.account-section{font-size:var(--text-sm);color:var(--ink-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-logins{font-size:var(--text-base);color:var(--ink)}.account-seen.muted,.account-logins.muted,.account-section.muted{color:var(--ink-mute)}.account-table .bt-row.head>div{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3)}.account-person{display:flex;align-items:center;gap:10px;min-width:0}.account-email{font-size:var(--text-base);color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis}.account-you{flex:none;font-size:var(--text-eyebrow);font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:.06em;color:var(--brand-deep);background:var(--brand-soft);border-radius:var(--radius-sm);padding:2px 7px}.account-by{font-size:var(--text-sm);color:var(--ink-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-added{font-size:var(--text-sm);color:var(--ink-2);min-width:0}.account-cell-action{display:flex;justify-content:flex-end}.account-role-pill{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:var(--radius-sm);color:var(--ink-2);background:var(--surface-3)}.account-role-pill.role-admin{color:var(--brand-deep);background:var(--brand-soft)}.account-role-pill.role-customer{color:var(--primary-deep);background:var(--primary-soft)}.account-remove{display:grid;place-items:center;width:30px;height:30px;border:none;background:transparent;color:var(--ink-mute);border-radius:7px;cursor:pointer;transition:color .15s ease,background .15s ease}.account-remove:hover:not(:disabled){color:var(--alert);background:var(--surface-3)}.account-remove:disabled{opacity:.4;cursor:not-allowed}.account-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg)}.account-empty-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);margin-bottom:14px}.account-empty-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-strong);color:var(--ink)}.account-empty-sub{font-size:var(--text-base);color:var(--ink-3);margin-top:4px}.account-roles-hint{font-size:var(--text-sm);color:var(--ink-3);margin:0 2px;line-height:1.5}.account-roles-hint strong{color:var(--ink-2);font-weight:var(--weight-strong)}.account-tab-view,.account-list{display:flex;flex-direction:column;gap:14px;min-width:0}.account-tab{min-width:0}.account-tab[hidden]{display:none}.account-charts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.account-charts .fin-panel{margin-bottom:0;display:flex;flex-direction:column;gap:10px;min-width:0}.account-charts .fin-panel-head{margin-bottom:0}.account-chart{position:relative;flex:1}.account-chart .chart-canvas{height:clamp(172px,22vh,212px)}.account-chart .chart-svg-wrap,.account-chart .chart-y-axis{bottom:30px}.account-chart .chart-x-axis{height:26px}.chart-x-axis.cat .cat-lbl{position:absolute;top:6px;transform:translate(-50%);white-space:nowrap;text-align:center;font-size:var(--text-eyebrow);color:var(--ink-mute)}.chart-x-axis.cat .cat-lbl.on{color:var(--ink);font-weight:var(--weight-strong)}.account-chart-skeleton{height:clamp(172px,22vh,212px);border-radius:var(--radius);background:var(--bg-tint);animation:account-pulse 1.4s ease-in-out infinite}@keyframes account-pulse{0%,to{opacity:.55}50%{opacity:.9}}.account-charts .fin-donut{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center}.account-charts .fin-donut-body{justify-content:center;gap:26px}.account-charts .fin-donut-chart{width:clamp(140px,14vw,176px)}@media (max-width: 1040px){.account-charts{grid-template-columns:repeat(2,1fr)}.account-charts>.account-chart-card:nth-child(3){grid-column:1 / -1}}@media (max-width: 680px){.account-charts{grid-template-columns:1fr}.account-charts>.account-chart-card:nth-child(3){grid-column:auto}}.panel-meta{font-size:var(--text-sm);color:var(--ink-3)}.account-tab-skeleton{display:flex;flex-direction:column;gap:10px;padding:4px 0}.account-tab-skeleton .bl-block{width:100%}.filter-chip .avatar,.heat-rowhead .avatar{flex:none}.feed-day{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-mute);margin:14px 0 4px}.feed-day-group:first-child .feed-day{margin-top:0}.feed-run{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:4px}.feed-day-group:last-child .feed-run:last-child{border-bottom:0}.feed-run-head{display:flex;align-items:center;gap:9px;width:100%;padding:10px 0 6px;font-size:var(--text-base)}button.feed-run-head{font:inherit;color:inherit;text-align:left;background:none;border:none;cursor:pointer;border-radius:6px}.feed-run-head.clickable{padding-inline:8px;margin-inline:-8px;width:calc(100% + 16px);transition:background var(--dur) ease}.feed-run-head.clickable:hover{background:var(--surface-3)}.feed-run-head.clickable:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.feed-run-who{font-weight:var(--weight-strong)}.feed-run-addr{font-size:var(--text-xs);color:var(--ink-mute);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-dwell{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-mute);font-weight:var(--weight-normal)}.feed-run-span{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-mute);flex:none}.feed-run-ev{display:flex;align-items:center;gap:11px;padding:4px 0 4px 12px;margin-left:12px;border-left:1px solid var(--border);font-size:var(--text-base);width:calc(100% - 12px)}button.feed-run-ev{font:inherit;color:inherit;text-align:left;background:none;border:none;border-left:1px solid var(--border);cursor:pointer}.feed-run-ev.clickable{transition:background var(--dur) ease}.feed-run-ev.clickable:hover{background:var(--surface-3)}.feed-run-ev.clickable:hover .feed-ev-kind,.feed-run-ev.clickable:hover .feed-ev-change{color:var(--brand-deep)}.feed-run-ev.clickable:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:6px}.feed-run-txt{min-width:0}.feed-dot{width:7px;height:7px;border-radius:50%;flex:none}.feed-dot.change{background:var(--brand)}.feed-dot.presence{background:transparent;border:1.5px solid var(--ink-mute)}.feed-ev-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-mute);width:44px;flex:none}.feed-ev-kind{color:var(--ink-3)}.feed-ev-change{color:var(--ink)}.feed-ev-dwell{margin-left:auto;flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-mute)}.feed-ev-target{margin-left:auto;flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-mute);background:var(--bg-tint);border-radius:var(--radius-sm);padding:1px 6px}.feed-empty{text-align:center;padding:48px 20px;color:var(--ink-3)}.feed-empty-mark{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--bg-tint);color:var(--ink-3);margin-bottom:10px}.feed-empty-title{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--ink-2);margin-bottom:3px}.feed-empty-sub{font-size:var(--text-sm)}.feed-run-head .account-role-pill,.feed-run-head .off-list-tag{flex:none;margin:0 2px}.off-list-tag{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px}.account-drawer-id{display:flex;align-items:center;gap:12px;margin-bottom:18px}.account-drawer-id-text{display:flex;align-items:center;gap:8px;min-width:0}.account-drawer-email{font-size:var(--text-lg);font-weight:var(--weight-strong);color:var(--ink);overflow:hidden;text-overflow:ellipsis}.account-drawer-hint{font-size:var(--text-sm);color:var(--ink-3);margin:8px 2px 0}.account-drawer-self-note{display:flex;align-items:center;gap:10px;font-size:var(--text-sm);color:var(--ink-3);margin:0}.account-drawer-meta{display:flex;gap:32px;margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.account-drawer-meta>div{display:flex;flex-direction:column;gap:3px;min-width:0}.account-drawer-meta-label{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3)}.account-drawer-meta-val{font-size:var(--text-base);color:var(--ink);overflow:hidden;text-overflow:ellipsis}.account-drawer-remove{margin-right:auto}@media (max-width: 767px){.account-table .bt-row{grid-template-columns:minmax(0,1fr) auto 40px}.account-table .bt-row .account-seen,.account-table .bt-row .account-logins,.account-table .bt-row .account-section,.account-table .bt-row .account-by,.account-table .bt-row .account-added,.account-table .bt-row.head>div:nth-child(n+3):nth-child(-n+7){display:none}}.brand-tag{display:inline-flex;align-items:center;font-size:var(--text-eyebrow);font-weight:var(--weight-strong);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);padding:3px 9px;border-radius:var(--radius-sm);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;margin-left:4px;align-self:center}.nav{display:flex;gap:2px;background:var(--bg-tint);border:1px solid var(--border);padding:3px;border-radius:var(--radius);margin-left:8px}.nav button{border:0;background:transparent;padding:6px 14px;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--ink-2);cursor:pointer;letter-spacing:var(--tracking-snug)}.nav button.active{background:var(--brand);color:var(--bg)}.nav button:hover:not(.active){color:var(--ink)}.spacer{flex:1}.who{display:flex;align-items:center;gap:10px;font-size:var(--text-base);color:var(--ink-2)}.avatar{position:relative;width:28px;height:28px;border-radius:var(--radius-avatar);display:grid;place-items:center;font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink);border:1px solid var(--border);background:var(--bg-tint)}.avatar.avatar-dog{padding-bottom:.4em}.avatar-paw{position:absolute;right:-2px;bottom:-2px;width:1.15em;height:1.15em;border-radius:50%;background:var(--surface);color:var(--ink-3);display:grid;place-items:center;box-shadow:0 0 0 1.5px var(--surface)}.avatar-paw svg{width:100%;height:100%;display:block;fill:currentColor}.avatar.tone-clay{background:var(--avatar-clay)}.avatar.tone-sage{background:var(--avatar-sage)}.avatar.tone-mist{background:var(--avatar-mist)}.avatar.tone-mauve{background:var(--avatar-mauve)}.avatar-btn{display:inline-flex;flex:none;padding:0;border:0;background:none;cursor:pointer;border-radius:50%;line-height:0;transition:transform .08s ease,box-shadow .08s ease}.avatar-btn:hover .avatar{box-shadow:0 0 0 2px var(--brand)}.avatar-btn:hover{transform:translateY(-1px)}.avatar-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.account-obx .node .lab .txt{width:100%}.pf-tab{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;align-items:start;min-width:0}.pf-tab>.fin-panel{margin-bottom:0}@media (max-width: 1180px){.pf-tab{grid-template-columns:1fr}}.pf-note{margin:0 0 14px;font-size:var(--text-sm);color:var(--ink-3);line-height:1.5;max-width:68ch}.pf-note:last-child{margin:14px 0 0}.pf-note strong{color:var(--ink-2);font-weight:var(--weight-strong)}.pf-empty{font-style:italic}.pf-standing{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.pf-line{display:grid;grid-template-columns:104px 96px 96px;align-items:end;gap:10px}.pf-line-name{font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--ink-2);padding-bottom:10px}.pf-line:not(:first-of-type) .field-label{display:none}.pf-standing .btn{margin-top:4px}.pf-blocks{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.pf-block{display:grid;grid-template-columns:84px 210px 62px 62px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:var(--text-sm)}.pf-block-head{border:0;background:none;padding:0 12px 2px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-medium)}.pf-block-head>span:nth-child(3),.pf-block-head>span:nth-child(4){text-align:right}.pf-block-size{font-weight:var(--weight-strong);color:var(--ink-2)}.pf-block-range{color:var(--ink)}.pf-block-limit{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);text-align:right}.pf-block-limit.closed{font-family:inherit;font-weight:var(--weight-strong);color:var(--alert-deep);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow)}.pf-block-note{color:var(--ink-3);font-size:var(--text-xs)}.pf-block-note.none,.pf-block-limit.none{color:var(--ink-mute);font-family:inherit}.pf-block .btn{padding:4px 6px}.pf-add{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.pf-add .field{width:148px}.pf-add .field:first-child{width:118px}.pf-add .field:nth-child(4),.pf-add .field:nth-child(5){width:104px}.pf-add .pf-reason{flex:1 1 200px;width:auto;min-width:200px}.pf-add .btn{margin-bottom:1px}@media (max-width: 640px){.pf-block-head{display:none}.pf-block{grid-template-columns:1fr 32px;row-gap:4px}.pf-line{grid-template-columns:1fr 1fr}.pf-line-name{grid-column:1 / -1;padding-bottom:0}.pf-line:not(:first-of-type) .field-label{display:block}.pf-block-limit{text-align:left}.pf-block .btn{grid-row:1;grid-column:2}.pf-standing .field,.pf-add .field,.pf-add .field:first-child,.pf-add .field:nth-child(4),.pf-add .field:nth-child(5){width:100%}}.pf-bank{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:end}.pf-bank .field{margin:0}@media (max-width: 720px){.pf-bank{grid-template-columns:1fr}}.hd-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.hd-row{display:grid;grid-template-columns:200px 130px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:var(--text-sm)}.hd-row.head{border:0;background:none;padding:0 12px 2px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-medium)}.hd-row.weekly{background:var(--surface-2)}.hd-when{color:var(--ink);font-weight:var(--weight-medium)}.hd-when small{display:block;color:var(--ink-3);font-weight:var(--weight-body);font-size:var(--text-xs)}.hd-rule{justify-self:start;white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.hd-rule.pm{background:var(--warn-soft);color:var(--warn-deep)}.hd-rule.closed{background:var(--surface-3);color:var(--ink-2)}.hd-note{color:var(--ink-3);font-size:var(--text-xs)}.hd-note.none{color:var(--ink-mute)}.hd-row .btn{padding:4px 6px}.hd-add{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.hd-add .field{width:150px}.hd-add .field.hd-fit{width:auto}.hd-add .hd-reason{flex:1 1 180px;width:auto;min-width:160px}.hd-add .btn{margin-bottom:1px}.hd-seg{display:flex;height:38px;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.hd-seg button{border:0;background:var(--surface);padding:0 12px;font:inherit;font-size:var(--text-sm);color:var(--ink-2);cursor:pointer}.hd-seg button+button{border-left:1px solid var(--border-strong)}.hd-seg button.on{background:var(--brand-soft);color:var(--brand-deep);font-weight:var(--weight-strong)}.hd-seg button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.hd-add .field.bad input,.hd-add .field.bad select{border-color:var(--st-cancelled);box-shadow:0 0 0 3px var(--st-cancelled-soft)}.hd-err{flex-basis:100%;margin:0;font-size:var(--text-sm);color:var(--st-cancelled-ink)}@media (max-width: 640px){.hd-row.head{display:none}.hd-row{grid-template-columns:1fr 32px}.hd-row>.hd-rule,.hd-row>.hd-note{grid-column:1}}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);padding:8px 14px;border-radius:var(--radius);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:var(--dur) background,var(--dur) border-color,var(--dur) transform;text-transform:capitalize}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(.5px)}.btn.primary{background:var(--brand);color:var(--bg);border-color:var(--brand)}.btn.primary:hover{background:var(--brand-deep);border-color:var(--brand-deep)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bg-tint)}.btn.secondary{background:var(--surface-2);border-color:var(--border);color:var(--ink)}.btn.secondary:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn.sm{padding:5px 10px;font-size:var(--text-sm)}.btn.icon{padding:6px;aspect-ratio:1;justify-content:center}.kbd{font-family:var(--font-mono);font-size:var(--text-eyebrow);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;padding:1px 5px;border-radius:5px;color:var(--ink-2)}.subbar{display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.page-head.subbar{position:sticky;top:0;z-index:16;padding:13px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 1px #11182708,0 6px 16px -10px #11182729;min-height:60px;transition:box-shadow .22s ease,background .22s ease,border-color .22s ease,border-radius .22s ease,margin .22s ease}.page-head.subbar.is-stuck{margin-left:calc(-1 * var(--pad-shell-x));margin-right:calc(-1 * var(--pad-shell-x));border-radius:0;border-color:transparent;border-bottom-color:#e5e7eb99;background:#fff6;-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);box-shadow:0 6px 18px -10px #11182729}.page-tabs{display:inline-flex;align-items:center;gap:2px;margin-left:12px}.page-tabs:before{content:"";width:1px;height:22px;background:var(--border);margin-right:12px;flex:0 0 auto}.page-tabs button{border:0;background:transparent;padding:6px 13px;border-radius:9px;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--ink-3);cursor:pointer;font-family:inherit;white-space:nowrap;transition:background var(--dur) ease,color var(--dur) ease}.page-tabs button:hover{background:var(--bg-tint);color:var(--ink-2)}.page-tabs button.active{background:var(--brand-soft);color:var(--brand-deep);font-weight:var(--weight-strong)}.page-id{display:flex;align-items:center;gap:9px;min-width:0}.page-title-ico{color:var(--brand);flex:0 0 auto}.page-title{margin:0;font-size:var(--text-2xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:1.1}.picker{display:inline-flex;align-items:center;gap:6px}.picker-label{padding:0 14px;min-width:230px;height:44px;display:flex;flex-direction:column;justify-content:center;line-height:1.05;color:var(--ink);text-align:center}.picker-label .eyebrow,.picker-label .main{display:block;width:100%;flex:0 0 auto;text-align:center}.picker-label .eyebrow{font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}.picker-label .main{font-size:var(--text-2xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);white-space:nowrap}.picker.sm{gap:4px}.picker.sm .picker-label{position:relative;min-width:150px;height:auto;padding:4px 12px}.picker.sm .picker-label .main{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.btn.icon.sm{padding:4px;width:24px;height:24px}.picker.sm .picker-label.picker-trigger{border:0;background:transparent;cursor:pointer;font-family:inherit;color:var(--ink);border-radius:6px;transition:var(--dur-fast) background}.picker.sm .picker-label.picker-trigger:hover{background:var(--bg-tint)}.picker.cleared .picker-label .main{color:var(--ink-3);font-weight:var(--weight-medium)}.picker.cleared .btn.icon{color:var(--ink-3)}.picker.cleared .btn.icon:hover{color:var(--ink)}.bw-stats.with-range,.bc-stats.with-range{grid-template-columns:2fr repeat(4,1fr)}.bw-stat.range-card{display:flex;flex-direction:column;gap:6px}.range-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.range-card-clear{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);color:var(--ink-2);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.range-card-clear:hover{background:var(--brand);color:var(--bg);border-color:var(--brand)}.range-card-clear.is-hidden,.range-card-hint.is-hidden{visibility:hidden;pointer-events:none}.bookings-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px 12px;display:flex;flex-direction:column;gap:10px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.chart-title{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.chart-legend{display:flex;align-items:center;gap:14px;font-size:var(--text-xs);color:var(--ink-3)}.chart-legend-item{display:inline-flex;align-items:center;gap:6px}.chart-legend .sw{display:inline-block;width:12px;height:8px;border-radius:2px}.chart-legend .sw.dashed{background:transparent;border-top:1px dashed var(--alert);height:1px;width:16px;border-radius:0}.chart-canvas{position:relative;width:100%;height:clamp(380px,58vh,660px)}.chart-svg-wrap,.chart-skeleton{position:absolute;top:6px;bottom:24px;left:36px;right:4px}.chart-note{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 20px;color:var(--ink-3);font-size:var(--text-base)}.chart-skeleton{display:flex;align-items:flex-end;gap:2%;animation:pulse 1.4s ease-in-out infinite}.chart-skeleton-bar{flex:1;background:var(--border);border-radius:3px 3px 0 0}@media (prefers-reduced-motion: reduce){.chart-skeleton{animation:none;opacity:var(--opacity-disabled)}}.chart-svg{display:block;width:100%;height:100%;shape-rendering:geometricPrecision;cursor:crosshair}.chart-focus-dot{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--surface);pointer-events:none;z-index:4}.chart-tooltip{position:absolute;--tt-max: min(220px, 60vw);--tt-half: calc(var(--tt-max) / 2);max-width:var(--tt-max);left:clamp(var(--tt-half),var(--tt-left, 50%),calc(100% - var(--tt-half)));background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:8px 10px;font-size:var(--text-xs);pointer-events:none;box-shadow:0 18px 40px -16px #07172747;min-width:140px;z-index:40;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chart-tooltip:before,.chart-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:solid transparent}.chart-tooltip:before{border-width:6px;border-top-color:var(--border-strong)}.chart-tooltip:after{border-width:5px;border-top-color:var(--surface)}.chart-tooltip.above{transform:translate(-50%,calc(-100% - 12px))}.chart-tooltip.below{transform:translate(-50%,12px)}.chart-tooltip.below:before,.chart-tooltip.below:after{top:auto;bottom:100%;border-top-color:transparent}.chart-tooltip.below:before{border-bottom-color:var(--border-strong)}.chart-tooltip.below:after{border-bottom-color:var(--surface)}.chart-tooltip-head{font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-size:var(--text-eyebrow);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-strong);color:var(--ink-3)}.chart-tooltip-lead{font-size:var(--text-lg);font-weight:var(--weight-strong);color:var(--ink);line-height:1.15}.chart-tooltip-note{font-size:var(--text-xs);color:var(--ink-3);margin-top:3px;white-space:nowrap}.chart-tooltip-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:1px 0}.chart-tooltip-row.zero{opacity:var(--opacity-disabled)}.chart-tooltip-row .sw{width:10px;height:10px;border-radius:2px}.chart-tooltip-row .lbl{color:var(--ink-2)}.chart-tooltip-row .val{font-weight:var(--weight-strong);color:var(--ink)}.chart-tooltip-total{display:flex;justify-content:space-between;border-top:1px solid var(--border-strong);margin-top:6px;padding-top:6px;font-weight:var(--weight-display);color:var(--ink)}.chart-y-axis{position:absolute;top:6px;bottom:24px;left:0;width:32px;font-size:var(--text-xs);color:var(--ink-3);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chart-y-axis span{position:absolute;right:6px;transform:translateY(-50%);line-height:1;white-space:nowrap}.chart-x-axis{position:absolute;left:36px;right:4px;bottom:0;height:20px;font-size:var(--text-xs);color:var(--ink-3);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chart-x-axis span{position:absolute;top:4px;transform:translate(-50%);white-space:nowrap;line-height:1}.range-card-inputs{display:flex;align-items:center;gap:6px}.range-card-inputs input[type=date]{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-family:var(--font-mono);font-size:var(--text-sm);background:var(--surface);color:var(--ink)}.range-card-inputs input[type=date]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.range-card-inputs .arrow{color:var(--ink-3);font-size:var(--text-base);flex-shrink:0}.range-card-hint{font-size:var(--text-xs);color:var(--ink-3);font-style:italic}.picker{position:relative}.popover{position:absolute;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.picker-menu{top:100%;left:0;margin-top:6px;z-index:30;min-width:240px;border-radius:var(--radius);padding:6px;font-family:inherit}.picker-menu-row{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:transparent;border:0;border-radius:6px;cursor:pointer;font-family:inherit;font-size:var(--text-base);color:var(--ink);text-align:left;transition:var(--dur-fast) background}.picker-menu-row:hover{background:var(--bg-tint)}.picker-menu-row.on{color:var(--primary-deep);font-weight:var(--weight-strong)}.picker-menu-row.any{font-weight:var(--weight-medium);border-bottom:1px dashed var(--border);border-radius:6px 6px 0 0}.picker-menu-year{padding:8px 10px 4px;font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3)}.picker-menu-months{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 4px 4px}.picker-menu-month{border:1px solid transparent;background:transparent;border-radius:6px;padding:8px 6px;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;color:var(--ink);font-family:inherit;transition:var(--dur-fast) background,var(--dur-fast) border-color}.picker-menu-month:hover{background:var(--bg-tint);border-color:var(--border)}.picker-menu-month.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-deep);font-weight:var(--weight-display)}.week-nav{display:flex;align-items:center;gap:4px}.week-nav .week-label{padding:0 8px;min-width:200px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug)}.week-nav .week-label .sub{display:block;font-size:var(--text-xs);color:var(--ink-3);font-weight:var(--weight-body);margin-top:1px}.subbar-primary{min-width:140px;justify-content:center}.month-nav{display:flex;align-items:center;gap:12px}.month-title{margin:0;padding:0 4px;font-size:var(--text-3xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:1.1;min-width:240px;text-align:center}.chip-toggle{display:inline-flex;background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius);padding:2px}.chip-toggle button{border:0;background:transparent;padding:5px 12px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);cursor:pointer}.chip-toggle button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1d140d0f}.disclosure{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-reveal) var(--ease)}.disclosure.open{grid-template-rows:1fr}.disclosure-clip{min-height:0;overflow:hidden;opacity:0;transition:opacity var(--dur-reveal) var(--ease)}.disclosure.open .disclosure-clip{opacity:1}@media (prefers-reduced-motion: reduce){.disclosure,.disclosure-clip{transition:none}}.rota-view{padding:18px var(--pad-view-x) var(--pad-view-bottom);display:flex;flex-direction:column;gap:14px}.rpay-total{font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--alert-deep)}.rpay-total.clear{color:var(--ink-3);font-weight:var(--weight-medium)}.rpay-empty{padding:16px 18px;color:var(--ink-3);font-size:var(--text-sm)}.rpay-body.cards{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px}.rpay-card{display:flex;flex-direction:column;gap:8px;width:156px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;font:inherit;text-align:left;color:var(--ink);transition:background .25s ease,border-color .25s ease,box-shadow var(--dur) ease}.rpay-card:hover{box-shadow:0 3px 10px -4px #07172729}.rpay-card:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes rpay-pop{0%{transform:scale(.2)}55%{transform:scale(1.4)}to{transform:scale(1)}}.rpay-card.anim-run .dot-ind{animation:rpay-pop .4s ease}.rpay-card-head{display:flex;align-items:center;gap:8px}.rpay-card-head .name{font-weight:var(--weight-strong);font-size:var(--text-sm);color:var(--ink)}.rpay-card-figs .big{font-size:var(--text-xl);font-weight:var(--weight-strong);color:var(--ink);line-height:1.1}.rpay-card-figs .sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px}.rpay-card-figs .wage{font-size:var(--text-base);font-weight:var(--weight-strong);color:var(--ink);margin-top:6px}.rpay-card .pay-pill{align-self:flex-start}.rpay-card.paid{background:var(--primary-soft);border-color:var(--primary)}.rpay-card.dim{opacity:var(--opacity-disabled)}.schedule.month{padding:0;display:flex;flex-direction:column;gap:14px}.schedule-main{display:flex;flex-direction:column;gap:14px}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--ink-mute);display:inline-block}.week-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.week-head{display:flex;align-items:baseline;gap:14px;padding:14px 18px;background:var(--surface-2);border-bottom:1px solid var(--border)}.week-head.clickable{cursor:pointer;transition:.14s background,.14s padding-left;-webkit-user-select:none;user-select:none}.week-head.clickable:hover{background:var(--primary-soft);padding-left:22px}.week-head.clickable:hover .week-open-cta{opacity:1;transform:translate(0)}.week-head.clickable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.week-open-cta{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);color:var(--primary-deep);opacity:0;transform:translate(-4px);transition:.14s opacity,.14s transform}.week-head .week-label{display:flex;align-items:center;gap:10px}.week-head .week-label .num{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.tag-now{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);background:var(--primary-soft);color:var(--primary-deep);border:1px solid var(--primary);padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap}.week-head .week-range{font-size:var(--text-sm);color:var(--ink-2);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug)}.week-head .week-meta{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:var(--text-sm);color:var(--ink-2)}.week-head .dim{color:var(--ink-mute)}.week-head .open-pill{background:var(--secondary-soft);color:var(--secondary-deep);font-weight:var(--weight-medium);padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs)}.day-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-col{border-right:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:4px;min-height:300px;background:var(--surface);position:relative}.day-col:last-child{border-right:0}.day-col.out-month .dnum{color:var(--ink-mute)}.day-col.today .dnum{color:var(--brand-deep);font-weight:var(--weight-display)}.week-block.pulse{animation:weekPulse 1.1s ease}@keyframes weekPulse{0%{box-shadow:0 0 0 3px var(--primary-soft)}35%{box-shadow:0 0 0 10px var(--primary-soft)}to{box-shadow:0 0 0 3px var(--primary-soft)}}.day-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding:4px 6px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.day-head .dow{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-medium)}.day-head .dnum{font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink)}.day-head .month-tag{font-size:var(--text-eyebrow);color:var(--ink-mute);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.day-col.today .day-head .dnum{color:var(--primary-deep)}.leave-strip{display:flex;align-items:center;gap:5px;padding:4px 7px;background:var(--alert-soft);border:1px solid var(--alert);border-radius:6px;font-size:var(--text-eyebrow);color:var(--alert-deep);font-weight:var(--weight-medium);cursor:pointer;margin-bottom:2px}.leave-strip .leave-names{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leave-strip:hover{background:var(--alert-soft)}.shift-group{display:flex;flex-direction:column;gap:3px;margin-top:6px}.shift-group .kind-stripe.full{width:100%;height:2px;border-radius:0;margin-bottom:1px}.shift-group .group-head{display:flex;align-items:center;gap:6px;padding:2px 2px 4px}.shift-group .group-head.compact{padding:0 0 2px;gap:5px}.shift-group .group-head.compact .kind-stripe{width:10px;height:2px}.shift-group .group-head.compact .group-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong)}.kind-stripe{display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--ink-mute);flex-shrink:0}.kind-stripe.am{background:var(--primary)}.kind-stripe.pm{background:var(--secondary)}.group-head .group-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);color:var(--ink-2)}.group-head .group-time{font-size:var(--text-eyebrow);color:var(--ink-3);margin-left:auto}.slot-mini{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;position:relative;overflow:hidden;transition:var(--dur) background,var(--dur) border-color,var(--dur) transform;min-height:26px}.slot-mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ink-mute)}.slot-mini.am:before{background:var(--primary)}.slot-mini.pm:before{background:var(--secondary)}.slot-mini:hover{background:var(--surface);transform:translateY(-.5px)}.slot-mini .name{min-width:0;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:2px;color:var(--ink)}.slot-mini.empty{background:transparent;border-style:dashed;border-color:var(--border);justify-content:center;opacity:var(--opacity-muted)}.slot-mini.empty .plus{font-size:var(--text-md);font-weight:var(--weight-body);color:var(--ink-3);line-height:1}.slot-mini.empty:hover{opacity:1;background:var(--bg-tint)}.slot-mini.open{background:var(--secondary-soft);border-color:var(--secondary);justify-content:center}.slot-mini.open .open-tag{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--secondary-deep)}.slot-mini.conflict{background:var(--alert-soft);border-color:var(--alert)}.day-col .slot-mini{padding:2px 6px;min-height:22px;font-size:var(--text-eyebrow)}.day-col .slot-mini:before{width:0}.day-col .slot-mini .name{font-size:var(--text-xs)}.open-foot{margin-top:4px;text-align:center;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--secondary-deep);background:var(--secondary-soft);border-radius:var(--radius-sm);padding:2px 6px;font-weight:var(--weight-strong);align-self:flex-start}.open-foot .mono{font-size:var(--text-eyebrow);margin-right:2px}.dots-summary{display:flex;flex-direction:column;gap:6px;margin-top:6px}.dots-summary .ds-row{display:flex;align-items:center;gap:6px}.dots-summary .kind-stripe{width:3px;height:18px;border-radius:2px}.dots-summary .ds-stack{display:flex;gap:3px;flex-wrap:wrap;flex:1}.dots-summary .ds-open{width:18px;height:18px;border-radius:50%;background:transparent;border:1.5px dashed var(--border-strong)}.day-col.faded{background:var(--bg-tint);opacity:var(--opacity-muted)}.day-col.faded:hover{opacity:1;background:var(--surface)}.day-col .day-ok{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-mute);text-align:center;margin:auto 0;font-weight:var(--weight-medium)}.day-col.density-dots{min-height:130px}.day-col.density-issues.faded{min-height:110px}.dot-open{background:var(--secondary)}.week-view{padding:0;display:flex;flex-direction:column;gap:14px}.week-stats{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:10px;margin-bottom:14px}.week-stats.month{grid-template-columns:repeat(5,1fr)}.week-stats .stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;display:flex;flex-direction:column;gap:2px}.week-stats .stat-card.prime{background:var(--brand);border-color:var(--brand);color:var(--bg)}.week-stats .stat-card.prime .label{color:var(--ink-mute)}.week-stats .stat-card .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong)}.week-stats .stat-card .val{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);font-family:var(--font-mono);line-height:1.2}.week-stats .stat-card .val.warn{color:var(--alert-deep)}.week-stats .stat-card .val .sub-num{color:var(--ink-3);font-size:var(--text-lg);letter-spacing:var(--tracking-snug)}.week-stats .stat-card.prime .val{font-size:var(--text-xl);color:var(--bg)}.picker.compact{gap:4px}.picker.compact .picker-label .main{font-size:var(--text-base)}.today-context-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.irq-fillwrap{position:relative;flex:1;min-height:0}.irq-fill,.irq-ruler{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;align-content:flex-start}.irq-fill{overflow:hidden}.irq-ruler{visibility:hidden;pointer-events:none;overflow:visible}.today-ctx-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}.today-ctx-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.ctx-ico{color:var(--ink-3);opacity:.65;flex:0 0 auto;margin-right:-2px}.today-ctx-head .title{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-display);color:var(--ink-3)}.today-ctx-head .count{background:var(--bg-tint);border:1px solid var(--border);padding:0 8px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink-2)}.today-ctx-viewall{margin-left:auto;background:transparent;border:0;padding:4px 6px;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--brand-deep);cursor:pointer;letter-spacing:var(--tracking-flat);white-space:nowrap}.today-ctx-viewall:hover{color:var(--brand);text-decoration:underline}.today-ctx-copy{margin-left:auto;display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 6px;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-3);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.today-ctx-copy:hover:not(:disabled){background:var(--bg-tint);border-color:var(--border);color:var(--ink-2)}.today-ctx-copy:disabled{opacity:.4;cursor:default}.today-ctx-copy:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.today-ctx-copy .icon{display:block}.today-ctx-copy.is-copied .icon{animation:ctx-copy-tick .26s cubic-bezier(.2,.8,.3,1.3)}@keyframes ctx-copy-tick{0%{transform:scale(.45);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.today-ctx-copy,.today-ctx-copy.is-copied .icon{transition:none;animation:none}}.today-ctx-copy~.today-ctx-viewall{margin-left:0}.today-name-ellipsis{flex:0 0 auto;padding:4px 10px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-3);letter-spacing:var(--tracking-flat);white-space:nowrap;-webkit-user-select:none;user-select:none}.subbar{position:relative}.subbar-center-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;font-size:var(--text-base);color:var(--ink-2);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);pointer-events:none;white-space:nowrap}.subbar-date-nav{display:inline-flex;align-items:center;gap:10px;pointer-events:auto}.subbar-date-mid{display:inline-flex;align-items:center;gap:7px}.subbar-date-cal{color:var(--ink-3);display:inline-flex;align-items:center}.subbar-date-cal .icon{display:block}.subbar-date-static{font-size:var(--text-md);white-space:nowrap}.schedule-view{padding:18px var(--pad-view-x) var(--pad-view-bottom);display:flex;flex-direction:column;gap:14px}.staff-loading{display:flex;flex-direction:column;gap:8px;max-width:720px}.week-grid .hcell .corner-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.week-grid .hcell.day .day-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.week-grid .hcell.day .day-head-text{display:flex;flex-direction:column;gap:1px}.dogs-in{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-deep);font-size:var(--text-xs);font-weight:var(--weight-strong);flex-shrink:0;white-space:nowrap}.dogs-in.zero{background:transparent;color:var(--ink-mute)}.wk-add{display:flex;align-items:center;justify-content:center;gap:4px;min-height:30px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--ink-3);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);cursor:pointer;opacity:var(--opacity-disabled);transition:var(--dur) opacity,var(--dur) background}.wk-add:hover{opacity:1;background:var(--bg-tint)}.toolbar-edit{border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:5px 12px;border-radius:var(--radius);cursor:pointer;white-space:nowrap}.toolbar-edit:hover{border-color:var(--brand);background:var(--bg-tint)}.filter-chip.helper-chip-filter{display:inline-flex;align-items:center;gap:6px;padding-left:5px}.filter-chip.helper-chip-filter .avatar{flex-shrink:0}.wk-slot.dim,.slot-mini.dim{opacity:var(--opacity-disabled)}.wk-slot.dim:hover,.slot-mini.dim:hover{opacity:1}.subbar-date-label{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink);white-space:nowrap;padding:0}.subbar-date-step{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:var(--dur-fast) background,var(--dur-fast) color,var(--dur-fast) border-color}.subbar-date-step:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.subbar-date-step:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;background:var(--surface);border-color:var(--border-strong);color:var(--ink-3)}.subbar-date-label.clickable{background:transparent;border:0;font:inherit;font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink);cursor:pointer;padding:0}.subbar-date-label.clickable:hover{color:var(--brand-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.today-name-row{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin}.today-name-row::-webkit-scrollbar{height:4px}.today-name-row::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm)}.today-name-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink);flex:0 0 auto;font-family:inherit}.today-name-chip.clickable{cursor:pointer;transition:var(--dur-fast) background,var(--dur-fast) border-color}.today-name-chip.clickable:hover{background:var(--brand-soft);border-color:var(--brand)}.ovf-text-link{background:transparent;border:0;padding:4px 8px;font-family:inherit;font-size:var(--text-sm);color:var(--brand-deep);cursor:pointer;font-weight:var(--weight-medium);letter-spacing:var(--tracking-flat);flex:0 0 auto;white-space:nowrap}.ovf-text-link:hover{color:var(--brand);text-decoration:underline}.fit-row-ruler{position:absolute;visibility:hidden;pointer-events:none;display:flex;flex-wrap:nowrap;gap:8px;left:-9999px;top:0}.irq-view-all{background:transparent;border:0;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--brand-deep);cursor:pointer;letter-spacing:var(--tracking-flat)}.irq-view-all:hover{color:var(--brand)}.irq-overflow{background:var(--bg-tint);border:2px solid var(--surface);border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);color:var(--ink-2);margin-left:-8px}.helpers-toolbar{padding:14px 18px;overflow:hidden}.helpers-bubbles{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;scrollbar-width:thin;width:100%;padding-bottom:2px}.helpers-bubbles::-webkit-scrollbar{height:6px}.helpers-bubbles::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm)}.helper-bubble{display:flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:inherit;transition:var(--dur-fast) background,var(--dur-fast) border-color;flex:0 0 auto;min-width:150px}.helper-bubble:hover{background:var(--bg-tint);border-color:var(--border-strong)}.helper-bubble .meta{min-width:0;text-align:left;line-height:1.2}.helper-bubble .name{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);color:var(--ink)}.helper-bubble .sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px;letter-spacing:var(--tracking-flat)}.people-strip{display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:14px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.people-strip::-webkit-scrollbar{height:6px}.people-strip::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm)}.person-chip{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--dur) background,var(--dur) border-color;flex:0 0 auto;min-width:180px}.person-chip:hover{background:var(--surface-2)}.person-chip .meta{min-width:0}.person-chip .name{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-chip .sub{font-size:var(--text-eyebrow);color:var(--ink-3);margin-top:1px}.person-chip.dim{opacity:var(--opacity-disabled)}.person-chip.dim:hover{opacity:1}.week-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:grid;grid-template-columns:110px repeat(7,1fr)}.week-grid .hcell{background:var(--surface-2);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.week-grid .hcell:nth-child(8){border-right:0}.week-grid .hcell.corner{background:var(--surface)}.week-grid .hcell.day.weekend{background:transparent}.week-grid .hcell.day .day-line{display:flex;flex-direction:column;gap:1px}.week-grid .hcell.day .dow{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);color:var(--ink-3)}.week-grid .hcell.day .dnum{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink)}.week-grid .hcell.day.today .dnum{color:var(--brand-deep)}.week-grid .hcell .leave-mini{display:flex;align-items:center;gap:5px;font-size:var(--text-eyebrow);color:var(--alert-deep);padding:3px 8px;background:var(--alert-soft);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--weight-medium);width:fit-content}.week-grid .pcell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px 8px;display:flex;flex-direction:column;gap:4px}.week-grid .pcell:last-child{border-right:0}.week-grid>.pcell:nth-last-child(-n+8){border-bottom:0}.week-grid .period-label{background:var(--surface-2);padding:16px 14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;border-right:1px solid var(--border-strong)}.week-grid .period-label.am,.week-grid .period-label.pm{background:transparent}.week-grid .period-label .kind-stripe{width:28px;height:4px;border-radius:3px;margin-bottom:4px}.week-grid .period-label .period-name{font-size:var(--text-3xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:1}.week-grid .period-label .period-time{font-size:var(--text-xs);color:var(--ink-2);display:flex;flex-direction:column;gap:1px}.week-grid .period-label .period-time .dim{color:var(--ink-mute);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.week-grid .period-label .period-hint{font-size:var(--text-eyebrow);color:var(--ink-3);margin-top:4px;letter-spacing:var(--tracking-flat)}.week-grid .cell-cov{display:flex;align-items:center;gap:8px;margin-bottom:4px;padding:0 2px}.week-grid .cov-dots{display:flex;gap:3px}.cov-dot{width:6px;height:6px;border-radius:50%;background:transparent;border:1px solid var(--border-strong)}.cov-dot.filled{background:var(--primary);border-color:var(--primary-deep)}.cov-num{font-size:var(--text-eyebrow);color:var(--ink-3);margin-left:auto}.wk-slot{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--border);cursor:pointer;position:relative;overflow:hidden;transition:var(--dur) background,var(--dur) transform,var(--dur) box-shadow;min-height:36px}.wk-slot:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ink-mute)}.wk-slot.am:before{background:var(--primary)}.wk-slot.pm:before{background:var(--secondary)}.wk-slot:hover{background:var(--surface-2);transform:translateY(-.5px);box-shadow:0 2px 6px -3px #1d140d1f}.wk-slot .full-name{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:2px}.wk-slot.empty{background:transparent;border-style:dashed;border-color:var(--border);justify-content:center;opacity:var(--opacity-disabled);gap:4px}.wk-slot.empty:before{display:none}.wk-slot.empty .plus{font-size:var(--text-base);color:var(--ink-3);line-height:1}.wk-slot.empty .add-hint{font-size:var(--text-eyebrow);color:var(--ink-3);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.wk-slot.empty:hover{opacity:1;background:var(--bg-tint)}.wk-slot.open{background:var(--secondary-soft);border-color:var(--secondary);justify-content:center}.wk-slot.open .open-tag{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--secondary-deep)}.wk-slot.conflict{background:var(--alert-soft);border-color:var(--alert)}.wk-slot.conflict .full-name{text-decoration:line-through;color:var(--alert-deep)}.add-shift-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:5px 8px;margin-top:2px;border:1px dashed var(--border-strong);background:transparent;border-radius:7px;color:var(--ink-3);cursor:pointer;transition:var(--dur) background,var(--dur) color,var(--dur) border-color;min-height:28px}.add-shift-btn:hover{background:var(--bg-tint);color:var(--ink);border-color:var(--ink-mute)}.add-shift-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.add-shift-btn .plus{font-size:var(--text-md);line-height:1;font-weight:var(--weight-medium)}.add-shift-btn .lbl{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong)}.inline-editor{position:fixed;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 20px 50px -12px #1d140d40,0 6px 16px -6px #1d140d1f;z-index:200;overflow:hidden;animation:pop var(--dur) ease;display:flex;flex-direction:column;max-height:calc(100vh - 16px)}.inline-editor .ie-head{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0}.inline-editor .ie-stripe{width:4px;height:30px;border-radius:2px;background:var(--ink-mute);flex-shrink:0}.inline-editor .ie-stripe.am{background:var(--primary)}.inline-editor .ie-stripe.pm{background:var(--secondary)}.inline-editor .ie-head-text{min-width:0}.inline-editor .ie-title{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.inline-editor .ie-subtitle{font-size:var(--text-eyebrow);color:var(--ink-3);margin-top:2px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-medium)}.inline-editor .ie-list{max-height:280px;flex:1;min-height:0;overflow-y:auto;padding:5px}.inline-editor .ie-row{display:flex;align-items:center;gap:10px;padding:7px 9px;border:0;background:transparent;cursor:pointer;width:100%;text-align:left;border-radius:8px;transition:.08s background;color:inherit}.inline-editor .ie-row:hover{background:var(--bg-tint)}.inline-editor .ie-row.on{background:var(--primary-soft)}.inline-editor .ie-row.on .ie-name{font-weight:var(--weight-strong);color:var(--ink)}.inline-editor .ie-row.is-on-leave{opacity:var(--opacity-muted)}.inline-editor .ie-row.is-on-leave .ie-sub{color:var(--alert-deep);font-weight:var(--weight-medium)}.inline-editor .ie-row.taken{cursor:not-allowed;opacity:var(--opacity-disabled)}.inline-editor .ie-row.taken:hover{background:transparent}.inline-editor .ie-row.taken .ie-sub{color:var(--ink-mute);font-style:italic}.inline-editor .ie-row .ie-info{flex:1;min-width:0}.inline-editor .ie-row .ie-name{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-editor .ie-row .ie-sub{font-size:var(--text-eyebrow);color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-editor .ie-empty{padding:18px 14px;font-size:var(--text-sm);color:var(--ink-3);text-align:center;line-height:1.5}.inline-editor .ie-foot{padding:6px;border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.inline-editor .ie-remove{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:0;background:transparent;color:var(--alert-deep);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;border-radius:7px;transition:.08s background}.inline-editor .ie-remove:hover{background:var(--alert-soft)}.avatar-preview-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius)}.copy-arrow-row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}.copy-block{background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}.copy-block .lbl{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.copy-block .val{font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);color:var(--ink);font-family:var(--font-mono)}.copy-arrow{display:grid;place-items:center;color:var(--ink-3)}.copy-warn{margin:12px 0 0;font-size:var(--text-sm);color:var(--ink-2);line-height:1.55;padding:10px 12px;background:var(--alert-soft);border:1px solid oklch(from var(--alert) l c h / .3);border-radius:8px}.copy-warn strong{color:var(--alert-deep);font-weight:var(--weight-strong)}.color-swatches{display:flex;gap:8px}.color-sw{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-strong);cursor:pointer;padding:0;transition:var(--dur) transform,var(--dur) box-shadow}.color-sw:hover{transform:translateY(-1px)}.color-sw.on{box-shadow:0 0 0 2px var(--ink)}.balance-row.clickable{cursor:pointer;padding:8px 6px;border-radius:8px;transition:.08s background;border-bottom:0}.balance-row.clickable:hover{background:var(--bg-tint)}.dogs-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius);font-size:var(--text-sm);font-weight:var(--weight-strong);background:var(--bg-tint);border:1px solid var(--border);color:var(--ink);cursor:pointer;transition:var(--dur) background,var(--dur) border-color,var(--dur) transform;-webkit-user-select:none;user-select:none}.dogs-pill:hover{background:var(--surface);border-color:var(--border-strong)}.dogs-pill:active{transform:scale(.97)}.dogs-pill .num{font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:var(--tracking-snug)}.dogs-pill .lbl{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-2);font-weight:var(--weight-strong)}.dogs-pill.compact{padding:1px 7px;font-size:var(--text-eyebrow);margin-left:auto}.dogs-pill.compact .num{font-size:var(--text-xs)}.dogs-input{width:54px;padding:3px 8px;font-size:var(--text-sm);border:1.5px solid var(--primary-deep);border-radius:var(--radius);background:var(--surface);text-align:center;font-family:var(--font-mono);font-weight:var(--weight-strong);outline:none;box-shadow:0 0 0 3px var(--primary-soft)}.dogs-input.compact{width:40px;font-size:var(--text-eyebrow);padding:1px 5px;margin-left:auto}.week-grid .day-line-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.week-grid .day-line-text{display:flex;flex-direction:column;gap:1px}.day-col .day-head{align-items:center;flex-wrap:wrap;row-gap:2px}.day-col .day-head .dogs-in{margin-left:auto}.legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:var(--text-xs);color:var(--ink-2)}.legend-grid .item{display:inline-flex;align-items:center;gap:6px}.side{display:flex;flex-direction:column;gap:14px;position:sticky;top:130px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.panel h3{margin:0 0 12px;font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-medium)}.stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--border)}.stat-row:last-child{border-bottom:0}.stat-row .label{font-size:var(--text-base);color:var(--ink-2)}.stat-row .val{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug)}.stat-row .val.accent{color:var(--primary-deep)}.coverage-day{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:var(--text-sm)}.coverage-day .day{color:var(--ink-2);width:36px}.coverage-bar{flex:1;height:6px;background:var(--bg-tint);border-radius:var(--radius-sm);margin:0 10px;overflow:hidden;position:relative}.coverage-bar .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary);border-radius:var(--radius-sm);transform-origin:left}.coverage-bar.warn .fill{background:var(--alert)}.coverage-day .pct{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-2);width:30px;text-align:right}.open-shift-item{border:1px dashed var(--border-strong);border-radius:10px;padding:10px 12px;margin-bottom:8px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:var(--dur) background}.open-shift-item:hover{background:var(--surface-2)}.open-shift-item .day-tag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-2);background:var(--bg-tint);padding:3px 7px;border-radius:6px;border:1px solid var(--border)}.open-shift-item .what{flex:1;font-size:var(--text-sm)}.open-shift-item .what .time{color:var(--ink);font-weight:var(--weight-medium);font-family:var(--font-mono)}.open-shift-item .what .role{color:var(--ink-3);font-size:var(--text-xs)}.num{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:var(--tracking-snug)}.num.total{font-size:var(--text-lg);font-weight:var(--weight-medium)}.pay-pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;color:var(--ink-3);-webkit-user-select:none;user-select:none}.pay-pill.paid{color:var(--primary-deep)}.pay-pill .dot-ind{width:6px;height:6px;border-radius:50%;background:var(--ink-mute)}.pay-pill.paid .dot-ind{background:var(--primary-deep)}.pay-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.pay-summary .stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.pay-summary .stat .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-medium)}.pay-summary .stat .val{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);margin-top:6px}.pay-summary .stat .sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px;font-family:var(--font-mono)}.pay-summary .stat.accent .val{color:var(--primary-deep)}.pay-month-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.pmg-head,.pmg-row{display:grid;grid-template-columns:1.6fr repeat(6,1fr) 1fr}.pmg-head{background:var(--surface-2);border-bottom:1px solid var(--border)}.pmg-cell{padding:12px 14px;border-right:1px solid var(--border);font-size:var(--text-sm)}.pmg-cell:last-child{border-right:0}.pmg-row{border-bottom:1px solid var(--border)}.pmg-row:last-child{border-bottom:0}.pmg-head .pmg-cell{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong)}.pmg-head .wk-col{display:flex;flex-direction:column;gap:2px}.pmg-head .wk-col .wk-no{font-size:var(--text-base);color:var(--ink);letter-spacing:var(--tracking-snug);text-transform:none}.pmg-head .wk-col .wk-date{font-size:var(--text-eyebrow);color:var(--ink-3);letter-spacing:var(--tracking-flat);text-transform:none;font-weight:var(--weight-medium)}.pmg-row .helper-col{display:flex;align-items:center;gap:10px}.pmg-row .helper-col .name{font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug)}.pmg-row .helper-col .role{font-size:var(--text-xs);color:var(--ink-3);margin-top:1px;font-family:var(--font-mono)}.pmg-row .wk-col.data,.pmg-row .total-col.data{display:grid;place-items:center;padding:8px}.pmg-row .wk-col.zero .off{color:var(--ink-mute);font-size:var(--text-md)}.pmg-week-pill{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 10px;border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;cursor:pointer;position:relative;transition:var(--dur) background,var(--dur) border-color,var(--dur) transform;min-width:64px}.pmg-week-pill:hover{background:var(--surface-2);transform:translateY(-.5px)}.pmg-week-pill .hrs{font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.pmg-week-pill .wage{font-size:var(--text-eyebrow);color:var(--ink-3);letter-spacing:var(--tracking-flat)}.pmg-week-pill.paid{background:var(--primary-soft);border-color:var(--primary)}.pmg-week-pill.paid .hrs,.pmg-week-pill.paid .wage{color:var(--primary-deep)}.pmg-week-pill .paid-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--primary-deep)}.pmg-row .total-col.data .total-line{display:flex;flex-direction:column;align-items:center;gap:2px}.pmg-row .total-col .total-h{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--ink)}.pmg-row .total-col .total-w{font-size:var(--text-sm);color:var(--ink-2);font-weight:var(--weight-medium)}.holidays-week{padding:18px var(--pad-view-x) var(--pad-view-bottom);display:grid;grid-template-columns:1fr;gap:14px}.hol-summary{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:10px}.hol-summary .stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.hol-summary .stat .label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong)}.hol-summary .stat .val{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);margin-top:4px}.hol-summary .stat .val.accent{color:var(--alert-deep)}.hol-week-strip{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.hol-day-col{border-right:1px solid var(--border);min-height:280px;display:flex;flex-direction:column}.hol-day-col:last-child{border-right:0}.hol-day-col.weekend{background:var(--bg-tint)}.hol-day-col.today{box-shadow:inset 0 0 0 2px var(--brand);z-index:1}.hol-day-head{padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);display:flex;flex-direction:column;gap:2px}.hol-day-head .dow{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.hol-day-head .dnum{font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight)}.hol-day-col.today .dnum{color:var(--brand-deep)}.hol-day-body{padding:8px;display:flex;flex-direction:column;gap:5px;flex:1}.hol-empty{color:var(--ink-mute);font-size:var(--text-lg);text-align:center;align-self:center;margin:auto}.hol-card{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer;position:relative;overflow:hidden;transition:var(--dur) background,var(--dur) transform}.hol-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--alert)}.hol-card.t-sick:before{background:var(--secondary)}.hol-card.t-unpaid:before{background:var(--ink-mute)}.hol-card:hover{background:var(--surface-2);transform:translateY(-.5px)}.hol-card .meta{min-width:0;flex:1}.hol-card .name{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hol-card .type{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);color:var(--ink-3);margin-top:1px}.hol-card.pending{border-style:dashed;opacity:var(--opacity-muted)}.hol-week-side{display:grid;grid-template-columns:1fr 1fr;gap:14px}.holidays{padding:18px var(--pad-view-x) var(--pad-view-bottom);display:flex;flex-direction:column;gap:14px}.holidays>.hol-month-body{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}.hol-cal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px}.hol-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.hol-cal-head h2{margin:0;font-size:var(--text-xl);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-grid .dow{text-align:center;font-size:var(--text-eyebrow);color:var(--ink-3);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;padding:6px 0}.cal-day{min-height:90px;border-radius:8px;border:1px solid var(--border);background:var(--surface);padding:6px;display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);position:relative}.cal-day.muted{background:var(--bg-tint);color:var(--ink-mute)}.cal-day.today{border-color:var(--brand);border-width:2px}.cal-day.in-week{box-shadow:inset 0 0 0 2px var(--primary)}.cal-day .n{font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--weight-strong);letter-spacing:var(--tracking-tight);color:var(--ink)}.cal-day .events{display:flex;flex-direction:column;gap:2px;margin-top:1px;overflow:hidden}.cal-event{font-size:var(--text-eyebrow);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);color:var(--ink);padding:2px 5px 2px 7px;border-radius:4px;background:var(--surface);border:1px solid var(--border);position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:var(--dur-fast) background,var(--dur-fast) transform}.bc-day .hol-cal-events{display:flex;flex-direction:column;gap:3px;margin-top:2px}.bc-day .hol-cal-events .cal-event{display:flex;align-items:center;gap:5px;width:100%;text-align:left;font-family:inherit;padding-left:9px}.bc-day .hol-cal-events .cal-event .ce-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-day .hol-cal-events .cal-event.dim{opacity:var(--opacity-disabled)}.bc-day .hol-cal-events .cal-event.dim:hover{opacity:1}.cal-event:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--alert)}.cal-event.t-sick:before{background:var(--secondary)}.cal-event.t-unpaid:before{background:var(--ink-mute)}.cal-event.pending{border-style:dashed;opacity:var(--opacity-muted)}.cal-event:hover{background:var(--surface-2);transform:translateY(-.5px)}.legend-stripe{display:inline-block;width:14px;height:3px;border-radius:2px}.legend-stripe.annual{background:var(--alert)}.legend-stripe.sick{background:var(--secondary)}.legend-stripe.unpaid{background:var(--ink-mute)}.legend-stripe.pending{background:var(--alert);opacity:var(--opacity-muted);border:1px dashed var(--alert)}.hol-list-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;background:var(--surface)}.hol-list-item .lbl{flex:1}.hol-list-item .lbl .name{font-weight:var(--weight-medium);font-size:var(--text-base);letter-spacing:var(--tracking-snug)}.hol-list-item .lbl .meta{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px;font-family:var(--font-mono)}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug)}.drawer-history-tag{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);color:var(--ink-3);margin-top:8px}.drawer-history-empty{font-size:var(--text-sm);color:var(--ink-3);padding:4px 2px}.drawer-history-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:6px 2px;border:0;border-bottom:1px solid var(--border);background:transparent;font-family:inherit;cursor:pointer}.drawer-history-row.static{cursor:default}.drawer-history-row:not(.static):hover{background:var(--bg-tint)}.drawer-history-row .dh-range{font-size:var(--text-sm);color:var(--ink-2)}.drawer-history-row .dh-note{flex:1;font-size:var(--text-sm);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-history-row .dh-total{font-size:var(--text-sm);font-weight:var(--weight-medium)}.tag.annual{background:var(--alert-soft);color:var(--alert-deep)}.tag.sick{background:var(--secondary-soft);color:var(--secondary-deep)}.tag.unpaid{background:var(--bg-tint);color:var(--ink-2)}.tag.pending{background:var(--secondary-soft);color:var(--secondary-deep);border:1px dashed var(--secondary)}.balance-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--border)}.balance-row:last-child{border-bottom:0}.balance-row .who-mini{flex:1;display:flex;align-items:center;gap:8px}.balance-row .who-mini .name{font-size:var(--text-base);font-weight:var(--weight-medium)}.balance-row .who-mini .role{font-size:var(--text-xs);color:var(--ink-3)}.balance-row .progress{width:120px;height:6px;background:var(--bg-tint);border-radius:var(--radius-sm);overflow:hidden;position:relative}.balance-row .progress .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--alert);border-radius:var(--radius-sm);transform-origin:left}.balance-row .nums{font-family:var(--font-mono);font-size:var(--text-sm);width:70px;text-align:right}.balance-row .nums .used{color:var(--ink)}.balance-row .nums .total{color:var(--ink-3)}.week-money{border-top:1px solid var(--border);background:var(--surface-2)}.wm-head{width:100%;display:flex;align-items:center;gap:10px;padding:9px 18px;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.wm-head:hover{background:var(--bg-tint)}.wm-ico{color:var(--ink-3);flex:none}.wm-label{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-strong);color:var(--ink-3)}.wm-sum{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2)}.wm-out{font-size:var(--text-xs);font-weight:var(--weight-strong);padding:3px 8px;border-radius:var(--radius-sm);background:var(--due-soft);color:var(--due-ink)}.wm-clear{font-size:var(--text-xs);font-weight:var(--weight-strong);padding:3px 8px;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-deep)}.wm-chev{margin-left:auto;flex:none;color:var(--ink-3);transition:transform var(--dur-reveal) var(--ease)}.week-money.open .wm-chev{transform:rotate(180deg)}.wm-reveal{padding:0}.week-money.empty{display:flex;align-items:center;gap:10px;padding:9px 18px}.wm-none{font-size:var(--text-sm);color:var(--ink-mute)}@media (prefers-reduced-motion: reduce){.wm-chev{transition:none}}.sr-left{display:flex;align-items:center;min-width:0;flex:1 1 auto}.rota-alerts{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}.rota-alerts-head{display:inline-flex;align-items:center;gap:8px;height:30px;padding-right:10px;border-right:1px solid var(--border);white-space:nowrap}.rota-alerts-ic{width:22px;height:22px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;flex:none}.rota-alerts-title{font-weight:var(--weight-strong);font-size:var(--text-sm);color:var(--ink)}.rota-alerts-sub{color:var(--ink-3);font-size:var(--text-sm)}.rota-alerts-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.rota-alerts-row{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm);line-height:1;white-space:nowrap}.rota-alerts-name{color:var(--ink);font-weight:var(--weight-medium)}.rota-alerts .alerts-pill{font-size:var(--text-eyebrow);padding:0 6px;height:18px;line-height:18px}@media (max-width: 754px){.split-row{flex-wrap:wrap}.sr-left{flex-basis:100%}.rota-alerts-head{border-right:0;padding-right:0}}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a151159;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:drawerFade .18s ease}@keyframes drawerFade{0%{opacity:0}}.drawer{position:absolute;top:0;right:0;bottom:0;width:460px;max-width:calc(100vw - 32px);background:var(--surface);border-left:1px solid var(--border);box-shadow:-24px 0 60px -20px #1d140d33,-8px 0 20px -12px #1d140d1a;display:flex;flex-direction:column;animation:drawerSlide .22s cubic-bezier(.22,.61,.36,1)}@keyframes drawerSlide{0%{transform:translate(20px);opacity:0}}.drawer-head{padding:18px 22px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-shrink:0}.drawer-head h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);flex:1}.drawer-body{padding:18px 22px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1}.drawer-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:space-between;background:var(--surface-2);flex-shrink:0}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a151166;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:grid;place-items:center;animation:fade .15s ease}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:480px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .16s ease}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.modal-head{padding:18px 20px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.modal-head h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);flex:1}.modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field label,.field .field-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);font-weight:var(--weight-medium)}.field-hint{color:var(--alert);text-transform:none;letter-spacing:var(--tracking-flat);font-weight:var(--weight-medium)}.field input,.field select,.field textarea{padding:9px 11px;border:1px solid var(--border-strong);border-radius:8px;font-size:var(--text-base);background:var(--surface);outline:none;transition:var(--dur) border-color}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary-deep);box-shadow:0 0 0 3px var(--primary-soft)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row .field{min-width:0}.field-row .field input,.field-row .field select{width:100%;min-width:0}.seg{display:flex;gap:4px;background:var(--bg-tint);padding:4px;border-radius:10px;border:1px solid var(--border)}.seg button{flex:1;border:0;background:transparent;padding:7px 8px;border-radius:7px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);cursor:pointer}.seg button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1d140d0f}.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center;justify-content:space-between;background:var(--surface-2)}.modal-foot .keep-open{display:inline-flex;align-items:center;gap:8px;font-size:var(--ts);color:var(--ink-2);cursor:pointer;margin-left:6px;margin-right:auto;-webkit-user-select:none;user-select:none}.modal-foot .keep-open .box{width:18px;height:18px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;flex:none;color:#fff}.modal-foot .keep-open.on{color:var(--ink);font-weight:var(--weight-medium)}.modal-foot .keep-open.on .box{background:var(--brand);border-color:var(--brand)}.modal-foot .keep-open:focus-within .box{outline:2px solid var(--brand-soft);outline-offset:1px}.obx .saved-flag{display:inline-flex;align-items:center;gap:5px;margin-left:10px;height:20px;padding:0 8px;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-deep);border:1px solid var(--primary);font-size:var(--te);font-weight:var(--weight-medium);letter-spacing:var(--trk);text-transform:uppercase}.confirm-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#07172773;display:grid;place-items:center;z-index:1000}.confirm-dialog{background:var(--surface);border-radius:var(--radius-lg);padding:22px 24px 20px;max-width:420px;width:calc(100% - 40px);box-shadow:0 24px 60px -16px #0717274d}.confirm-title{margin:0 0 8px;font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.confirm-msg{margin:0 0 18px;font-size:var(--text-base, var(--tb));color:var(--ink-2);line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.foot-blocker{flex:1;min-width:0;font-size:var(--ts);color:var(--ink-mute);text-align:right}.icon-btn{border:0;background:transparent;width:28px;height:28px;display:grid;place-items:center;border-radius:6px;cursor:pointer;color:var(--ink-3)}.icon-btn:hover{background:var(--bg-tint);color:var(--ink)}.dot-am{background:var(--primary)}.dot-pm,.dot-night{background:var(--secondary)}.dot-hol{background:var(--alert)}.dot-sick{background:var(--secondary)}.legend{display:flex;gap:14px;font-size:var(--text-xs);color:var(--ink-2);margin-top:10px;flex-wrap:wrap}.legend .item{display:inline-flex;align-items:center;gap:5px}.empty-state{text-align:center;padding:32px 16px;color:var(--ink-3);font-size:var(--text-base)}.empty-state.pad-30{padding:30px}.tweaks-card{position:fixed;bottom:16px;right:16px;width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-lg);z-index:90}.tweaks-card h4{margin:0 0 10px;font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-medium);display:flex;justify-content:space-between}.tweaks-card .swatches{display:flex;gap:6px;margin-top:4px;margin-bottom:12px}.tweaks-card .sw{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);cursor:pointer;position:relative}.tweaks-card .sw.on{box-shadow:0 0 0 2px var(--ink)}.tweaks-card label{display:block;font-size:var(--text-xs);color:var(--ink-3);margin-bottom:4px;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.tweaks-card .seg button{padding:5px 6px;font-size:var(--text-xs)}@media (max-width: 760px){.topbar{padding:10px 14px;gap:10px;flex-wrap:nowrap}.brand{font-size:var(--text-md)}.brand-tag{display:none}.topbar .nav{margin-left:0;padding:2px}.topbar .nav button{padding:5px 10px;font-size:var(--text-sm)}.topbar .who span:first-child,.topbar .btn.ghost{display:none}.topbar .spacer{flex:0 0 0}.subbar{padding:10px 14px;flex-wrap:wrap;gap:10px}.subbar .spacer{flex-basis:100%;height:0}.week-nav{flex:1;min-width:0}.week-nav .week-label{font-size:var(--text-base);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-nav .week-label .sub{display:none}.month-nav{flex:1;gap:6px;justify-content:space-between}.month-title{font-size:var(--text-2xl);min-width:0;text-align:center;flex:1}.chip-toggle button{padding:5px 12px;font-size:var(--text-sm)}.subbar-primary{min-width:0;padding:8px 12px;font-size:var(--text-sm)}.subbar-primary .label-text{display:none}.week-view{padding:0}.week-stats{grid-template-columns:1fr 1fr;gap:6px}.week-stats .stat-card{padding:10px 12px}.week-stats .stat-card.prime{grid-column:1 / -1}.week-stats .stat-card .val{font-size:var(--text-xl)}.week-stats .stat-card.prime .val{font-size:var(--text-md)}.people-strip{grid-template-columns:1fr 1fr;gap:6px}.person-chip{padding:6px 10px}.person-chip .name{font-size:var(--text-xs)}.person-chip .sub{font-size:var(--text-eyebrow)}.week-grid{display:flex;flex-direction:column;border:0;background:transparent;overflow:visible;gap:12px}.week-grid>.hcell.corner{display:none}.week-grid>.hcell.day{display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:var(--ink);color:var(--bg);border-radius:var(--radius);border:0;padding:12px 14px;margin-top:14px;order:0}.week-grid>.hcell.day:first-of-type{margin-top:0}.week-grid>.hcell.day .dow,.week-grid>.hcell.day .dnum{color:var(--bg)}.week-grid>.hcell.day .day-line-row{width:100%}.week-grid>.hcell.day .day-line-text{flex-direction:row;gap:8px;align-items:baseline}.week-grid>.hcell.day .dow{font-size:var(--text-xs)}.week-grid>.hcell.day .dnum{font-size:var(--text-md)}.week-grid>.hcell.day.today{background:var(--brand-soft)}.week-grid>.hcell.day.today .dnum,.week-grid>.hcell.day.today .dow{color:var(--brand-deep)}.week-grid>.hcell.day .leave-mini{background:#322c28;color:var(--bg);font-size:var(--text-eyebrow)}.week-grid>.hcell.day.weekend{background:transparent}.week-grid>.pcell.period-label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;border-bottom:0}.week-grid>.pcell.period-label .period-name{font-size:var(--text-xl)}.week-grid>.pcell.period-label .period-time{flex-direction:row;font-size:var(--text-xs);margin-left:auto}.week-grid>.pcell.period-label .period-time .dim{font-size:var(--text-eyebrow)}.week-grid>.pcell.period-label .period-hint{display:none}.week-grid>.pcell.period-label .kind-stripe{margin-bottom:0}.week-grid>.pcell.day-period{border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius) var(--radius);background:var(--surface);padding:8px;min-height:0}.week-grid>.pcell.day-period.today{background:var(--brand-soft)}.wk-slot{padding:8px 10px;min-height:40px}.wk-slot .full-name{font-size:var(--text-base)}.add-shift-btn{min-height:36px;padding:8px 10px}.schedule.month{padding:0}.side{position:static;order:2}.week-block{border-radius:var(--radius)}.week-head{flex-wrap:wrap;gap:6px 10px;padding:10px 12px}.week-head .week-range{font-size:var(--text-xs)}.week-head .week-meta{font-size:var(--text-xs);gap:6px}.week-head .week-meta .dim{display:inline}.day-row{grid-template-columns:1fr}.day-col{border-right:0;border-bottom:1px solid var(--border);min-height:0!important;padding:10px 12px}.day-col:last-child{border-bottom:0}.day-col.today{box-shadow:inset 3px 0 0 0 var(--primary)}.day-head{row-gap:4px}.day-head .dow{font-size:var(--text-xs)}.day-head .dnum{font-size:var(--text-lg)}.shift-group{margin-top:8px}.shift-group .group-head{padding:2px 2px 6px}.shift-group .group-label,.shift-group .group-time{font-size:var(--text-xs)}.slot-mini{min-height:32px;padding:5px 8px}.slot-mini .name{font-size:var(--text-sm)}.holidays{grid-template-columns:1fr;padding:12px;gap:12px}.hol-cal{padding:12px}.cal-grid{gap:3px}.cal-day{min-height:64px;padding:4px;gap:2px}.cal-day .n{font-size:var(--text-xs)}.cal-event{font-size:var(--text-eyebrow);padding:1px 4px 1px 6px;border-radius:3px}.cal-event:before{width:2px}.legend{gap:10px;font-size:var(--text-eyebrow)}.holidays-week{padding:12px;gap:10px}.hol-summary{grid-template-columns:1fr 1fr;gap:6px}.hol-summary .stat:first-child{grid-column:1 / -1}.hol-summary .stat .val{font-size:var(--text-xl)}.hol-week-strip{display:flex;flex-direction:column;border-radius:var(--radius)}.hol-day-col{border-right:0;border-bottom:1px solid var(--border);min-height:0;flex-direction:row;align-items:stretch}.hol-day-col:last-child{border-bottom:0}.hol-day-col.today{box-shadow:inset 3px 0 0 0 var(--brand)}.hol-day-head{flex-direction:column;border-bottom:0;border-right:1px solid var(--border);min-width:70px;width:70px;padding:10px 8px;justify-content:center;align-items:flex-start}.hol-day-body{flex:1;padding:8px;gap:4px}.hol-empty{margin:auto;font-size:var(--text-base)}.hol-week-side{grid-template-columns:1fr}.pay{padding:12px}.pay-summary{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.pay-summary .stat{padding:12px 14px}.pay-summary .stat .val{font-size:var(--text-2xl)}.pay-table .row{grid-template-columns:1fr;gap:6px;padding:12px 14px}.pay-table .row.head{display:none}.pay-table .row .num,.pay-table .row>div:not(.person){display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);padding:4px 0;border-top:1px dashed var(--border);color:var(--ink-2)}.pay-table .row .num:before{content:attr(data-label);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-strong);color:var(--ink-3);font-size:var(--text-eyebrow);font-family:var(--font-sans)}.pay-table .person{padding-bottom:4px}.pay-table .pay-pill{width:100%;justify-content:center;padding:8px 12px}.pay-month-grid{display:flex;flex-direction:column;background:transparent;border:0;gap:10px}.pmg-head{display:none}.pmg-row{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.pmg-row .pmg-cell{padding:0;border:0}.pmg-row .helper-col{display:flex;align-items:center;gap:10px;border-bottom:1px dashed var(--border);padding-bottom:8px}.pmg-row .helper-col+.pmg-cell{margin-top:2px}.pmg-row .wk-col.data,.pmg-row .total-col.data{display:grid;grid-template-columns:1fr auto;align-items:center;padding:4px 0;border-bottom:1px solid var(--border)}.pmg-row .wk-col.data:last-of-type,.pmg-row .total-col.data{border-bottom:0}.pmg-row .wk-col.data:before{content:attr(data-week);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-strong);color:var(--ink-3);font-size:var(--text-eyebrow);font-family:var(--font-sans)}.pmg-row .total-col.data:before{content:"Month total";text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:var(--weight-strong);color:var(--ink-2);font-size:var(--text-eyebrow)}.pmg-week-pill{flex-direction:row;gap:8px;padding:5px 12px;min-width:0}.pmg-row .wk-col.zero .off{color:var(--ink-mute);font-size:var(--text-base)}.drawer{width:100vw;max-width:100vw;border-left:0}.drawer-foot{gap:8px}.drawer-foot>div{gap:6px}.modal{width:calc(100vw - 24px);border-radius:var(--radius-lg)}.modal-foot{flex-wrap:wrap;gap:6px}.modal-foot>div{width:100%;display:flex;justify-content:flex-end;gap:6px}.tweaks-card{width:calc(100vw - 24px);right:12px;bottom:12px}.inline-editor{width:calc(100vw - 24px)!important;left:12px!important;right:12px}}@media (max-width: 420px){.week-stats,.people-strip,.hol-summary,.pay-summary{grid-template-columns:1fr}.topbar .nav button{padding:4px 8px;font-size:var(--text-xs)}}:root{--bp-tablet: 768px;--bp-desktop: 1024px}@media (max-width: 1023px){.sidebar{width:64px;padding:7px 0}.sidebar-brand{justify-content:center;padding:0 0 4px}.sidebar .brand-text,.sidebar .sb-group-label,.sidebar .sb-item>span,.sidebar-foot .btn.sm>div{display:none}.sidebar-nav{padding:0 4px}.sb-item{justify-content:center;padding:5px 0;min-height:44px}.sidebar-foot{padding:4px}.sidebar-foot .avatar{transform:scale(1.2)}.sidebar-foot .btn.sm{justify-content:center;padding:8px}.sidebar-user>svg{display:none}.sidebar-usermenu{left:0;right:auto}}.sidebar-layout.sidebar-collapsed .sidebar{width:64px;padding:7px 0}.sidebar-layout.sidebar-collapsed .sidebar-brand{justify-content:center;padding:6px 0}.sidebar-layout.sidebar-collapsed .brand-text,.sidebar-layout.sidebar-collapsed .sb-group-label,.sidebar-layout.sidebar-collapsed .sb-item>span,.sidebar-layout.sidebar-collapsed .sidebar-foot .btn.sm>div{display:none}.sidebar-layout.sidebar-collapsed .sidebar-nav{padding:0 4px}.sidebar-layout.sidebar-collapsed .sb-item{justify-content:center;padding:5px 0;min-height:44px}.sidebar-layout.sidebar-collapsed .sidebar-foot{padding:4px}.sidebar-layout.sidebar-collapsed .sidebar-foot .avatar{transform:scale(1.2)}.sidebar-layout.sidebar-collapsed .sidebar-foot .btn.sm{justify-content:center;padding:8px}.sidebar-layout.sidebar-collapsed .sidebar-user>svg{display:none}.sidebar-layout.sidebar-collapsed .sidebar-usermenu{left:0;right:auto}.bottom-bar,.more-backdrop{display:none}@media (max-width: 754px){.sidebar{display:none}.main{padding-bottom:60px}.bottom-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.bb-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px 6px;min-height:54px;border:none;background:transparent;color:var(--ink-3);font-size:var(--text-eyebrow);font-weight:var(--weight-strong);cursor:pointer}.bb-item>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-item.active{color:var(--brand-deep)}.more-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#00000059}.more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:96;background:var(--surface);border-radius:16px 16px 0 0;padding:8px 12px calc(12px + env(safe-area-inset-bottom,0));box-shadow:0 -8px 24px #00000029;animation:sheet-in .18s ease}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.more-sheet-grip{width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:6px auto 10px}.more-group{padding:2px 0}.more-group+.more-group{border-top:1px solid var(--border);margin-top:4px}.more-group-label{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-3);padding:6px 8px 2px}.more-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 8px;border:none;background:transparent;border-radius:8px;font-size:var(--text-base);color:var(--ink);cursor:pointer}.more-item.active{color:var(--brand-deep);background:var(--brand-soft)}.more-item:disabled{opacity:.6}.more-user{display:flex;align-items:center;gap:10px;padding:8px}.more-user-name{font-size:var(--text-base);font-weight:var(--weight-strong);color:var(--ink)}.more-user-role{font-size:var(--text-eyebrow);color:var(--ink-3)}}@media (max-width: 767px){.today-view{padding:14px 14px 56px}.subbar.page-head{flex-wrap:wrap;align-items:flex-start;row-gap:10px;padding:12px 14px}.subbar.page-head .page-title{flex:1 1 100%;font-size:var(--text-xl)}.subbar.page-head .subbar-center-label{position:static;transform:none;order:2;flex:1 1 100%;min-width:0;max-width:100%;white-space:normal;pointer-events:auto}.subbar.page-head .subbar-date-nav{display:flex;width:100%;min-width:0;justify-content:space-between}.subbar.page-head .subbar-date-label,.subbar.page-head .subbar-date-static{flex:1 1 auto;min-width:0;text-align:center}.subbar.page-head .subbar-date-step{flex:0 0 auto;min-height:44px;min-width:44px}.subbar.page-head .spacer{display:none}.subbar.page-head .btn{order:3;flex:1 1 auto;justify-content:center;min-height:44px}.today-context-row{grid-template-columns:1fr}.today-context-row .irq-fillwrap{min-height:116px}.desk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:4px;align-items:start;padding:10px 12px}.desk-row>.bt-dogs{grid-area:1 / 1 / 2 / 2;min-width:0}.desk-row .desk-row-contact{grid-area:2 / 1 / 3 / 2;min-width:0}.desk-row .desk-row-stay{grid-area:1 / 2 / 3 / 3;justify-self:end;text-align:right}.desk-row .desk-row-dates,.desk-row .desk-row-nights{white-space:nowrap}.desk-row .desk-row-dates{font-size:var(--text-sm);color:var(--ink-2)}.desk-row .desk-actions{grid-area:3 / 1 / 4 / 3;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:6px}.desk-row .desk-actions>.desk-row-pay,.desk-row .desk-actions>.status-pill,.desk-row .desk-actions>.desk-booked,.desk-row .desk-actions>.desk-row-action{min-height:44px;padding:6px 12px;gap:6px;justify-content:center;width:100%;font-size:var(--text-xs)}.desk-row .desk-actions>.desk-row-pair{grid-column:1 / -1}}.dog-meta{display:none}@media (max-width: 1023px){.obx{padding:0;place-items:stretch}.obx .card{position:absolute;top:14px;right:0;bottom:0;left:0;width:auto;height:auto;max-height:none;border:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -8px 24px #00000029}.obx-grip{width:36px;height:4px;flex:0 0 auto;margin:8px auto 4px;border-radius:var(--radius-sm);background:var(--border-strong)}.obx .chead{padding:6px 14px 10px}.obx .card{animation:obxSheetRise .3s cubic-bezier(.2,.7,.2,1);will-change:transform}.obx{will-change:opacity}.obx{background:#00000059;animation:obxBack .3s ease}.obx.is-pushed .card{animation:obxSheetPushIn .3s cubic-bezier(.2,.7,.2,1)}.obx.is-leaving .card,.obx.is-pushed.is-leaving .card{animation:obxSheetSink .26s cubic-bezier(.4,0,.9,.4) forwards}.obx.is-leaving.is-leaving-right .card,.obx.is-pushed.is-leaving.is-leaving-right .card{animation:obxSheetPushOut .26s cubic-bezier(.4,0,.9,.4) forwards}.obx .panebox{overflow:hidden}.slide-pane.is-pushing{animation:obxPanePush .28s cubic-bezier(.2,.7,.2,1);will-change:transform}.slide-pane.is-popping{animation:obxPanePop .28s cubic-bezier(.2,.7,.2,1);will-change:transform}.obx.is-leaving{animation:obxBackOut .26s ease forwards}.obx .rail-toggle{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;margin-right:8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink-2);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);flex:0 0 auto;cursor:pointer}.obx[data-rail=open] .rail-toggle{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.obx[data-rail=open] .rail-toggle .rt-chev{transform:rotate(180deg)}.obx .body{position:relative;overflow:hidden}.obx .panebox{width:100%;min-width:0}.obx .rail{position:absolute;inset:0 0 auto 0;width:auto;flex-basis:auto;max-height:78%;z-index:5;border-right:0;border-bottom:1px solid var(--border-strong);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:0 14px 30px -16px #0f283266;overflow:auto;transform:translateY(-100%);visibility:hidden}.obx[data-rail=open] .rail{transform:none;visibility:visible}.obx .rail.drop{animation:obxRailDrop .3s cubic-bezier(.2,.7,.2,1)}.obx .rail.closing{visibility:visible;animation:obxRailRise .26s cubic-bezier(.4,0,.9,.4)}.obx .railscrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:#0f1c2438;opacity:0;pointer-events:none}.obx[data-rail=open] .railscrim{opacity:1;pointer-events:auto}.obx .railscrim.fade{animation:obxScrimIn .3s ease}.obx .railscrim.unfade{animation:obxScrimOut .26s ease;pointer-events:auto}}@media (max-width: 767px){.obx .pane-grid{grid-template-columns:1fr;gap:12px}.obx .pane-scroll{padding:10px 14px}.obx .chead:has(.obx-subject){padding:10px 14px}.obx .obx-flags{display:none}.obx .obx-state{gap:8px}.obx .booking-pane .pane-head{display:grid;grid-template-columns:auto minmax(0,1fr) max-content;gap:2px 8px;align-items:center;margin-bottom:12px}.obx .booking-pane .pane-head>.pane-head-avatar{grid-area:1 / 1 / 3 / 2}.obx .booking-pane .pane-head>div:not(.pane-head-right){display:contents}.obx .booking-pane .pane-head .pane-title{grid-area:1 / 2 / 2 / 3;min-width:0;font-size:var(--text-md);white-space:nowrap}.obx .booking-pane .pane-head .pane-sub{grid-area:2 / 2 / 3 / 4;min-width:0;font-size:var(--text-xs)}.obx .booking-pane .pane-head-right{grid-area:1 / 3 / 2 / 4;margin-left:0;min-width:0}.obx .booking-pane .pane-head-right .filterctl{display:block}.obx .booking-pane .pane-head-right .fc-val{white-space:nowrap}.obx .booking-pane .pane-title{overflow:hidden;text-overflow:ellipsis}.obx .booking-pane .pane-head-right .fc-pill{white-space:nowrap;padding:0 9px;gap:5px}.obx .booking-pane .pane-head-right .fc-pill>.fc-ico{display:none}.obx .modal-foot{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));flex-wrap:nowrap}.obx .modal-foot .foot-right{display:flex;gap:8px;flex:1 1 auto;min-width:0;width:auto;justify-content:flex-end}.obx .modal-foot>.btn{flex:0 0 auto}.obx .modal-foot .btn{min-height:40px;white-space:nowrap}.obx .care-tiles{grid-template-columns:1fr 1fr;gap:8px}.obx .care-tile{padding:8px 9px;min-width:0;align-items:flex-start}.obx .care-tile .ct-ic{width:26px;height:26px}.obx .care-tile .ct-sub{display:none}.obx .care-tile .ct-title{line-height:1.2}}@media (min-width: 1024px){.obx .rail-toggle,.obx .railscrim,.obx .obx-grip{display:none}}.obx .obx-back{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;margin-right:4px;border:none;border-radius:9px;background:var(--surface-3);color:var(--ink-2);flex:0 0 auto;cursor:pointer;transition:var(--dur) background,var(--dur) color}.obx .obx-back:hover:not(:disabled){background:var(--bg-tint);color:var(--ink)}.obx .obx-back:disabled{opacity:.4;cursor:default}@media (max-width: 1023px){.gs-portal{position:static}.gs-portal .gs-sheet{position:fixed;top:14px;right:0;bottom:0;left:0;z-index:var(--z-modal, 90);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -8px 24px #00000029;overflow:hidden;transform:translateY(100%);will-change:transform}.gs-portal.is-open .gs-sheet{transform:none}.gs-portal.phase-in .gs-sheet{animation:gsPanelIn .3s cubic-bezier(.2,.7,.2,1)}.gs-portal.phase-out .gs-sheet{animation:gsPanelOut .26s cubic-bezier(.4,0,.9,.4)}.gs-portal .gs-grip{width:36px;height:4px;flex:0 0 auto;margin:8px auto 4px;border-radius:var(--radius-sm);background:var(--border-strong)}.gs-portal .gs-field-row{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 12px 10px;border-bottom:1px solid var(--border)}.gs-portal .gs-field{flex:1;min-width:0;height:44px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-3)}.gs-portal .gs-field .tb-search-field{display:block;flex:1;min-width:0;border:0;background:none;outline:none;font:inherit;font-size:var(--text-md);color:var(--ink)}.gs-portal .gs-field .clr{border:0;background:var(--surface-3);color:var(--ink-3);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.gs-portal .gs-cancel{border:0;background:none;color:var(--brand-deep);font:inherit;font-size:var(--text-md);font-weight:var(--weight-strong);min-height:44px;padding:0 4px;flex:0 0 auto}.gs-shell .gs-panel{position:static;width:auto;max-height:none;flex:1;min-height:0;border:0;border-radius:0;box-shadow:none;background:none}.gs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal, 90) - 1);background:#00000059;opacity:0;pointer-events:none}.gs-portal.is-open .gs-backdrop{opacity:1;pointer-events:auto}.gs-portal.phase-in .gs-backdrop{animation:gsBackIn .3s ease}.gs-portal.phase-out .gs-backdrop{animation:gsBackOut .26s ease}.gs-shell .gs-scroll{flex:1 1 auto;min-height:0}.gs-shell .gs-row{min-height:56px}.gs-shell .gs-member,.gs-shell .gs-viewall{min-height:52px}}.gs-shell.gs-parked .gs-panel{pointer-events:none}@keyframes obxSheetRise{0%{transform:translateY(100%)}}@keyframes obxSheetSink{0%{transform:none}to{transform:translateY(100%)}}@keyframes obxBackOut{0%{opacity:1}to{opacity:0}}@keyframes obxSheetPushIn{0%{transform:translate(100%)}}@keyframes obxSheetPushOut{0%{transform:none}to{transform:translate(100%)}}@keyframes gsPanelIn{0%{transform:translateY(100%)}}@keyframes gsPanelOut{0%{transform:none}}@keyframes gsBackIn{0%{opacity:0}}@keyframes gsBackOut{0%{opacity:1}}@keyframes obxPanePush{0%{transform:translate(100%)}}@keyframes obxPanePop{0%{transform:translate(-100%)}}@keyframes obxRailDrop{0%{transform:translateY(-100%)}}@keyframes obxRailRise{0%{transform:none}}@keyframes obxScrimIn{0%{opacity:0}}@keyframes obxScrimOut{0%{opacity:1}}@media (max-width: 1023px){.today-chart .chart-svg-wrap{touch-action:pan-y}}@media (max-width: 767px){.today-chart .split-row{margin-bottom:8px}.today-chart .sr-right{margin-left:0;display:flex;flex-wrap:wrap;gap:8px;width:100%}.today-chart .filterctl{min-width:0}.today-chart .fc-pill{width:auto;height:44px;justify-content:flex-start;font-size:var(--text-xs);gap:5px;padding:0 9px;white-space:nowrap}.today-chart .fc-pill>.fc-ico{display:none}.today-chart .fc-val{padding:2px 7px;flex:0 0 auto;overflow:visible}.today-chart .chart-canvas{height:clamp(320px,62dvh,560px)}.today-chart .chart-head{flex-wrap:wrap;gap:4px 10px}.today-chart .chart-title{font-size:var(--text-sm)}.today-chart .chart-legend{gap:10px;flex-wrap:wrap}.today-chart .fc-menu{left:0;right:auto;min-width:100%}.today-chart .filterctl:last-child .fc-menu{left:auto;right:0}.today-chart .fc-opt{min-height:40px}}@media (max-width: 360px){.obx .booking-pane .pane-head{grid-template-columns:auto minmax(0,1fr)}.obx .booking-pane .pane-head .pane-title{grid-area:1 / 2 / 2 / 3}.obx .booking-pane .pane-head-right{grid-area:2 / 2 / 3 / 3}.obx .booking-pane .pane-head .pane-sub{grid-area:3 / 2 / 4 / 3}}@media (max-width: 360px){.today-chart .fc-pill>.fc-type{display:none}}@media (max-width: 767px){.bw-stats,.bw-stats.three,.bw-stats.four{grid-template-columns:1fr 1fr}.bw-stats .bw-stat{min-width:0}.bw-stat .val-split{flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.bookings .split-row .sr-right{flex-wrap:wrap;row-gap:6px}.page-toolbar{flex-wrap:wrap;gap:8px}.page-toolbar .search-wrap{flex:1 1 100%}.page-toolbar .spacer{display:none}.filter-chip-group{flex-wrap:wrap}.chip-toggle{flex:1 1 auto;justify-content:center}.bookings-table{display:flex;flex-direction:column;gap:8px}.bookings-table .bt-row.head{display:none}.bookings-table .bt-row:not(.head){display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.bookings-table .bt-row>.bt-dogs{flex:1 1 100%;min-width:0}.bookings-table .bt-breed,.bookings-table .bt-area{flex:0 0 auto}.bookings-table .bt-stay{flex:1 1 auto;min-width:0}.bookings-table .bt-stay-dates,.bookings-table .bt-stay-nights{display:inline}.bookings-table .bt-num.total{margin-left:auto;font-weight:var(--weight-strong)}.bookings-table .bt-added{display:none}.bookings-table .bt-row.bt-skeleton .bl-line{flex:1 1 80px;width:auto}.bookings-table .bt-row.bt-skeleton .bl-line:first-child{flex:1 1 100%}.bookings-table .bt-row.bt-skeleton .bl-line:nth-last-child(-n+2){display:none}.cal-desktop{display:none}.cal-week{display:block}.chart-head{flex-direction:column;align-items:flex-start;gap:8px}.chart-legend{flex-wrap:wrap}}@media (min-width: 768px){.cal-week{display:none}}.cal-week .cm-week-nav{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 10px;font-weight:var(--weight-strong);color:var(--ink)}.cal-week .cm-week-nav button{min-height:44px;min-width:44px;border:1px solid var(--border);background:var(--surface);border-radius:50%;cursor:pointer;font-size:17px;color:var(--ink-2)}.cal-week .cm-week-nav button:disabled{opacity:.4;cursor:default}.cm-week-day{border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--surface);margin-bottom:8px}.cm-week-day.is-today{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.cm-week-day.quiet{background:var(--bg-tint)}.cm-week-head{display:flex;align-items:center;justify-content:space-between}.cm-week-quiet{color:var(--ink-mute);font-size:var(--text-sm);margin-top:4px}.cm-date{font-weight:var(--weight-strong);color:var(--ink)}.cm-sec{display:flex;flex-direction:column;gap:6px;margin-top:8px}.cm-sec-label{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-display);color:var(--ink-3)}.cm-sec.collections .cm-sec-label{color:var(--alert-deep)}.cm-chip{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;border:1px solid var(--border);border-left:3px solid var(--border-strong);background:var(--surface);border-radius:8px;padding:6px 8px;font-family:inherit;text-align:left;cursor:pointer}.cm-chip.arrive{border-left-color:var(--brand)}.cm-chip.collect{border-left-color:var(--alert)}.cm-chip-av{display:inline-flex;flex-shrink:0}.cm-chip-av>*{margin-left:-6px}.cm-chip-av>*:first-child{margin-left:0}.cm-chip-who{font-size:var(--text-sm);color:var(--ink);min-width:0}@media (prefers-reduced-motion: reduce){.obx,.obx.is-leaving,.obx .card,.obx.is-leaving .card,.obx.is-pushed .card,.obx.is-pushed.is-leaving .card,.obx.is-leaving.is-leaving-right .card,.obx.is-pushed.is-leaving.is-leaving-right .card,.obx .rail,.obx .rail.drop,.obx .rail.closing,.obx .railscrim,.obx .railscrim.fade,.obx .railscrim.unfade,.slide-pane,.slide-pane.is-pushing,.slide-pane.is-popping,.gs-sheet,.gs-backdrop{animation:none!important}.obx.is-leaving .card{transform:translateY(100%)}.obx.is-pushed.is-leaving.is-leaving-right .card{transform:translate(100%)}.obx.is-leaving{opacity:0}}@media (max-width: 1279px){.cs-cnts{flex:0 1 auto;justify-content:flex-start}.cs-cnts .cs-cnt{flex:0 1 auto;max-width:none}.cs-cnts{flex-wrap:wrap;row-gap:4px}.cs-rail{height:auto;flex-direction:column;align-items:stretch}.cs-seg+.cs-seg{border-left:0;border-top:1px solid var(--border)}.cs-seg,.cs-seg-attn,.cs-seg-duty,.cs-seg-res{flex:1 1 auto;width:100%;min-width:0}.cs-seg-btn{min-height:44px;padding:9px 12px}.cs-seg-title{position:static;width:auto;height:auto;margin:0 16px 0 0;overflow:visible;clip-path:none}.cs-stack{flex-direction:column;align-items:flex-start;gap:6px}.cs-divider{display:none}.cs-team{flex-wrap:wrap}}@media (max-width: 767px){.stay-table th.st-opt,.stay-table td.st-opt{display:none}.stay-table .dog-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay-scroll{max-height:60vh}.stay-scroll{overflow-x:auto}.stay-table{min-width:520px}.cs-week{overflow-x:auto}.cs-wk-days,.cs-wk-leave-row,.cs-wk-band{grid-template-columns:40px repeat(7,minmax(96px,1fr));min-width:max-content}.cs-wk-band-label{position:sticky;left:0;z-index:1;background:var(--surface)}.cs-wk-band.pm .cs-wk-band-label{background:var(--surface)}.cs-wk-step{min-width:44px;min-height:44px}.cs-wk-nav{gap:0}.cs-panel-head{flex-wrap:wrap;row-gap:6px}.cs-panel-link{margin-left:auto}.cs-panel-foot{flex-wrap:wrap;row-gap:4px}.desk-section-head{min-height:0}}.staff-obx .card{width:min(837px,96vw);height:min(700px,92vh)}.obx .pane-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.obx .pane-head .pane-title{margin:0;display:flex;align-items:center;gap:8px}.obx .pane-sub{font-size:var(--ts);color:var(--ink-3);margin-top:2px}.obx .pane-head-right{margin-left:auto;display:flex;align-items:center;gap:8px}.obx .newbadge{background:var(--brand);color:#fff;font-size:var(--te);font-weight:var(--weight-display);text-transform:uppercase;letter-spacing:var(--trk);padding:2px 8px;border-radius:var(--radius-sm)}.obx .staff-meter{height:6px;border-radius:var(--radius-sm);background:var(--surface-3);overflow:hidden}.obx .staff-meter .fill{height:100%;background:var(--brand);border-radius:var(--radius-sm);transition:width .4s var(--ease)}.obx .staff-meter-lab{display:block;font-size:var(--txs);color:var(--ink-3);margin-top:7px}.obx .staff-meter-lab b{color:var(--ink-2);font-weight:var(--weight-strong)}.fin-stats .val,.fin-delta,.fin-col-val,.fin-col-label,.fin-donut-leg .val,.fin-donut-leg .pct,.fin-cancel-note strong{font-variant-numeric:tabular-nums}.bw-stats.fin-stats{grid-template-columns:repeat(4,1fr);margin-bottom:10px}.fin-stat-sub{font-size:var(--text-xs);color:var(--ink-3);margin-top:5px}.bw-stat.prime .fin-stat-sub{color:var(--bg);opacity:.85}.fin-delta{font-weight:var(--weight-strong);font-size:var(--text-xs)}.fin-delta.up{color:#bbf7d0}.fin-delta.down{color:#fecaca}.bw-stat:not(.prime) .fin-delta.up{color:var(--primary-deep)}.bw-stat:not(.prime) .fin-delta.down{color:var(--alert-deep)}.fin-delta.flat{color:var(--ink-mute)}@media (max-width: 860px){.bw-stats.fin-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.bw-stats.fin-stats{grid-template-columns:1fr}}.fin-trend{margin-bottom:16px}.fin-trend .fin-cancel{margin-top:8px}.fin-chart.bookings-chart{padding:16px 20px 12px}.fin-chart .chart-canvas{height:clamp(168px,22vh,270px)}.fin-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px 18px;margin-bottom:16px}.fin-panel-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}.fin-panel-head h3{margin:0;font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.fin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.fin-grid-2 .fin-panel{margin-bottom:16px;display:flex;flex-direction:column}@media (max-width: 900px){.fin-grid-2{grid-template-columns:1fr}}.fin-cancel{font-size:var(--text-xs);color:var(--ink-mute)}.fin-sources{display:flex;flex-direction:column;gap:18px}.fin-sources>.fin-donut+.fin-donut{padding-top:18px;border-top:1px solid var(--border)}.fin-donut-title{font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--ink-2);margin-bottom:12px}.fin-donut-body{display:flex;align-items:center;gap:22px}.fin-donut-chart{width:104px;flex:0 0 auto}.fin-donut-chart svg{width:100%;height:auto;display:block}.fin-donut-cval{fill:var(--ink);font-size:11px;font-weight:var(--weight-strong);font-family:var(--font-mono);pointer-events:none}.fin-donut-clbl{fill:var(--ink-3);font-size:4.5px;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);pointer-events:none}.fin-donut-legend{flex:1;display:grid;grid-template-columns:1fr auto auto;column-gap:16px;row-gap:9px;align-items:center}.fin-donut-leg{display:contents}.fin-donut-leg .lbl{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--ink-2)}.fin-donut-leg .sw{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.fin-donut-leg .val{font-size:var(--text-sm);color:var(--ink);text-align:right}.fin-donut-leg .pct{font-size:var(--text-sm);color:var(--ink-3);text-align:right;min-width:32px}.fin-cancel-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--ink-2)}.fin-cancel-note strong{color:var(--ink)}.fin-cancel-dot{width:9px;height:9px;border-radius:50%;background:var(--alert);flex:0 0 auto}.fin-cancel-sub{flex-basis:100%;margin-left:17px;color:var(--ink-mute);font-size:var(--text-xs)}.fin-yoy{display:flex;flex-direction:column;flex:1;min-height:200px}.fin-yoy-area{position:relative;flex:1;margin-left:40px;display:flex;align-items:flex-end;gap:7px;border-bottom:1px solid var(--border-strong)}.fin-yoy-grid{position:absolute;left:0;right:0;height:1px;background:var(--border)}.fin-yoy-grid:first-of-type{background:transparent}.fin-yoy-yval{position:absolute;left:-8px;transform:translate(-100%,50%);font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap}.fin-yoy-col{position:relative;z-index:1;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}.fin-yoy-bar{width:46%;max-width:22px;border-radius:3px 3px 0 0;min-height:2px;transition:height .2s ease}.fin-yoy-bar.prev{background:var(--border-strong)}.fin-yoy-bar.cur{background:var(--brand)}.fin-yoy-labels{display:flex;margin-left:40px;padding-top:7px}.fin-yoy-label{flex:1;text-align:center;font-size:var(--text-eyebrow);color:var(--ink-3)}.fin-yoy-label.on{color:var(--ink);font-weight:var(--weight-strong)}.finances-loading{display:flex;flex-direction:column;gap:16px}.finances-loading-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.finances-loading-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.finances-loading-grid{grid-template-columns:1fr}}@media (max-width: 860px){.finances-loading-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.finances-loading-stats{grid-template-columns:1fr}}.staff-page{min-height:100vh;background:radial-gradient(900px 380px at 50% -10%,var(--brand-soft) 0%,transparent 60%),var(--bg);padding:0 0 48px}.staff-topbar{position:sticky;top:0;z-index:20;background:color-mix(in oklch,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--border)}.staff-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:560px;margin:0 auto;padding:12px 16px}.staff-brand{display:flex;align-items:center;gap:9px;font-weight:var(--weight-display);font-size:var(--text-md);letter-spacing:var(--tracking-tight);color:var(--ink)}.staff-signout{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);border-radius:var(--radius);padding:7px 13px;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.staff-signout:hover:not(:disabled){border-color:var(--brand);color:var(--brand-deep);background:var(--brand-soft)}.staff-signout:disabled{opacity:.4;cursor:default}.staff-signout svg{color:var(--ink-mute)}.staff-signout:hover:not(:disabled) svg{color:var(--brand)}.staff-body{max-width:560px;margin:0 auto;padding:8px 16px 0;display:flex;flex-direction:column;gap:16px}.staff-greeting{padding:8px 4px 2px}.staff-greeting h1{font-size:var(--text-3xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight);color:var(--ink);margin:0}.staff-greeting p{font-size:var(--text-md);color:var(--ink-3);line-height:1.5;margin:6px 0 0}.staff-note{max-width:560px;margin:24px auto;padding:0 20px;text-align:center;color:var(--ink-3);font-size:var(--text-md)}.staff-week{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.staff-week.current{border-color:oklch(from var(--brand) l c h / .2);box-shadow:0 1px 2px oklch(from var(--brand) l c h / .12),0 12px 28px -12px oklch(from var(--brand) l c h / .3);scroll-margin-top:72px}.staff-week-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.staff-week.current .staff-week-head{background:linear-gradient(0deg,var(--brand-soft),var(--brand-soft)),var(--surface-2)}.staff-week-title{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.staff-week-empty{padding:22px 16px;text-align:center;color:var(--ink-mute);font-size:var(--text-md)}.staff-day-list{list-style:none;margin:0;padding:0}.staff-day{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--surface-3)}.staff-day:last-child{border-bottom:none}.staff-day-date{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:104px;flex:none}.staff-day-wd{font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--brand-deep)}.staff-day-dm{font-size:var(--text-md);color:var(--ink-2);font-weight:var(--weight-body);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-snug);line-height:1.05;margin-top:4px;white-space:nowrap}.staff-shift-cell{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.shift-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.shift-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;border-radius:var(--radius-sm);padding:4px 9px;font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;border:1px solid var(--border);background:var(--surface);color:var(--ink-3)}.shift-badge.am{border-color:oklch(from var(--brand) l c h / .2);background:oklch(from var(--brand-soft) l c h / .65);color:var(--brand-deep)}.shift-badge.pm{border-color:oklch(from var(--pm) l c h / .22);background:var(--pm-soft);color:var(--pm-deep)}.shift-plus{color:var(--ink-mute);font-size:var(--text-xs);font-weight:var(--weight-medium)}.staff-preview-btn{margin-top:12px;width:100%;justify-content:center}.staff-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1a151166;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;animation:fade .15s ease}.staff-preview-frame{width:100%;max-width:600px;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.staff-preview-banner{display:flex;align-items:center;gap:8px;padding:11px 16px;background:var(--ink);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-strong);flex:none}.staff-preview-close{margin-left:auto;background:transparent;border:none;color:#fff;cursor:pointer;display:grid;place-items:center;padding:2px;opacity:.85}.staff-preview-close:hover{opacity:1}.staff-page.embedded{min-height:0;overflow-y:auto;padding-bottom:24px}.staff-page.embedded .staff-topbar{display:none}.staff-tabs{display:flex;gap:6px;background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius);padding:4px}.staff-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;background:transparent;color:var(--ink-3);border-radius:var(--radius-sm);padding:8px 12px;font:inherit;font-size:var(--text-base);font-weight:var(--weight-strong);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.staff-tab[aria-selected=true]{background:var(--surface);border-color:var(--border);color:var(--ink);box-shadow:0 1px 2px #07172714}.staff-tab:focus-visible,.staff-pill:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.staff-tab .count,.staff-pill .count{min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--brand);color:var(--surface);font-size:var(--text-xs);font-weight:var(--weight-strong)}.staff-panel{display:flex;flex-direction:column;gap:16px}.staff-pills{display:flex;gap:8px;flex-wrap:wrap}.staff-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--bg-tint);color:var(--ink-3);border-radius:999px;padding:7px 14px;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-strong);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.staff-pill[aria-pressed=true]{background:var(--surface);border-color:oklch(from var(--brand) l c h / .35);color:var(--ink);box-shadow:0 1px 2px #07172714}.day-hero{border:1px solid oklch(from var(--brand) l c h / .2);border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(0deg,var(--brand-soft),var(--brand-soft)),var(--surface);box-shadow:0 1px 2px oklch(from var(--brand) l c h / .12),0 12px 28px -12px oklch(from var(--brand) l c h / .3);animation:today-in var(--dur-reveal) var(--ease);padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}@keyframes today-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.day-hero{animation:none}}.day-hero-left{display:flex;flex-direction:column;gap:3px;min-width:0}.day-hero-eyebrow{font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--brand-deep)}.day-hero-date{font-size:var(--text-xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight)}.day-hero-sub{font-size:var(--text-sm);color:var(--ink-3);margin-top:2px}.day-hero-sub strong{color:var(--ink-2);font-weight:var(--weight-strong)}.day-hero .shift-badge.am,.day-hero .shift-badge.pm{background:var(--surface)}.day-hero.off{border-color:var(--border);background:var(--surface);box-shadow:none}.day-hero.off .day-hero-eyebrow{color:var(--ink-mute)}.brief-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.brief-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--surface-3)}.brief-icon{width:30px;height:30px;flex:none;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-deep)}.brief-icon.meds{background:var(--flag-meds-soft);color:var(--flag-meds)}.brief-icon.mix{background:var(--alert-soft);color:var(--alert-deep)}.brief-title{font-size:var(--text-md);font-weight:var(--weight-strong);flex:1;margin:0}.brief-count{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-3)}.brief-foot{padding:9px 16px 12px;font-size:var(--text-sm);color:var(--ink-3);line-height:1.45;border-top:1px solid var(--surface-3);background:var(--surface-2)}.brief-empty{display:flex;align-items:center;gap:12px;padding:16px;color:var(--ink-3);font-size:var(--text-md);line-height:1.45}.brief-empty .brief-icon{background:var(--surface-3);color:var(--ink-mute)}.brief-error{padding:16px;font-size:var(--text-md);color:var(--ink-3)}.brief-retry{margin-left:8px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:4px 10px;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--brand-deep);cursor:pointer}.staff-food-list{list-style:none;margin:0;padding:0}.staff-food-dog{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--surface-3)}.staff-food-dog:first-child{border-top:none}.staff-food-avatar{width:16px;height:16px;flex:none;display:grid;place-items:center;color:var(--ink-mute)}.staff-food-name{font-size:var(--text-md);font-weight:var(--weight-strong);flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.staff-food-breed{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-3);margin-left:6px}.staff-food-until{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 8px;white-space:nowrap}.staff-food-until.last-day{border-color:oklch(from var(--alert) l c h / .35);background:var(--alert-soft);color:var(--alert-deep)}.brief-card.leaving{border-color:oklch(from var(--brand) l c h / .35)}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px 0 6px;border-radius:var(--radius-sm);font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.tag svg{width:12px;height:12px}.tag.food{background:var(--brand-soft);color:var(--brand-deep)}.tag.meds{background:var(--flag-meds-soft);color:var(--flag-meds)}.tag.mix{background:var(--alert-soft);color:var(--alert-deep);border-color:oklch(from var(--alert) l c h / .28)}.tag.wash{background:var(--secondary-soft);color:var(--secondary-deep);border-color:oklch(from var(--secondary) l c h / .45)}.skel{border-top:1px solid var(--surface-3);padding:11px 16px;display:flex;gap:12px;align-items:center}.skel:first-child{border-top:none}.skel .b{height:12px;border-radius:6px;background:var(--surface-3);animation:skel-pulse 1.2s ease-in-out infinite}@keyframes skel-pulse{50%{opacity:.55}}.staff-week-range{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-3);margin-left:8px}.staff-month-divider{display:flex;align-items:center;gap:12px;padding:8px 4px 0;font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-mute)}.staff-month-divider:before,.staff-month-divider:after{content:"";height:1px;background:var(--border);flex:1}.fin-yoy-grid.zero{background:var(--border-strong);height:1.5px}.staff-page{padding-bottom:calc(66px + env(safe-area-inset-bottom,0))}.staff-topbar{padding-top:env(safe-area-inset-top,0)}.staff-bottom-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;height:calc(50px + env(safe-area-inset-bottom,0));padding:0 0 env(safe-area-inset-bottom,0);background:color-mix(in oklch,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border-top:1px solid var(--border)}.staff-page.embedded .staff-bottom-bar{position:sticky;margin-top:16px}.sbb-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:50px;min-width:0;padding:0;border:none;background:transparent;color:var(--ink-3);font:inherit;font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:.02em;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--dur) var(--ease)}.sbb-item>span:last-child{white-space:nowrap}.sbb-item.active{color:var(--brand-deep)}.sbb-item:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--radius-sm)}.sbb-icon{position:relative;display:grid;place-items:center;width:24px;height:24px}.sbb-icon .count{position:absolute;top:-5px;right:-9px;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--brand);color:var(--surface);font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:0;box-shadow:0 0 0 2px var(--surface)}.sbb-dot{position:absolute;top:-2px;right:-4px;width:8px;height:8px;border-radius:50%;background:var(--status-attention);box-shadow:0 0 0 2px var(--surface)}.alerts-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;display:grid;gap:12px}.alerts-card.on{border-color:oklch(from var(--status-live) l c h / .35);box-shadow:0 1px 2px oklch(from var(--status-live) l c h / .12),0 12px 28px -12px oklch(from var(--status-live) l c h / .3)}.alerts-card.blocked{border-color:oklch(from var(--status-attention) l c h / .4)}.alerts-head{display:flex;gap:10px;align-items:flex-start}.alerts-ic{width:34px;height:34px;border-radius:var(--radius);background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;flex:none}.alerts-card.on .alerts-ic{background:var(--status-live-soft);color:var(--status-live-ink)}.alerts-card.blocked .alerts-ic{background:var(--status-attention-soft);color:var(--status-attention-ink)}.alerts-title{font-weight:var(--weight-strong);font-size:var(--text-lg)}.alerts-sub{color:var(--ink-3);font-size:var(--text-sm);margin-top:2px}.alerts-state{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--ink-2);font-weight:var(--weight-medium)}.alerts-pill{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:var(--weight-strong);padding:2px 8px;border-radius:var(--radius-xl);border:1px solid transparent;white-space:nowrap}.alerts-pill.live{background:var(--status-live-soft);color:var(--status-live-ink);border-color:oklch(from var(--status-live) l c h / .3)}.alerts-pill.attention{background:var(--status-attention-soft);color:var(--status-attention-ink);border-color:oklch(from var(--status-attention) l c h / .35)}.alerts-why{margin:0;font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.alerts-why b{font-weight:var(--weight-strong);color:var(--ink)}.alerts-hint{margin:-6px 0 0;font-size:var(--text-xs);color:var(--ink-3)}.alerts-hint.error{color:var(--status-attention-ink)}.alerts-acts{display:flex;align-items:center;gap:14px}.alerts-howto{margin:0;padding:0 0 0 22px;display:grid;gap:8px;font-size:var(--text-sm);color:var(--ink-2)}.alerts-howto li::marker{font-weight:var(--weight-display);color:var(--brand-deep)}.alerts-howto b{font-weight:var(--weight-strong);color:var(--ink)}.alerts-k{display:inline-flex;align-items:center;gap:4px;font-weight:var(--weight-strong);color:var(--ink);background:var(--surface-3);border-radius:var(--radius-sm);padding:1px 6px}.alerts-btn{display:inline-flex;justify-content:center;align-items:center;font:inherit;font-weight:var(--weight-strong);font-size:var(--text-base);padding:10px 14px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;width:100%}.alerts-btn.pri{background:var(--brand);color:var(--surface)}.alerts-btn.pri:hover:not(:disabled){background:var(--brand-deep)}.alerts-btn.pri.dim,.alerts-btn.pri:disabled{background:var(--surface-3);color:var(--ink-mute);cursor:default}.alerts-btn.sec{background:var(--surface);color:var(--ink);border-color:var(--border-strong);width:auto;padding:8px 12px;font-size:var(--text-sm)}.alerts-btn.sec:disabled{opacity:.5;cursor:default}.alerts-btn:focus-visible,.alerts-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.alerts-link{background:none;border:none;padding:0;font:inherit;color:var(--ink-3);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.staff-info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.staff-info-row{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--surface-3);font-size:var(--text-sm);color:var(--ink-3)}.staff-info-row:first-child{border-top:0}.staff-info-row b{font-weight:var(--weight-medium);color:var(--ink);text-align:right;overflow-wrap:anywhere}.staff-changed-bar{display:flex;align-items:center;gap:8px;background:var(--status-attention-soft);color:var(--status-attention-ink);border:1px solid oklch(from var(--status-attention) l c h / .3);border-radius:var(--radius);padding:8px 12px;font-size:var(--text-sm);font-weight:var(--weight-strong)}.staff-day.changed{background:var(--status-attention-soft)}.staff-day-chg{font-size:var(--text-eyebrow);font-weight:var(--weight-display);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--status-attention-ink)}.shift-badge.off{background:var(--status-done-soft);color:var(--status-done-ink);text-decoration:line-through}.topbar{position:sticky;top:0;z-index:var(--z-topbar);height:var(--topbar-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 16px;background:oklch(from var(--surface) l c h / .72);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);transition:height .28s var(--ease)}.topbar.tb-shrunk{height:var(--topbar-h-shrunk)}.tb-left{display:flex;align-items:center;gap:10px;min-width:0}.tb-center{display:flex;justify-content:center}.tb-right{display:flex;align-items:center;gap:8px;justify-content:flex-end}.tb-icon-btn{width:var(--control-w-icon);height:var(--control-h);border:0;background:transparent;border-radius:var(--radius);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.tb-icon-btn:hover{background:var(--bg-tint)}.tb-brand{display:flex;align-items:center;gap:10px;color:var(--ink)}.tb-bt{display:flex;flex-direction:column;min-width:0}.tb-bn{font-size:var(--text-lg);font-weight:var(--weight-display);letter-spacing:-.015em;white-space:nowrap;line-height:1.15}.tb-bg{font-size:var(--text-eyebrow);color:var(--ink-3);white-space:nowrap;overflow:hidden;max-height:16px;opacity:1;transition:opacity .26s var(--ease),max-height .28s var(--ease),transform .28s var(--ease)}.tb-shrunk .tb-bg{opacity:0;max-height:0;transform:translateY(-4px)}.tb-search{position:relative;display:flex;align-items:center;gap:8px;flex:1;min-width:0;max-width:364px;height:var(--control-h);padding:0 12px;background:var(--field);border:1px solid var(--field-border);border-radius:var(--radius);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.tb-search:focus-within{background:var(--bg-tint);border-color:var(--border-strong)}.tb-search-ico{color:var(--ink-3);flex-shrink:0}.tb-search-field{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:var(--text-sm);color:var(--ink);outline:none}.tb-search-field::placeholder{color:var(--ink-3)}.tb-menu{z-index:var(--z-dropdown);top:calc(100% + 6px);min-width:200px;padding:6px;border-radius:var(--radius-lg)}.tb-menu-head{padding:6px 10px 4px;font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:var(--weight-medium)}.tb-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:transparent;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);color:var(--ink);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.tb-menu-item:hover{background:var(--bg-tint)}.tb-menu-item svg{color:var(--ink-2);flex-shrink:0}.tb-menu-sep{height:1px;margin:6px 4px;background:var(--border)}.tb-new{position:relative}.tb-new-btn{display:flex;align-items:center;gap:6px;height:var(--control-h);padding:0 16px;border:1px solid transparent;border-radius:var(--radius);background:var(--brand);color:#fff;border-color:var(--brand);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-strong);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.tb-new-btn:hover{background:var(--brand-deep);border-color:var(--brand-deep)}.tb-new-btn .icon{stroke-width:2.2}.tb-new-btn .tb-new-caret{stroke-width:1.8}.tb-new-menu{right:0}.tb-bell{position:relative}.tb-bell-pop{right:0;min-width:240px}.tb-bell-empty{padding:10px;font-size:var(--text-sm);color:var(--ink-3)}@media (max-width: 760px){.tb-bt{display:none}.topbar{grid-template-columns:auto minmax(0,1fr) auto}.tb-center,.tb-center .datectl{min-width:0}.tb-center .dp-label{min-width:0;overflow:hidden}.tb-center .dp-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{padding:0 10px;gap:8px}.tb-search{max-width:none;flex:0 0 auto;width:var(--control-h);height:var(--control-h);padding:0;gap:0;justify-content:center;margin:0 auto;border-radius:var(--radius)}.tb-search-field,.tb-new-label,.tb-new-caret{display:none}.tb-new-btn{width:var(--control-h);padding:0;gap:0;justify-content:center}}.datectl{position:relative;display:flex;align-items:center;gap:2px;height:var(--control-h);background:var(--field);border:1px solid var(--field-border);border-radius:var(--radius);padding:2px}.datectl>button{border:0;background:transparent;color:var(--ink-2);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.dp-step{width:calc(var(--control-h) - 6px);height:calc(var(--control-h) - 6px);border-radius:var(--radius);display:grid;place-items:center}.dp-step:hover{background:var(--field-hover);color:var(--ink)}.dp-label{height:calc(var(--control-h) - 6px);padding:0 11px;display:flex;align-items:center;gap:7px;font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--ink);white-space:nowrap;border-radius:var(--radius);cursor:pointer}.dp-label:hover{background:var(--field-hover)}.dp-label .cal{color:var(--brand-deep)}.datectl.dp-disabled{opacity:var(--opacity-disabled);pointer-events:none;filter:grayscale(1)}.datectl.dp-disabled .dp-label,.datectl.dp-disabled .dp-label .cal{color:var(--ink-mute)}.datepop{top:calc(100% + 9px);left:50%;transform:translate(-50%);border-radius:var(--radius-lg);padding:12px;z-index:var(--z-dropdown)}.dp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.dp-head .dp-title{font-size:var(--text-base);font-weight:var(--weight-display)}.dp-nav{width:28px;height:28px;border:0;background:transparent;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--ink-2);cursor:pointer}.dp-nav:hover{background:var(--bg-tint)}.dp-grid{display:grid;grid-template-columns:repeat(7,34px);gap:2px}.dp-wd{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);color:var(--ink-mute);text-align:center;padding:2px 0 4px}.dp-day{height:32px;border:0;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink-2);cursor:pointer;font-variant-numeric:tabular-nums}.dp-day:hover{background:var(--bg-tint)}.dp-day.dp-today{color:var(--brand-deep);font-weight:var(--weight-display)}.dp-day.dp-sel{background:var(--brand);color:var(--surface);font-weight:var(--weight-strong)}.dp-day.dp-blank{visibility:hidden;pointer-events:none}.dp-months{display:grid;grid-template-columns:repeat(3,66px);gap:6px}.dp-mo{height:40px;border:0;background:var(--surface-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--ink-2);cursor:pointer}.dp-mo:hover{background:var(--bg-tint)}.dp-mo.dp-sel{background:var(--brand);color:var(--surface)}.page-heading{font-size:var(--text-xl);font-weight:var(--weight-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 8px}.page-main>.page-heading+*{padding-top:0}.split-row{display:flex;align-items:center;gap:12px;margin:0}.sr-tabs{display:inline-flex;gap:3px;padding:3px;background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius)}.sr-tab{display:flex;align-items:center;padding:5px 14px;border:0;background:transparent;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.sr-tab:hover:not(.on){background:var(--surface);color:var(--ink)}.sr-tab.on{background:var(--brand-soft);color:var(--brand-deep);font-weight:var(--weight-strong)}.sr-right{margin-left:auto;display:flex;align-items:center;gap:8px}.filterctl{position:relative}.fc-pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.fc-pill:hover:not(.is-disabled){background:var(--bg-tint);border-color:var(--border-strong)}.fc-pill.is-disabled{opacity:.5;cursor:default}.fc-pill.is-disabled .fc-val{color:var(--ink-3)}.fc-ico{color:var(--ink-3);flex-shrink:0}.fc-type{color:var(--ink-3)}.fc-val{display:inline-flex;align-items:center;white-space:nowrap;gap:6px;padding:2px 8px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-deep);font-weight:var(--weight-strong)}.fc-caret{color:var(--ink-3);margin-left:1px}.fc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fc-opt-ico{display:inline-flex;flex-shrink:0;color:var(--ink-2)}.fc-menu{min-width:190px;padding:6px;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:3px;top:calc(100% + 4px);right:0;left:auto;z-index:var(--z-dropdown)}.fc-opt{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:transparent;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);color:var(--ink);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.fc-opt:hover:not(.on){background:var(--bg-tint)}.fc-opt.on{background:var(--brand-soft);color:var(--brand-deep);font-weight:var(--weight-strong)}.filterctl.fc-sm .fc-pill{height:26px;gap:4px;padding:0 6px 0 8px;font-size:var(--text-xs)}.filterctl.fc-sm .fc-type{display:none}.filterctl.fc-sm .fc-val{gap:4px;padding:1px 6px}.filterctl.fc-sm .fc-caret{margin-left:0}.filterctl.fc-sm .fc-menu{min-width:132px;padding:4px;gap:2px}.filterctl.fc-sm .fc-opt{gap:8px;padding:6px 8px;font-size:var(--text-xs)}.fc-clear{width:100%;margin-top:4px;padding:7px 10px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--ink-3);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.fc-clear:hover{color:var(--ink)}.fc-tick{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--border);border-radius:4px;background:var(--surface);color:transparent;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.fc-menu.multi .fc-opt.on{background:transparent;color:var(--brand-deep);font-weight:var(--weight-strong)}.fc-menu.multi .fc-opt:hover{background:var(--bg-tint)}.fc-menu.multi .fc-opt.on .fc-tick{border-color:var(--brand);background:var(--brand);color:var(--surface)}.fc-menu.multi .fc-opt.on:hover .fc-tick{border-color:var(--brand-deep);background:var(--brand-deep)}.fc-pill.fc-static{cursor:default}.fc-pill.fc-static:hover{background:var(--surface);border-color:var(--border)}.fc-dismiss{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px;margin:0 -4px 0 -3px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-3);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.fc-dismiss svg{width:14px;height:14px;flex-shrink:0}.fc-dismiss:hover{background:var(--bg-tint);color:var(--ink)}.fc-dismiss:active{background:var(--border)}.fc-dismiss:focus-visible{outline:2px solid var(--brand);outline-offset:1px;color:var(--ink)}:root{--t-owner: var(--brand);--t-owner-soft: var(--brand-soft);--t-dog: #b5502a;--t-dog-soft: #f6ddcf;--t-booking: #ca8a04;--t-booking-soft: #fdf3c4;--t-helper: var(--flag-meds);--t-helper-soft: var(--flag-meds-soft);--t-user: var(--primary);--t-user-soft: var(--primary-soft);--t-leave: var(--st-collected-ink);--t-leave-soft: var(--st-collected-soft);--gs-member-indent: 34px}.gs-shell{position:relative}.gs-panel{top:calc(100% + 8px);left:0;right:auto;width:min(560px,92vw);z-index:var(--z-dropdown);border-radius:var(--radius-lg);overflow:hidden;max-height:min(64vh,520px);display:flex;flex-direction:column}.gs-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.gs-count{font-weight:var(--weight-medium);letter-spacing:0;color:var(--ink-3)}.gs-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 6px 8px}.gs-viewall{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 16px;border:0;border-top:1px solid var(--border);background:var(--surface);color:var(--brand-deep);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-strong);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.gs-viewall:hover{background:var(--bg-tint)}.gs-viewall-arrow{transition:transform var(--dur) var(--ease)}.gs-viewall:hover .gs-viewall-arrow{transform:translate(3px)}.gs-row[data-type=owner]{--gs-c: var(--t-owner);--gs-soft: var(--t-owner-soft)}.gs-row[data-type=dog]{--gs-c: var(--t-dog);--gs-soft: var(--t-dog-soft)}.gs-row[data-type=booking]{--gs-c: var(--t-booking);--gs-soft: var(--t-booking-soft)}.gs-row[data-type=leave]{--gs-c: var(--t-leave);--gs-soft: var(--t-leave-soft)}.gs-row[data-type=helper]{--gs-c: var(--t-helper);--gs-soft: var(--t-helper-soft)}.gs-row[data-type=user]{--gs-c: var(--t-user);--gs-soft: var(--t-user-soft)}.gs-row{display:flex;align-items:center;gap:11px;width:100%;padding:8px;border:0;background:transparent;border-radius:var(--radius);cursor:pointer;text-align:left;font:inherit;transition:background var(--dur-fast) var(--ease)}.gs-row:hover,.gs-row.active{background:var(--bg-tint)}.gs-row.active{outline:2px solid var(--brand-soft);outline-offset:-2px}.gs-ic{width:32px;height:32px;flex:0 0 auto;border-radius:var(--radius);display:grid;place-items:center;color:var(--gs-c);background:var(--gs-soft)}.gs-rtext{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.gs-rname{display:block;font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--ink);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-rsub{display:block;font-size:var(--text-sm);color:var(--ink-3);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-rname mark,.gs-rsub mark{background:var(--st-unconfirmed-soft);color:inherit;border-radius:var(--radius-sm);padding:0 1px}.gs-scope-row{flex:0 0 auto;display:flex;padding:9px 12px;border-bottom:1px solid var(--border);overflow-x:auto}.gs-cluster{border:1px solid var(--border);border-radius:var(--radius);margin:5px 2px;overflow:hidden}.gs-cluster:hover{border-color:var(--border-strong)}.gs-cl-head{border-radius:0}.gs-cl-members{border-top:1px solid var(--border);background:var(--surface-2);padding:3px 6px}.gs-member{padding-left:var(--gs-member-indent)}.gs-member .gs-ic{width:24px;height:24px;border-radius:var(--radius-sm)}.gs-member .gs-rname{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2)}.gs-member .gs-rsub{font-size:var(--text-xs)}.gs-more{padding:5px 8px 5px var(--gs-member-indent);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-3)}.gs-rtype,.gs-row .status-pill{box-sizing:border-box;height:20px;padding:0 9px;font-size:var(--text-eyebrow);flex:0 0 auto}.gs-rtype{display:inline-flex;align-items:center;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);border-radius:var(--radius-sm);color:var(--gs-c);background:var(--gs-soft)}.gs-row .status-pill{pointer-events:none}.gs-cl-members .gs-rtype,.gs-cl-members .status-pill{height:16px;padding:0 7px}.gs-cl-members .status-pill{gap:4px}.gs-cl-members .status-pill svg{width:10px;height:10px}.gs-empty{display:flex;justify-content:center;padding:24px}.gs-loading{padding:24px;text-align:center;color:var(--ink-3);font-size:var(--text-sm)}@media (max-width: 760px){.gs-shell.gs-open{width:auto;flex:1 1 auto;padding:0 10px;gap:8px;justify-content:flex-start}.gs-shell.gs-open .tb-search-field{display:block}}.obx .ob-access{width:340px;flex:0 0 auto;border-left:1px solid var(--border);background:var(--bg-tint);padding:14px 16px;display:flex;flex-direction:column;gap:10px;overflow:auto}.obx .ob-access .ob-pane-head{display:flex;align-items:flex-start;gap:10px;padding:0 0 8px;border-bottom:1px solid var(--border-2)}.obx .ob-access .ob-title{font-size:var(--tm);font-weight:var(--weight-display);letter-spacing:var(--tracking-snug)}.obx .ob-access .ob-sub,.obx .ob-access .cp-p{font-size:var(--txs);color:var(--ink-3)}.obx .ac-note{margin:2px 0 0;line-height:1.5;color:var(--ink-mute)}.obx .ac-list{display:flex;flex-direction:column;gap:8px}.obx .ac-row{display:flex;flex-direction:column;gap:11px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.obx .ac-row.open{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.obx .ac-hd{display:grid;grid-template-columns:32px minmax(0,1fr) 22px;align-items:center;column-gap:10px;width:calc(100% + 24px);margin:-12px;padding:12px;border:0;border-radius:var(--radius);background:none;text-align:left;cursor:pointer;transition:var(--dur-fast) background}.obx .ac-hd:hover{background:var(--surface-2)}.obx .ac-hd:hover .ac-chev{color:var(--ink-2)}.obx .ac-hd:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.obx .ac-row.open .ac-hd{margin-bottom:0;border-radius:var(--radius) var(--radius) 0 0}.obx .ac-who{min-width:0;display:flex;flex-direction:column;gap:3px}.obx .ac-who .ac-name{display:block;font-size:var(--ts);font-weight:var(--weight-strong);line-height:1.3;color:var(--ink);letter-spacing:var(--tracking-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obx .ac-meta{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:1px;min-width:0;line-height:1.35}.obx .ac-who .ac-sub{display:block;font-size:var(--txs);color:var(--ink-mute);min-width:0}.obx .ac-chev{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--ink-mute);transition:var(--dur-fast) transform,var(--dur-fast) background,var(--dur-fast) color}.obx .ac-row.open .ac-chev{transform:rotate(180deg);background:var(--surface-2);color:var(--ink-2)}.obx .ac-badge{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:var(--txs);font-weight:var(--weight-medium);color:var(--ink-3);white-space:nowrap}.obx .ac-ico{flex:none;display:inline-flex;align-items:center;color:var(--ink-3)}.obx .ac-badge.none{color:var(--ink-3)}.obx .ac-badge.invited,.obx .ac-badge.part,.obx .ac-ico.invited,.obx .ac-ico.part{color:var(--warn-deep)}.obx .ac-badge.expired,.obx .ac-badge.revoked{color:var(--alert-deep)}.obx .ac-ico.expired,.obx .ac-ico.revoked{color:var(--alert)}.obx .ac-badge.live{color:var(--primary-deep)}.obx .ac-ico.live{color:var(--primary)}.obx .ac-more{display:flex;flex-direction:column;gap:11px;padding-top:11px;border-top:1px solid var(--border)}.obx .ac-msg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.obx .ac-f{padding:8px 8px 9px 11px;border-bottom:1px solid var(--border)}.obx .ac-f:last-child{border-bottom:0}.obx .ac-f-row{display:flex;align-items:flex-start;gap:8px}.obx .ac-f-val{flex:1;min-width:0;font-size:var(--txs);line-height:1.5;color:var(--ink-2);padding-top:1px}.obx .ac-num{font-size:var(--ts);color:var(--ink);font-variant-numeric:tabular-nums}.obx .ac-msg.quiet,.obx .ac-msg.dead{background:var(--surface-2);border-color:var(--border)}.obx .ac-msg.quiet .ac-reason,.obx .ac-msg.dead .ac-reason{color:var(--ink-2)}.obx .ac-refused{display:flex;gap:7px;margin:0;padding:8px 10px;border:1px solid var(--warn);border-radius:var(--radius);background:var(--warn-soft);color:var(--warn-deep);font-size:var(--txs);line-height:1.45}.obx .ac-refused svg{flex:none;margin-top:2px}.obx .ac-manage{display:flex;align-items:center;gap:8px;width:calc(100% + 24px);margin:0 -12px -12px;padding:11px 12px;border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:none;font-size:var(--ts);font-weight:var(--weight-strong);color:var(--ink);text-align:left;cursor:pointer;transition:var(--dur-fast) background}.obx .ac-manage span{flex:1}.obx .ac-manage svg{color:var(--ink-3);flex:none}.obx .ac-manage svg:last-child{transition:var(--dur-fast) transform}.obx .ac-manage:hover{background:var(--surface-2)}.obx .ac-manage:hover svg{color:var(--ink-2)}.obx .ac-manage:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.obx .ac-manage.on{background:var(--surface-2);border-radius:0;margin-bottom:0}.obx .ac-manage.on:hover{background:var(--surface-3)}.obx .ac-manage.on svg:last-child{transform:rotate(180deg)}.obx .ac-drawer{display:flex;flex-wrap:wrap;gap:8px;width:calc(100% + 24px);margin:-11px -12px -12px;padding:3px 12px 12px;background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius)}.obx .ac-danger{display:flex;flex-wrap:wrap;gap:6px}.obx .ac-confirm{display:flex;flex-direction:column;gap:14px;width:100%;padding-top:12px}.obx .ac-cmsg{margin:0;font-size:var(--ts);line-height:1.5;color:var(--ink)}.obx .ac-cacts{display:flex;justify-content:space-between;align-items:center;gap:16px}.obx .ac-cacts .ac-btn{height:30px;padding:0 14px}.obx .ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:26px;padding:0 9px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--txs);font-weight:var(--weight-medium);cursor:pointer;transition:var(--dur-fast) background,var(--dur-fast) border-color,var(--dur-fast) color}.obx .ac-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.obx .ac-btn:not(.danger):not(.ac-generate-btn):not(.ac-wa):hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3)}.obx .ac-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.obx .ac-btn.danger{color:var(--alert-deep);border-color:var(--alert);background:var(--surface)}.obx .ac-btn.danger:hover:not(:disabled){background:var(--alert-deep);border-color:var(--alert-deep);color:#fff}.obx .ac-empty{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:16px;text-align:center;color:var(--ink-mute);font-size:var(--ts)}@media (max-width: 900px){.obx .body{flex-wrap:wrap}.obx .ob-access{width:100%;border-left:0;border-top:1px solid var(--border);overflow:visible}}.obx .ac-draft.is-pending .ac-f-val{display:flex;flex-direction:column;gap:0;padding-top:1px}.obx .ac-draft.is-pending .ac-f.ac-send .ac-bar,.obx .ac-draft.is-pending .ss-msg-row .ac-bar{height:34px;width:100%}.obx .ac-bar{display:block;height:calc(var(--txs) * 1.5);width:100%;background-clip:content-box;padding:3px 0;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-3) 0%,var(--bg-tint) 40%,var(--surface-3) 80%);background-size:220% 100%;animation:acShimmer 1.25s ease-in-out infinite}.obx .ac-bar.short{width:62%}.obx .ac-manage:disabled{opacity:var(--opacity-muted);cursor:default}.obx .ac-badge.working{color:var(--ink-3)}.obx .ac-ico.working{color:var(--ink-3);animation:acSpin 1.1s linear infinite}@keyframes acShimmer{0%{background-position:120% 0}to{background-position:-60% 0}}@keyframes acSpin{to{transform:rotate(360deg)}}@keyframes acDraftIn{0%{opacity:0}to{opacity:1}}.obx .ac-draft:not(.is-pending){animation:acDraftIn .22s ease both}@media (prefers-reduced-motion: reduce){.obx .ac-bar,.obx .ac-ico.working,.obx .ac-draft:not(.is-pending){animation:none}.obx .ac-bar{background:var(--surface-3)}}.obx .ac-tocome{color:var(--ink-mute);font-style:italic;text-decoration:underline dotted;text-underline-offset:3px}.obx .ac-f.ac-send{padding:8px 10px 9px}.obx .ac-btn.ac-wa{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:34px;background:var(--wa);border-color:var(--wa);color:#fff;text-decoration:none;font-weight:var(--weight-strong)}.obx .ac-btn.ac-wa:hover{background:color-mix(in oklab,var(--wa) 86%,var(--ink));border-color:color-mix(in oklab,var(--wa) 86%,var(--ink));color:#fff}.obx .ac-btn.ac-wa:focus-visible{outline:2px solid var(--wa);outline-offset:2px}.obx .ac-btn.ac-wa.is-off{background:var(--surface-2);border-color:var(--border);color:var(--ink-3);pointer-events:none}.obx .ac-f.ac-generate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:150px;padding:18px 12px 20px;text-align:center}.obx .ac-generate-btn{height:34px;padding:0 16px;font-size:var(--ts);background:var(--brand);border-color:var(--brand);color:var(--bg)}.obx .ac-btn.ac-generate-btn:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep);color:var(--bg)}.obx .ac-generate-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.obx .ac-generate-note{margin:0;max-width:220px;font-size:var(--txs);line-height:1.45;color:var(--ink-mute)}.obx .ss-fold{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex:none}.obx .ss-hd{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;gap:10px;align-items:center;padding:8px 10px;cursor:pointer;border:0;background:transparent;width:100%;text-align:left;font:inherit;color:inherit;border-radius:var(--radius)}.obx .ss-hd.still{cursor:default;grid-template-columns:28px minmax(0,1fr)}.obx .ss-hd:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.obx .ss-ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2)}.obx .ss-ic.access{background:var(--primary-soft);color:var(--primary-deep)}.obx .ss-hdt{min-width:0}.obx .ss-hdrow{display:flex;align-items:center;gap:8px}.obx .ss-title{font-weight:var(--weight-strong);font-size:var(--ts)}.obx .st{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:var(--radius-sm);font-size:10.5px;font-weight:var(--weight-strong);white-space:nowrap;background:var(--surface-3);color:var(--ink-2)}.obx .st.ok{background:var(--primary-soft);color:var(--primary-deep)}.obx .st.todo{background:var(--warn-soft);color:var(--warn-deep)}.obx .ss-glance{display:block;font-size:var(--txs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.obx .ss-chev{color:var(--ink-mute);transition:transform .2s ease}.obx .ss-fold.open .ss-chev{transform:rotate(180deg)}.obx .ss-body{padding:4px 10px 10px;border-top:1px solid var(--border)}.obx .ss-fold .ac-list{gap:0}.obx .ss-fold .ac-row{border:0;border-radius:0;box-shadow:none;padding:8px 0;background:transparent;gap:9px}.obx .ss-fold .ac-row+.ac-row{border-top:1px solid var(--border-2)}.obx .ss-fold .ac-row.open{box-shadow:none}.obx .ss-fold .ac-note{margin-top:8px}.obx .ob-access .rq{margin-bottom:0}.obx .ss-fold .ac-hd{width:100%;margin:0;padding:2px 0;border-radius:var(--radius-sm)}.obx .ss-fold .ac-row.open .ac-hd{border-radius:var(--radius-sm)}.obx .ss-fold .ac-manage,.obx .ss-fold .ac-drawer{width:100%;margin:0;border-radius:var(--radius-sm)}.obx .ac-msg.ac-draft{background:none;border:0;border-radius:0;overflow:visible}.obx .rq-access .ac-list{gap:0}.obx .rq-access .ac-row{gap:0;padding:0;margin:0;border:1px solid transparent;border-radius:var(--radius-sm);box-shadow:none;background:transparent;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.obx .rq-access .ac-row+.ac-row{border-top-color:color-mix(in oklab,var(--rq) 14%,var(--border-2))}.obx .rq-access .ac-row .ac-hd{width:100%;margin:0;padding:7px 6px;grid-template-columns:32px minmax(0,1fr) 18px;column-gap:9px;border-radius:var(--radius-sm)}.obx .rq-access .ac-row .ac-chev{width:18px;height:22px}.obx .rq-access .ac-hd .ac-name{font-size:var(--ts)}.obx .rq-access .ac-hd .ac-sub{font-size:var(--txs)}.obx .rq-access .ac-row.is-skeleton{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;column-gap:9px;align-items:center;padding:7px 6px}.obx .rq-access .ac-row.open{background:var(--surface);border-color:color-mix(in oklab,var(--rq) 26%,transparent);overflow:hidden}.obx .rq-access .ac-row.open+.ac-row{border-top-color:transparent}.obx .rq-access .ac-row.open .ac-hd{padding:7px 6px;border-radius:0;background:color-mix(in oklab,var(--rq-soft) 42%,var(--surface))}@keyframes rqReveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.obx .rq-access .ac-row.open .ac-chev{background:color-mix(in oklab,var(--rq) 16%,transparent);color:var(--rq-ink)}.obx .rq-access .ac-more{gap:0;padding:0;border-top:1px solid color-mix(in oklab,var(--rq) 18%,transparent)}.obx .rq-access .ac-msg{margin:0;background:transparent;border:0;border-radius:0}.obx .rq-access .ac-f{padding:8px 10px 9px;border-bottom:1px solid color-mix(in oklab,var(--rq) 12%,var(--border-2))}.obx .rq-access .ac-f:last-child{border-bottom:0}.obx .rq-access .ac-refused{margin:8px 10px 0}.obx .rq-access .ac-msg .ss-msg{background:var(--surface);border:0;border-radius:0}.obx .rq-access .ac-msg .ss-msg-body{border-top:1px solid color-mix(in oklab,var(--rq) 18%,transparent)}.obx .rq-access .ac-msg .ss-msg-hd:hover .ss-msg-preview{color:var(--ink)}.obx .rq-access .ac-msg .ss-msg.fixed .ss-msg-hd{height:auto;min-height:24px;cursor:default}.obx .rq-access .ac-msg .ss-msg.fixed .ss-msg-row{align-items:center;padding:8px 8px 0 10px}.obx .rq-access .ac-msg .ss-msg.fixed .ss-msg-body{border-top:0;padding-top:0}.obx .rq-access .ac-manage{width:100%;margin:0;padding:9px 10px;border:0;border-top:1px solid color-mix(in oklab,var(--rq) 18%,transparent);border-radius:0}.obx .rq-access .ac-manage.on{background:color-mix(in oklab,var(--rq-soft) 42%,var(--surface))}.obx .rq-access .ac-drawer{width:100%;margin:0;padding:8px 10px 10px;border-radius:0;border-top:1px solid color-mix(in oklab,var(--rq) 18%,transparent);background:color-mix(in oklab,var(--rq-soft) 28%,var(--surface))}.obx .rq-access .ac-hd:hover{background:color-mix(in oklab,var(--rq) 10%,transparent)}.obx .rq-access .ac-hd:hover .ac-chev{color:var(--rq-ink)}.obx .rq-access .ac-row.open .ac-hd:hover{background:color-mix(in oklab,var(--rq-soft) 62%,var(--surface))}.obx .rq-access .ac-manage:hover{background:color-mix(in oklab,var(--rq-soft) 42%,var(--surface))}.obx .rq-access .ac-manage.on:hover{background:color-mix(in oklab,var(--rq-soft) 62%,var(--surface))}.obx .rq-access .ac-btn:not(.danger):not(.ac-generate-btn):not(.ac-wa):hover:not(:disabled){border-color:var(--rq-ink);background:color-mix(in oklab,var(--rq-soft) 55%,var(--surface))}.obx .rq-access{margin:0 -12px;padding:10px 6px 0;border-top:1px solid color-mix(in oklab,var(--rq) 22%,transparent)}.obx .rq .ss-fold.inset .ac-note{font-size:11px;line-height:1.45}.obx .rq-access .ac-manage,.obx .rq-access .ac-manage.on{background:color-mix(in oklab,var(--rq-soft) 58%,var(--surface));border-top:1px solid color-mix(in oklab,var(--rq) 32%,transparent);padding:9px 10px;font-size:var(--txs)}.obx .rq-access .ac-manage:hover,.obx .rq-access .ac-manage.on:hover{background:color-mix(in oklab,var(--rq-soft) 58%,var(--surface));color:var(--ink)}.obx .rq-access .ac-drawer{background:color-mix(in oklab,var(--rq-soft) 58%,var(--surface));border-top:0;padding:0 10px 10px}.obx .rq-access .ac-msg .ss-msg.fixed .ss-msg-body{padding-bottom:10px}.page-titlerow{position:relative;display:flex;align-items:center;gap:18px;height:40px;margin:0 0 8px;z-index:5}.page-titlerow>.page-heading{margin:0;flex:none}.page-main>.page-titlerow+*{padding-top:0}.ds-host{flex:1;min-width:0;height:40px}.ds-stack{height:40px;display:flex;align-items:center}.ds-lane{flex:1;min-width:0;display:flex;align-items:center;gap:10px;height:40px}.ds-face{flex:none;display:inline-flex}.ds-item{display:flex;align-items:flex-end;gap:6px;flex:1 1 0;min-width:0;max-width:340px;cursor:pointer;border:0;background:transparent;padding:0;font:inherit;color:inherit;text-align:left}.ds-item:focus-visible .ds-chip{outline:2px solid var(--brand);outline-offset:2px}.ds-chip{flex:1;min-width:0;height:40px;background:var(--surface);border:1px solid var(--border);border-radius:12px 12px 12px 4px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:8px;padding:0 5px 0 10px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.ds-item:hover .ds-chip{border-color:var(--border-strong);box-shadow:var(--shadow-lg)}.ds-t{flex:1;min-width:0;line-height:1.2}.ds-chip .ds-t b{display:block;font-size:var(--text-sm);font-weight:var(--weight-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-chip .ds-t>span{display:block;font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-verb{flex:none;font-size:var(--text-xs);font-weight:var(--weight-strong);color:var(--brand-deep);background:var(--brand-soft);border-radius:8px;padding:4px 8px}.ds-aged{font-style:normal;color:var(--due-ink);font-weight:var(--weight-strong)}.ds-item.ds-land,.ds-card.ds-land{animation:ds-land .42s var(--ease)}@keyframes ds-land{0%{transform:translateY(-14px) scale(.96);opacity:0}70%{transform:translateY(2px)}to{transform:none;opacity:1}}.ds-kind{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}.ds-kind-request{background:#dfe8f7;color:#2f4f8a}.ds-kind-screenshot{background:var(--due-soft);color:var(--due-ink)}.ds-kind-card{background:var(--warn-soft);color:var(--warn-deep)}.ds-kind-registration{background:var(--primary-soft);color:var(--primary-deep)}.ds-bub .ds-kind{width:28px;height:28px}.ds-chip,.ds-card{padding-left:6px}.ds-more{flex:none;position:relative;width:92px;height:40px;border:0;background:transparent;padding:0;cursor:pointer;font:inherit}.ds-pk{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm)}.ds-pk.ds-b1{transform:translate(4px,4px)}.ds-pk.ds-b2{transform:translate(8px,8px);opacity:.7}.ds-pk.ds-b0{display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--ink-2);z-index:2}.ds-pk.ds-b0 i{font-style:normal;color:#fff;background:var(--due-ink);border-radius:var(--radius-sm);padding:1px 7px;font-size:var(--text-xs);font-weight:var(--weight-display)}.ds-more:focus-visible .ds-b0{outline:2px solid var(--brand);outline-offset:2px}.ds-fan{position:absolute;right:0;top:46px;width:min(600px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:10px;display:grid;gap:6px;z-index:20;transform-origin:top right;animation:ds-fan var(--dur-reveal) var(--ease)}@keyframes ds-fan{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.ds-fan-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 4px;font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3)}.ds-fan-chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 4px 4px}.ds-fan-chips button{all:unset;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);background:var(--surface-3);border-radius:var(--radius-sm);padding:4px 10px}.ds-fan-chips button.ds-on{background:var(--brand-soft);color:var(--brand-deep);font-weight:var(--weight-strong)}.ds-fan-chips button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ds-fan-scroll{display:grid;gap:6px;max-height:min(420px,60vh);overflow-y:auto;overscroll-behavior:contain;padding-right:2px;align-content:start}.ds-fan-row{display:grid;gap:6px}.ds-fan-day{position:sticky;top:0;z-index:1;background:var(--surface);font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);padding:8px 4px 4px}.ds-msg{display:flex;gap:8px;align-items:flex-end}.ds-msg .ds-face{visibility:hidden}.ds-msg.ds-lastof .ds-face{visibility:visible}.ds-bub{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:8px 8px 8px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;font:inherit;color:inherit;text-align:left}.ds-msg.ds-lastof .ds-bub{border-bottom-left-radius:4px}.ds-bub:hover{background:var(--surface);border-color:var(--border-strong)}.ds-bub:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ds-bub .ds-t b{display:block;font-size:var(--text-base);font-weight:var(--weight-strong)}.ds-bub .ds-t>span{font-size:var(--text-sm);color:var(--ink-3)}.ds-bub time,.ds-bub .ds-aged{font-size:var(--text-xs);color:var(--ink-mute);flex:none}.ds-bub .ds-aged{color:var(--due-ink)}.ds-phone{position:static;flex:1;min-width:0}.ds-deck{position:relative;display:flex;align-items:center;gap:8px;min-width:0;width:100%;height:40px;cursor:pointer;border:0;background:transparent;padding:0;text-align:left;font:inherit;color:inherit}.ds-deck:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:12px}.ds-cards{position:relative;flex:1;min-width:0;height:36px}.ds-card{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface);border:1px solid var(--border);border-radius:12px 12px 12px 4px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:10px;padding:0 6px 0 12px}.ds-card.ds-l0{z-index:3}.ds-card.ds-l1{transform:translate(5px,5px) scale(.985);opacity:.85;z-index:2}.ds-card.ds-l2{transform:translate(10px,10px) scale(.97);opacity:.6;z-index:1}.ds-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-base)}.ds-txt b{font-weight:var(--weight-strong)}.ds-count{flex:none;font-size:var(--text-xs);font-weight:var(--weight-display);color:#fff;background:var(--due-ink);border-radius:var(--radius-sm);padding:2px 8px;align-self:center}.ds-phone .ds-fan{left:0;right:0;width:auto}.ds-phone .ds-fan-scroll{max-height:380px}.ds-phone .ds-fan-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -10px;padding:0 14px 4px}.ds-phone .ds-fan-chips button{flex:none}@media (max-width: 1023px){.page-titlerow{height:36px;gap:10px}.page-titlerow>.page-heading{font-size:var(--text-xl)}}@media (prefers-reduced-motion: reduce){.ds-item.ds-land,.ds-card.ds-land,.ds-fan{animation:none}}.mp-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 20px 40px;background:var(--bg-tint);color:var(--ink);font-family:var(--font-sans)}.mp-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.mp-brand{display:flex;align-items:center;gap:9px;font-weight:var(--weight-display);font-size:var(--text-md);letter-spacing:var(--tracking-snug)}.mp-brand.stacked{flex-direction:column;gap:12px;margin-bottom:2px}.mp-brand.stacked .mp-brand-name{font-size:var(--text-xl)}.mp-mark{width:28px;height:28px;border-radius:var(--radius);background:var(--brand);color:#fff;display:grid;place-items:center}.mp-mark.lg{width:56px;height:56px;border-radius:var(--radius-xl)}.mp-eyebrow{margin:0;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-mute);font-weight:var(--weight-strong)}.mp-title{font-size:var(--text-xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight);line-height:1.15;margin:6px 0 0}.mp-lead{margin:6px 0 0;max-width:300px;font-size:var(--text-base);color:var(--ink-2);line-height:1.5}.mp-foot{margin:22px 0 0;max-width:300px;font-size:var(--text-xs);color:var(--ink-mute);line-height:1.5}.mp-foot a{color:var(--ink-2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.mp-foot a:hover{color:var(--brand-deep)}.mp-actions{width:100%;margin-top:22px;position:sticky;bottom:0;z-index:3;padding-top:16px;background:linear-gradient(to bottom,color-mix(in oklab,var(--bg-tint) 0%,transparent),var(--bg-tint) 14px);display:flex;flex-direction:column;gap:10px}.mp-page{align-items:stretch}.mp-card{min-height:calc(100dvh - 64px);margin:0 auto}.mp-card>:first-child{margin-top:auto}.mp-card>.mp-actions{margin-top:auto}.mp-card>.mp-lead{margin-bottom:16px}.mp-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;padding:0 16px;border-radius:var(--radius-lg);font-size:var(--text-md);font-weight:var(--weight-strong);font-family:inherit;border:1px solid transparent;text-decoration:none;cursor:pointer}.mp-btn svg{flex:none}.mp-btn.primary{background:var(--brand);color:var(--bg)}.mp-btn.primary:hover:not(:disabled){background:var(--brand-deep)}.mp-btn.quiet{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.mp-btn.quiet:hover:not(:disabled){background:var(--surface-2)}.mp-btn.wa{background:var(--wa-green);color:#fff}.mp-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.mp-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.dw-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:color-mix(in oklab,var(--ink) 38%,transparent)}.dw{--dw-gap: 8px;position:fixed;inset:max(12px,env(safe-area-inset-top,0px)) var(--dw-gap) 0;z-index:31;max-width:520px;margin:0 auto;background:var(--bg-tint, var(--surface));border-radius:18px 18px 0 0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 -12px 40px -16px color-mix(in oklab,var(--ink) 40%,transparent);outline:none}.dw:focus-visible{outline:none}.dw-grip{position:sticky;top:0;z-index:4;display:flex;justify-content:center;align-items:center;height:22px;background:var(--bg-tint, var(--surface));touch-action:none;cursor:grab;border-radius:18px 18px 0 0}.dw-grip>i{width:36px;height:5px;border-radius:3px;background:var(--border-strong, var(--border))}.dw.dragging{transition:none}.dw.dragging .dw-grip{cursor:grabbing}.dw.settle{transition:transform .28s cubic-bezier(.2,.8,.2,1)}.dw.in{animation:dw-up .64s cubic-bezier(.3,.1,.15,1) both}.dw.out{animation:dw-down .34s cubic-bezier(.5,0,.8,.4) both;pointer-events:none}.dw-scrim.in{animation:dw-fade-in .52s ease-out both}.dw-scrim.out{animation:dw-fade-out .34s ease-in both;pointer-events:none}@keyframes dw-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes dw-down{0%{transform:translateY(var(--dw-from, 0px))}to{transform:translateY(100%)}}@keyframes dw-fade-in{0%{opacity:0}}@keyframes dw-fade-out{to{opacity:0}}@media (prefers-reduced-motion: reduce){.dw.in,.dw.out,.dw-scrim.in,.dw-scrim.out{animation:none}.dw.settle{transition:none}}.dw>.cp-app{display:flex;flex-direction:column;min-height:calc(100% - 22px)}.dw .cp-step,.dw .cp-check,.dw .cp-book>.book-brand+.cp-check{min-height:0;flex:1 0 auto}.dw.compact{top:auto;height:min(549px,calc(100dvh - max(12px,env(safe-area-inset-top,0px))))}@media (max-width: 399px){.dw{--dw-gap: 6px}.dw .cp-step,.dw .cp-check{padding-left:12px;padding-right:12px}.dw .cp-step .cp-actions,.dw .cp-check .cp-actions{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.dw .cp-book>.book-brand{padding-left:12px;padding-right:12px}}@media (min-width: 560px){.dw{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.cell-lead,.lead,.dog-names-text,.dog-names,.dog-name-unit,.bt-stay-dates,.ot-contact .mono,.fin-name{font-weight:var(--weight-lead);color:var(--ink-lead);font-size:var(--size-lead)}.cell-body,.cell-num,.bt-num,.bt-num.total,.ot-address,.area-text,.desk-row-dates,.desk-row-owner,.bt-added{font-weight:var(--weight-body);color:var(--ink-body);font-size:var(--size-body)}.cell-num,.bt-num{font-variant-numeric:tabular-nums}.cell-sub,.sub,.owner-name,.bt-stay-nights,.desk-row-nights,.desk-row-phone,.dog-sub,.bt-due-rate,.bt-breed,.ot-contact .sub,.fin-sub{font-weight:var(--weight-sub);color:var(--ink-sub);font-size:var(--size-sub)}.bt-due-amount,.amount{font-weight:var(--weight-lead);font-size:var(--size-lead)}.cell-stack{display:flex;flex-direction:column;gap:1px;min-width:0}.dt{display:flex;flex-direction:column}.dt-row{display:grid;align-items:center;gap:16px;padding:12px var(--pad-view-x);border-bottom:1px solid var(--border)}.dt-row:last-child{border-bottom:0}.dt-row:not(.head):hover{background:var(--bg-tint)}.dt-cell{min-width:0}.dt-end{text-align:right;justify-self:end}.dt-th{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3)}.bookings-empty{display:flex;flex-direction:column;align-items:center;gap:10px}.bookings-empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:var(--ink-3);margin-bottom:2px}.bookings-empty-icon.brand-soft{background:var(--brand-soft);color:var(--brand-deep)}.bookings-empty-icon.bg-tint{background:var(--bg-tint);color:var(--ink-3)}.bookings-empty-headline{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.bookings-empty-msg{margin:0;max-width:380px;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.bookings-empty-action{margin-top:4px;padding:6px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-2);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:var(--dur-fast) background,var(--dur-fast) border-color,var(--dur-fast) color}.bookings-empty-action:hover{background:var(--bg-tint);border-color:var(--brand);color:var(--brand-deep)}.bookings-error{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 20px;text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.bookings-error-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--alert-soft);color:var(--alert-deep);margin-bottom:2px}.bookings-error-headline{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.bookings-error-msg{margin:0;max-width:380px;font-size:var(--text-sm);line-height:1.5;color:var(--ink-3)}.bookings-error-action{margin-top:4px;padding:6px 14px;border:1px solid var(--alert);border-radius:var(--radius-sm);background:var(--alert-soft);color:var(--alert-deep);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:var(--dur-fast) background,var(--dur-fast) border-color}.bookings-error-action:hover{background:var(--surface);border-color:var(--alert-deep)}.bookings-loading{display:flex;flex-direction:column;gap:14px}.bookings-loading-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.bookings-loading-rows{display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.bookings-loading-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.bl-block{background:var(--bg-tint);border-radius:var(--radius-sm);animation:pulse 1.4s ease-in-out infinite}.bl-stat{height:72px}.bl-row{height:56px;border-radius:0}.desk-list .bl-row{border-radius:var(--radius)}.split-row .sr-right .bl-line{width:150px;height:30px}.bl-cell{height:96px}.bl-line{height:14px;width:62%;align-self:center}.bl-chart{height:300px;border-radius:var(--radius-lg)}.bt-row.bt-skeleton{pointer-events:none;min-height:64px}.page-main{padding:8px var(--pad-shell-x) var(--pad-shell-bottom);display:flex;flex-direction:column;gap:18px}.bt-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 0}.bt-footer-count{font-size:var(--text-sm);color:var(--ink-mute)}.bt-load-more{padding:6px 14px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);transition:var(--dur-fast) background,var(--dur-fast) border-color}.bt-load-more:hover:not(:disabled){background:var(--bg-tint);border-color:var(--brand)}.bt-load-more:disabled{opacity:.6;cursor:default}.bt-footer-actions{display:flex;align-items:center;gap:12px}.bt-pagesize{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--ink-mute)}.bt-pagesize select{padding:4px 8px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink-2);cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 0}.pg-count{font-size:var(--text-sm);color:var(--ink-mute)}.pg-controls{display:flex;align-items:center;gap:10px}.pg-page{font-size:var(--text-sm);color:var(--ink-2)}.pg-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2)}.pg-btn:hover:not(:disabled){background:var(--bg-tint);border-color:var(--brand)}.pg-btn:disabled{opacity:.5;cursor:default}.cp-app{min-height:100vh;min-height:100dvh;background:var(--bg-tint);color:var(--ink);font-family:var(--font-sans)}.cp-app{display:flex;flex-direction:column;max-width:520px;margin:0 auto;padding-bottom:72px}.cp-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 6px}.cp-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-avatar);background:var(--avatar-sage);color:var(--ink);font-size:var(--text-xs);font-weight:var(--weight-strong)}.cp-scroll{flex:1;display:flex;flex-direction:column;gap:14px;padding:4px 18px 18px}.cp-h1{font-size:var(--text-xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight);line-height:1.15;margin:0}.cp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}.cp-none{align-items:flex-start;gap:12px}.cp-none .mp-btn{align-self:stretch}.cp-stays{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cp-stay{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border-2, var(--border))}.cp-stay:last-child{border-bottom:0}.cp-stay:first-child{padding-top:2px}.cp-stay-when{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cp-stay-when b{font-size:var(--text-sm);font-weight:var(--weight-strong)}.cp-stay-when small{font-size:var(--text-xs);color:var(--ink-3)}.cp-stay-state{flex:none;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:3px 9px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.cp-stay-state.s-confirmed{background:var(--primary-soft);color:var(--primary-deep)}.cp-stay-state.s-arrived{background:var(--brand-soft);color:var(--brand-deep)}.cp-stay-state.s-unconfirmed,.cp-stay-state.s-requested{background:var(--warn-soft);color:var(--warn-deep)}.cp-stay-state.s-cancelled{background:var(--alert-soft);color:var(--alert-deep)}.cp-stay.st-cancelled .cp-stay-when b{text-decoration:line-through;color:var(--ink-3)}.cp-bar{position:fixed;left:0;right:0;bottom:0;display:flex;max-width:520px;margin:0 auto;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.cp-bar>*{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 6px;font-size:var(--text-eyebrow);font-weight:var(--weight-medium);color:var(--ink-3);text-decoration:none}.cp-bar>.on{color:var(--brand-deep);font-weight:var(--weight-strong)}.cp-bar>.wa{color:var(--ink-2)}.cp-bar>button{border:0;background:none;font-family:inherit;cursor:pointer}@media (min-width: 560px){.cp-bar{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.cp-wizard,.cp-book{padding-bottom:0}.cp-step{min-height:100vh;min-height:100dvh;gap:12px;padding:14px 18px 18px}.cp-step .cp-actions,.cp-check .cp-actions{position:sticky;bottom:0;z-index:3;margin:auto -18px -18px;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom,color-mix(in oklab,var(--bg-tint) 0%,transparent),var(--bg-tint) 16px)}.cp-step .cp-h1{font-size:var(--text-2xl);margin:6px 0 0}.cp-lead{margin-top:-4px}.cp-p.mute{color:var(--ink-3);font-size:var(--text-sm)}.cp-actions{display:flex;flex-direction:column;gap:10px}.cp-actions .mp-btn{width:100%}.cp-app{--cp-fly: .76s;--cp-fly-scale: .66s;--cp-fly-ease: cubic-bezier(.16, 1, .3, 1)}.cp-brand{display:flex;align-items:center;gap:9px}.cp-paw,.cp-paw-in{display:block;transform-origin:50% 50%}.cp-brand-name{font-weight:var(--weight-display);font-size:var(--text-md);letter-spacing:var(--tracking-snug)}.cp-step.is-arriving .cp-brand-name{animation:cp-arrive-fade .32s .36s var(--cp-fly-ease) both}.cp-step.is-arriving>*:nth-child(n+2){animation:cp-arrive-rise .46s var(--cp-fly-ease) both}.cp-step.is-arriving>*:nth-child(2){animation-delay:.3s}.cp-step.is-arriving>*:nth-child(3){animation-delay:.37s}.cp-step.is-arriving>*:nth-child(n+4){animation-delay:.43s}@keyframes cp-arrive-rise{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}@keyframes cp-arrive-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.cp-step.is-arriving .cp-brand-name,.cp-step.is-arriving>*:nth-child(n+2){animation:none}.cp-paw,.cp-paw-in{transition:none!important}}.cp-stepbar{display:flex;flex-direction:column;gap:6px}.cp-stepbar .cp-row{display:flex;align-items:center;gap:10px}.cp-stepbar .lbl{font-size:var(--text-xs);color:var(--ink-3);letter-spacing:.02em}.cp-stepbar .lbl b{color:var(--ink);font-weight:var(--weight-strong)}.cp-steps{flex:1;display:flex;align-items:center;gap:6px}.cp-steps i{flex:1;height:3px;border-radius:2px;background:var(--border)}.cp-steps i.done{background:var(--brand)}.cp-sub{font-size:var(--text-sm);color:var(--ink-3);white-space:nowrap}.cp-back{display:grid;place-items:center;width:28px;height:28px;margin:0 0 0 -4px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;border-radius:50%}.cp-back:hover{background:var(--surface-2)}.book-brand .cp-close-x{display:grid;place-items:center;width:28px;height:28px;margin:0 -4px 0 auto;padding:0;border:0;background:none;color:var(--ink-2);cursor:pointer;border-radius:50%}.book-brand .cp-close-x:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.book-brand .cp-close-x:focus-visible,.cp-back:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.book-brand .cp-close-x:disabled{opacity:var(--opacity-muted);cursor:default}.cp-list{display:flex;flex-direction:column;gap:10px}.cp-choice{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.cp-choice.on{border-color:var(--brand);background:var(--brand-soft)}.cp-choice>.avatar{flex:none}.cp-choice>.txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.cp-choice>.txt b{font-size:var(--text-md);font-weight:var(--weight-strong)}.cp-choice>.txt small{font-size:var(--text-xs);color:var(--ink-3)}.cp-choice>.txt b,.cp-choice>.txt small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-choice .signed{display:inline-flex;align-items:center;gap:5px}.cp-choice .cp-provider{flex:none}.cp-choice>.tg{flex:none;margin-left:auto}.cp-choice>.box{flex:none;margin-left:auto;width:24px;height:24px;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface);display:grid;place-items:center}.cp-choice>.box.radio{border-radius:50%}.cp-choice.on>.box{background:var(--brand);border-color:var(--brand);color:#fff}.cp-choice.taken{background:var(--surface-3);border-color:var(--border)}.cp-choice.taken>.txt b{color:var(--ink-2);font-weight:var(--weight-medium)}.cp-choice.taken>.avatar{opacity:var(--opacity-muted)}.cp-names{display:flex;align-items:flex-start;gap:10px}.cp-names>.cp-field{flex:1;min-width:0}.cp-field{display:flex;flex-direction:column;gap:5px;margin:0}.cp-field .ico,.cp-field label{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2)}.cp-input{box-sizing:border-box;width:100%;height:40px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);padding:0 12px;display:flex;align-items:center;gap:8px;font-size:16px;font-family:inherit;color:var(--ink)}input.cp-input:focus-visible,textarea.cp-input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.cp-input::placeholder,.cp-input .ph{color:var(--ink-mute)}.cp-input.is-bad{border-color:var(--alert)}.cp-area{min-height:92px;height:auto;align-items:flex-start;padding-top:11px;resize:vertical;line-height:1.4}.cp-input.is-locked{background:var(--surface-3);border-color:var(--border);color:var(--ink-2)}.cp-input .cp-prefix{color:var(--ink-3)}.cp-input .cp-lock{margin-left:auto;color:var(--ink-mute);display:inline-flex}.cp-input.is-static{color:var(--ink)}.cp-fieldnote{margin:6px 0 0;display:flex;align-items:baseline;gap:4px;white-space:nowrap;font-size:var(--text-xs);line-height:1.4}.cp-why{color:var(--alert-deep);white-space:normal}.wa-inline{display:inline-flex;align-items:center;gap:4px;color:var(--brand-deep);font-weight:var(--weight-strong);text-decoration:none}.wa-inline u{text-decoration:underline;text-underline-offset:2px}.wa-mark{color:var(--wa-green);flex:none}.mp-btn.wa .wa-mark{color:#fff}.cp-foot-line{text-align:center;margin:2px 0 0}.cp-dogcard{border:1px solid var(--border);border-radius:var(--radius-lg);padding:11px;display:flex;flex-direction:column;gap:9px;background:var(--surface);box-shadow:var(--shadow-sm);text-align:left;font-family:inherit;color:var(--ink)}button.cp-dogcard{width:100%;cursor:pointer}.dc-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.dc-head .avatar{flex:none}.dc-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.dc-id b{font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.dc-id small{font-size:var(--text-xs);color:var(--ink-3)}.dc-chev{display:grid;place-items:center;color:var(--ink-3);flex:none}.dc-chev.is-open svg{transform:rotate(180deg)}.cp-dogcard.shut{gap:0;padding:8px 11px}.cp-dogcard.shut .dc-head{padding:1px 0;border-bottom:0}.dc-two{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:start}.cp-dogcard .cp-input{height:38px}.cp-dogcard .dc-instr .cp-input{border-color:color-mix(in oklab,var(--flag-meds) 40%,var(--border))}.cp-dogcard .dc-instr .ico svg{color:var(--flag-meds)}.cp-seg{box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;height:38px;background:var(--surface-3);border-radius:var(--radius);padding:3px}.cp-seg button{height:100%;min-width:0;padding:0 6px;border:0;background:none;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);font-family:inherit;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cp-seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:var(--weight-strong)}.dc-vax{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:9px;display:flex;flex-direction:column;gap:7px}.dc-vax-h{display:flex;align-items:center;gap:8px}.dc-vax-h b{flex:1;font-size:var(--text-sm);font-weight:var(--weight-strong)}.dc-vax-ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn-deep);flex:none}.cp-vaxrow{display:grid;grid-template-columns:1fr 118px 20px;gap:8px;align-items:center}.cp-vaxrow .nm{font-size:var(--text-xs);color:var(--ink-2);font-weight:var(--weight-medium);display:flex;flex-direction:column}.cp-vaxrow .nm small{font-size:var(--text-eyebrow)}.cp-vaxrow .nm small.req{color:var(--ink-mute);font-weight:var(--weight-body)}.cp-vaxrow .cp-input{height:34px;background:var(--surface);white-space:nowrap;padding:0 8px}.cp-vaxrow .vmark{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.cp-vaxrow .vmark.ok{color:var(--primary)}.cp-vaxrow .vmark.off{border:0;background:none}.cp-vaxrow .vmark.bad{color:var(--st-cancelled)}.cp-vaxrow.is-bad .nm{color:var(--alert-deep)}.cp-vaxrow.is-bad .cp-input{border-color:var(--alert);color:var(--alert-deep)}.cp-upload{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 10px;min-height:56px;border-radius:var(--radius);background:var(--surface);border:1.5px dashed var(--border-strong);cursor:pointer;text-align:left}.cp-upload.dc-has{padding:7px 10px;border:1px solid var(--border)}.cp-upload.up-has{border-color:var(--primary)}.cp-upload.up-bad{border-color:var(--st-cancelled)}.cp-upload.is-busy{opacity:var(--opacity-disabled);pointer-events:none;cursor:default}.cp-upload-clear{align-self:flex-start;margin:-4px 0 0;padding:2px 0;background:none;border:0;font:inherit;font-size:var(--text-xs);color:var(--ink-3);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.cp-upload-clear:hover{color:var(--ink)}.cp-upload-clear:disabled{opacity:var(--opacity-disabled);cursor:default}.cp-upload.up-busy{cursor:default}.dc-drop-ic{width:36px;height:36px;border-radius:var(--radius);display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-deep);flex:none}.cp-upload.up-bad .dc-drop-ic{background:var(--st-cancelled-soft);color:var(--st-cancelled-ink)}.dc-file{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.dc-file b{font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-file small{font-size:var(--text-xs);color:var(--ink-3)}.cp-upload.dc-has .dc-file small{color:var(--primary-deep)}.cp-upload.up-bad .dc-file small{color:var(--ink-3)}.cp-upload .mp-btn.sm{width:auto;flex:none;height:30px;padding:0 14px;font-size:var(--text-xs)}.dc-swap{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:var(--weight-strong);color:var(--primary-deep);text-decoration:underline;text-underline-offset:2px}.cp-thumb{width:34px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-2),var(--surface-3));flex:none;position:relative;overflow:hidden}.cp-thumb:before{content:"";position:absolute;left:6px;right:6px;top:8px;height:4px;border-radius:2px;background:var(--border-strong);box-shadow:0 8px 0 var(--border),0 16px 0 var(--border),0 24px 0 var(--border)}.cp-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.cp-vaxrow .cp-month{max-width:6.5em;text-align:center;font-variant-numeric:tabular-nums}.tg{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px 0 7px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);white-space:nowrap;background:var(--surface-3);color:var(--ink-3);flex:none}.tg svg{flex:none;opacity:.85}.tg.noglyph{padding-left:8px}.tg.wait{background:var(--st-unconfirmed-soft);color:var(--st-unconfirmed-ink)}.tg.bad{background:var(--st-cancelled-soft);color:var(--st-cancelled-ink)}.tg.ok{background:var(--primary-soft);color:var(--primary-deep)}.tg.todo{background:var(--secondary-soft);color:var(--secondary-deep)}.tg.neutral{background:var(--surface-3);color:var(--ink-3)}.mp-btn.is-busy{cursor:progress}.mp-btn.is-busy:disabled{opacity:1}.cp-glyph{display:inline-grid;min-width:15px;min-height:15px;flex:none}.cp-glyph>*{grid-area:1 / 1;display:grid;place-items:center}.is-busy .cp-glyph-ico{animation:cp-glyph-out .12s ease .15s both}.is-busy .cp-glyph>.cp-spin{animation:cp-spin .8s linear infinite,cp-glyph-in .12s ease .15s both}@keyframes cp-glyph-out{to{opacity:0}}@keyframes cp-glyph-in{0%{opacity:0}}.cp-spin{box-sizing:border-box;width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:cp-spin .8s linear infinite}@keyframes cp-spin{to{transform:rotate(360deg)}}.cp-fail{margin:0;padding:10px 12px;border-radius:var(--radius);background:var(--alert-soft);color:var(--alert-deep);font-size:var(--text-sm);line-height:1.45;display:flex;flex-direction:column;gap:8px}.cp-fail p{margin:0}.cp-fail .mp-btn{width:100%}.cp-receipt-page{gap:14px}.cp-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-top:10px}.cp-hero .cp-h1{margin:0}.cp-hero .cp-lead{margin:0;max-width:290px}.cp-tick{width:76px;height:76px;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;box-shadow:0 0 0 8px var(--brand-soft)}.hh-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.hh-grp{padding:10px 14px 12px;display:flex;flex-direction:column;gap:9px}.hh-grp+.hh-grp{border-top:1px solid var(--border)}.hh-lbl{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-strong);color:var(--ink-mute)}.hh-row{display:flex;align-items:center;gap:10px}.hh-row .avatar{flex:none}.hh-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.hh-t b{font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--ink);letter-spacing:var(--tracking-snug)}.hh-t small{font-size:var(--text-xs);color:var(--ink-3)}.hh-row .tg{margin-left:auto}.hh-foot{display:flex;align-items:center;gap:7px;padding:9px 14px;background:var(--surface-2);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--ink-2);font-weight:var(--weight-medium)}.hh-foot svg{color:var(--ink-3);flex:none}.cp-eyebrow{margin:4px 0 -6px;font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);font-weight:var(--weight-strong)}.cp-close{display:flex;flex-direction:column}.cp-close.plain{align-items:center;text-align:center;gap:4px;margin:14px 0 auto}.cp-close.plain b{font-size:var(--text-md);font-weight:var(--weight-strong)}.cp-close.plain small{font-size:var(--text-xs);color:var(--ink-3);line-height:1.45;max-width:250px}.cp-close.plain .mp-btn{margin-top:12px;width:auto;padding:0 22px}.cp-next-av{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 12%,transparent);margin-bottom:4px}.cp-card.stay.compact{gap:0;padding:9px 12px}.hs-who{display:flex;align-items:center;gap:11px}.hs-who>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.hs-who b{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.hs-who small{font-size:var(--text-xs);color:var(--ink-3)}.cs-avs .avatar{position:relative;border:2px solid var(--surface);box-shadow:var(--shadow-sm)}.cs-avs .avatar:first-child{z-index:1}.cs-avs .avatar+.avatar{margin-left:-9px}.hs-when{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:4px;column-gap:10px;align-items:center;margin-top:9px;padding:8px 11px;background:var(--brand-soft);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--brand-deep)}.hs-when>span{display:inline-flex;align-items:center;gap:6px}.hs-when b{color:var(--ink);font-weight:var(--weight-strong);font-size:var(--text-sm)}.hs-when svg{color:var(--brand-deep);flex:none}.hs-when em{grid-column:2;grid-row:1 / span 2;font-style:normal;font-weight:var(--weight-strong);font-size:var(--text-sm)}.cp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:color-mix(in oklab,var(--ink) 38%,transparent);display:flex;align-items:flex-end;justify-content:center}.cp-backdrop.center{align-items:center;padding:20px}.cp-dialog{width:100%;max-width:360px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px 20px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;box-shadow:0 24px 60px -20px color-mix(in oklab,var(--ink) 40%,transparent);animation:cp-dialog-in .16s cubic-bezier(.2,.7,.2,1) both}.cp-dialog:focus{outline:none}.cp-dialog:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.cp-dialog .mp-title,.cp-dialog .mp-lead{margin:0}.cp-dialog .mp-actions{position:static;background:none;padding-top:0;margin-top:18px}.cp-backdrop.center{animation:cp-scrim-in .16s ease both}@keyframes cp-dialog-in{0%{opacity:0;transform:scale(.96)}}@keyframes cp-scrim-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.cp-dialog,.cp-backdrop.center{animation:none}}.mp-btn.quiet.cp-discard{color:var(--alert)}.cp-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 18px;border-radius:var(--radius-lg);font:inherit;font-size:var(--text-md);font-weight:var(--weight-strong);border:1px solid transparent;text-decoration:none;cursor:pointer;width:100%}.cp-btn.primary{background:var(--brand);color:#fff}.cp-btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.cp-btn.soft{background:var(--brand-soft);color:var(--brand-deep)}.cp-btn.sm{height:36px;width:auto;font-size:var(--text-sm);padding:0 14px;border-radius:var(--radius)}.cp-btn.primary.off,.cp-btn.primary:disabled:not(.is-busy){background:var(--border-strong);border-color:var(--border-strong);color:var(--surface);opacity:.9;cursor:default}.cp-btn.is-busy{cursor:progress}.cp-btn.ghost:disabled:not(.is-busy){opacity:.55;cursor:default}.cp-book .cp-choice.col{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.cp-book .cp-choice-h{display:flex;align-items:center;gap:10px}.cp-book .cp-choice-h>.avatar{flex:none}.cp-book .cp-choice-h>.txt{flex:1 1 auto;min-width:0}.cp-book .cp-choice-h>.txt b{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--ink)}.cp-book .cp-choice-h>.tg{flex:none;margin-left:auto}.cp-book .dogq{display:flex;flex-direction:column;gap:7px;padding-left:48px}.cp-book .dogq-r{display:flex;align-items:center;gap:10px}.cp-book .dogq-l{flex:1;font-size:var(--text-xs);color:var(--ink-2);display:inline-flex;align-items:center;gap:6px}.cp-book .dogq-l svg,.cp-book .cp-field label.ico svg{width:13px;height:13px;color:var(--ink-3);flex:none}.cp-book .cp-seg.sm{flex:none;height:28px}.cp-book .cp-seg.sm button{padding:0 10px;font-size:var(--text-xs)}.cp-book .cp-input.sm{height:36px}.cp-book textarea.cp-input.area{min-height:72px;resize:vertical;padding:10px 12px;line-height:1.4}.cp-cal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 10px 10px;overflow:hidden}.cp-cal .days.next{animation:cp-month-in-next .22s cubic-bezier(.2,.7,.2,1) both}.cp-cal .days.prev{animation:cp-month-in-prev .22s cubic-bezier(.2,.7,.2,1) both}.cp-cal .mh .mt.next,.cp-cal .mh .mt.prev{animation:cp-month-title .18s ease both}@keyframes cp-month-in-next{0%{opacity:0;transform:translate(14px)}}@keyframes cp-month-in-prev{0%{opacity:0;transform:translate(-14px)}}@keyframes cp-month-title{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.cp-cal .days.next,.cp-cal .days.prev,.cp-cal .mh .mt.next,.cp-cal .mh .mt.prev{animation:none}}.cp-cal .mh{display:flex;align-items:center;justify-content:space-between;font-weight:var(--weight-strong);font-size:var(--text-md);padding:0 2px 8px}.cp-cal-nav{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-2);cursor:pointer}.cp-cal-nav:hover:not(:disabled){background:var(--surface-2)}.cp-cal-nav:disabled{color:var(--ink-mute);opacity:.5;cursor:default}.cp-cal .dow,.cp-cal .days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cp-cal .dow span{text-align:center;font-size:var(--text-eyebrow);color:var(--ink-mute);font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);padding-bottom:4px}.cp-cal .days .e{visibility:hidden;height:38px}.cp-cal .days .d{height:38px;display:grid;place-items:center;border:0;padding:0;font:inherit;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2);background:transparent;position:relative;cursor:pointer}.cp-cal .days .d:disabled{cursor:default}.cp-cal .days .d.g{background:transparent;color:var(--ink)}.cp-cal .days .d.g:hover:not(:disabled){background:var(--surface-2)}.cp-cal .days .d.a{background:var(--warn-soft);color:var(--warn-deep)}.cp-cal .days .d.r{background:var(--st-cancelled-soft);color:var(--st-cancelled-ink)}.cp-cal .days .d.x{background:var(--surface-3);color:var(--ink-mute);text-decoration:line-through;text-decoration-thickness:1.5px}.cp-cal .days .d.past{color:var(--ink-mute);opacity:.55}.cp-cal .days .d.sel{background:var(--primary-soft);color:var(--primary-deep)}.cp-cal .days .d.in{background:var(--primary-soft);color:var(--primary-deep);border-radius:0}.cp-cal .days .d.in,.cp-cal .days .d.sel{font-weight:var(--weight-strong)}.cp-cal .days .d.sel.from:not(.eow),.cp-cal .days .d.in:not(.eow){box-shadow:4px 0 0 var(--primary-soft)}.cp-cal .days .d.sel.from{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.cp-cal .days .d.sel.to{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.cp-cal .days .d.sel.from.eow,.cp-cal .days .d.sel.to.sow{border-radius:var(--radius-sm)}.cp-cal .days .d.in.eow{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.cp-cal .days .d.in.sow{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.cp-cal .days .d.in.a,.cp-cal .days .d.sel.a{background:color-mix(in oklab,var(--warn-soft) 55%,var(--primary-soft))}.cp-cal .days .d.in.r,.cp-cal .days .d.sel.r{background:color-mix(in oklab,var(--st-cancelled-soft) 60%,var(--primary-soft));color:var(--st-cancelled-ink)}.cp-cal .days .d.in.a:not(.eow),.cp-cal .days .d.sel.from.a:not(.eow){box-shadow:4px 0 color-mix(in oklab,var(--warn-soft) 55%,var(--primary-soft))}.cp-cal .days .d.in.r:not(.eow),.cp-cal .days .d.sel.from.r:not(.eow){box-shadow:4px 0 color-mix(in oklab,var(--st-cancelled-soft) 60%,var(--primary-soft))}.cp-cal .days .d.in.x,.cp-cal .days .d.sel.x{background:repeating-linear-gradient(135deg,var(--primary-soft) 0 5px,color-mix(in oklab,var(--surface-3) 70%,var(--primary-soft)) 5px 8px);color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1.5px}.cp-cal .days .d.in.a:after,.cp-cal .days .d.sel.a:after,.cp-cal .days .d.in.r:after,.cp-cal .days .d.sel.r:after,.cp-cal .days .d.in.x:after,.cp-cal .days .d.sel.x:after{content:"";position:absolute;right:4px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--warn)}.cp-cal .days .d.in.r:after,.cp-cal .days .d.sel.r:after{background:var(--st-cancelled)}.cp-cal .days .d.in.x:after,.cp-cal .days .d.sel.x:after{background:var(--ink-mute)}.cp-cal .days .d.pm:before{content:"PM";position:absolute;right:3px;bottom:2px;font-size:7px;font-weight:800;letter-spacing:.04em;color:var(--ink-mute)}.cp-cal .days .d.pm.in:before{color:var(--primary-deep)}.cp-cal .days .d.pm.sel:before{color:var(--primary-deep)}.cp-cal .days .d:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.cp-cal .days .d{transition:box-shadow .16s ease,background-color .2s ease,color .2s ease}.cp-cal .days .d.edit{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary-deep);z-index:1}@media (prefers-reduced-motion: reduce){.cp-cal .days .d{transition:none}}.cp-key{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:16px;padding:8px 2px 0;font-size:10px;color:var(--ink-3)}.cp-key span{white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.cp-key span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;flex:none}.cp-key .a:before{background:var(--warn-soft);border:1px solid var(--warn)}.cp-key .r:before{background:var(--st-cancelled-soft);border:1px solid var(--st-cancelled)}.cp-key .x:before{background:var(--surface-3);border:1px solid var(--border-strong)}.cp-key .m:before{width:12px;height:2px;border-radius:1px;background:var(--ink-mute)}.cp-cal .days .d .own{position:absolute;left:50%;bottom:5px;width:12px;height:2px;margin-left:-6px;border-radius:1px;background:var(--ink-mute);pointer-events:none}.cp-cal .days .d.mine:not(.in):not(.sel){color:var(--ink-mute)}.cp-cal .days .d.pm .own{margin-left:-10px}.cp-range{display:flex;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cp-range .rg-side{flex:1;display:flex;flex-direction:column;gap:1px;padding:10px 14px}.cp-range .rg-side:last-child{align-items:flex-end;text-align:right}.cp-range .rg-l{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute)}.cp-range .rg-d{font-size:var(--text-sm);color:var(--ink)}.cp-range .rg-t{font-size:var(--text-xs);color:var(--ink-3)}.cp-range .rg-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 12px;background:var(--brand);color:#fff}.cp-range .rg-n{font-size:17px;font-weight:var(--weight-strong);line-height:1}.cp-range .rg-u{font-size:9px;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.cp-range.empty .rg-d{color:var(--ink-mute)}.cp-range.empty .rg-mid{background:var(--surface-3);color:var(--ink-mute)}.cp-range button.rg-side{position:relative;isolation:isolate;border:0;margin:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.cp-range button.rg-side:last-child{text-align:right}.cp-range button.rg-side:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:-1;border-radius:calc(var(--radius) - 3px);border:1.5px solid transparent;background:transparent;transition:background-color .14s ease,border-color .14s ease}.cp-range button.rg-side:hover:not(:disabled):not(.on):before{background:var(--surface-2)}.cp-range button.rg-side:disabled{cursor:default}.cp-range button.rg-side:focus-visible{outline:none}.cp-range button.rg-side:focus-visible:before{border-color:var(--brand)}.cp-range .rg-side.on:before{background:var(--primary-soft);border-color:var(--primary)}.cp-range .rg-side.on .rg-l{color:var(--primary-deep)}.cp-range .rg-side.on .rg-t{color:var(--primary-deep);font-weight:var(--weight-strong)}@media (prefers-reduced-motion: reduce){.cp-range button.rg-side:before{transition:none}}.cp-book .cp-periods{display:flex;gap:8px;align-items:stretch}.cp-book .cp-periods>.cp-field{min-width:0}.cp-seg button.off{color:var(--ink-mute);opacity:.6}.cp-seg button:disabled{cursor:default}.cp-notes{display:flex;flex-direction:column;gap:4px}.cp-notes:empty{display:none}.cp-card.msg{flex-direction:row;align-items:center;gap:10px;padding:9px 12px;box-shadow:none}.cp-card.msg .msg-ic{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-3)}.cp-card.msg .msg-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cp-card.msg .msg-txt b{font-size:var(--text-sm);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);line-height:1.25}.cp-card.msg .msg-txt small{font-size:var(--text-xs);line-height:1.35;opacity:.85}.cp-notes .cp-card .msg-txt>*{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.cp-card.msg-stop{background:var(--st-cancelled-soft);color:var(--st-cancelled-ink);border-color:transparent}.cp-card.msg-stop .msg-ic{background:color-mix(in oklab,var(--st-cancelled) 20%,var(--st-cancelled-soft));color:var(--st-cancelled-ink)}.cp-card.msg-ok{background:var(--primary-soft);color:var(--primary-deep);border-color:transparent}.cp-card.msg-ok .msg-ic{background:color-mix(in oklab,var(--primary) 20%,var(--primary-soft));color:var(--primary-deep)}.cp-card.msg-mute{background:var(--surface);color:var(--ink-2)}.cp-notes{gap:3px}.cp-notes .cp-card.msg{padding:5px 10px}.cp-notes .cp-card.msg .msg-txt{flex-direction:row;align-items:baseline;gap:5px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}.cp-notes .cp-card.msg .msg-ic{width:20px;height:20px}.cp-notes .cp-card.msg .msg-txt>b,.cp-notes .cp-card.msg .msg-txt>small{text-overflow:ellipsis}.cp-notes .cp-card.msg .msg-sep{flex:none;opacity:.5;margin:0 1px;font-weight:var(--weight-strong)}.cp-notes .cp-card.msg .msg-sep,.cp-notes .cp-card.msg .sr-only{user-select:none;-webkit-user-select:none}.cp-notes .cp-card.msg .msg-ic svg{width:11px;height:11px}.cp-card.msg-quiet{background:var(--surface-2);color:var(--ink-2);border-color:var(--border)}.cp-reach{flex-wrap:wrap}.cp-reach .cp-btn{flex:none}.cs-eyebrow{margin:2px 2px -4px}.cs-ticket{gap:0;padding:12px}.cs-who{display:flex;align-items:center;gap:12px;padding:2px 2px 0}.cs-who>div{display:flex;flex-direction:column;gap:1px;min-width:0}.cs-who b{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.cs-who small{font-size:var(--text-sm);color:var(--brand-deep)}.cs-avs{display:flex;flex:none}.cs-legs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:12px;padding:10px 12px 11px;background:var(--brand-soft);border-radius:var(--radius)}.cs-leg{display:flex;flex-direction:column;gap:2px;min-width:0}.cs-leg.r{align-items:flex-end;text-align:right}.cs-leg .cp-eyebrow{color:var(--brand-deep)}.cs-leg b{font-size:var(--text-lg);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:1.2}.cs-leg small{font-size:var(--text-sm);color:var(--ink-2);display:inline-flex;align-items:center;gap:4px}.cs-leg small svg{color:var(--brand-deep)}.cs-arc{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--brand-deep);font-size:var(--text-xs);font-weight:var(--weight-strong);white-space:nowrap}.cs-care{gap:12px;padding:14px}.cs-dog{display:flex;align-items:center;gap:10px}.cs-dog>.avatar{flex:none}.cs-dog>b{flex:1;min-width:0;font-size:var(--text-md);font-weight:var(--weight-strong)}.cs-chips{display:flex;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}.cs-chips .tg{height:24px;padding:0 9px 0 7px;border-radius:var(--radius-sm)}.cs-money{gap:0;padding:6px 14px 12px}.cs-money .ln{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:var(--text-base)}.cs-money .ln .k{flex:1;min-width:0;display:flex;flex-direction:row;align-items:baseline;gap:7px;font-weight:var(--weight-medium);color:var(--ink)}.cs-money .ln .k small{font-size:var(--text-xs);color:var(--ink-3);font-weight:var(--weight-body)}.cs-money .amt{font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;color:var(--ink)}.cs-money .ln.total{padding:6px 0 10px}.cs-money .ln.total .k{font-size:var(--text-md);font-weight:var(--weight-strong)}.cs-money .ln.total .amt{font-size:var(--text-xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight)}.cs-split{background:var(--surface-2);border-radius:var(--radius);padding:8px 12px 9px;display:flex;flex-direction:column;gap:6px}.cs-split .bar{display:block;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.cs-split .bar b{display:block;height:100%;background:var(--brand);border-radius:999px}.cs-split .cells{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.cs-split .cells>div{display:flex;flex-direction:column;gap:2px}.cs-split .cells>div.r{align-items:flex-end;text-align:right}.cs-split .cp-eyebrow{font-size:9.5px}.cs-split .v{font-size:var(--text-md);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;color:var(--ink)}.cs-split .r .v{color:var(--ink-2)}.cs-split .cs-why{font-size:var(--text-xs);color:var(--ink-3);line-height:1.35;max-width:150px;margin-top:2px}.cs-split .tg{height:20px;margin-top:2px;align-self:flex-start}.tg.meds{background:var(--flag-meds-soft);color:var(--flag-meds)}.tg.apart{background:var(--warn-soft);color:var(--warn-deep)}.tg.due{background:var(--due-soft);color:var(--due-ink)}.cp-check{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:34px 18px 22px;min-height:100dvh;box-sizing:border-box}.cp-book>.book-brand{padding:14px 18px 0}.cp-book>.book-brand+.cp-check{min-height:calc(100dvh - 42px);padding-top:22px}.cp-check h1{margin:0;font-size:var(--text-2xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight);line-height:1.15}.cp-check .cs-done-sub{margin:-6px 0 0;max-width:34ch}.cp-check>.cp-card{width:100%;box-sizing:border-box;text-align:left}.cp-check .cs-eyebrow{align-self:flex-start;margin:2px 2px -6px}.cp-check .cp-actions{align-self:stretch;margin-bottom:-22px;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));align-items:stretch}.cp-tick.wait{width:64px;height:64px;background:var(--warn-soft);color:var(--warn-deep);box-shadow:0 0 0 6px var(--warn-soft)}.cs-sum{gap:7px;padding:12px 14px}.cs-sum .cs-who{padding:0 0 9px;border-bottom:1px solid var(--border-2, var(--border));margin-bottom:3px}.cs-sum-l{display:flex;align-items:center;gap:9px;font-size:var(--text-sm);color:var(--ink-2)}.cs-sum-l svg{color:var(--ink-3);flex:none}.cs-next{padding:8px 14px 6px}.cp-timeline{display:flex;flex-direction:column}.cs-next .cp-timeline .t{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;position:relative;padding:7px 0;line-height:1.3;font-size:var(--text-base)}.cs-next .cp-timeline .t .d{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-mute);position:relative}.cs-next .cp-timeline .t.done .d{background:var(--surface);color:var(--brand-deep);box-shadow:inset 0 0 0 2px var(--brand)}.cs-next .cp-timeline .t.done .d:after{content:"";position:absolute;right:-3px;bottom:-3px;width:13px;height:13px;border-radius:50%;background:var(--brand-deep);box-shadow:0 0 0 2px var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-size:9px 9px;background-position:center;background-repeat:no-repeat}.cs-next .cp-timeline .t.now .d{background:var(--warn-soft);color:var(--warn-deep);box-shadow:0 0 0 3px var(--warn-soft)}.cs-next .cp-timeline .t>span:last-child{font-weight:var(--weight-medium);color:var(--ink)}.cs-next .cp-timeline .t.now>span:last-child{color:var(--warn-deep)}.cs-next .cp-timeline .t.todo>span:last-child{color:var(--ink-3);font-weight:var(--weight-body)}.cs-next .cp-timeline .t small{color:var(--ink-3);font-size:var(--text-xs);font-weight:var(--weight-body)}.cs-next .cp-timeline .t:not(:last-child):before{content:"";position:absolute;left:13px;top:38px;bottom:-8px;width:2px;background:var(--border)}.cs-next .cp-timeline .t.done:before{background:var(--brand)}.cp-spinner{width:56px;height:56px;border-radius:50%;border:4px solid var(--brand-soft);border-top-color:var(--brand);animation:cp-spin .9s linear infinite}.cp-app.cp-home{box-sizing:border-box;height:100vh;height:100dvh;min-height:0;overflow:hidden}.cp-home .cp-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cp-home{--home-gap: 10px;--home-gap: clamp(10px, 1.6dvh, 24px)}.cp-home .cp-scroll{gap:var(--home-gap)}.cp-home .hs-slack{flex:1 1 0;max-height:40px;margin-top:calc(-1 * var(--home-gap))}.cp-home .hs-foot{flex:3 1 auto;display:flex;flex-direction:column;gap:var(--home-gap)}.cp-home .hs-foot>.hs-stays{flex:1;display:flex;flex-direction:column}.cp-home .hs-foot>.hs-stays>.cp-card.stay{flex:1}.cp-home .hs-foot .hs-track{flex:1;align-items:stretch}.cp-home .hs-foot .cp-card.stay{display:flex;flex-direction:column}.cp-home .hs-foot .cp-card.stay>:not(:nth-last-child(-n+2)){margin-bottom:auto}.cp-home .hs-foot .cp-card.cp-dashed{flex:1;justify-content:center;background:transparent}.cp-home .hs-foot>.cp-close{margin-top:auto}.cp-home{--card-pad: 12px;--card-gap: 10px}.cp-home{--card-pad: clamp(12px, 1.9dvh, 18px);--card-gap: clamp(10px, 1.6dvh, 16px)}.cp-home .cp-eyebrow{margin:6px 0 -4px}.cp-bar>*>svg{width:19px;height:19px;padding:5px 0;box-sizing:content-box}.cp-bar>*:hover{color:var(--ink-2)}.cp-bar>.on:hover{color:var(--brand-deep)}.cp-home .nd-head{margin-bottom:-2px}.cp-home .nd-empty{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border:1px dashed var(--border);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--ink-mute);text-align:center}.cp-home .nd-empty svg{flex:none;opacity:.75}.cp-home .cp-card.msg{flex-direction:row;align-items:center;gap:10px;flex-wrap:nowrap;padding:8px var(--card-pad);border-color:transparent;box-shadow:none}.cp-home .cp-card.msg .msg-ic{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.cp-home .cp-card.msg .msg-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cp-home .cp-card.msg .msg-txt b{font-size:var(--text-sm);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);line-height:1.25}.cp-home .cp-card.msg .msg-txt small{font-size:var(--text-xs);line-height:1.35;opacity:.85}.cp-home .cp-card.msg .msg-act{flex:none;margin-left:auto;display:inline-flex;align-items:center;gap:1px;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);text-decoration:none;color:inherit;white-space:nowrap;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:0;padding:0 0 0 8px;cursor:pointer}.cp-home .cp-card.msg-gold{background:var(--warn-soft);color:var(--warn-deep)}.cp-home .cp-card.msg-gold .msg-ic{background:color-mix(in oklab,var(--warn) 22%,var(--warn-soft));color:var(--warn-deep)}.cp-home .cp-card.msg-alert{background:var(--alert-soft);color:var(--alert-deep)}.cp-home .cp-card.msg-alert .msg-ic{background:color-mix(in oklab,var(--alert) 20%,var(--alert-soft));color:var(--alert-deep)}.hs-stays{display:flex;flex-direction:column;gap:8px}.hs-stays-head{display:flex;align-items:center;justify-content:space-between}.hs-stays-head .cp-eyebrow{margin:0}.cp-home .hs-pos{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:-8px calc(-1 * var(--card-pad)) -8px 0;padding:8px var(--card-pad) 8px 10px;display:inline-flex;align-items:center;gap:1px;cursor:pointer;border-radius:var(--radius);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.02em;color:var(--ink-3);line-height:1}.cp-home .hs-pos>b{font-weight:inherit;font-variant-numeric:tabular-nums}.cp-home .hs-pos>svg{color:var(--ink-mute);flex:none}.cp-home .hs-pos:hover{color:var(--ink-2)}.cp-home .hs-pos:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.hs-track{display:flex;align-items:flex-start;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.hs-track::-webkit-scrollbar{display:none}.hs-track>.cp-card{flex:0 0 100%;scroll-snap-align:start}.cp-home .cp-card.stay{position:relative;padding:var(--card-pad);gap:0}.cp-home .cp-card.stay,.cp-home .cp-card.msg{transition:background-color .38s var(--ease, ease),border-color .38s var(--ease, ease),color .38s var(--ease, ease)}.cp-home .cp-card.stay *,.cp-home .cp-card.msg *{transition:color .38s var(--ease, ease),background-color .38s var(--ease, ease),border-color .38s var(--ease, ease)}.cp-home .cp-card.msg{animation:hsNoticeIn .34s var(--ease, ease) both}@keyframes hsNoticeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.cp-home .cp-card.stay,.cp-home .cp-card.msg,.cp-home .cp-card.stay *,.cp-home .cp-card.msg *{transition:none}.cp-home .cp-card.msg{animation:none}}.cp-home .hs-who{display:flex;align-items:center;gap:11px}.cp-home .hs-who .cs-avs .avatar{width:34px;height:34px;font-size:13px}.cp-home .hs-who>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cp-home .hs-who b{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.cp-home .hs-who small{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-home .hs-tag-tr{margin-left:auto;align-self:flex-start;flex:none}.cp-home .cp-card.stay .hs-when{margin-top:var(--card-gap);padding:6px 10px;row-gap:3px}.cp-home .cp-card.stay .cp-pg{margin:var(--card-gap) 0 0}.cp-home .cp-card.stay .cp-kv{margin-top:var(--card-gap)}.cp-home .cp-card.stay .hs-allset{margin-top:var(--card-gap);padding-top:var(--card-gap)}.cp-home .cp-card.stay .hs-pay{height:40px;margin-top:var(--card-pad);font-size:var(--text-sm)}.cp-pg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:9px 0 2px}.cp-pg .pg-s{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.cp-pg .pg-s:not(:first-child):before{content:"";position:absolute;left:-50%;right:50%;top:12px;height:2px;background:var(--border)}.cp-pg .pg-s.done:before,.cp-pg .pg-s.now:before{background:var(--brand)}.cp-pg .pg-s i{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-mute);box-shadow:0 0 0 3px var(--surface);overflow:visible;font-style:normal}.cp-pg .pg-s>b{font-size:var(--text-eyebrow);font-weight:var(--weight-strong);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap}.cp-pg .pg-s.done i{background:var(--surface);color:var(--brand-deep);box-shadow:0 0 0 3px var(--surface),inset 0 0 0 2px var(--brand)}.cp-pg .pg-s.done>b{color:var(--brand-deep)}.cp-pg .pg-s.now i{background:var(--warn-soft);color:var(--warn-deep);box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--warn-soft)}.cp-pg .pg-s.now>b{color:var(--warn-deep)}.cp-pg .pg-s i .pg-b{position:absolute;right:-4px;bottom:-4px;width:13px;height:13px;border-radius:50%;background:var(--brand-deep);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface);z-index:2}.cp-pg .pg-s i .pg-b.live{width:11px;height:11px;right:-3px;bottom:-3px;background:var(--warn);animation:pg-pulse 1.8s ease-out infinite}@keyframes pg-pulse{0%{box-shadow:0 0 0 2px var(--surface),0 0 0 2px var(--warn-soft)}70%,to{box-shadow:0 0 0 2px var(--surface),0 0 0 7px transparent}}@media (prefers-reduced-motion: reduce){.cp-pg .pg-s i .pg-b.live{animation:none}}.cp-kv{display:flex;flex-direction:column;gap:4px;margin:6px 0 0;font-size:var(--text-base)}.cp-kv .kv-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cp-kv dt{color:var(--ink-3);display:inline-flex;align-items:center;gap:6px}.cp-kv dd{margin:0;text-align:right;font-weight:var(--weight-medium)}.cp-kv .kv-row.tot{margin-top:3px;padding-top:8px;border-top:1px solid var(--border)}.cp-kv .kv-row.tot dt{color:var(--ink);font-weight:var(--weight-strong)}.cp-kv .kv-row.tot dd{font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.cp-kv .kv-row.paid dt,.cp-kv .kv-row.paid dd{color:var(--brand-deep)}.cp-kv dt .tg{height:18px;font-size:var(--text-eyebrow);padding:0 6px}.cp-kv .kv-when{font-weight:var(--weight-body);color:var(--ink-mute);font-size:var(--text-xs)}.cp-kv dd.iban{font-variant-numeric:tabular-nums}.hs-allset{display:flex;gap:8px;align-items:flex-start;margin:8px 0 0;padding-top:9px;border-top:1px solid var(--border-2, var(--border));font-size:var(--text-sm);line-height:1.4;color:var(--ink-3)}.hs-allset b{color:var(--brand-deep);font-weight:var(--weight-strong)}.hs-allset svg{flex:none;margin-top:2px;color:var(--brand)}.hs-allset.hs-need svg{color:var(--warn-deep)}.hs-allset.hs-need b{color:var(--ink)}.cp-home .hs-pay-quiet{color:var(--ink-2);border-color:var(--border);box-shadow:none}.cp-home .cp-card.cp-dashed{border-style:dashed;align-items:center;text-align:center;padding:var(--card-pad);gap:6px}.cp-home .cp-card.cp-dashed .cp-sub{white-space:normal}.cp-home .cp-card.cp-dashed .cp-btn{margin-top:var(--card-gap)}.cp-home .cp-card.cp-hh{padding:0;gap:0}.cp-home .cp-hh .hh-grp{padding:var(--card-gap) var(--card-pad);gap:var(--card-gap)}.cp-home .cp-hh .hh-grp+.hh-grp{border-top:1px solid var(--border-2, var(--border))}.cp-home .cp-hh .hh-lbl{margin-bottom:calc(-1 * var(--card-gap) + 4px)}.cp-home .cp-hh .hh-t b{font-size:var(--text-md)}.cp-home .cp-hh .hh-foot{padding:var(--card-gap) var(--card-pad);border-top:1px solid var(--border-2, var(--border))}.cp-home .cp-dogcard.shut{padding:var(--card-gap) var(--card-pad);gap:0}.cp-home .dc-head{display:flex;align-items:center;gap:10px}.cp-home .dc-head .avatar{flex:none}.cp-home .dc-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cp-home .dc-id b{font-size:var(--text-md);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug)}.cp-home .dc-id small{font-size:var(--text-xs);color:var(--ink-3);line-height:1.3}.cp-home .dog-act{flex:none;display:inline-flex;align-items:center;gap:1px;font-size:var(--text-xs);font-weight:var(--weight-strong);color:var(--brand-deep);text-decoration:none;white-space:nowrap}.tg.warn{background:var(--warn-soft);color:var(--warn-deep)}.cp-home .cs-assure{display:flex;gap:8px;align-items:flex-start;font-size:var(--text-xs);line-height:1.45;color:var(--ink-3)}.cp-home .cs-assure svg{flex:none;margin-top:1px;color:var(--ink-mute)}.cp-home .cp-card .cs-assure{padding-top:var(--card-gap);border-top:1px solid var(--border-2, var(--border))}.cp-home .cp-card .cp-btn.sm,.cp-home .cp-card .mp-btn{width:100%}@media (max-height: 719px){.cp-home .cp-top{padding:10px 18px 4px}.cp-home .cp-scroll{padding-bottom:10px}.cp-home .nd-empty{min-height:36px}.cp-home .cp-card.msg{padding:6px var(--card-pad)}.cp-home .cp-pg .pg-s{gap:4px}.cp-home .cp-pg .pg-s i{width:22px;height:22px}.cp-home .cp-pg .pg-s i svg{width:11px;height:11px}.cp-home .cp-pg .pg-s:not(:first-child):before{top:10px}}.cp-home .cp-card.cp-dashed.cp-soon{gap:6px;color:var(--ink-mute)}.cp-home .cp-card.cp-soon .cp-lead{color:var(--ink)}.cp-home .cp-card.cp-account{gap:10px}.cp-home .cp-card.cp-account .cp-email{overflow-wrap:anywhere}.cp-pay .pay-lede{margin-top:-4px}.cp-pay .pay-hero{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 12px;align-items:center;padding:16px;border-radius:var(--radius-lg, 16px);background:linear-gradient(135deg,var(--brand-soft),color-mix(in oklab,var(--brand-soft) 55%,var(--surface)));border:1px solid color-mix(in oklab,var(--brand) 22%,transparent)}.cp-pay .pay-hero-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--brand);color:var(--surface);box-shadow:0 6px 14px -6px color-mix(in oklab,var(--brand) 70%,transparent)}.cp-pay .pay-hero-txt{display:flex;flex-direction:column;min-width:0}.cp-pay .pay-hero-txt small{font-size:var(--text-xs);font-weight:var(--weight-strong);letter-spacing:.04em;text-transform:uppercase;color:var(--brand-deep);opacity:.85}.cp-pay .pay-hero-amt{font-size:30px;line-height:1.1;font-weight:var(--weight-display);letter-spacing:var(--tracking-tight);color:var(--ink);font-variant-numeric:tabular-nums}.cp-pay .pay-hero-stay{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;padding-top:10px;border-top:1px solid color-mix(in oklab,var(--brand) 16%,transparent);font-size:var(--text-xs);color:var(--ink-2)}.cp-pay .pay-hero-stay>span{display:inline-flex;align-items:center;gap:5px}.cp-pay .pay-hero-stay svg{color:var(--brand-deep);flex:none}.cp-pay .pay-hero-total{margin-left:auto;font-weight:var(--weight-strong);color:var(--ink)}.cp-pay .pay-step{display:flex;align-items:center;gap:10px;margin:10px 0 -2px}.cp-pay .pay-step-n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--surface);font-size:12px;font-weight:var(--weight-display);flex:none}.cp-pay .pay-step-t{font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--ink);letter-spacing:var(--tracking-snug)}.cp-pay .pay-choice-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--surface-2, var(--bg-tint));color:var(--ink-2)}.cp-pay .pay-choice.on .pay-choice-ic{background:var(--brand);color:var(--surface)}.cp-pay .pay-choice.is-paid .pay-choice-ic{background:var(--primary-soft);color:var(--primary-deep)}.cp-pay .pay-choice{gap:12px}.cp-pay .pay-kv-ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--brand-soft);color:var(--brand-deep)}.cp-pay .pay-kv{display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;row-gap:1px;align-items:center;padding:10px 0}.cp-pay .pay-kv .pay-kv-ic{grid-row:1 / span 2}.cp-pay .pay-kv dt{grid-column:2;grid-row:1;margin:0}.cp-pay .pay-kv dd{grid-column:2;grid-row:2;margin:0;text-align:left!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-md)}.cp-pay .pay-kv .pay-copy{grid-column:3;grid-row:1 / span 2}.cp-pay .pay-kv+.pay-kv{border-top:1px solid var(--border-2, var(--border))}.cp-pay .pay-kv dt{font-size:var(--text-xs);color:var(--ink-3)}.cp-pay .pay-kv dd{font-weight:var(--weight-strong);color:var(--ink)}.cp-pay .pay-kv.is-key{margin:4px -10px 0;padding:10px;border-radius:12px;border-top:0;background:color-mix(in oklab,var(--warn-soft) 70%,var(--surface))}.cp-pay .pay-kv.is-key .pay-kv-ic{background:var(--warn-soft);color:var(--warn-deep)}.cp-pay .pay-kv.is-key+.pay-kv,.cp-pay .pay-kv+.pay-kv.is-key{border-top:0}.cp-pay .pay-copy{display:inline-flex;align-items:center;gap:4px}.cp-pay .pay-bank .cs-assure{display:flex;align-items:flex-start;gap:10px;margin-top:8px;padding:10px 12px;border-top:0;border-radius:12px;background:var(--brand-soft);color:var(--brand-deep);font-size:var(--text-xs);line-height:1.45}.cp-pay .pay-bank .cs-assure svg{flex:none;margin-top:1px}.cp-pay .pay-bank .cs-assure svg{color:var(--brand-deep)}.cp-pay .cp-upload.dc-drop{border:1.5px dashed color-mix(in oklab,var(--brand) 45%,transparent);background:color-mix(in oklab,var(--brand-soft) 45%,var(--surface))}.cp-pay .cp-upload.dc-drop .dc-drop-ic{background:var(--brand);color:var(--surface)}.cp-pay .pay-choice{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.cp-pay .pay-choice.is-paid{opacity:var(--opacity-muted);cursor:default}.cp-pay .pay-choice>svg{flex:none;color:var(--brand-deep)}.cp-pay .pay-bank .cp-kv{margin:0}.cp-pay .pay-kv{align-items:center}.cp-pay .pay-kv dd{flex:1;text-align:right;min-width:0;overflow-wrap:anywhere}.cp-pay .pay-copy{flex:none;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);color:var(--brand-deep);background:var(--brand-soft);border:0;border-radius:var(--radius-sm);padding:4px 9px;cursor:pointer}.cp-pay .pay-copy.copied{background:var(--primary-soft);color:var(--primary-deep)}.cp-pay .pay-bank .cs-assure{margin-top:8px}.cp-pay .pay-fail{align-items:flex-start}.cp-toast{position:fixed;left:0;right:0;bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;justify-content:center;padding:0 16px;pointer-events:none}.cp-toast-pill{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:400px;width:100%;padding:11px 16px 11px 12px;border:1px solid var(--border-2, var(--border));border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;box-shadow:0 1px 2px color-mix(in oklab,var(--ink) 5%,transparent),0 14px 30px -18px color-mix(in oklab,var(--ink) 35%,transparent);animation:cpToastIn .5s cubic-bezier(.22,.8,.3,1) both;cursor:pointer}.cp-toast.is-leaving .cp-toast-pill{animation:cpToastOut .36s cubic-bezier(.4,0,.6,1) both}.cp-toast-ic{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-deep)}.cp-toast-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.cp-toast-txt b{font-size:var(--text-sm);font-weight:var(--weight-strong);letter-spacing:var(--tracking-snug);color:var(--ink)}.cp-toast-txt small{font-size:var(--text-xs);color:var(--ink-3);line-height:1.35}@keyframes cpToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes cpToastOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.cp-toast-pill,.cp-toast.is-leaving .cp-toast-pill{animation:none}}@media (max-height: 720px){.cp-home{--card-pad: 11px;--card-gap: 8px;--home-gap: 8px}.cp-home .cp-eyebrow{margin-bottom:0}.cp-home .hs-foot .cp-card.cp-dashed:not(.hs-stays *){padding-top:7px;padding-bottom:7px}.cp-home .cp-notes .cp-card.cp-dashed,.cp-home .hs-needs .cp-card.cp-dashed{padding-top:7px;padding-bottom:7px}.cp-home .hs-who .cs-avs .avatar{width:30px;height:30px;font-size:12px}.cp-home .hs-who b{font-size:var(--text-md)}.cp-home .cp-card.stay .hs-when{padding:4px 10px;row-gap:1px}.cp-home .cp-card.stay .cp-kv{gap:2px}.cp-home .cp-card.stay .cp-kv .kv-row{padding-top:2px;padding-bottom:2px}.cp-home .cp-card.stay .cp-btn{height:40px}.cp-home .cp-card.stay .cp-pg{transform:scale(.9);transform-origin:center top;margin-bottom:-5px}.cp-home .cp-card.stay .hs-allset{font-size:var(--text-xs);line-height:1.35}.cp-home .cp-card.msg{padding-top:6px;padding-bottom:6px}.cp-home .cp-card.msg .msg-txt small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-home .cp-card.msg .msg-ic{width:26px;height:26px}.cp-home .cp-card.msg+.cp-card.msg{margin-top:-2px}.cp-home .hs-stays-head{min-height:0}}@media (max-height: 620px){.cp-home{--card-pad: 9px;--card-gap: 5px;--home-gap: 5px}.cp-home .cp-h1{font-size:var(--text-xl);line-height:1.1}.cp-home .cp-card.stay .cp-pg{transform:scale(.84);margin-bottom:-9px}.cp-home .cp-card.stay .cp-btn{height:36px}.cp-home .hs-who .cs-avs .avatar{width:26px;height:26px;font-size:11px}.cp-home .hs-who small{display:none}.cp-home .cp-card.stay .hs-when{padding:3px 9px}.cp-home .cp-card.stay .cp-kv .kv-row{padding-top:0;padding-bottom:0;line-height:1.3}.cp-home .cp-card.msg{padding-top:4px;padding-bottom:4px}.cp-home .cp-card.msg .msg-txt b{line-height:1.2}}.pay-bank-wait{display:grid;gap:12px;padding:16px}.pay-bank-wait .sk-line{display:block;height:14px;border-radius:7px;background:var(--surface-3);animation:pay-bank-pulse 1.2s ease-in-out infinite}.pay-bank-wait .sk-line:nth-child(2){width:80%}.pay-bank-wait .sk-line:nth-child(3){width:60%}@keyframes pay-bank-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.pay-bank-wait .sk-line{animation:none}}.cp-dogs .cp-dogs-list{display:flex;flex-direction:column;gap:10px}.cp-dogs .cp-dogcard.dc-fold{gap:0;padding:10px 12px;transition:box-shadow .34s cubic-bezier(.22,.8,.24,1)}.cp-dogs .cp-dogcard.dc-fold.open{box-shadow:var(--shadow-md, var(--shadow-sm))}.cp-dogs .dc-head-btn{display:block;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.cp-dogs .dc-head-btn:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:var(--radius-sm)}.cp-dogs .dc-fold .dc-head{padding:0;border-bottom:0;min-height:40px}.cp-dogs .dc-fold .dc-chev svg{transition:transform .34s cubic-bezier(.22,.8,.24,1)}.cp-dogs .dc-fold .disclosure{transition-duration:.34s;transition-timing-function:cubic-bezier(.22,.8,.24,1)}.cp-dogs .dc-fold .disclosure-clip{transition-duration:.24s}.cp-dogs .dc-fold .tg svg{flex:none}.cp-dogs .dc-body{margin-top:10px}.cp-dogs .cp-upload.up-locked{background:var(--surface-3);border-style:solid;cursor:default}.cp-dogs .cp-upload.up-locked .dc-done{margin-left:auto;color:var(--ink-mute);display:inline-grid;place-items:center}.cp-dogs .cp-thumb.has-img,.cp-dogs .cp-thumb.is-pdf{padding:0;border:0;cursor:zoom-in;overflow:hidden;display:grid;place-items:center;color:var(--ink-3)}.cp-dogs .cp-thumb.has-img img{width:100%;height:100%;object-fit:cover;display:block}.cp-dogs .dc-vax.is-locked .cp-vaxrow .cp-input{background:var(--surface-3);color:var(--ink-2)}.cp-dogs .dc-vax.is-locked .cp-vaxrow .is-static{font-size:var(--text-sm)}.cp-dogs .dc-vax .cp-vaxrow input.cp-month{width:calc(118px / .75);max-width:none;height:calc(34px / .75);padding:0 calc(8px / .75);border-width:calc(1px / .75);border-radius:calc(var(--radius) / .75);transform:scale(.75);transform-origin:0 0;margin:0 calc(118px - 118px / .75) calc(34px - 34px / .75) 0}.cp-dogs .dc-note{display:flex;gap:7px;align-items:flex-start;margin:2px 0 0;font-size:var(--text-xs);line-height:1.45;color:var(--ink-3)}.cp-dogs .dc-note svg{flex:none;margin-top:2px;color:var(--ink-mute)}.cp-dogs .dc-acts{display:flex;flex-direction:column;gap:8px;margin-top:4px}.cp-dogs .dc-acts .cp-btn,.cp-dogs .dc-acts .mp-btn{width:100%;height:40px;font-size:var(--text-sm)}@media (prefers-reduced-motion: reduce){.cp-dogs .dc-fold,.cp-dogs .dc-fold .dc-chev svg{transition:none}}
