@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;--warn: #ca8a04;--warn-deep: #854d0e;--warn-soft: #fef9c3;--st-unconfirmed: #ca8a04;--st-unconfirmed-ink: #7d5c05;--st-unconfirmed-soft: #fdf3c4;--st-confirmed: #b5502a;--st-confirmed-ink: #8a3c1e;--st-confirmed-soft: #f6ddcf;--st-arrived: #0d9488;--st-arrived-ink: #0b7268;--st-arrived-soft: #cdf3ee;--st-collected: #9ca3af;--st-collected-ink: #6b7280;--st-collected-soft: #eef0f2;--st-cancelled: #e60f2b;--st-cancelled-ink: #b00c20;--st-cancelled-soft: #fcd9dd;--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;--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);--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;--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}.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)}.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-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}.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 var(--border-strong);background:var(--surface);cursor:pointer;transition:var(--dur) background,var(--dur) border-color,var(--dur) color;color:var(--ink-2)}.status-pill:hover:not(:disabled){background:var(--surface-2)}.status-pill.is-busy{opacity:.65;cursor:default}.status-pill.sm{padding:2px 8px;font-size:var(--text-eyebrow);gap:5px}.status-pill.sm svg{width:11px;height:11px}.status-pill.paid{border-color:var(--primary);color:var(--primary-deep)}.status-pill.partial{border-color:var(--warn);color:var(--warn-deep)}.status-pill.unpaid{border-color:var(--border-strong);color:var(--ink-3)}.status-pill.paid .dot-ind{background:var(--primary-deep)}.status-pill.partial .dot-ind{background:var(--warn-deep)}.status-pill.unpaid .dot-ind{background:var(--ink-mute)}.status-pill:disabled{cursor:default;pointer-events:none}.status-pill .dot-ind{width:7px;height:7px;border-radius:50%;background:var(--ink-mute)}.status-pill.unconfirmed{background:var(--surface);border-color:var(--st-unconfirmed);color:var(--st-unconfirmed-ink)}.status-pill.unconfirmed:hover:not(:disabled){background:var(--st-unconfirmed-soft)}.status-pill.confirmed{background:var(--surface);border-color:var(--st-confirmed);color:var(--st-confirmed-ink)}.status-pill.confirmed:hover:not(:disabled){background:var(--st-confirmed-soft)}.status-pill.arrived{background:var(--surface);border-color:var(--st-arrived);color:var(--st-arrived-ink)}.status-pill.arrived:hover:not(:disabled){background:var(--st-arrived-soft)}.status-pill.collected{background:var(--surface);border-color:var(--st-collected);color:var(--st-collected-ink)}.status-pill.collected:hover:not(:disabled){background:var(--st-collected-soft)}.status-pill.cancelled{background:var(--surface);border-color:var(--st-cancelled);color:var(--st-cancelled-ink)}.status-pill.cancelled:hover:not(:disabled){background:var(--st-cancelled-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.mix{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-mix{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,.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-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);color:var(--ink-2);line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.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)}.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 .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)}.obx .chead strong{font-size:var(--tl);font-weight:var(--weight-medium)}.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{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: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 .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;justify-content:space-between;margin-bottom:9px}.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 .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:var(--brand);background:var(--brand-soft)}.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);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(--brand-soft);transform:scale(1.2)}.obx .node.on .lab{background:var(--brand-soft)}.obx .lab{flex:1;border-radius:8px;padding:5px 8px;display:flex;align-items:center;gap:8px;min-width:0}.obx .lab .txt{min-width:0;flex:1}.obx .lab .rng{font-weight:var(--weight-medium);font-size:var(--ts)}.obx .lab .sb{display:flex;gap:6px;align-items:center;margin-top:2px;color:var(--ink-3);font-size:var(--txs)}.obx .panebox{flex:1;display:flex;min-width:0;min-height:0}.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:18px 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}.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 .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 .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}.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:1fr 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);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,.8fr) max-content;gap:14px;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)}.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 .desk-row-stay,.desk-row.done .desk-row-dates,.desk-row.done .desk-row-rate,.desk-row.done .desk-row-breed{color:var(--ink-3)}.desk-row>.bt-dogs{min-width:0}.desk-row-breed{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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-rate{min-width:0;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-pay{padding:6px 12px;border-radius:var(--radius);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-strong);border:1px solid var(--due);background:var(--surface);color:var(--due-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:var(--due-soft);border-color:var(--due);color:var(--due-ink)}.desk-row-pay:disabled{opacity:.65;cursor:default}.desk-row-pay.paid{border-color:var(--border);color:var(--ink-3)}.desk-row-pay.paid:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--ink-3)}.desk-row-action,.desk-row-pay{text-transform:capitalize}.desk-actions{display:flex;align-items:center;gap:8px}.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)}.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-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:50%;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{border-radius:30%}.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%}.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{position:absolute;top:6px;bottom:24px;left:36px;right:4px}.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;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-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}.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{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-reveal) var(--ease)}.week-money.open .wm-reveal{grid-template-rows:1fr}.wm-clip{min-height:0;overflow:hidden;opacity:0;transition:opacity var(--dur-reveal) var(--ease)}.week-money.open .wm-clip{opacity:1}.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-reveal,.wm-clip,.wm-chev{transition:none}}.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{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;justify-content:space-between;background:var(--surface-2)}.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:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 12px}.desk-row>.bt-dogs{flex:1 1 100%}.desk-row-breed,.desk-row-stay,.desk-row-rate{flex:0 0 auto}.desk-row-stay{flex-direction:row;gap:6px;align-items:baseline}.desk-row .desk-actions{flex:1 1 100%;justify-content:flex-end}.desk-row-action,.desk-row-pay{min-height:44px}}@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}.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}.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}.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-ham,.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-ham:hover,.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:320px;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-soft);color:var(--brand-deep);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)}.tb-new-btn:hover{border-color:var(--brand)}.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-ham,.tb-bt{display:none}.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{background:var(--bg-tint);border-color:var(--border-strong)}.fc-ico{color:var(--ink-3);flex-shrink:0}.fc-type{color:var(--ink-3)}.fc-val{display:inline-flex;align-items:center;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)}.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)}:root{--t-owner: var(--brand);--t-owner-soft: var(--brand-soft);--t-dog: var(--st-confirmed);--t-dog-soft: var(--st-confirmed-soft);--t-booking: var(--st-unconfirmed);--t-booking-soft: var(--st-unconfirmed-soft);--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;border-radius:var(--radius-sm);border-color:transparent}.gs-row .status-pill.unconfirmed{background:var(--st-unconfirmed-soft);color:var(--st-unconfirmed-ink)}.gs-row .status-pill.confirmed{background:var(--st-confirmed-soft);color:var(--st-confirmed-ink)}.gs-row .status-pill.arrived{background:var(--st-arrived-soft);color:var(--st-arrived-ink)}.gs-row .status-pill.collected{background:var(--st-collected-soft);color:var(--st-collected-ink)}.gs-row .status-pill.cancelled{background:var(--st-cancelled-soft);color:var(--st-cancelled-ink)}.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}}.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-breed,.desk-row-rate,.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,.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}.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}
