.treatment-report{max-width:760px;margin:0 auto;padding:1rem 1.25rem 2rem;color:var(--ink)}.treatment-report .report-toolbar{display:flex;align-items:baseline;gap:.6rem;margin:0 0 1rem;flex-wrap:wrap}.treatment-report .report-header{text-align:left;margin:0 0 .85rem;border-bottom:2px solid var(--ww-navy, var(--ink));padding-bottom:.5rem}.treatment-report .report-brand{margin:0;font-family:var(--font-brand);font-size:1.6rem;font-weight:600;color:var(--ww-navy, var(--ink))}.treatment-report .report-sub{margin:.15rem 0 0;font-size:1rem;color:var(--muted)}.treatment-report .report-identity{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1.25rem;margin:0 0 1rem;font-size:.95rem}.treatment-report .report-identity dt{color:var(--muted);font-weight:600}.treatment-report .report-identity dd{margin:0;color:var(--ink)}.treatment-report .report-sessions-title{margin:.5rem 0 .6rem;font-size:1.05rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink)}.treatment-report .report-table{width:100%;border-collapse:collapse;font-size:.92rem}.treatment-report .report-table th,.treatment-report .report-table td{border-bottom:1px solid var(--rule);padding:.45rem .55rem;text-align:left;vertical-align:top}.treatment-report .report-table th{background:var(--soft);font-weight:600}.treatment-report .report-footer{margin-top:1rem;font-size:.85rem;color:var(--muted)}.treatment-report .report-ledger-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.5rem 1rem;margin:.6rem 0 1rem;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--soft)}.treatment-report .report-ledger-summary>div{display:flex;flex-direction:column;gap:.05rem}.treatment-report .report-ledger-summary-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.treatment-report .report-ledger-summary strong{font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--ink)}.treatment-report .report-filter-note{margin:.6rem 0 1rem;padding:.5rem .7rem;border:1px solid #fde68a;border-left:3px solid #d97706;background:#fffbeb;border-radius:var(--radius-sm);color:#78350f;font-size:.88rem;line-height:1.4}.treatment-report .report-filter-note strong{color:#5b2d05}@media print{body:has(.ww-nav) .ww-nav,.no-print{display:none!important}body:has(.ww-nav){background:#fff;font-size:11pt}.app{padding:0!important;max-width:100%!important}.treatment-report{padding:0;max-width:100%}.treatment-report .report-table th{background:#f1f5f9;-webkit-print-color-adjust:exact;print-color-adjust:exact}.treatment-report .report-table tr{page-break-inside:avoid}}:root{--font-display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-brand: "Iowan Old Style", "Palatino Linotype", Georgia, ui-serif, serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--paper: #fbfaf7;--card: #ffffff;--soft: #f3f0e9;--rule: #e8e4dc;--rule-strong: #d7d2c6;--ink: #111827;--body: #232933;--muted: #6b7280;--accent: #0d6e61;--accent-ink: #0b574c;--accent-soft: #e6efed;--danger: #b00020;--warn: #a16207;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--shadow-xs: 0 1px 0 rgba(17, 24, 39, .04);--shadow-sm: 0 1px 2px rgba(17, 24, 39, .05);--maxw: 1280px;--ww-navy: #0d3b66;--ww-blue: #1f5b94;--ww-aqua: #4ea8cc;--ww-orange: #e8801f;--ww-bg: #eef3f7;--ww-rule: #d6e1ec;--ww-soft: #f5f8fb;--ww-soft-strong: #e7eef6}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-ink);text-underline-offset:2px}a:hover{text-decoration:underline}h1,h2,h3{color:var(--ink);letter-spacing:-.01em}h2{font-family:var(--font-display);font-weight:600;font-size:1.4rem;margin:0 0 1rem}h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin:1.75rem 0 .75rem}.app{max-width:var(--maxw);margin:0 auto;padding:1.25rem 1.5rem 3rem}body:has(.ww-nav){background:var(--ww-bg);font-size:14px}body:has(.ww-nav) .app{padding-top:.6rem}body:has(.ww-nav) h2{font-size:1.2rem;font-weight:600;letter-spacing:-.005em;margin-bottom:.5rem}body:has(.ww-nav) form label{text-transform:none;letter-spacing:0;font-size:.78rem;color:var(--muted);font-weight:600;margin-bottom:.6rem}body:has(.ww-nav) form label input,body:has(.ww-nav) form label select,body:has(.ww-nav) form label textarea{font-size:.9rem;max-width:480px}body:has(.ww-nav) input:focus,body:has(.ww-nav) select:focus,body:has(.ww-nav) textarea:focus{border-color:var(--ww-blue);box-shadow:0 0 0 3px #1f5b942e}body:has(.ww-nav) button.secondary{background:var(--card);border:1px solid var(--ww-blue);color:var(--ww-blue)}body:has(.ww-nav) button.secondary:hover:not(:disabled){background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}.ww-nav{background:var(--ww-navy);color:#fff;border-bottom:3px solid var(--ww-aqua);position:sticky;top:0;z-index:50;box-shadow:0 2px 4px #0d3b662e}.ww-nav-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:1rem;padding:0 1.25rem}.ww-nav-wordmark{flex:0 1 auto;min-width:0;font-family:var(--font-brand);font-weight:600;font-size:1.15rem;letter-spacing:-.005em;color:#fff;text-decoration:none;padding:.85rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem}.ww-nav-wordmark:hover{color:#fff;text-decoration:none}.ww-nav-links{flex:1 1 auto;display:flex;align-items:stretch;gap:.1rem;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.ww-nav-link{color:#ffffffc7;text-decoration:none;padding:.95rem .85rem;border-bottom:3px solid transparent;margin-bottom:-3px;white-space:nowrap;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.ww-nav-link:hover{color:#fff;background:#ffffff0f;text-decoration:none}.ww-nav-link-active{color:#fff;background:var(--ww-blue);border-bottom-color:var(--ww-aqua)}.ww-nav-signout{margin-left:auto;flex:0 0 auto;background:transparent;border:1px solid rgba(255,255,255,.35);color:#ffffffd9;padding:.4rem .85rem;border-radius:var(--radius-sm);font:inherit;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;align-self:center}.ww-nav-signout:hover{background:#ffffff1a;color:#fff;border-color:#fff9}.ww-nav a:focus-visible,.ww-nav button:focus-visible{outline:2px solid var(--ww-aqua);outline-offset:-2px;border-radius:2px}.ww-nav-dropdown{position:relative;display:flex;align-items:stretch}.ww-nav-dropdown-trigger{background:transparent;border:none;border-bottom:3px solid transparent;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;text-transform:inherit;letter-spacing:inherit}.ww-nav-caret{font-size:.6rem;opacity:.7}.ww-nav-dropdown-menu{position:absolute;top:100%;left:0;margin:0;padding:.35rem 0;list-style:none;min-width:15rem;background:var(--ww-navy);border:1px solid rgba(255,255,255,.18);border-top:3px solid var(--ww-aqua);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 8px 18px #0d3b6659;z-index:10}.ww-nav-dropdown-menu li{margin:0}.ww-nav-dropdown-item{display:block;padding:.55rem 1rem;color:#ffffffd9;text-decoration:none;font-size:.8rem;font-weight:600;text-transform:none;letter-spacing:.02em;white-space:nowrap}.ww-nav-dropdown-item:hover{background:#ffffff14;color:#fff;text-decoration:none}.ww-nav-dropdown-item-active{background:var(--ww-blue);color:#fff;box-shadow:inset 3px 0 0 var(--ww-aqua)}.ww-nav-mobile{display:none;margin-left:auto}.ww-nav-menu-toggle{background:transparent;border:1px solid rgba(255,255,255,.35);color:#ffffffe6;padding:.45rem .9rem;border-radius:var(--radius-sm);font:inherit;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.ww-nav-menu-toggle[aria-expanded=true],.ww-nav-menu-toggle:hover{background:#ffffff1a;color:#fff;border-color:#fff9}.ww-nav-mobile-panel{position:absolute;top:100%;left:0;right:0;background:var(--ww-navy);border-top:1px solid rgba(255,255,255,.18);border-bottom:3px solid var(--ww-aqua);box-shadow:0 10px 22px #0d3b6666;max-height:calc(100vh - 6rem);overflow-y:auto;padding:.5rem 1.25rem 1rem}.ww-nav-mobile-list{list-style:none;margin:0;padding:0}.ww-nav-mobile-list>li{margin:0}.ww-nav-mobile-link{display:block;padding:.65rem .5rem;color:#ffffffe0;text-decoration:none;font-size:.95rem;font-weight:600;border-radius:var(--radius-sm)}.ww-nav-mobile-link:hover{background:#ffffff14;color:#fff;text-decoration:none}.ww-nav-mobile-link-active{background:var(--ww-blue);color:#fff;box-shadow:inset 3px 0 0 var(--ww-aqua)}.ww-nav-mobile-group{margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.14)}.ww-nav-mobile-group-label{margin:.35rem 0 .15rem;padding:0 .5rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffff8c}.ww-nav-mobile-group ul{list-style:none;margin:0;padding:0}.ww-nav-mobile-group .ww-nav-mobile-link{padding-left:1rem}.ww-nav-mobile-signout{display:block;width:100%;text-align:left;margin-top:.5rem;padding:.65rem .5rem;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-sm);color:#ffffffe0;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.ww-nav-mobile-signout:hover{background:#ffffff1a;color:#fff}@media (max-width: 959px){.ww-nav-links{display:none}.ww-nav-mobile{display:block}.ww-nav-wordmark{max-width:60vw;font-size:1.05rem}}@media (prefers-reduced-motion: reduce){.ww-nav-link,.ww-nav-dropdown-item,.ww-nav-mobile-link{transition:none}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.help-centre .help-hero{margin-bottom:1.25rem}.help-centre .help-hero h2{font-size:1.5rem;margin-bottom:.35rem}.help-search{position:relative;max-width:40rem;margin-top:.75rem}.help-search-label{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.3rem}.help-search input[type=search]{width:100%;font-size:1rem;padding:.65rem .85rem;border:1px solid var(--ww-rule);border-radius:var(--radius-sm);background:var(--card)}.help-search input[type=search]:focus{border-color:var(--ww-blue);box-shadow:0 0 0 3px #1f5b942e;outline:none}.help-search-results{position:absolute;top:100%;left:0;right:0;z-index:40;margin:.25rem 0 0;padding:.25rem;list-style:none;background:var(--card);border:1px solid var(--ww-rule);border-radius:var(--radius-sm);box-shadow:0 10px 24px #0d3b662e;max-height:24rem;overflow-y:auto}.help-search-results li{margin:0}.help-search-empty{padding:.75rem .85rem;color:var(--muted);font-size:.9rem}.help-search-result{display:block;width:100%;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);padding:.55rem .7rem;cursor:pointer;font:inherit}.help-search-result-active,.help-search-result:hover{background:#1f5b9414}.help-search-result:focus-visible{outline:2px solid var(--ww-blue);outline-offset:-2px}.help-search-result-title{display:block;font-weight:600;color:var(--ww-navy, var(--ink));font-size:.92rem}.help-search-result-meta{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:.1rem}.help-search-result-snippet{display:block;font-size:.82rem;color:var(--muted);margin-top:.15rem}.help-search-result mark{background:#e8801f47;border-radius:2px;padding:0 1px}.help-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1.5rem;align-items:start}.help-sidebar{position:sticky;top:4.5rem}.help-sidebar-box{background:var(--card);border:1px solid var(--ww-rule);border-radius:var(--radius-sm);padding:.6rem .8rem}.help-sidebar-title{cursor:pointer;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ww-navy, var(--ink))}.help-sidebar-list{list-style:none;margin:.5rem 0 0;padding:0}.help-sidebar-list li{margin:0}.help-sidebar-list a{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.32rem .25rem;font-size:.85rem;color:var(--ww-blue);text-decoration:none;border-radius:var(--radius-sm)}.help-sidebar-list a:hover{background:#1f5b9414;text-decoration:none}.help-sidebar-count{font-size:.7rem;color:var(--muted)}.help-category{margin-bottom:1.5rem;scroll-margin-top:4.5rem}.help-category-heading{font-size:1.05rem;font-weight:700;color:var(--ww-navy, var(--ink));border-bottom:2px solid var(--ww-rule);padding-bottom:.3rem;margin-bottom:.7rem}.help-article{scroll-margin-top:4.5rem}.help-article-summary{color:var(--muted);margin:.35rem 0 .6rem}.help-article-open{margin:0 0 .6rem;font-size:.85rem}.help-article-section{scroll-margin-top:4.5rem;padding:.15rem 0 .35rem}.help-article-section h4{font-size:.92rem;font-weight:700;margin:.6rem 0 .35rem;color:var(--ww-navy, var(--ink))}.help-article-section h4:focus-visible,.help-article summary h3:focus-visible{outline:2px solid var(--ww-blue);outline-offset:2px}.help-warning{background:#fdf3e7;border:1px solid #e8b071;border-left:4px solid var(--ww-orange);border-radius:var(--radius-sm);padding:.55rem .75rem}.help-related{margin-top:.6rem;font-size:.85rem}.help-back-to-top{margin:.5rem 0 0;font-size:.78rem}.help-target-flash{outline:2px solid var(--ww-orange);outline-offset:2px;animation:help-target-fade 2.4s ease-out forwards}@keyframes help-target-fade{0%{background-color:#e8801f2e}to{background-color:transparent}}@media (prefers-reduced-motion: reduce){.help-target-flash{animation:none;background-color:#e8801f1f}}@media (max-width: 899px){.help-layout{grid-template-columns:minmax(0,1fr)}.help-sidebar{position:static}}.app-header{display:flex;flex-direction:column;gap:.85rem;border-bottom:1px solid var(--rule);padding:.25rem 0 .9rem;margin-bottom:1.75rem}.app-header-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.app-header h1{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin:0;letter-spacing:-.015em}.app-subnav{display:flex;align-items:center;gap:1.5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.app-subnav a{color:var(--muted);text-decoration:none;padding:.2rem 0;border-bottom:1.5px solid transparent;transition:border-color .15s ease,color .15s ease}.app-subnav a:hover{color:var(--ink);border-bottom-color:var(--accent);text-decoration:none}.link-button{background:none;border:none;padding:0;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer}.link-button:hover{color:var(--ink)}.app-main{margin-top:.25rem}.error{color:var(--danger);margin-top:.5rem;font-size:.9rem}.muted-note{color:var(--muted)}.loading,.empty{color:var(--muted);font-style:italic;font-size:.92rem;padding:.5rem 0}button{font:inherit;font-size:.9rem;padding:.45rem .95rem;border-radius:var(--radius-sm);border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:background .15s ease,transform .06s ease,opacity .15s ease,filter .15s ease}button:hover:not(:disabled){filter:brightness(.92)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--ink)}button.secondary:hover:not(:disabled){background:var(--soft)}button.danger{background:var(--danger);border-color:var(--danger);color:var(--paper)}button.danger:hover:not(:disabled){background:#8a0018;border-color:#8a0018}button.link-button{all:unset;color:var(--muted);font-size:.9rem;cursor:pointer;margin-left:auto}button.link-button:hover{color:var(--ink)}input,select,textarea{font:inherit;font-size:.95rem;color:var(--body);padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:var(--card);width:100%;max-width:360px;box-shadow:var(--shadow-xs);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=checkbox],input[type=radio]{display:inline-block;width:auto;max-width:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;vertical-align:middle}input[type=checkbox]:focus,input[type=radio]:focus{outline:2px solid var(--accent, currentColor);outline-offset:1px;box-shadow:none}select{padding-right:2rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1rem) 50%,calc(100% - .65rem) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}textarea{max-width:100%;min-height:4.5rem;resize:vertical}form label{display:block;margin-bottom:.85rem;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}form label input,form label select,form label textarea{display:block;margin-top:.35rem;color:var(--body);font-size:.95rem;text-transform:none;letter-spacing:normal;font-weight:400}.auth-card{max-width:380px;margin:3rem auto 0;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.75rem 1.9rem 1.9rem;box-shadow:var(--shadow-sm)}.auth-card h2{font-size:1.4rem;font-weight:600;margin-bottom:.25rem}.auth-card .auth-sub{color:var(--muted);font-size:.88rem;margin:0 0 1.5rem}.auth-card form{margin-top:.5rem}.auth-card button[type=submit]{width:100%;max-width:none;padding:.6rem;margin-top:.25rem}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.5;white-space:nowrap;border:1px solid transparent}.pill-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.pill-status-new{background:#fef3c7;color:#8a5a00}.pill-status-contacted{background:#dbeafe;color:#1d3f93}.pill-status-booked{background:#d1fae5;color:#075440}.pill-source-missed_call{background:#fee2e2;color:#991b1b}.pill-source-manual_add{background:#edeae2;color:#4a4637}.pill-source-sms_reply{background:#ede9fe;color:#5b21b6}.pill-booked{background:#c7f0d8;color:#064e3b;border-color:var(--accent);font-weight:700}a.pill-converted,a.pill-converted:hover{background:var(--ww-soft, #e6f0ff);color:var(--ww-blue, #1d3f93);border:1px solid var(--ww-blue, #1d3f93);font-weight:600;text-decoration:none}a.pill-converted:hover{background:var(--ww-blue, #1d3f93);color:#fff}.leads-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .75rem}.leads-header h2{margin:0}.leads-show-converted{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--body);cursor:pointer}.leads-show-converted .muted-note{font-weight:500}.leads-section-title{display:flex;align-items:baseline;gap:.5rem;margin:1.75rem 0 .75rem}.leads-section-title h3{margin:0}.leads-section-title .count{font-size:.8rem;color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none}ul.leads{list-style:none;padding:0;margin:0 0 1rem}ul.leads li.lead-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.7rem .95rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:.5rem;transition:border-color .15s ease,transform .06s ease}ul.leads li.lead-row:hover{border-color:var(--rule-strong)}ul.leads li.lead-row a{display:flex;flex-direction:column;color:inherit;text-decoration:none;min-width:0;gap:.15rem}ul.leads li.lead-row a:hover{text-decoration:none}ul.leads li.lead-row a:hover .lead-name{color:var(--accent-ink)}.lead-name{font-weight:600;color:var(--ink);font-size:.98rem}.lead-phone{color:var(--muted);font-size:.85rem;font-family:var(--font-mono)}.lead-arrow{color:var(--muted);font-size:1.05rem;line-height:1;transition:transform .15s ease,color .15s ease}ul.leads li.lead-row:hover .lead-arrow{color:var(--accent);transform:translate(2px)}.back-link{display:inline-block;margin-bottom:.75rem;color:var(--muted);font-size:.85rem;text-decoration:none}.back-link:hover{color:var(--ink);text-decoration:underline}.lead-detail-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0 0 1.25rem}.lead-detail-header h2{font-size:1.65rem;font-weight:600;letter-spacing:-.015em;margin:0}.lead-facts{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.5rem;margin:0 0 .5rem;font-size:.93rem}.lead-facts dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding-top:.1rem}.lead-facts dd{margin:0;font-family:var(--font-mono);font-size:.92rem}.lead-facts dd.plain{font-family:var(--font-body);font-size:.93rem}.status-bar{display:inline-flex;align-items:center;gap:.75rem;margin-top:.2rem}.status-bar .saving-note{color:var(--muted);font-size:.85rem}ul.tasks{list-style:none;padding:0;margin:0}ul.tasks li.task{display:flex;flex-direction:column;gap:.4rem;padding:.7rem .95rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:.5rem}ul.tasks li.task .task-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}ul.tasks li.task strong{font-family:var(--font-mono);font-size:.78rem;background:var(--soft);padding:.12rem .5rem;border-radius:4px;color:var(--ink);font-weight:600;letter-spacing:.02em}ul.tasks li.task small{color:var(--muted);font-size:.85rem}ul.tasks li.task-done{opacity:.7}ul.tasks li.task-cancelled{opacity:.55}ul.tasks li.task-cancelled .task-head{text-decoration:line-through}ul.tasks li.task-failed{border-left:3px solid var(--danger);padding-left:calc(.95rem - 2px);background:#fff5f5}.task-body{color:var(--body);font-size:.92rem;line-height:1.5;white-space:pre-wrap}.task-template-note{color:var(--muted);font-size:.78rem;font-style:italic;margin-left:.25rem}ul.tasks li.task textarea{max-width:100%}.task-edit-actions,.task-failed-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.task-edit-actions button,.task-failed-actions button{padding:.35rem .8rem;font-size:.82rem}.task-failed-note{color:var(--danger);font-size:.85rem;flex:1 1 auto}ul.tasks li.task>button.link-button{align-self:flex-start;margin-left:0;font-size:.78rem}ul.messages,ul.notes{list-style:none;padding:0;margin:0}ul.messages li.msg,ul.notes li{padding:.7rem .9rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:.5rem}ul.messages li.msg small,ul.notes li small{display:block;color:var(--muted);font-size:.76rem;letter-spacing:.02em;margin-bottom:.3rem}ul.messages li.msg div,ul.notes li div{line-height:1.45;white-space:pre-wrap;color:var(--body)}ul.messages li.msg-out{border-left:3px solid var(--accent);padding-left:calc(.9rem - 2px)}ul.messages li.msg-in{border-left:3px solid #9ca3af;padding-left:calc(.9rem - 2px);background:#fafaf4}ul.messages li.msg-failed{border-left-color:var(--danger);background:#fff5f5}ul.messages li.msg-failed small{color:var(--danger);font-weight:600}ul.messages li.msg-sms-disabled{border-left-color:var(--rule);background:var(--ww-soft, var(--soft))}ul.messages li.msg-sms-disabled small{color:var(--muted);font-weight:500;font-style:italic}.msg-retry{margin-top:.45rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.msg-retry button{padding:.3rem .75rem;font-size:.8rem}.msg-retry .error{margin:0;font-size:.8rem}.send-form textarea,.note-form textarea{max-width:560px}.send-form button,.note-form button{margin-top:.25rem}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 .5rem}.admin-toolbar button{padding:.35rem .8rem;font-size:.85rem}ul.metrics{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.65rem}ul.metrics li{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.3rem;min-height:92px;position:relative;overflow:hidden}ul.metrics li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:.6}ul.metrics strong{font-family:var(--font-display);font-weight:600;font-size:1.85rem;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}ul.metrics small{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}ul.metrics li .metric-sub{color:var(--muted);font-size:.78rem;text-transform:none;letter-spacing:0;font-weight:400}ul.source-breakdown{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.45rem}ul.source-breakdown li{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:.55rem .85rem .7rem}ul.source-breakdown .source-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.3rem}ul.source-breakdown .source-label{font-weight:600;color:var(--ink);font-size:.95rem}ul.source-breakdown .source-count{font-family:var(--font-mono);font-size:.9rem;color:var(--body)}ul.source-breakdown .source-percent{color:var(--muted);font-size:.82rem;margin-left:.15rem}ul.source-breakdown .source-bar{height:4px;background:var(--accent);border-radius:2px;opacity:.7;min-width:4px;max-width:100%}dl.metric-defs{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.25rem;margin:.5rem 0 0;font-size:.9rem;color:var(--body)}dl.metric-defs dt{color:var(--ink);font-weight:600;padding-top:.05rem}dl.metric-defs dd{margin:0;color:var(--body)}dl.metric-defs code{background:var(--soft);padding:.05rem .35rem;border-radius:3px;font-size:.86em;color:var(--ink)}ul.opstatus{list-style:none;padding:0;margin:0}ul.opstatus li{padding:.6rem 0;border-bottom:1px solid var(--rule);font-size:.92rem;color:var(--body)}ul.opstatus li:last-child{border-bottom:0}ul.opstatus li strong{color:var(--ink);font-weight:600}ul.opstatus li small{color:var(--muted);font-size:.85rem;margin-left:.35rem}ul.opstatus li.warn{color:var(--danger)}ul.opstatus li.warn strong{color:var(--danger);font-weight:700}.danger-zone{border:1px solid var(--rule);border-radius:var(--radius);background:#fdfaf7;padding:.7rem .95rem .8rem;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.6rem}.danger-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.danger-row strong{display:block;color:var(--ink);font-size:.95rem;margin-bottom:.1rem}.danger-row p{margin:0;color:var(--muted);font-size:.85rem;max-width:52ch;line-height:1.4}.danger-row button{padding:.4rem .9rem;font-size:.85rem;white-space:nowrap}.danger-zone .muted-note{color:var(--muted);font-size:.85rem;margin:0}.danger-zone .error{margin:0;font-size:.85rem}.inline-edit{all:unset;display:inline-flex;align-items:baseline;gap:.5rem;cursor:pointer;color:var(--body);padding:.15rem 0;border-bottom:1px dashed transparent;transition:border-color .15s ease}.inline-edit:hover{border-bottom-color:var(--rule-strong)}.inline-edit .inline-edit-empty{color:var(--muted);font-style:italic}.inline-edit .inline-edit-hint{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:0;transition:opacity .15s ease}.inline-edit:hover .inline-edit-hint,.inline-edit:focus .inline-edit-hint{opacity:1}.inline-edit-active{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem}.inline-edit-active input{width:auto;max-width:260px;padding:.3rem .55rem;font-size:.92rem}.inline-edit-active button{padding:.3rem .7rem;font-size:.82rem}.inline-edit-active .error{margin:0;font-size:.8rem}.lead-contact-age{color:var(--muted);font-size:.85rem;margin:-.4rem 0 1rem}ul.leads li.lead-row.lead-row-stale{border-color:#e7c98a;background:#fffbf0}ul.leads li.lead-row.lead-row-stale:hover{border-color:#d9b060}ul.leads li.lead-row.lead-row-reply{border-color:#93c5fd;background:#eff6ff;border-left-width:3px}ul.leads li.lead-row.lead-row-reply:hover{border-color:#60a5fa}ul.leads li.lead-row.lead-row-failed{border-color:#ef4444;background:#fff5f5;border-left-width:3px}ul.leads li.lead-row.lead-row-failed:hover{border-color:#dc2626}.lead-dog{color:var(--muted);font-weight:500;font-size:.92rem}.lead-meta{color:var(--muted);font-size:.78rem;margin-top:.1rem}.lead-pills{display:inline-flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}.pill-reason{border:1px solid transparent}.pill-reason-new{background:#fef3c7;color:#8a5a00}.pill-reason-stale{background:#fde2c8;color:#8a3b00}.pill-reason-missing_name,.pill-reason-missing_dog_name{background:#fee2e2;color:#991b1b}.pill-reason-send_failed{background:#fecaca;color:#7f1d1d;border-color:#ef4444;font-weight:700}.pill-reason-needs_reply{background:#dbeafe;color:#1e3a8a;border-color:#3b82f6;font-weight:700}.client-alert{display:block;background:#fff5e6;border:1px solid #e7c98a;border-left:3px solid #c48a32;border-radius:var(--radius);padding:.55rem .85rem .65rem;margin:.5rem 0 .85rem;color:#6b3b00;font-size:.92rem;line-height:1.4;white-space:pre-wrap}.client-alert strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#6b3b00;margin-bottom:.2rem}.pill-alert{background:#fff5e6;color:#6b3b00;border:1px solid #e7c98a;font-weight:700}.system-alerts{background:#fff5e6;border:1px solid #e7c98a;border-left-width:3px;border-radius:var(--radius);padding:.7rem .95rem .8rem;margin:0 0 1.25rem;font-size:.9rem;color:#6b3b00}.system-alerts strong{display:block;color:#6b3b00;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:.35rem}.system-alerts>ul{list-style:disc;margin:0 0 .6rem;padding-left:1.2rem}.system-alerts>ul>li{margin-bottom:.15rem}.system-alerts-link,.system-alerts a.system-alerts-link{color:var(--accent-ink);font-size:.82rem;font-weight:600;text-decoration:none}.system-alerts-link:hover{text-decoration:underline}ul.attn-items{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}ul.attn-items li.attn-item{margin:0}ul.attn-items li.attn-item a{display:grid;grid-template-columns:9rem 1fr auto;align-items:baseline;gap:.4rem .85rem;padding:.5rem .7rem;background:#fff;border:1px solid #e7c98a;border-radius:6px;text-decoration:none;color:var(--body);font-size:.88rem;transition:border-color .15s ease,background .15s ease}ul.attn-items li.attn-item a:hover{border-color:#c48a32;background:#fff8ea;text-decoration:none}ul.attn-items li.attn-item .attn-kind{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8a3b00}ul.attn-items li.attn-item .attn-who{font-weight:600;color:var(--ink);display:inline-flex;align-items:baseline;gap:.3rem}ul.attn-items li.attn-item .attn-label{color:var(--muted);font-size:.82rem;grid-column:2 / 3}ul.attn-items li.attn-item .attn-when{color:var(--muted);font-size:.76rem;font-family:var(--font-mono);white-space:nowrap}ul.attn-items li.attn-item-failed_task a,ul.attn-items li.attn-item-failed_message a{border-left:3px solid var(--danger)}ul.attn-items li.attn-item-needs_reply a{border-left:3px solid #3b82f6}ul.attn-items li.attn-item-needs_reply .attn-kind{color:#1e3a8a}.lead-icon{display:inline-block;font-size:.95em;margin-right:.28em;filter:grayscale(.1);line-height:1;vertical-align:-.05em}.lead-icon-lg{font-size:.82em;margin-right:.35em;vertical-align:.05em}.lead-detail-dog{color:var(--muted);font-size:.72em;font-weight:500;margin-left:.65em;letter-spacing:-.005em;white-space:nowrap}ul.notes li>button.link-button{margin-top:.35rem;margin-left:0;font-size:.78rem}.note-edit-actions{display:flex;align-items:center;gap:.4rem;margin-top:.4rem}.note-edit-actions button{padding:.3rem .7rem;font-size:.82rem}.note-edit-actions .error{margin:0;font-size:.8rem}.public-booking .muted-note{margin:-.25rem 0 1.25rem}.public-booking .booking-toolbar{display:flex;justify-content:flex-start;margin:0 0 .85rem}.public-booking .booking-back{padding:.35rem .85rem;font-size:.85rem}.public-booking .confirmation-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.public-booking .first-booking-fieldset{border:1px solid var(--rule);border-radius:var(--radius);padding:.75rem .95rem .85rem;margin:1.1rem 0 1.25rem;display:flex;flex-direction:column;gap:.45rem}.public-booking .first-booking-fieldset legend{padding:0 .45rem;font-size:.95rem;font-weight:600;color:var(--ink)}.public-booking .first-booking-option{display:flex;align-items:center;gap:.55rem;font-size:.95rem;color:var(--body);text-transform:none;letter-spacing:0;font-weight:400;cursor:pointer;margin:0}.public-booking .first-booking-option input{width:auto;max-width:none;margin:0;box-shadow:none;cursor:pointer}.public-booking .first-booking-hint{margin:.5rem 0 0;font-size:.88rem;color:var(--muted);line-height:1.45;text-transform:none;letter-spacing:0;font-weight:400}.public-booking .first-booking-hint strong{color:var(--body);font-weight:600}.referral-check{display:flex;width:max-content;max-width:100%;align-items:center;gap:.5rem;margin:1.1rem 0 1.25rem;font-size:.9rem;color:var(--body);text-transform:none;letter-spacing:0;font-weight:400;cursor:pointer}.referral-check input{width:auto;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent;cursor:pointer}.public-booking .referral-callout{background:#fffbeb;border:1px solid #fde68a;border-left:3px solid #d97706;border-radius:var(--radius);padding:.85rem 1rem;margin:0 0 1rem}.public-booking .referral-callout p{margin:0 0 .6rem;color:#78350f;font-size:.92rem;line-height:1.4}.public-booking .referral-link-button{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;padding:.4rem .95rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500}.public-booking .referral-link-button:hover{background:#000;text-decoration:none}.public-booking .field-hint{display:block;color:var(--muted);font-size:.78rem;text-transform:none;letter-spacing:0;font-weight:400;margin-top:.3rem}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.45rem;margin:0 0 1.25rem;max-width:560px}button.slot{background:var(--card);color:var(--ink);border:1px solid var(--rule-strong);padding:.5rem .4rem;font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);text-align:center}button.slot:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}button.slot:disabled{background:var(--soft);color:var(--muted);border-color:var(--rule);text-decoration:line-through;opacity:1}button.slot.slot-selected,button.slot.slot-selected:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}button.submit-booking{margin-top:.5rem;padding:.6rem 1.2rem}dl.booking-summary{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.25rem;margin:.5rem 0 1.25rem;font-size:.95rem}dl.booking-summary dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding-top:.1rem}dl.booking-summary dd{margin:0;color:var(--ink);font-weight:500}.calendar{max-width:1180px;margin-left:calc((var(--maxw) - 1180px) / 2)}.cal-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.cal-header h2{margin:0}.cal-nav{display:flex;gap:.5rem;flex-wrap:wrap}.cal-nav button{padding:.3rem .7rem;font-size:.82rem;font-weight:600;background:var(--card);border:1px solid var(--ww-blue);color:var(--ww-blue);border-radius:var(--radius-sm)}.cal-nav button:hover:not(:disabled){background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}.cal-nav-jump{display:inline-flex;align-items:center;gap:.35rem;padding:.05rem .55rem;font-size:.82rem;background:var(--card);border:1px solid var(--ww-blue);color:var(--ww-blue);border-radius:var(--radius-sm)}.cal-nav-jump-label{font-weight:600}.cal-nav-jump input[type=date]{border:none;background:transparent;color:inherit;font:inherit;padding:.2rem 0;outline:none}.cal-today{border:1px solid var(--rule);border-left:3px solid var(--ink);border-radius:var(--radius);background:var(--card);padding:.7rem .95rem .8rem;margin:0 0 .8rem}.cal-today-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .85rem}.cal-today-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1rem;text-transform:none;letter-spacing:-.005em;color:var(--ink)}.cal-today-line{color:var(--body);font-size:.92rem}.cal-today-revenue{color:var(--muted)}.cal-today-attention{margin-top:.55rem;padding-top:.55rem;border-top:1px dashed var(--rule);color:var(--body);font-size:.9rem}.cal-today-attention strong{display:block;font-weight:600;color:var(--warn);margin-bottom:.2rem}.cal-today-attention ul{margin:0;padding-left:1.2rem;list-style:disc}.cal-today-attention li{margin:.05rem 0}.cal-summary{display:grid;grid-template-columns:max-content max-content 1fr;gap:0 1.75rem;align-items:baseline;background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--ww-blue);border-radius:var(--radius);padding:.7rem .95rem .8rem;margin:0 0 1.25rem}.cal-summary-item{display:flex;flex-direction:column;gap:.15rem;min-width:0}.cal-summary-label{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.cal-summary-value{font-family:var(--font-display);font-weight:600;font-size:1.4rem;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.01em}.cal-summary-next .cal-summary-value-next{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--ink);letter-spacing:0}.client-requests-card{margin:0 0 1rem;padding:.75rem .9rem .85rem;border:1px solid var(--rule);border-left:4px solid var(--ww-blue, #2776a8);border-radius:var(--radius);background:var(--ww-soft, var(--soft))}.client-requests-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.client-requests-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--ink);letter-spacing:-.005em}.client-requests-count{color:var(--muted);font-weight:500}.client-requests-sms-notice{margin:0 0 .6rem;padding:.45rem .7rem;border-radius:var(--radius);font-size:.88rem;line-height:1.35}.client-requests-sms-notice-success{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46}.client-requests-sms-notice-warning{background:#fef3c7;border:1px solid #f59e0b;color:#78350f}.client-requests-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.client-requests-row{padding:.55rem .7rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);display:flex;flex-direction:column;gap:.4rem}.client-requests-row-status-reviewed{opacity:.85}.client-requests-row-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.client-requests-type{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px;background:var(--ww-soft, var(--soft));color:var(--ww-navy, var(--ink));border:1px solid var(--ww-aqua, var(--rule-strong))}.client-requests-type-cancel{background:#fef3c7;color:#92400e;border-color:#fcd34d}.client-requests-type-callback{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.client-requests-status{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.client-requests-row-body{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem;color:var(--body);line-height:1.4}.client-requests-message{margin-top:.2rem;padding:.4rem .55rem;background:var(--ww-soft, var(--soft));border-radius:var(--radius-sm);white-space:pre-wrap}.client-requests-actions{display:flex;gap:.45rem;flex-wrap:wrap}@media (max-width: 540px){.client-requests-row-head{flex-direction:column;align-items:flex-start}.client-requests-actions button{flex:1 1 calc(50% - .225rem)}}.cal-summary-meta{color:var(--muted);font-weight:400}.cal-summary-empty{color:var(--muted);font-family:var(--font-body);font-size:1rem}.cal-hours-unset{border:1px solid var(--rule);border-left:4px solid var(--accent, #a15c00);border-radius:6px;background:var(--surface, #fff);padding:.85rem 1rem;margin:0 0 1rem}.cal-hours-unset p{margin:.35rem 0 .75rem}.hm{--hm-row-h: 38px;display:grid;grid-template-columns:56px repeat(var(--hm-column-count, 4),minmax(0,1fr));gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);padding:2px;margin:0 0 .5rem}.hm-corner{background:var(--card)}.hm-col-header{background:var(--card);border:none;border-radius:0;padding:.4rem .45rem .45rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.1rem;transition:background .12s ease,color .12s ease;color:var(--body)}.hm-col-header:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-ink)}.hm-col-header-non-working-day{background:repeating-linear-gradient(135deg,var(--soft) 0 5px,var(--card) 5px 10px)}.hm-col-closed-note{color:var(--muted);font-size:.62rem;font-weight:600}.hm-col-header-selected .hm-col-closed-note{color:var(--paper);opacity:.9}.cal-modal-closed-day-note{color:var(--muted);font-size:.78rem;font-weight:600}.hm-col-header-selected{background:var(--accent);color:var(--paper);box-shadow:inset 0 -3px 0 var(--accent-ink);font-weight:600}.hm-col-header-selected:hover:not(:disabled){background:var(--accent);color:var(--paper)}.hm-col-header-selected .hm-col-day{font-weight:600}.hm-col-day{font-family:var(--font-display);font-weight:600;font-size:.92rem;letter-spacing:-.005em}.hm-col-date{font-size:.7rem;font-family:var(--font-mono);opacity:.85}.hm-col-warn{font-size:.66rem;font-weight:600;letter-spacing:.01em;color:var(--warn);margin-top:.1rem;line-height:1.2;white-space:normal}.hm-col-warn-ok{color:var(--accent-ink);font-weight:500}.hm-col-header-selected .hm-col-warn{color:#fde68a}.hm-col-header-selected .hm-col-warn-ok{color:var(--paper);opacity:.9}.hm-col-imported{font-size:.62rem;font-weight:600;letter-spacing:.01em;color:#475569;margin-top:.1rem;line-height:1.2;white-space:normal;display:block}.hm-col-imported-detail{display:block;margin-top:.05rem;font-weight:500;opacity:.85}.hm-col-header-selected .hm-col-imported{color:#e2e8f0;opacity:.95}.day-historical-outside{margin-bottom:.7rem;padding:.55rem .65rem .6rem;background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #94a3b8;border-radius:var(--radius-sm)}.day-historical-outside-title{margin:0 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.01em;color:#475569;text-transform:uppercase}.day-blocks-historical{margin:0}.day-block-historical{opacity:.92}.hm-row-label{background:var(--card);display:flex;align-items:center;justify-content:flex-end;padding:0 .55rem;height:var(--hm-row-h);font-family:var(--font-mono);font-size:.74rem;color:var(--muted)}.hm-cell{background:var(--card);min-height:var(--hm-row-h);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;border:none;border-radius:0;padding:4px;cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.hm-cell-closed{background:repeating-linear-gradient(135deg,var(--soft) 0 4px,var(--paper) 4px 8px);cursor:default}.hm-cell-open:hover{background:var(--accent-soft)}.hm-cell-non-working-day{background:repeating-linear-gradient(135deg,var(--soft) 0 5px,var(--card) 5px 10px)}.hm-cell-selected{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.cal-pill{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.5;white-space:nowrap;border:1px solid transparent}.cal-pill--pool{background:#dbeafe;color:#1d4ed8;border:1px solid #93C5FD}.cal-pill--treadmill{background:#fee2e2;color:#b91c1c;border:1px solid #FCA5A5}.cal-pill--therapy{background:#dcfce7;color:#166534;border:1px solid #86EFAC}.cal-pill--therapy-specialist{background:#ddd6fe;color:#4c1d95;border:1px solid #7C3AED}.cal-pill--empty{background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0;opacity:.5}.cal-pill--has-name{text-transform:none;letter-spacing:0;font-weight:600}.cal-pill--overlap{position:relative;padding-right:1.4rem}.cal-pill-group{display:inline-flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0}.cal-pill-group .cal-pill{white-space:normal;min-height:1.55rem}.cal-pill--offset,.cal-pill--short{flex-direction:column;padding-top:.15rem;padding-bottom:.15rem;line-height:1.15}.cal-pill-subhead{display:block;font-size:.6rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.8}.cal-pill-name{display:block}.cal-pill--short{box-shadow:inset 0 0 0 1px currentColor}.cal-pill--hold{background:#fef3c7;color:#92400e;border:1px dashed #d97706;flex-direction:column;padding-top:.15rem;padding-bottom:.15rem;line-height:1.15}.cal-pill--hold .cal-pill-subhead{color:#78350f;opacity:1}.dash-secondary{margin-top:1.5rem}@media (max-width: 720px){.dashboard{display:flex;flex-direction:column}.dashboard>.dash-secondary{order:99}}.cal-note-occurrence,.cal-week-notes-item-occurrence{opacity:.86}.cal-note-recurrence-badge{display:inline-flex;align-items:center;padding:.05rem .45rem;border-radius:999px;background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe;font-size:.7rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.cal-note-form-recurrence-hint{margin:.2rem 0 0;font-size:.78rem}.staff-tasks-page{padding:1rem}.staff-tasks-intro{margin:.4rem 0 1rem}.staff-tasks-form{margin:.5rem 0 1rem;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.staff-tasks-form-row{display:flex;gap:.75rem;flex-wrap:wrap}.staff-tasks-form-field{flex:1 1 200px;display:flex;flex-direction:column}.staff-tasks-view{display:inline-flex;gap:.25rem;margin-right:.6rem}.staff-tasks-dt-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.staff-tasks-overdue{color:#b91c1c;font-weight:600}.staff-tasks-desc{margin-top:.2rem;font-size:.85rem}.staff-tasks-foot{margin-top:1rem}.cal-pill-overlap-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#f59e0b;color:#fff;font-size:.6rem;font-weight:700;line-height:14px;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #fff}.cal-week-notes{margin-top:1rem;padding:.85rem 1rem .9rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.cal-week-notes-has-notes{border-left:3px solid var(--accent);background:var(--accent-soft)}.cal-week-notes-head{margin-bottom:.55rem}.cal-week-notes-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--ink)}.cal-week-notes-subtitle{margin:.15rem 0 0;font-size:.82rem;color:var(--muted)}.cal-week-notes-error{margin:.4rem 0 0}.cal-week-notes-empty{margin:.4rem 0 0;font-size:.88rem;color:var(--muted)}.cal-week-notes-list{list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-direction:column;gap:.85rem}.cal-week-notes-group{display:flex;flex-direction:column;gap:.35rem}.cal-week-notes-group-title{margin:0;font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--body);text-transform:uppercase;letter-spacing:.04em}.cal-week-notes-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.cal-week-notes-item{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.4rem .6rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);font-size:.9rem;color:var(--body)}.cal-week-notes-time{font-family:var(--font-mono);font-size:.78rem;color:var(--muted);white-space:nowrap;min-width:4.5rem}.cal-week-notes-pill{font-size:.65rem}.cal-week-notes-body{flex:1 1 12rem;min-width:0;white-space:pre-wrap;word-break:break-word}.cal-week-notes-edit{margin-left:auto;font-size:.82rem}.cal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;z-index:50;overflow-y:auto;animation:cal-modal-fade .12s ease-out}@keyframes cal-modal-fade{0%{opacity:0}to{opacity:1}}.cal-modal{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--rule);box-shadow:0 20px 50px #11182740;width:min(640px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.cal-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1.1rem .7rem;border-bottom:1px solid var(--rule)}.cal-modal-title{font-family:var(--font-display);font-weight:600;font-size:1.2rem;margin:0;color:var(--ink);text-transform:none;letter-spacing:-.005em}.cal-modal-close{background:transparent;border:1px solid transparent;color:var(--muted);font-size:1.4rem;line-height:1;padding:.1rem .55rem .2rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.cal-modal-close:hover:not(:disabled){background:var(--soft);border-color:var(--rule);color:var(--ink)}.cal-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;padding:.6rem 1.1rem .75rem;border-bottom:1px solid var(--rule);background:var(--paper)}.cal-modal-daynav{display:inline-flex;gap:.4rem}.cal-modal-daynav button{padding:.3rem .75rem;font-size:.82rem}.cal-modal-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--body);text-transform:none;letter-spacing:0;font-weight:500;cursor:pointer;margin:0}.cal-modal-toggle input{width:auto;max-width:none;box-shadow:none}.cal-modal-body{padding:.9rem 1.1rem 1.1rem;overflow-y:auto}ul.day-blocks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}li.day-block{display:grid;grid-template-columns:5.5rem 1fr;gap:.4rem .85rem;padding:.5rem .6rem;border:1px solid transparent;border-radius:var(--radius-sm);align-items:baseline;transition:background .12s ease,border-color .12s ease}li.day-block-selected{background:var(--accent-soft);border-color:var(--accent)}.day-block-time{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--accent-ink)}ul.day-block-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;min-width:0}ul.day-block-rows>li{min-width:0}.day-booking-row{display:grid;grid-template-columns:max-content 1fr;align-items:baseline;gap:.5rem;text-decoration:none;color:var(--body);padding:.25rem .4rem;border-radius:4px;min-width:0}a.day-booking-row:hover{background:var(--soft);color:var(--ink);text-decoration:none}.day-booking-row-static{cursor:default}.day-booking-row-empty{color:var(--muted)}.day-booking-pill-link,.day-booking-owner-link,.day-booking-dog-link,.day-booking-pill-link:hover,.day-booking-owner-link:hover,.day-booking-dog-link:hover{text-decoration:none;color:inherit}.day-booking-owner-link:hover .day-booking-owner,.day-booking-dog-link:hover .day-booking-dogs{color:var(--ww-blue, var(--accent-ink));text-decoration:underline;text-underline-offset:2px}.day-booking-row-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;min-width:0}.day-booking-row-wrap>.day-booking-row{flex:1 1 14rem;min-width:0}.day-booking-toggles{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap;margin-left:auto}.booking-toggle{font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--rule-strong);background:var(--card);color:var(--body);cursor:pointer;white-space:nowrap;line-height:1.4;transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease}.booking-toggle:hover:not(:disabled){background:var(--soft);border-color:var(--rule-strong)}.booking-toggle:disabled{opacity:.55;cursor:progress}.booking-toggle-on{background:#ecfdf5;border-color:#6ee7b7;color:#166534}.booking-toggle-off{background:var(--card);border-color:var(--rule);color:var(--body)}.booking-toggle-error{color:var(--danger);font-size:.72rem;font-weight:500}.booking-status-badge{font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--body);white-space:nowrap;line-height:1.4;cursor:default;-webkit-user-select:none;user-select:none}.booking-status-on{background:#ecfdf5;border-color:#6ee7b7;color:#166534}.booking-status-off{background:var(--card);border-color:var(--rule);color:var(--muted)}.booking-action-btn{font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.18rem .55rem;border-radius:999px;border:1px solid var(--rule-strong);background:var(--card);color:var(--body);cursor:pointer;white-space:nowrap;line-height:1.4;transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease}.booking-action-btn:hover:not(:disabled){background:var(--soft)}.booking-action-btn:disabled{opacity:.55;cursor:progress}.booking-action-btn-danger{color:var(--danger);border-color:#b000204d}.booking-action-btn-danger:hover:not(:disabled){background:#b0002014;border-color:var(--danger)}.booking-action-error{margin:.3rem 0 0;font-size:.82rem}.day-booking-text{min-width:0;overflow-wrap:break-word;word-break:normal;font-size:.9rem}.day-booking-owner{color:var(--ink);font-weight:600}.day-booking-dogs{color:var(--body);font-size:.85rem}.day-booking-phone{color:var(--muted);font-family:var(--font-mono);font-size:.82rem}.day-booking-duration{color:var(--muted);font-size:.82rem;font-style:italic}.day-booking-available{color:var(--muted);font-style:italic;font-size:.85rem}.day-pill{display:inline-flex;align-items:center;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1.5;padding:.1rem .55rem;border:1px solid transparent;border-radius:999px;white-space:nowrap}.day-pill-pool{background:#dbeafe;color:#1d4ed8}.day-pill-treadmill{background:#fee2e2;color:#b91c1c}.day-pill-therapy_room{background:#dcfce7;color:#15803d}.day-pill-therapy_room-specialist{background:#ddd6fe;color:#4c1d95;border:1px solid #7C3AED}.day-pill--available{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}a.day-booking-row.day-booking-row-bookable:hover{color:var(--ink)}a.day-booking-row.day-booking-row-bookable:hover .day-pill--available{background:#e2e8f0;border-color:#cbd5e1;color:#475569}a.day-booking-row.day-booking-row-bookable:hover .day-booking-available{color:var(--ink);font-style:normal}.available-slot-action{display:grid;grid-template-columns:max-content 1fr max-content;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.4rem .65rem;background:var(--ww-soft, var(--card));border:1px solid var(--ww-rule, var(--rule));border-left:3px solid var(--ww-aqua);border-radius:var(--radius-sm);color:var(--body);font:inherit;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .06s ease}.available-slot-action:hover:not(:disabled){background:var(--card);border-color:var(--ww-blue);border-left-color:var(--ww-blue)}.available-slot-action:focus-visible{outline:2px solid var(--ww-blue);outline-offset:2px}.available-slot-action:active:not(:disabled){transform:translateY(1px)}.available-slot-pill{flex:0 0 auto}.available-slot-label{font-size:.88rem;font-weight:600;color:var(--ww-navy, var(--ink));letter-spacing:-.005em}.available-slot-arrow{color:var(--muted);font-size:.95rem;transition:color .12s ease,transform .12s ease}.available-slot-action:hover:not(:disabled) .available-slot-arrow{color:var(--ww-blue);transform:translate(2px)}.available-slot-busy{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:.55rem;width:100%;padding:.4rem .65rem;background:var(--ww-soft, var(--card));border:1px dashed var(--ww-rule, var(--rule));border-radius:var(--radius-sm);color:var(--muted);opacity:.75}.available-slot-busy-label{font-size:.85rem;font-style:italic}.add-appointment-modal{width:min(640px,100%)}.add-appointment-body{display:flex;flex-direction:column;gap:.85rem}.add-appt-details{display:grid;grid-template-columns:max-content 1fr;gap:.3rem .95rem;margin:0;padding:.6rem .85rem .7rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua);border-radius:var(--radius-sm);background:var(--ww-soft, var(--soft));font-size:.92rem}.add-appt-details dt{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;align-self:center}.add-appt-details dd{margin:0;color:var(--ink)}.add-appt-price-note{color:var(--muted);font-size:.82rem;font-weight:400}.add-appt-tabs{display:flex;gap:.4rem;margin:.2rem 0 .85rem;border-bottom:1px solid var(--rule)}.add-appt-tab{font:inherit;font-size:.85rem;font-weight:600;background:none;border:none;border-bottom:3px solid transparent;color:var(--muted);padding:.45rem .85rem;margin-bottom:-1px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.add-appt-tab:hover:not(:disabled){background:var(--ww-soft, var(--soft));color:var(--ink)}.add-appt-tab-active,.add-appt-tab-active:hover:not(:disabled){color:var(--ww-navy, var(--ink));border-bottom-color:var(--ww-aqua);background:transparent}.add-appt-tab:focus-visible{outline:2px solid var(--ww-aqua);outline-offset:-2px}.add-appt-results{min-height:3rem;max-height:14rem;overflow-y:auto;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);margin-bottom:.6rem}.add-appt-result-list{list-style:none;margin:0;padding:0}.add-appt-result-list>li{border-bottom:1px solid var(--rule)}.add-appt-result-list>li:last-child{border-bottom:none}.add-appt-result-row{display:grid;grid-template-columns:1.6rem 1fr max-content;gap:.55rem;align-items:center;width:100%;background:transparent;border:none;padding:.5rem .7rem;text-align:left;font:inherit;color:var(--body);cursor:pointer;transition:background-color .1s ease,color .1s ease}.add-appt-result-row:hover:not(:disabled),.add-appt-result-row:focus-visible{background:var(--ww-soft, var(--soft));color:var(--ink)}.add-appt-result-row:focus-visible{outline:2px solid var(--ww-blue);outline-offset:-2px}.add-appt-result-row:hover:not(:disabled) .add-appt-result-text strong{color:var(--ww-navy, var(--ink))}.add-appt-result-icon{font-size:1.1rem;line-height:1}.add-appt-result-text{display:flex;flex-direction:column;min-width:0}.add-appt-result-text strong{color:var(--ink);font-size:.95rem}.add-appt-result-meta{color:var(--muted);font-size:.82rem}.add-appt-result-kind{flex:0 0 auto}.add-appt-picked{display:flex;align-items:center;gap:.85rem;padding:.55rem .7rem;border:1px solid var(--rule);border-left:3px solid var(--ww-blue);border-radius:var(--radius-sm);background:var(--card);margin-bottom:.6rem}.add-appt-picked-summary{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.add-appt-picked-summary strong{color:var(--ink);font-size:.95rem}.add-appt-actions{display:flex;gap:.5rem;margin-top:.5rem}@media (max-width: 640px){:root{--maxw: 100%}.app{padding:1rem 1rem 2rem}.app-header{padding-bottom:.75rem;margin-bottom:1.25rem;gap:.6rem}.app-header h1{font-size:1.2rem}.app-subnav{gap:1rem;font-size:.72rem}ul.leads li.lead-row{grid-template-columns:1fr;gap:.4rem .6rem}ul.leads li.lead-row a,ul.leads li.lead-row .lead-pills{grid-column:1 / -1}ul.leads li.lead-row .lead-pills{justify-content:flex-start}ul.leads li.lead-row .pill{font-size:.62rem}ul.leads li.lead-row .lead-arrow{display:none}.lead-detail-header h2{font-size:1.45rem}.lead-facts{grid-template-columns:1fr;gap:.1rem 0}.lead-facts dd{margin-bottom:.6rem}ul.metrics{grid-template-columns:1fr 1fr;gap:.5rem}ul.metrics li{padding:.85rem;min-height:80px}ul.metrics strong{font-size:1.55rem}.auth-card{margin-top:1.25rem;padding:1.4rem}ul.attn-items li.attn-item a{grid-template-columns:1fr;gap:.15rem}ul.attn-items li.attn-item .attn-label,ul.attn-items li.attn-item .attn-when{grid-column:1 / -1}dl.metric-defs{grid-template-columns:1fr;gap:.15rem 0}dl.metric-defs dt{margin-top:.5rem}dl.metric-defs dt:first-child{margin-top:0}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}dl.booking-summary{grid-template-columns:1fr;gap:.1rem 0}dl.booking-summary dd{margin-bottom:.5rem}.calendar{margin-left:0}.cal-header{gap:.5rem}.cal-nav{width:100%;justify-content:space-between}.cal-summary{grid-template-columns:1fr 1fr;gap:.6rem 1rem;padding:.65rem .85rem .75rem}.cal-summary-next{grid-column:1 / -1}.cal-summary-value{font-size:1.25rem}.hm{--hm-row-h: 32px;grid-template-columns:38px repeat(var(--hm-column-count, 4),minmax(0,1fr))}.hm-row-label{font-size:.65rem;padding:0 .3rem}.hm-col-header{padding:.3rem .3rem .35rem}.hm-col-day{font-size:.82rem}.hm-col-date{font-size:.62rem}.hm-col-warn{font-size:.58rem;line-height:1.15}.hm-cell{gap:3px;padding:3px}.cal-pill{height:18px;padding:0 6px;font-size:10px}.day-block{grid-template-columns:1fr;gap:.2rem;padding:.45rem .55rem}.day-block-time{font-size:.82rem}.day-booking-row{grid-template-columns:1fr;gap:.15rem}.day-booking-row-wrap{grid-template-columns:1fr;gap:.3rem}.day-booking-toggles{justify-content:flex-start}.cal-modal-backdrop{padding:0;align-items:stretch}.cal-modal{width:100%;max-height:100vh;height:100vh;border-radius:0;border-left:0;border-right:0;border-top:0}.cal-modal-header{padding:.85rem .9rem .6rem}.cal-modal-title{font-size:1.15rem}.cal-modal-toolbar{padding:.55rem .9rem .65rem}.cal-modal-body{padding:.7rem .9rem 1.1rem}}@media (max-width: 900px) and (min-width: 641px){.calendar{margin-left:0;max-width:100%}.hm{--hm-row-h: 28px}}.dash-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .75rem}.dash-header h2{margin:0}.dash-book-btn{font:inherit;font-weight:600;font-size:.92rem;padding:.45rem .95rem;border-radius:var(--radius-sm);border:1px solid var(--ww-orange);background:var(--ww-orange);color:#fff;cursor:pointer;white-space:nowrap}.dash-book-btn:hover:not(:disabled){background:#c96a18;border-color:#c96a18}.dash-book-btn:disabled{opacity:.55;cursor:progress}.dash-book-slotpick{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .8rem;margin-bottom:.75rem}.dash-book-field{display:flex;flex-direction:column;font-size:.82rem;font-weight:600;color:var(--muted);gap:.25rem}.dash-book-field input,.dash-book-field select{font:inherit;font-weight:500;color:var(--ink);padding:.4rem .55rem;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--card)}.dash-book-pricehint{grid-column:1 / -1;margin:0}.dash-book-slots{margin-top:.4rem;display:flex;flex-direction:column;gap:.85rem}.dash-book-slot-group{display:flex;flex-direction:column;gap:.4rem}.dash-book-slot-group-title{margin:0;font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.dash-book-slot-group-count{font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}.dash-book-slot-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.35rem .4rem}.dash-book-slot-btn{width:100%;font:inherit;font-weight:600;font-size:.85rem;font-variant-numeric:tabular-nums;padding:.45rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--ww-blue);background:var(--card);color:var(--ww-blue);cursor:pointer;text-align:center}.dash-book-slot-btn:hover{background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}.dash-book-slot-btn:focus-visible{outline:2px solid var(--ww-blue);outline-offset:2px}@media (max-width: 540px){.dash-book-slotpick{grid-template-columns:1fr}.dash-book-slot-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.dash-date{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:baseline;margin:0 0 1rem}.dash-date-current{font-weight:600;color:var(--ink)}.dash-date-today-tag{color:var(--muted);font-weight:500}.dash-day-nav{display:flex;gap:.5rem;flex-wrap:wrap}.dash-day-nav button{padding:.3rem .7rem;font-size:.82rem;font-weight:600;background:var(--card);border:1px solid var(--ww-blue);color:var(--ww-blue);border-radius:var(--radius-sm)}.dash-day-nav button:hover:not(:disabled){background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}.dash-day-pick{font:inherit;font-size:.82rem;font-weight:500;padding:.3rem .55rem;border:1px solid var(--ww-blue);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.dash-day-pick:focus{outline:2px solid var(--ww-blue);outline-offset:1px}.dash-rows{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.6rem}.dash-row{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.dash-row-main{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .75rem}.dash-row-time{font-weight:700;color:var(--ink);min-width:4.5rem;font-variant-numeric:tabular-nums}.dash-row-text{flex:1 1 14rem;min-width:0}.dash-row-link{text-decoration:none}.dash-row-link:hover .day-booking-owner{text-decoration:underline}.dash-row-toggles{margin-left:auto}.note-modal-body{display:flex;flex-direction:column;gap:.75rem}.note-modal-meta{margin:0;color:var(--body);font-size:.92rem}.note-textarea{width:100%;min-height:9rem;resize:vertical;font-family:inherit;font-size:.95rem;line-height:1.45;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--ink);box-sizing:border-box}.note-template-picker{display:flex;flex-direction:column;gap:.25rem;margin:0 0 .5rem}.note-template-picker>label{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--muted)}.note-template-picker select{font:inherit;font-weight:500;color:var(--ink);padding:.3rem .5rem;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--card);flex:1 1 auto;max-width:18rem}.note-template-hint{font-size:.78rem;line-height:1.35}.note-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.note-modal-actions{display:flex;gap:.5rem;flex-wrap:wrap}.note-previous{border-top:1px solid var(--rule);padding-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.note-previous-body{display:flex;flex-direction:column;gap:.5rem}.note-previous-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;max-height:min(50vh,22rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:.25rem}.note-previous-item{border:1px solid var(--rule);border-radius:var(--radius);padding:.5rem .65rem;background:var(--paper);display:flex;flex-direction:column;gap:.35rem}.note-previous-meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;color:var(--muted);font-size:.82rem}.note-previous-text{white-space:pre-wrap;color:var(--body);font-size:.92rem;line-height:1.45}.booking-toggle-note{background:var(--card);border:1px solid var(--rule);color:var(--ink)}.booking-toggle-note:hover{background:var(--soft)}.dash-row-note-preview{font-size:.85rem;color:var(--body);background:var(--soft);border-radius:var(--radius);padding:.4rem .6rem;line-height:1.4}.dash-row-note-preview strong{color:var(--muted);font-weight:600;margin-right:.35rem}.dash-filter{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 .85rem}.dash-filter-btn{background:var(--card);border:1px solid var(--rule);color:var(--body);padding:.25rem .7rem;border-radius:999px;font-size:.82rem;font-weight:600;cursor:pointer}.dash-filter-btn:hover{background:var(--soft);color:var(--ink)}.dash-filter-btn-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.dash-filter-btn-active:hover{background:var(--ink);color:var(--paper)}.pay-modal-body{display:flex;flex-direction:column;gap:.75rem}.pay-modal-context{display:flex;flex-direction:column;gap:.35rem;background:var(--soft);border:1px solid var(--rule);border-radius:var(--radius);padding:.6rem .75rem}.pay-modal-meta{font-size:.92rem;color:var(--body);display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.pay-modal-meta strong{color:var(--ink)}.pay-modal-status{font-size:.85rem;color:var(--muted)}.pay-modal-recorded{margin:0;color:var(--body);font-size:.9rem}.pay-modal-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.pay-modal-unpaid{background:transparent;border:1px solid #fca5a5;color:#b91c1c;font-size:.85rem;font-weight:600;padding:.4rem .75rem;border-radius:var(--radius);cursor:pointer;margin-left:auto}.pay-modal-unpaid:hover:not(:disabled){background:#fee2e2}.pay-modal-unpaid:disabled{opacity:.5;cursor:progress}.pay-modal-lifecycle{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--rule)}.pay-modal-lifecycle-title{font-size:.85rem;font-weight:600;margin:0 0 .5rem;color:var(--ink)}.pay-modal-lifecycle-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.pay-modal-lifecycle-error{margin:.5rem 0 0;font-size:.85rem}.pay-modal-lifecycle-hint{margin:.4rem 0 0;font-size:.78rem;line-height:1.4}.dash-row-price{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;font-size:.92rem;white-space:nowrap}.dash-row-price-missing{color:var(--muted);font-weight:400;font-style:italic}.pay-modal-price{font-size:.95rem;color:var(--body);margin-top:.15rem}.pay-modal-price strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem}.pay-modal-price-missing strong{color:var(--muted);font-weight:500;font-style:italic;font-size:.95rem}.pay-modal-change-resource{margin:.4rem 0 .35rem;padding:.5rem .65rem .55rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua);border-radius:var(--radius);background:var(--ww-soft, var(--soft))}.pay-modal-change-resource-label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:.3rem}.pay-modal-change-resource-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.pay-modal-change-resource-row select{flex:1 1 auto;min-width:8rem}.pay-modal-change-resource-hint{margin:.35rem 0 0;font-size:.78rem}.pay-modal-change-resource-current{margin:.15rem 0 .35rem;font-size:.82rem}.pay-modal-change-resource-error{margin:.3rem 0 0;font-size:.82rem}.pay-modal-email-invoice{margin:.4rem 0 .2rem;display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.pay-modal-email-invoice-btn{align-self:flex-start}.pay-modal-email-invoice-note{margin:.2rem 0 0;font-size:.78rem;color:var(--muted)}.pay-modal-email-invoice-error{margin:.2rem 0 0;font-size:.82rem}.dash-reconciled{display:inline-block;margin:0 0 1rem;padding:.4rem .75rem;background:#dcfce7;border:1px solid #86efac;color:#166534;border-radius:var(--radius);font-size:.9rem;font-weight:600}.client-history-section{margin-top:1.5rem}.client-history-subhead{margin:1rem 0 .5rem;font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--ww-navy, var(--ink));letter-spacing:-.005em}.client-history-subhead:first-of-type{margin-top:.25rem}.client-history-row-upcoming{border-left:3px solid var(--ww-aqua, var(--ww-blue, #4aa3c7));background:var(--ww-soft, var(--card))}.client-history-filter{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .85rem;font-size:.9rem;color:var(--body)}.client-history-filter select{font-size:.9rem;padding:.3rem .5rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--ink)}.client-history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.client-history-row{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.client-history-main{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem}.client-history-time,.client-history-price{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;font-size:.92rem}.client-history-price-missing{color:var(--muted);font-weight:400;font-style:italic}.client-history-statuses{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .85rem;margin-left:auto;color:var(--body);font-size:.88rem}.client-history-meta{color:var(--muted);font-size:.88rem}.client-history-meta a{color:var(--muted)}.client-history-meta a:hover{color:var(--ink)}.pack-section{margin-top:1.5rem}.pack-section-header{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.pack-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.6rem}.pack-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.5rem .75rem;padding:.6rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.pack-main{display:flex;flex-direction:column;gap:.2rem;flex:1 1 16rem;min-width:0}.pack-title{font-weight:600;color:var(--ink);font-size:.95rem}.pack-sessions{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;font-size:.9rem}.pack-meta{color:var(--muted);font-size:.85rem}.pack-notes{white-space:pre-wrap;color:var(--body)}.pack-price-missing{font-style:italic}.pack-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.pack-form{display:flex;flex-direction:column;gap:.5rem;padding:.7rem .95rem .8rem;margin:.5rem 0;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.pack-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--body)}.pack-form-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.pack-pill{display:inline-flex;align-items:center;padding:.1rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.5;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;white-space:nowrap}.pack-pill.pack-pill-available{background:var(--ww-soft, #e8f4f8);color:var(--ww-navy, #1a5a82);border-color:var(--ww-aqua, #4aa3c7);font-variant-numeric:tabular-nums}.pay-modal-invoice-loading{margin:0;padding:.4rem 0;font-size:.85rem}.pay-modal-legacy-note{margin:0;padding:.4rem .7rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua);background:var(--ww-soft);border-radius:var(--radius-sm);font-size:.82rem;color:var(--body)}.pay-modal-invoice{display:flex;flex-direction:column;gap:.5rem;padding:.55rem .7rem .65rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ww-soft, var(--soft))}.pay-modal-invoice-totals{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline}.pay-modal-invoice-stat{display:inline-flex;flex-direction:column;gap:.05rem;min-width:0}.pay-modal-invoice-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pay-modal-invoice-stat strong{font-variant-numeric:tabular-nums;font-size:1rem;color:var(--ink)}.pay-modal-outstanding{color:var(--warn, #b91c1c)!important}.pay-modal-fullypaid{color:var(--accent-ink, #075440)!important}.pay-modal-summary{display:grid;grid-template-columns:1fr auto;margin:0;padding:0;gap:.15rem .7rem;font-size:.9rem}.pay-modal-summary-row{display:contents}.pay-modal-summary-row dt{margin:0;color:var(--body)}.pay-modal-summary-row dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.pay-modal-summary-total dt,.pay-modal-summary-total dd{border-top:1px solid var(--rule);padding-top:.25rem;margin-top:.1rem;font-weight:700}.pay-modal-summary-negative{color:#b45309}.pay-modal-summary-meta{font-weight:500}.pay-modal-invoice-items{list-style:none;margin:.5rem 0 0;padding:.5rem 0 0;border-top:1px dashed var(--rule);display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.pay-modal-invoice-item{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:baseline}.pay-modal-invoice-item-desc{color:var(--body)}.pay-modal-invoice-item-amount{font-variant-numeric:tabular-nums;color:var(--ink)}.pay-modal-invoice-item-remove{font:inherit;font-weight:700;font-size:.95rem;line-height:1;width:1.5rem;height:1.5rem;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--muted);cursor:pointer}.pay-modal-invoice-item-remove:hover:not(:disabled){background:var(--soft);color:var(--ink)}.pay-modal-extras{margin-top:.6rem;border-top:1px dashed var(--rule);padding-top:.6rem}.pay-modal-extras-actions{display:flex;gap:.5rem;flex-wrap:wrap}.pay-modal-extras-form{margin-top:.5rem;padding:.6rem .7rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.4rem}.pay-modal-extras-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.pay-modal-discount-mode{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;border:0;padding:0;margin:0}.pay-modal-discount-mode legend{flex-basis:100%;margin-bottom:.15rem;padding:0}.pay-modal-discount-mode label{display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;cursor:pointer}.pay-modal-pack-banner{background:#eff6ff;border:1px solid #bfdbfe;color:#1d3f93;border-radius:var(--radius-sm);padding:.6rem .8rem;margin:.4rem 0;font-size:.92rem}.pay-modal-pack-banner .muted-note{display:block;margin-top:.2rem}.note-modal-multidog-hint{margin:.2rem 0 .4rem;font-size:.85rem;color:var(--muted)}.note-modal-legacy{background:var(--soft);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:.5rem .7rem;margin:.3rem 0 .5rem;font-size:.85rem;color:var(--body)}.note-modal-legacy strong{color:var(--muted)}.note-modal-legacy p{margin:.2rem 0 0;white-space:pre-wrap}.note-dog-tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0}.note-dog-tab{font:inherit;font-size:.85rem;font-weight:600;padding:.3rem .7rem;border:1px solid var(--rule);border-radius:999px;background:var(--card);color:var(--body);cursor:pointer;white-space:nowrap}.note-dog-tab:hover:not(:disabled){background:var(--soft)}.note-dog-tab-active{background:var(--ww-blue, #1d3f93);border-color:var(--ww-blue, #1d3f93);color:#fff}.note-dog-tab-saved{border-color:#6ee7b7}.note-dog-tab-saved.note-dog-tab-active{background:#166534;border-color:#166534}.pay-modal-invoice-payments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem;padding-top:.4rem;border-top:1px dashed var(--rule);font-size:.85rem;color:var(--body)}.pay-modal-invoice-payment-amount{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.pay-modal-invoice-payment-method{text-transform:capitalize}.pay-modal-invoice-payment-note{color:var(--muted);font-style:italic}.pay-modal-invoice-payment{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem}.pay-modal-invoice-payment.voided .pay-modal-invoice-payment-amount{text-decoration:line-through;color:var(--muted)}.pay-modal-invoice-payment.voided{color:var(--muted)}.pay-modal-invoice-payment-void{color:#b45309;font-size:.82rem}.pay-modal-invoice-payment-void-btn{margin-left:auto;font-size:.78rem;padding:.15rem .5rem}.pay-modal-record{display:flex;flex-direction:column;gap:.5rem;padding:.55rem .7rem .65rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.pay-modal-record-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--ink);text-transform:none;letter-spacing:-.005em}.pay-modal-record-row{display:flex;flex-wrap:wrap;gap:.5rem .85rem}.pay-modal-record-row .pay-modal-record-field{flex:1 1 9rem;min-width:0}.pay-modal-record-field{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin:0}.pay-modal-record-field input,.pay-modal-record-field select{font:inherit;font-size:.9rem;color:var(--body);font-weight:400;padding:.4rem .6rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);max-width:100%;width:100%}.pay-modal-record-field input:focus,.pay-modal-record-field select:focus{outline:none;border-color:var(--ww-blue, var(--accent));box-shadow:0 0 0 3px #1f5b942e}.pay-modal-noprice{margin:0;font-size:.85rem}.pay-modal-pack-section{display:flex;flex-direction:column;gap:.4rem;padding-top:.25rem}.pay-modal-pack-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.pay-modal-pack-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper)}.pay-modal-pack-meta{flex:1 1 auto;display:flex;flex-direction:column;gap:.1rem;font-size:.85rem;color:var(--body);min-width:0}.pay-modal-pack-meta strong{color:var(--ink);font-size:.92rem}.pay-modal-pack-action{flex:0 0 auto}.pack-expiry{display:inline-flex;align-items:center;padding:.1rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.5;white-space:nowrap}.pack-expiry-future{background:var(--soft);color:var(--muted)}.pack-expiry-soon{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.pack-expiry-expired,.pack-expired{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.help-page{max-width:960px;margin:0 auto}.help-section{margin-top:1.25rem;padding:.7rem .95rem .8rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.help-section h3{margin:0 0 .55rem;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:-.005em}.help-section ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem;color:var(--body);font-size:.92rem;line-height:1.55}.help-section strong{color:var(--ink)}.help-section code{font-family:var(--font-mono, monospace);font-size:.85em;background:var(--soft);padding:0 .25rem;border-radius:3px}.help-checklist{list-style:none;padding-left:0}.help-checklist li{font-variant-numeric:tabular-nums}.help-section>summary{cursor:pointer;list-style:revert;outline-offset:4px}.help-section>summary h3{display:inline;margin:0;word-break:break-word}.help-section[open]>summary h3{display:block;margin:0 0 .55rem}.help-section>summary:hover h3{color:var(--accent, var(--ink))}.help-quicklinks{margin-top:.85rem;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .35rem;font-size:.92rem}.help-quicklinks a{color:var(--ink);text-decoration:underline;padding:.15rem .1rem}.help-quicklinks a:hover{color:var(--accent, var(--ink))}.help-startguide{margin-top:1rem;padding:.7rem .95rem .85rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--soft, var(--card))}.help-startguide-title{margin:0 0 .45rem;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--ink)}.help-startguide ol{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem;color:var(--body);font-size:.92rem;line-height:1.55}.help-startguide em{color:var(--ink);font-style:normal;font-weight:600}.help-quicklinks-foot{margin-top:1.5rem;padding-top:.75rem;border-top:1px solid var(--rule);font-size:.85rem;color:var(--muted, var(--body))}.help-quicklinks-label{margin-right:.4rem;color:var(--muted, var(--body));font-weight:600}.dt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.6rem .75rem;background:var(--card);border:1px solid var(--rule);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0}.dt-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;font-size:.88rem}.dt-toolbar+.dt-table{border-top:none;border-radius:0 0 var(--radius) var(--radius)}.dt-header{background:var(--ww-bg, var(--soft));color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.dt-header .dt-cell{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--rule)}.dt-row{border-bottom:1px solid var(--rule)}.dt-row:last-child{border-bottom:none}.dt-row:hover{background:var(--ww-bg, var(--soft))}.dt-cell{padding:.5rem .75rem;vertical-align:middle;color:var(--body)}.dt-empty{padding:1.25rem .75rem;text-align:center;color:var(--muted);font-style:italic;font-size:.92rem}.btn-compact{font:inherit;font-size:.82rem;font-weight:600;padding:.3rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--rule);background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease}.btn-compact:hover{background:var(--ww-bg, var(--soft));border-color:var(--rule-strong)}.btn-compact:disabled{opacity:.55;cursor:progress}.btn-compact-primary{background:var(--ww-orange);border-color:var(--ww-orange);color:#fff}.btn-compact-primary:hover{background:#c96a18;border-color:#c96a18}a.btn-compact,a.btn-compact-primary{display:inline-block;text-decoration:none}a.btn-compact-primary,a.btn-compact-primary:hover{color:#fff}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.5;white-space:nowrap;border:1px solid transparent}.chip-info{background:#dbeafe;color:#1d3f93}.chip-success{background:#d1fae5;color:#075440}.chip-warning{background:#fef3c7;color:#8a5a00}.chip-danger{background:#fee2e2;color:#991b1b}.chip-neutral{background:var(--soft);color:var(--body)}.panel{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:.7rem .95rem .8rem}.btn-compact-secondary{font:inherit;font-size:.82rem;font-weight:600;padding:.3rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--ww-blue);background:var(--card);color:var(--ww-blue);cursor:pointer;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn-compact-secondary:hover:not(:disabled){background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}.btn-compact-secondary:disabled{opacity:.55;cursor:not-allowed}a.btn-compact-secondary{display:inline-block;text-decoration:none}a.btn-compact-secondary:hover,a.btn-compact-secondary:hover:not(:disabled){color:#fff;text-decoration:none}.clients-page{display:flex;flex-direction:column;gap:0}.clients-toolbar{align-items:center}.clients-toolbar-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--ink);letter-spacing:-.01em;flex:0 0 auto}.clients-search{flex:1 1 240px;min-width:0;max-width:480px;font:inherit;font-size:.88rem;padding:.4rem .65rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}.clients-search:focus{outline:none;border-color:var(--ww-blue);box-shadow:0 0 0 2px #1f5b9433}.clients-alpha-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;background:var(--card);border:1px solid var(--rule);border-top:none;border-bottom:none}.clients-alpha-toolbar>.clients-alpha{border:none;background:transparent;padding:0;flex:1 1 auto}.clients-alpha-mode{display:inline-flex;align-items:center;gap:.35rem}.clients-alpha-mode-label{font-size:.78rem;color:var(--muted);font-weight:600}.clients-alpha-mode-btn{font:inherit;font-size:.78rem;font-weight:600;padding:.25rem .65rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.clients-alpha-mode-btn:hover{color:var(--ink);background:var(--ww-bg, var(--soft))}.clients-alpha-mode-active{background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}.clients-alpha-mode-active:hover{background:var(--ww-navy);border-color:var(--ww-navy);color:#fff}.clients-alpha{display:flex;flex-wrap:wrap;gap:.15rem;padding:.5rem .75rem;background:var(--card);border:1px solid var(--rule);border-top:none;border-bottom:none}.clients-alpha-btn{font:inherit;font-size:.78rem;font-weight:600;min-width:1.85rem;padding:.25rem .45rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;text-align:center}.clients-alpha-btn:hover{color:var(--ink);background:var(--ww-bg, var(--soft))}.clients-alpha-active{background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}.clients-alpha-active:hover{background:var(--ww-navy);border-color:var(--ww-navy);color:#fff}.clients-toolbar+.clients-alpha+.clients-dt,.clients-toolbar+.clients-alpha-toolbar+.clients-dt{border-top:none;border-radius:0 0 var(--radius) var(--radius)}.clients-dt-row{cursor:pointer}.clients-dt-flag{width:2.25rem;text-align:center;padding-left:.5rem;padding-right:.5rem}.clients-dt-name{font-weight:600;color:var(--ink);text-decoration:none}.clients-dt-name:hover{text-decoration:underline}.clients-imported-pill{display:inline-block;margin-left:.45rem;padding:.05rem .4rem;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:var(--soft);color:var(--muted);border:1px solid var(--rule);border-radius:999px;vertical-align:middle}.clients-archived-pill{display:inline-block;margin-left:.45rem;padding:.05rem .4rem;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;border-radius:999px;vertical-align:middle}.clients-archive-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted);margin-right:.6rem}.clients-dt-email,.clients-dt-phone{color:var(--body);font-variant-numeric:tabular-nums;white-space:nowrap}.clients-alert-icon{font-size:.95rem}.clients-alert-preview{color:var(--muted);font-size:.85rem;max-width:22rem}.clients-dt-patients{color:var(--body);max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clients-dt-patients-empty{color:var(--muted);font-style:italic}.clients-dt-patient-link{color:inherit;text-decoration:none}.clients-dt-patient-link:hover{color:var(--ww-blue, var(--accent-ink));text-decoration:underline;text-underline-offset:2px}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0;border-bottom:1px solid var(--rule);margin:1rem 0 1.25rem}.tab-button{flex:0 0 auto;font:inherit;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:none;border:none;border-bottom:3px solid transparent;color:var(--muted);padding:.65rem 1rem;margin-bottom:-1px;cursor:pointer;white-space:nowrap;transition:color .12s ease,border-color .12s ease}.tab-button:hover{color:var(--ink)}.tab-button-active{color:var(--ink);border-bottom-color:var(--ww-aqua, var(--accent))}.tab-button:focus-visible{outline:2px solid var(--ww-aqua, var(--accent));outline-offset:-2px}.tab-panel-hidden,[role=tabpanel][hidden]{display:none}.dash-dt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.dash-dt{min-width:940px;font-size:.88rem}.dash-dt th,.dash-dt td{padding:.4rem .55rem}.dash-dt-row td{border-bottom:1px solid var(--rule);vertical-align:middle}.dash-dt-time{white-space:nowrap;font-variant-numeric:tabular-nums}.dash-dt-row .dash-dt-time{font-weight:700;color:var(--ink)}.dash-dt-client{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16rem}.dash-dt-client a{color:inherit;text-decoration:none}.dash-dt-client a:hover{text-decoration:underline}.dash-dt-client-phone{display:block;font-weight:400;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.dash-dt-patient{color:var(--body);max-width:14rem}.dash-dt-patient-link{color:inherit;text-decoration:none}.dash-dt-patient-link:hover{color:var(--ww-blue, var(--accent-ink));text-decoration:underline;text-underline-offset:2px}.dash-dt-service{white-space:nowrap}.dash-dt-price{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center}.dash-dt-row .dash-dt-price-missing{color:var(--muted);font-style:italic}.dash-dt-block{text-align:center;white-space:nowrap}.dash-dt th.dash-dt-price,.dash-dt td.dash-dt-price,.dash-dt th.dash-dt-block,.dash-dt td.dash-dt-block,.dash-dt th.dash-dt-action-cell,.dash-dt td.dash-dt-action-cell{text-align:center}.dash-dt-action{font:inherit;font-size:1rem;line-height:1;background:var(--card);border:1px solid var(--rule-strong);color:var(--ink);border-radius:var(--radius-sm);padding:.3rem .5rem;cursor:pointer;min-width:2.4rem;text-align:center;box-shadow:var(--shadow-xs);transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.dash-dt-action:hover:not(:disabled){background:var(--ww-soft);border-color:var(--ww-blue)}.dash-dt-action:disabled{opacity:.55;cursor:progress}.dash-dt-action-on{background:#ecfdf5;border-color:#6ee7b7;box-shadow:inset 0 2px #34d399}.dash-dt-action-off{background:var(--card);border-color:var(--rule-strong)}.dash-dt-action-pack{background:#eff6ff;border-color:#bfdbfe;box-shadow:inset 0 2px #60a5fa}.dash-dt-action-note-saved{border-color:var(--ww-aqua, var(--accent))}.dash-dt-extras{background:var(--ww-soft)}.dash-dt-extras-cell{padding:.4rem .6rem .7rem;border-left:3px solid var(--ww-aqua);border-bottom:1px solid var(--rule)}.dash-dt-extras-cell>:first-child{margin-top:0}.dash-dt-extras-cell .client-alert{margin-top:.4rem}.dash-dt-extras-cell .dash-row-note-preview,.dash-dt-extras-cell .booking-toggle-error{margin-top:.3rem}.dash-dt-row-alert>.dt-cell{background:#fff8eb}.dash-dt-row-alert:hover>.dt-cell{background:#fff2dc}.dash-dt-extras-alert .dash-dt-extras-cell{background:#fff8eb;border-left-color:#d97706}.dash-row-alert-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-top:.35rem;font-size:.88rem;line-height:1.35}.dash-row-alert-tag{font-weight:600;color:#92400e;white-space:nowrap}.dash-row-alert-text{color:var(--ink)}.dash-dt-condition-list{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.15rem}.dash-dt-condition{font-size:.82rem;line-height:1.35;color:var(--ww-navy, var(--body))}.dash-dt-condition-dog{font-weight:600;color:var(--ink)}.dash-row-condition-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-top:.35rem;font-size:.88rem;line-height:1.35}.dash-row-condition-tag{font-weight:600;color:var(--ww-navy, #1d3f93);white-space:nowrap}.dash-row-condition-text{color:var(--ink)}.series-pill,.override-pill,.imported-pill,.completed-pill{display:inline-block;margin-left:.4rem;padding:.05rem .45rem;font-size:.7rem;font-weight:600;letter-spacing:.02em;border-radius:999px;vertical-align:middle;white-space:nowrap}.series-pill{background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}.override-pill{background:#fff7ed;color:#9a3412;border:1px solid #fdba74;text-transform:uppercase}.imported-pill{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.completed-pill{background:#ecfeff;color:#155e75;border:1px solid #a5f3fc}.day-booking-row-historical{opacity:.78}.day-booking-row-historical .day-booking-owner,.day-booking-row-historical .day-booking-dogs,.day-booking-row-historical .day-booking-phone{color:var(--muted)}.dash-book-repeat{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .7rem;margin:.6rem 0 .4rem}.dash-book-repeat-note{grid-column:1 / -1;margin:0}.dash-book-override{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;font-size:.85rem;cursor:pointer;color:var(--body)}.dash-book-override-pill{display:inline-block;margin-left:.6rem;padding:.1rem .5rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#fff7ed;color:#9a3412;border:1px solid #fdba74;border-radius:999px}.clients-count{margin:.6rem 0 0;font-size:.82rem}body:has(.ww-nav) .hm-col-header-selected{background:var(--ww-blue);box-shadow:inset 0 -3px 0 var(--ww-aqua)}body:has(.ww-nav) .hm-col-header-selected:hover:not(:disabled){background:var(--ww-blue)}body:has(.ww-nav) .hm-col-header:hover:not(:disabled){background:var(--ww-soft);color:var(--ww-navy)}body:has(.ww-nav) .hm-cell-open:hover{background:var(--ww-soft)}body:has(.ww-nav) .hm-cell-selected{background:var(--ww-soft);box-shadow:inset 0 0 0 2px var(--ww-blue)}body:has(.ww-nav) li.day-block-selected{background:var(--ww-soft);border-color:var(--ww-blue)}body:has(.ww-nav) .day-block-time{color:var(--ww-navy)}body:has(.ww-nav) ul.metrics li:before{background:var(--ww-blue)}body:has(.ww-nav) ul.source-breakdown .source-bar{background:var(--ww-blue)}body:has(.ww-nav) .cal-modal-toolbar{background:var(--ww-soft)}body:has(.ww-nav) .pay-modal-context{background:var(--ww-soft)}body:has(.ww-nav) .pay-modal-pack-row{background:var(--ww-soft)}body:has(.ww-nav) .note-textarea{background:var(--card)}body:has(.ww-nav) .note-textarea:focus{border-color:var(--ww-blue);box-shadow:0 0 0 3px #1f5b942e}body:has(.ww-nav) .note-previous-item{background:var(--ww-soft)}body:has(.ww-nav) .client-history-filter select{background:var(--card)}.cal-notes{margin:0 0 .9rem;padding:.55rem .75rem .65rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua);border-radius:var(--radius);background:var(--ww-soft, var(--soft))}.cal-notes.cal-notes-has-notes{border-left-width:5px;background:color-mix(in srgb,var(--ww-soft, var(--soft)) 70%,var(--ww-aqua, #4aa3c7) 12%)}.cal-notes-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.cal-notes-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:-.005em;color:var(--ink)}.cal-notes-add{flex:0 0 auto}.cal-notes-error{margin:0 0 .4rem;font-size:.82rem}.cal-notes-empty{margin:0;color:var(--muted);font-size:.85rem;font-style:italic}.cal-notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.cal-note{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:.45rem .6rem .55rem}.cal-note-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-bottom:.25rem;font-size:.82rem}.cal-note-time{font-family:var(--font-mono);font-weight:600;color:var(--ww-navy, var(--ink));font-variant-numeric:tabular-nums}.cal-note-edit-btn{margin-left:auto;background:transparent;border:1px solid transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-sm);cursor:pointer}.cal-note-edit-btn:hover{color:var(--ww-blue, var(--ink));border-color:var(--ww-blue, var(--rule));background:var(--card)}.cal-note-body{color:var(--body);font-size:.9rem;line-height:1.4;white-space:pre-wrap}.cal-note-form{display:flex;flex-direction:column;gap:.5rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:.6rem .7rem .7rem}.cal-note-form-field{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin:0}.cal-note-form-body{font:inherit;font-size:.9rem;line-height:1.4;padding:.5rem .6rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);resize:vertical;min-height:4.5rem;max-width:100%;width:100%}.cal-note-form-body:focus{outline:none;border-color:var(--ww-blue, var(--accent));box-shadow:0 0 0 3px #1f5b942e}.cal-note-form-row{display:flex;flex-wrap:wrap;gap:.5rem .85rem}.cal-note-form-row .cal-note-form-field{flex:1 1 9rem;min-width:0}.cal-note-form-row select{font-size:.88rem;max-width:100%}.cal-note-form-error{margin:0;font-size:.82rem}.cal-note-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.cal-note-form-delete{margin-left:auto;border-color:#fca5a5;color:#b91c1c}.cal-note-form-delete:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c}.cal-available-summary{margin:0 0 .9rem;padding:.55rem .75rem .65rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua);border-radius:var(--radius);background:var(--ww-soft, var(--soft))}.cal-available-summary-title{margin:0 0 .4rem;font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:-.005em;color:var(--ink)}.cal-available-summary-empty{margin:0;color:var(--muted);font-size:.85rem;font-style:italic}.cal-available-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.cal-available-summary-row{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.cal-available-summary-resource{flex:0 0 auto;align-self:flex-start}.cal-available-summary-times{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:.25rem .35rem;min-width:0}.cal-available-summary-time{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);background:var(--card, #fff);color:var(--ink);border-radius:999px;padding:.15rem .55rem;font-size:.82rem;line-height:1.4;cursor:pointer;transition:background .12s ease,border-color .12s ease}.cal-available-summary-time:hover,.cal-available-summary-time:focus-visible{background:color-mix(in srgb,var(--ww-soft, var(--soft)) 40%,#fff 60%);border-color:var(--ww-aqua, #4aa3c7);outline:none}@media (max-width: 640px){.cal-available-summary-row{gap:.35rem}.cal-available-summary-time{font-size:.78rem;padding:.12rem .5rem}}.ledger-section{margin-bottom:1.25rem}.ledger-section-head{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin-bottom:.45rem}.ledger-section-head h3{margin:0}.ledger-section-note{font-size:.78rem;text-transform:none;letter-spacing:0;font-weight:500}.ledger-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1.25rem;align-items:baseline;margin:0 0 .75rem;padding:.7rem .95rem .8rem}.ledger-summary-item{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ledger-summary-label{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.ledger-summary-value{font-weight:600;font-size:1.15rem;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ledger-summary-meta{color:var(--muted);font-size:.78rem;font-weight:400;line-height:1.35}.ledger-summary-item-strong .ledger-summary-value{color:var(--ww-navy, var(--ink))}.ledger-noprice-warning{margin:0 0 .6rem;padding:.4rem .7rem;border:1px solid #fde68a;border-left:3px solid #d97706;background:#fffbeb;border-radius:var(--radius-sm);color:#78350f;font-size:.85rem}.ledger-filter-note{margin:0 0 .6rem;padding:.4rem .7rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua, var(--accent));background:var(--ww-soft, var(--soft));border-radius:var(--radius-sm);color:var(--body);font-size:.85rem}.ledger-filter-note strong{color:var(--ink)}.ledger-section-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin:.4rem 0 .7rem}.ledger-section-filter-label{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ledger-section-filter-select{min-width:11rem}.ledger-section-filter-help{flex:1 1 18rem;line-height:1.35}.ledger-retail-note{margin:0 0 .6rem;padding:.4rem .7rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua);background:var(--ww-soft);border-radius:var(--radius-sm);color:var(--body);font-size:.85rem}.ledger-retail-note strong{color:var(--ink);font-variant-numeric:tabular-nums}.ledger-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.ledger-table{min-width:760px;font-size:.86rem}.ledger-table th,.ledger-table td{padding:.4rem .6rem}.ledger-row td{border-bottom:1px solid var(--rule);vertical-align:middle}.ledger-col-date{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--body)}.ledger-col-type{white-space:nowrap;font-weight:600;color:var(--ink)}.ledger-col-patient{white-space:nowrap;max-width:10rem;overflow:hidden;text-overflow:ellipsis;color:var(--body)}.ledger-col-desc{color:var(--body);max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-table th.ledger-col-amount,.ledger-table td.ledger-col-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-amount-empty{color:var(--muted)}.ledger-col-status{white-space:nowrap}@media (max-width: 720px){.ledger-summary{grid-template-columns:1fr 1fr;gap:.55rem 1rem}}.water-tests-page{display:flex;flex-direction:column;gap:0}.equipment-maintenance{margin:1.5rem 0 .5rem;padding:.75rem .9rem .9rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua);border-radius:var(--radius);background:var(--ww-soft, var(--soft))}.equipment-maintenance-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.equipment-maintenance-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--ink)}.equipment-maintenance-hint{margin:0 0 .65rem;font-size:.82rem}.equipment-maintenance-form{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.75rem;padding:.6rem .7rem .75rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius)}.equipment-maintenance-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem;color:var(--body)}.equipment-maintenance-form-row{display:flex;flex-wrap:wrap;gap:.55rem}.equipment-maintenance-form-row label{flex:1 1 12rem;min-width:10rem}.equipment-maintenance-form-actions{display:flex;gap:.45rem;flex-wrap:wrap}.equipment-maintenance-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.equipment-maintenance-item{border:1px solid var(--rule);border-radius:var(--radius);padding:.5rem .65rem;background:var(--card, #fff);display:flex;flex-direction:column;gap:.25rem}.equipment-maintenance-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.equipment-maintenance-item-date{font-weight:600;color:var(--ink);font-size:.9rem}.equipment-maintenance-item-equipment{color:var(--muted);font-size:.85rem}.equipment-maintenance-item-work{color:var(--body);font-size:.9rem;line-height:1.4}.equipment-maintenance-item-meta{font-size:.78rem}.equipment-maintenance-item-notes{color:var(--body);font-size:.85rem;line-height:1.45;white-space:pre-wrap;border-top:1px solid var(--rule);padding-top:.3rem;margin-top:.15rem}.equipment-maintenance-showall{margin-top:.55rem}@media (max-width: 640px){.equipment-maintenance-form-row label{flex-basis:100%}}.water-tests-toolbar{align-items:center}.water-tests-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--ink);letter-spacing:-.01em;flex:0 0 auto}.water-tests-filter{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin:0}.water-tests-filter select{font-size:.85rem;padding:.3rem 1.85rem .3rem .55rem;min-width:9rem;max-width:14rem;width:auto}.water-tests-filter-label{white-space:nowrap}.water-tests-add{margin-left:auto}.water-tests-form{margin:.5rem 0 1rem;display:flex;flex-direction:column;gap:.55rem}.water-tests-form-title{margin:0 0 .25rem;font-size:.95rem;font-family:var(--font-display);font-weight:600;color:var(--ink);letter-spacing:-.005em;text-transform:none}.water-tests-form-row{display:flex;flex-wrap:wrap;gap:.5rem .85rem}.water-tests-form-row .water-tests-form-field{flex:1 1 9rem;min-width:0}.water-tests-form-field{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin:0}.water-tests-form-field input,.water-tests-form-field select,.water-tests-form-field textarea{font:inherit;font-size:.9rem;color:var(--body);font-weight:400;padding:.4rem .6rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background-color:var(--card);max-width:100%;width:100%}.water-tests-form-field select{padding-right:1.85rem}.water-tests-form-field textarea{resize:vertical;min-height:4rem}.water-tests-form-field input:focus,.water-tests-form-field select:focus,.water-tests-form-field textarea:focus{outline:none;border-color:var(--ww-blue, var(--accent));box-shadow:0 0 0 3px #1f5b942e}.water-tests-form-error{margin:0;font-size:.82rem}.water-tests-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.water-tests-form-delete{margin-left:auto;border-color:#fca5a5;color:#b91c1c}.water-tests-form-delete:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c}.water-tests-empty{margin-top:.85rem}.water-tests-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:.5rem}.water-tests-table{min-width:880px;font-size:.86rem}.water-tests-table th,.water-tests-table td{padding:.4rem .6rem}.water-tests-row td{border-bottom:1px solid var(--rule);vertical-align:middle}.water-tests-col-date{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--body)}.water-tests-col-equipment{white-space:nowrap}.water-tests-table th.water-tests-col-reading,.water-tests-table td.water-tests-col-reading{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.water-tests-col-notes{color:var(--body);max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.water-tests-col-by{white-space:nowrap;color:var(--muted)}.water-tests-table th.water-tests-col-action,.water-tests-table td.water-tests-col-action{text-align:right;white-space:nowrap;width:1%}.water-tests-edit-btn{font-size:.78rem;padding:.2rem .6rem}.retail-page{display:flex;flex-direction:column;gap:0}.retail-toolbar{align-items:center}.retail-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--ink);letter-spacing:-.01em;flex:0 0 auto}.retail-filter{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin:0}.retail-filter select{font-size:.85rem;padding:.3rem 1.85rem .3rem .55rem;min-width:9rem;max-width:14rem;width:auto}.retail-filter-label{white-space:nowrap}.retail-manage-btn{margin-left:auto}.retail-products-panel{margin:.5rem 0 1rem;display:flex;flex-direction:column;gap:.55rem}.retail-products-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.retail-products-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--ink);text-transform:none;letter-spacing:-.005em}.retail-products-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.retail-product-row{display:flex;align-items:center;gap:.65rem;padding:.4rem .6rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm)}.retail-product-inactive{opacity:.65}.retail-product-name{font-weight:600;color:var(--ink);flex:1 1 auto;min-width:0}.retail-product-price{font-variant-numeric:tabular-nums;color:var(--body);font-size:.88rem}.retail-product-edit{margin-left:auto;font-size:.78rem;padding:.2rem .6rem}.retail-product-form{display:flex;flex-direction:column;gap:.5rem;padding:.55rem .7rem .65rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-sm)}.retail-product-form-row{display:flex;flex-wrap:wrap;gap:.5rem .85rem;align-items:flex-end}.retail-product-form-row .retail-form-field{flex:1 1 9rem;min-width:0}.retail-product-active{flex:0 0 auto;flex-direction:row;align-items:center;gap:.4rem;font-size:.85rem;color:var(--body);font-weight:500}.retail-product-active input{width:auto;max-width:none;margin:0;box-shadow:none}.retail-sale-form{margin:.5rem 0 1rem;display:flex;flex-direction:column;gap:.55rem}.retail-form-title{margin:0 0 .25rem;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--ink);letter-spacing:-.005em;text-transform:none}.retail-form-row{display:flex;flex-wrap:wrap;gap:.5rem .85rem}.retail-form-row .retail-form-field{flex:1 1 12rem;min-width:0}.retail-form-field{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin:0}.retail-form-field input,.retail-form-field select,.retail-form-field textarea{font:inherit;font-size:.9rem;color:var(--body);font-weight:400;padding:.4rem .6rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);max-width:100%;width:100%}.retail-form-field textarea{resize:vertical;min-height:3rem}.retail-form-field input:focus,.retail-form-field select:focus,.retail-form-field textarea:focus{outline:none;border-color:var(--ww-blue, var(--accent));box-shadow:0 0 0 3px #1f5b942e}.retail-form-error{margin:0;font-size:.82rem}.retail-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.retail-form-delete{margin-left:auto;border-color:#fca5a5;color:#b91c1c}.retail-form-delete:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c}.retail-lines{display:flex;flex-direction:column;gap:.4rem;padding:.55rem .7rem .65rem;background:var(--ww-soft, var(--soft));border:1px solid var(--rule);border-radius:var(--radius-sm)}.retail-lines-title{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.retail-line{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(8rem,2fr) 4.5rem 5.5rem 5rem 1.6rem;gap:.4rem;align-items:center}.retail-line input,.retail-line select{font:inherit;font-size:.85rem;padding:.3rem .5rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);max-width:100%;width:100%}.retail-line input:focus,.retail-line select:focus{outline:none;border-color:var(--ww-blue, var(--accent));box-shadow:0 0 0 2px #1f5b942e}.retail-line-total{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);font-size:.88rem}.retail-line-remove{background:transparent;border:1px solid var(--rule);color:var(--muted);width:1.6rem;height:1.6rem;border-radius:var(--radius-sm);font-size:1rem;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.retail-line-remove:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.retail-line-add{align-self:flex-start;font-size:.8rem;padding:.25rem .65rem}.retail-sale-total{text-align:right;font-size:.95rem;color:var(--body);padding-top:.2rem;border-top:1px dashed var(--rule)}.retail-sale-total strong{color:var(--ink);font-variant-numeric:tabular-nums}.retail-empty{margin-top:.85rem}.retail-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:.5rem}.retail-table{min-width:880px;font-size:.86rem}.retail-table th,.retail-table td{padding:.4rem .6rem}.retail-row td{border-bottom:1px solid var(--rule);vertical-align:middle}.retail-col-date{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--body)}.retail-col-client{white-space:nowrap;font-weight:600;color:var(--ink);max-width:12rem;overflow:hidden;text-overflow:ellipsis}.retail-col-patient{white-space:nowrap;color:var(--body);max-width:10rem;overflow:hidden;text-overflow:ellipsis}.retail-col-items{color:var(--body);max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retail-col-tender{white-space:nowrap;color:var(--body);width:1%}.retail-table th.retail-col-amount,.retail-table td.retail-col-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.retail-table th.retail-col-action,.retail-table td.retail-col-action{text-align:right;white-space:nowrap;width:1%}.retail-row-edit{font-size:.78rem;padding:.2rem .6rem}@media (max-width: 720px){.retail-line{grid-template-columns:1fr 1fr 4rem;grid-template-areas:"product product product" "desc desc remove" "qty price total"}.retail-line-product{grid-area:product}.retail-line-desc{grid-area:desc}.retail-line-qty{grid-area:qty}.retail-line-price{grid-area:price}.retail-line-total{grid-area:total}.retail-line-remove{grid-area:remove;justify-self:end}}.reports-page{display:flex;flex-direction:column;gap:0}.reports-toolbar{align-items:center}.reports-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--ink);letter-spacing:-.01em;flex:0 0 auto}.reports-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem;margin:.6rem 0 .85rem}.reports-type-card{text-align:left;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:.55rem .75rem .65rem;display:flex;flex-direction:column;gap:.2rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.reports-type-card:hover{border-color:var(--ww-blue, var(--rule-strong))}.reports-type-card-active{border-color:var(--ww-blue);background:var(--ww-soft, var(--soft));box-shadow:inset 0 0 0 1px var(--ww-blue)}.reports-type-label{font-weight:600;color:var(--ink);font-size:.92rem}.reports-type-blurb{color:var(--muted);font-size:.78rem;line-height:1.35}.reports-range{margin:0 0 .85rem;display:flex;flex-direction:column;gap:.55rem;padding:.7rem .95rem .8rem}.reports-range-presets{display:flex;flex-wrap:wrap;gap:.35rem}.reports-range-preset{font:inherit;font-size:.82rem;font-weight:600;background:var(--card);border:1px solid var(--rule);color:var(--body);padding:.25rem .7rem;border-radius:999px;cursor:pointer}.reports-range-preset:hover{border-color:var(--ww-blue);color:var(--ww-blue)}.reports-range-preset-active{background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}.reports-range-preset-active:hover{background:var(--ww-navy);border-color:var(--ww-navy);color:#fff}.reports-range-custom{display:flex;flex-wrap:wrap;gap:.4rem .85rem;align-items:end}.reports-range-field{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin:0}.reports-range-field input{font:inherit;font-size:.88rem;color:var(--body);font-weight:400;padding:.3rem .55rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);width:auto}.reports-run-btn{align-self:flex-end;margin-left:auto}.reports-result-head{display:flex;align-items:baseline;gap:.85rem;margin:.6rem 0 .4rem}.reports-result-head h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--ink);text-transform:none;letter-spacing:-.005em}.reports-result-range{font-size:.82rem}.reports-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.55rem 1rem;align-items:baseline;margin:0 0 .75rem;padding:.7rem .95rem .8rem}.reports-summary-item{display:flex;flex-direction:column;gap:.1rem;min-width:0}.reports-summary-label{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.reports-summary-value{font-weight:600;font-size:1.05rem;color:var(--ink);font-variant-numeric:tabular-nums}.reports-summary-meta{color:var(--muted);font-size:.78rem;font-weight:400}.reports-as-of{margin:0 0 .6rem;font-size:.82rem}.reports-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:.4rem}.reports-table{min-width:760px;font-size:.85rem}.reports-table th,.reports-table td{padding:.4rem .6rem}.reports-table tbody tr{border-bottom:1px solid var(--rule)}.reports-table tbody tr:last-child{border-bottom:none}.reports-col-date,.reports-col-phone{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--body)}.reports-table th.reports-col-amount,.reports-table td.reports-col-amount,.reports-table th.reports-col-num,.reports-table td.reports-col-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.reports-col-notes{max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reports-col-alert{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b3b00;font-size:.82rem}.client-dog-row{align-items:flex-start;transition:border-color .6s ease,background-color .6s ease}.client-dog-row-flash{border-color:var(--ww-blue);background-color:var(--ww-soft, var(--soft))}.client-dog-main{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.client-dog-thumb{flex:0 0 auto;width:3rem;height:3rem;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:1.4rem;overflow:hidden;border:1px solid var(--rule)}.client-dog-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.client-dog-body{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1 1 auto}.client-dog-portal{margin-top:.35rem;padding:.4rem .6rem;border-left:3px solid var(--ww-aqua, var(--accent));background:var(--ww-soft, var(--soft));border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.15rem}.client-dog-portal-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ww-navy, var(--muted));margin-bottom:.1rem}.client-dog-staff-fields,.client-dog-portal-fields{margin:.6rem 0;padding:.55rem .75rem .7rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.client-dog-portal-fields{border-left:3px solid var(--ww-aqua, var(--accent))}.client-dog-staff-fields legend,.client-dog-portal-fields legend{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--ww-navy, var(--ink));padding:0 .35rem}.client-dog-staff-hint,.client-dog-portal-hint{margin:0 0 .4rem;font-size:.8rem;line-height:1.4}.client-dog-photo-preview{margin:.2rem 0 .6rem;display:flex;justify-content:flex-start}.client-dog-photo-preview img{width:5.5rem;height:5.5rem;object-fit:cover;border-radius:var(--radius);border:1px solid var(--rule);background:var(--soft)}.client-portal-panel{margin:1rem 0 0;padding:.7rem .95rem .8rem;border:1px solid var(--rule);border-left:3px solid var(--ww-aqua);border-radius:var(--radius);background:var(--ww-soft, var(--soft));display:flex;flex-direction:column;gap:.5rem}.client-portal-panel-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.client-portal-panel-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--ink);text-transform:none;letter-spacing:-.005em}.client-portal-panel-note{margin:0;font-size:.82rem;line-height:1.4}.client-portal-panel-meta{margin:0;font-size:.82rem}.client-portal-link-block{display:flex;flex-direction:column;gap:.4rem;padding:.55rem .7rem .65rem;border:1px solid var(--ww-rule);background:var(--card);border-radius:var(--radius-sm)}.client-portal-link-url{font-family:var(--font-mono);font-size:.82rem;color:var(--ink);background:var(--ww-soft);padding:.35rem .5rem;border-radius:var(--radius-sm);word-break:break-all;display:block;white-space:pre-wrap}.client-portal-link-actions{display:flex;gap:.5rem;flex-wrap:wrap}.client-portal-panel-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.1rem}.client-portal-revoke{border-color:#fca5a5;color:#b91c1c;margin-left:auto}.client-portal-revoke:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c;color:#7f1d1d}.portal-page{max-width:32rem;margin:0 auto;padding:1.25rem 1rem 3rem;display:flex;flex-direction:column;gap:.85rem;font-size:1rem;color:var(--body)}.portal-header{text-align:center;margin:0 0 .5rem}.portal-brand{margin:0;font-family:var(--font-brand);font-weight:600;font-size:1.65rem;letter-spacing:-.005em;color:var(--ww-navy, var(--ink))}.portal-subtitle{margin:.15rem 0 0;color:var(--muted);font-size:.95rem}.portal-status{text-align:center;color:var(--muted);font-style:italic;margin:1rem 0}.portal-greeting{margin:0;color:var(--body);font-size:.95rem;line-height:1.5;text-align:center}.portal-section-heading{margin:.5rem 0 0;font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--ink);letter-spacing:-.005em}.portal-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1rem 1rem 1.1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.7rem}.portal-book-cta{display:inline-block;margin:.5rem 0 0;padding:.85rem 1.1rem;background:var(--ww-blue, #2776a8);color:#fff;font-family:var(--font-display);font-weight:600;font-size:1rem;text-align:center;text-decoration:none;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.portal-book-cta:hover,.portal-book-cta:focus{background:var(--ww-navy, #1a5a82);color:#fff;text-decoration:none}.portal-card-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--ink);letter-spacing:-.005em}.portal-section-title{margin:.4rem 0 0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--muted)}.portal-form .portal-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;margin:0}.portal-field input,.portal-field textarea{font:inherit;font-size:1rem;color:var(--ink);font-weight:400;padding:.65rem .8rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);width:100%;max-width:100%;box-sizing:border-box}.portal-field textarea{resize:vertical;min-height:3.5rem;line-height:1.45}.portal-waiver-paragraph{margin:0 0 .55rem;font-size:.95rem;line-height:1.5;color:var(--body)}.portal-waiver-check{display:flex;align-items:flex-start;gap:.5rem;font-size:.95rem;line-height:1.4;margin:.25rem 0 .5rem;cursor:pointer}.portal-waiver-check input[type=checkbox]{margin-top:.2rem;flex:0 0 auto}.portal-waiver-accepted{border-left:3px solid var(--ww-aqua, var(--ww-blue, #4aa3c7))}.portal-reminder-group{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.portal-reminder-group legend{padding:0;margin-bottom:.4rem}.portal-reminder-option{display:flex;align-items:flex-start;gap:.55rem;font-size:.95rem;line-height:1.4;cursor:pointer}.portal-reminder-option input[type=radio]{margin-top:.25rem;flex:0 0 auto}.portal-field input:focus,.portal-field textarea:focus{outline:none;border-color:var(--ww-aqua, var(--accent));box-shadow:0 0 0 3px #4ea8cc40}.portal-readonly{background:var(--soft)!important;color:var(--muted)!important;cursor:not-allowed}.portal-field-hint{font-size:.8rem;font-weight:400;color:var(--muted);line-height:1.4}.portal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.portal-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.2rem}.portal-save{font:inherit;font-size:1rem;font-weight:600;padding:.65rem 1.2rem;border-radius:var(--radius);border:1px solid var(--ww-aqua);background:var(--ww-aqua);color:#fff;cursor:pointer;transition:background .12s ease,border-color .12s ease;flex:1 1 auto;min-width:12rem}.portal-save:hover:not(:disabled){background:var(--ww-blue);border-color:var(--ww-blue)}.portal-save:disabled{opacity:.6;cursor:progress}.portal-saved-flash{color:var(--accent-ink, var(--ink));font-weight:600;font-size:.9rem}.portal-error{margin:0;color:var(--danger);font-size:.9rem}.portal-error-card{text-align:center;align-items:center}.portal-empty{margin:0;color:var(--muted);font-size:.95rem}.portal-add-dog-intro{margin:0 0 .25rem;color:var(--muted);font-size:.95rem;line-height:1.45}.portal-dog-header{display:flex;align-items:center;gap:.85rem}.portal-dog-avatar{width:4rem;height:4rem;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:1.8rem;overflow:hidden;flex:0 0 auto}.portal-dog-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.portal-dog-heading{display:flex;flex-direction:column;gap:.1rem;min-width:0}.portal-dog-meta{font-size:.85rem;color:var(--muted)}.portal-photo-upload{display:flex;flex-direction:column;gap:.45rem}.portal-photo-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--ww-aqua, var(--accent));border-radius:var(--radius);background:var(--card);color:var(--ww-navy, var(--ink));font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;text-align:center;width:100%;transition:background .12s ease,border-color .12s ease,color .12s ease}.portal-photo-button:hover{background:var(--ww-soft, var(--soft))}.portal-photo-button:has(input:disabled){opacity:.6;cursor:progress}.portal-photo-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portal-photo-hint{margin:0;font-size:.8rem;color:var(--muted);line-height:1.4}.portal-photo-fallback{margin-top:.4rem;padding:.55rem .7rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--soft)}.portal-photo-fallback summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--ww-navy, var(--ink));list-style:none}.portal-photo-fallback summary::-webkit-details-marker{display:none}.portal-photo-fallback summary:before{content:"▸";display:inline-block;margin-right:.4rem;transform:translateY(-1px);transition:transform .12s ease;color:var(--muted)}.portal-photo-fallback[open] summary:before{transform:rotate(90deg) translate(-1px)}.portal-photo-fallback .portal-field{margin-top:.5rem}.portal-request-toggle{align-self:flex-start;margin-top:.4rem;padding:.4rem .65rem;font:inherit;font-size:.85rem;font-weight:600;border:1px solid var(--ww-blue, var(--rule-strong));border-radius:var(--radius-sm);background:var(--card);color:var(--ww-blue, var(--ink));cursor:pointer}.portal-request-toggle:hover,.portal-request-toggle:focus-visible{background:var(--ww-soft, var(--card));outline:none}.portal-request-form{display:flex;flex-direction:column;gap:.55rem;margin-top:.55rem;padding:.7rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.portal-request-type{display:flex;flex-direction:column;gap:.3rem;border:0;padding:0;margin:0}.portal-request-type legend{font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:.15rem;padding:0}.portal-request-type label{font-size:.92rem;display:flex;align-items:center;gap:.4rem}.portal-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}@media (max-width: 540px){.portal-request-grid{grid-template-columns:1fr}}.portal-request-field{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--muted)}.portal-request-field input,.portal-request-field textarea{font:inherit;font-weight:500;color:var(--ink);padding:.45rem .55rem;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--paper, var(--card))}.portal-request-success{margin-top:.4rem;padding:.55rem .75rem;background:var(--ww-soft, var(--soft));border:1px solid var(--ww-aqua, var(--rule-strong));border-radius:var(--radius);color:var(--ink);font-size:.9rem}.portal-request-pending{margin-top:.4rem;padding:.55rem .75rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius);color:#78350f;font-size:.9rem;line-height:1.4}.portal-availability{display:flex;flex-direction:column;gap:.45rem}.portal-slot-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.4rem}.portal-slot-button{width:100%;padding:.45rem .5rem;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--paper, var(--card));color:var(--ink);font:inherit;font-weight:500;cursor:pointer;text-align:center}.portal-slot-button:hover:not(:disabled),.portal-slot-button:focus-visible:not(:disabled){background:var(--ww-soft, var(--soft));outline:none}.portal-slot-button:disabled{cursor:not-allowed;opacity:.55}.portal-slot-button.selected{background:var(--ww-aqua, var(--ink));color:#fff;border-color:var(--ww-aqua, var(--ink))}.portal-slot-summary{margin:.2rem 0 0;padding:.45rem .6rem;background:var(--ww-soft, var(--soft));border:1px solid var(--ww-aqua, var(--rule-strong));border-radius:var(--radius-sm);font-size:.9rem;color:var(--ink)}.portal-bookings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.portal-booking-row{padding:.5rem .7rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--soft)}.portal-booking-when{font-weight:600;color:var(--ink);font-size:.95rem}.portal-booking-meta{margin-top:.2rem;color:var(--body);font-size:.88rem}.portal-packs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.portal-pack-row{padding:.5rem .7rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--soft)}.portal-pack-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem .6rem;color:var(--ink);font-size:.95rem}.portal-pack-meta{margin-top:.2rem;color:var(--body);font-size:.88rem}.portal-privacy{text-align:center;margin:.5rem 0 0;color:var(--muted);font-size:.85rem;font-style:italic}@media (max-width: 480px){.portal-field-row{grid-template-columns:1fr;gap:.7rem}.portal-page{padding:1rem .85rem 2.5rem}}.admin-data{display:flex;flex-direction:column;gap:1.25rem}.admin-data-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.admin-data-header h2{margin:0}.admin-data-pitch{background:var(--ww-soft, var(--soft));border:1px solid var(--rule);border-radius:var(--radius);padding:.85rem 1rem}.admin-data-pitch p{margin:.3rem 0}.admin-data-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.1rem}.admin-data-card h3{margin:0 0 .35rem}.admin-data-card h4{margin:.75rem 0 .4rem}.admin-data-export-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:.45rem}.admin-data-export-list li{display:grid;grid-template-columns:minmax(11rem,max-content) 1fr;align-items:center;gap:.7rem}.admin-data-export-list button{width:100%}.admin-data-import-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.6rem 0 .5rem}.admin-data-import-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}.admin-data-import-paste{display:flex;flex-direction:column;font-weight:600;font-size:.85rem;gap:.3rem;margin-bottom:.6rem}.admin-data-import-paste textarea{font:inherit;font-family:var(--mono, monospace);font-size:.78rem;font-weight:400;padding:.5rem .6rem;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);white-space:pre;overflow:auto}.admin-data-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0}.admin-data-result{background:#ecfdf5;border:1px solid #6ee7b7;color:#064e3b;border-radius:var(--radius-sm);padding:.7rem .9rem;margin-top:.6rem}.admin-data-result ul{margin:.4rem 0 0;padding-left:1.1rem}.admin-data-preview{margin-top:.85rem;border-top:1px solid var(--rule);padding-top:.85rem}.admin-data-summary{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.25rem .85rem;font-size:.88rem}.admin-data-rows{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:24rem;overflow-y:auto}.admin-data-row{display:grid;grid-template-columns:9rem 1fr;gap:.5rem;font-size:.85rem;padding:.35rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--rule);background:var(--card)}.admin-data-row-tag{font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.admin-data-row-warnings{grid-column:1 / -1;color:#8a3b00;font-size:.78rem}.admin-data-row-create{background:#ecfdf5;border-color:#6ee7b7}.admin-data-row-create .admin-data-row-tag{color:#166534}.admin-data-row-attach{background:#eff6ff;border-color:#bfdbfe}.admin-data-row-attach .admin-data-row-tag{color:#1d3f93}.admin-data-row-duplicate{background:#fef3c7;border-color:#fde68a}.admin-data-row-duplicate .admin-data-row-tag{color:#8a5a00}.admin-data-row-skip{background:#f4f4f5;border-color:var(--rule)}.admin-data-row-skip .admin-data-row-tag{color:var(--muted)}.admin-data-row-dog{color:var(--ww-blue, var(--accent-ink))}@media (max-width: 720px){.admin-data-export-list li,.admin-data-row{grid-template-columns:1fr}}.dog-documents-panel{margin-top:.45rem}.dog-documents-body{margin-top:.4rem;padding:.55rem .7rem .7rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);display:flex;flex-direction:column;gap:.5rem}.dog-documents-upload{display:flex;flex-direction:column;gap:.4rem}.dog-documents-row{display:flex;flex-wrap:wrap;gap:.6rem}.dog-documents-file,.dog-documents-type,.dog-documents-notes{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dog-documents-file{flex:2 1 14rem}.dog-documents-type{flex:1 1 10rem}.dog-documents-notes{flex:1 1 100%}.dog-documents-notes input{width:100%}.dog-documents-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.dog-documents-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.4rem .55rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--soft)}.dog-documents-item-main{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1 auto}@media (max-width: 540px){.dog-documents-item{flex-direction:column;align-items:stretch}}.birthdays-card{margin:0 0 1rem;padding:.75rem .9rem .85rem;border:1px solid var(--rule);border-left:4px solid var(--ww-aqua, var(--accent));border-radius:var(--radius);background:var(--ww-soft, var(--soft))}.birthdays-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.45rem;flex-wrap:wrap}.birthdays-card-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--ink);letter-spacing:-.005em}.birthdays-card-count{color:var(--muted);font-weight:500}.birthdays-card-window{font-size:.8rem}.birthdays-card-toggle-head{width:100%;background:transparent;border:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap;border-radius:var(--radius)}.birthdays-card-toggle-head:hover .birthdays-card-title{color:var(--ww-aqua, var(--accent))}.birthdays-card-toggle-head:focus-visible{outline:2px solid var(--ww-aqua, var(--accent));outline-offset:3px}.birthdays-card-head-right{display:inline-flex;align-items:center;gap:.5rem}.birthdays-card-chevron{display:inline-block;font-size:.95rem;line-height:1;color:var(--muted);transition:transform .12s ease}.birthdays-card-chevron-open{transform:rotate(180deg)}.birthdays-card-closed{padding-bottom:.55rem;margin-bottom:.6rem}.birthdays-card-panel{margin-top:.45rem;display:flex;flex-direction:column;gap:.5rem}@media (max-width: 640px){.birthdays-card-head-right{flex-wrap:wrap;row-gap:.15rem}}.birthdays-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.birthdays-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .7rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card)}.birthdays-row-today{border-color:var(--ww-aqua, var(--accent));background:#ecfeff}.birthdays-row-main{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1 auto}.birthdays-row-when{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.birthdays-row-name a{font-weight:600;color:var(--ink);text-decoration:none}.birthdays-row-name a:hover{text-decoration:underline}.birthdays-row-meta{font-size:.85rem}.birthdays-row-actions{flex-shrink:0}@media (max-width: 540px){.birthdays-row{flex-direction:column;align-items:stretch}.birthdays-row-actions{align-self:flex-end}}.birthdays-card-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-top:.55rem}.birthdays-card-summary{font-size:.82rem}.birthdays-card-toggle{flex-shrink:0}.admin-branding-panel{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.admin-branding-name{display:flex;flex-direction:column;gap:.35rem;padding:.6rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.admin-branding-name-label{display:flex;flex-direction:column;gap:.2rem;font-weight:600}.admin-branding-name-label input{font-size:1rem;padding:.45rem .5rem;border:1px solid var(--rule);border-radius:var(--radius-sm)}.admin-branding-logo{display:flex;flex-direction:column;gap:.45rem;padding:.6rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.admin-branding-current{min-height:3.5rem;display:flex;align-items:center}.admin-branding-preview{max-height:4rem;max-width:12rem;object-fit:contain;background:var(--soft);padding:.25rem .4rem;border:1px solid var(--rule);border-radius:var(--radius-sm)}.admin-branding-file{display:flex;flex-direction:column;gap:.2rem;font-weight:600}.brand-row{display:flex;align-items:center;gap:.7rem}.brand-logo{max-height:3rem;max-width:7rem;object-fit:contain}.report-brand-row{display:flex;align-items:center;gap:.6rem}.report-brand-logo{max-height:2.25rem;max-width:6rem;object-fit:contain}.voice-note-panel{margin:.4rem 0 .6rem;padding:.6rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--soft);display:flex;flex-direction:column;gap:.45rem}.voice-note-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.voice-note-record{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--rule);border-radius:999px;padding:.4rem .85rem;background:var(--card);color:var(--ink);font-weight:600;cursor:pointer;font-size:.92rem}.voice-note-record:hover:not(:disabled){border-color:var(--ww-aqua, var(--accent))}.voice-note-record:disabled{opacity:.55;cursor:not-allowed}.voice-note-record-stop{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.voice-note-mic-icon{font-size:1.05rem;line-height:1}.voice-note-stop-icon{width:.85rem;height:.85rem;border-radius:2px;background:#b91c1c;display:inline-block}.voice-note-record-label{font-variant-numeric:tabular-nums}.voice-note-timer{display:inline-flex;align-items:center;gap:.4rem;font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;color:#b91c1c}.voice-note-redblink{width:.65rem;height:.65rem;border-radius:50%;background:#ef4444;display:inline-block;animation:voice-note-pulse 1s ease-in-out infinite}@keyframes voice-note-pulse{0%,to{opacity:1}50%{opacity:.35}}.voice-note-action{font-size:.92rem;padding:.4rem .75rem}.voice-note-audio{width:100%;max-width:28rem;margin-top:.1rem}.voice-note-hint{font-size:.82rem;line-height:1.35}.voice-note-error{margin:0;font-size:.85rem}.voice-note-disabled{margin:.4rem 0 .5rem;padding:.35rem .55rem;border-radius:var(--radius-sm);background:var(--soft);border:1px dashed var(--rule);font-size:.85rem}.voice-drafts-card{margin:0 0 1rem;padding:.75rem .9rem .85rem;border:1px solid var(--rule);border-left:4px solid #f59e0b;border-radius:var(--radius);background:#fffbeb}.voice-drafts-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.voice-drafts-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--ink)}.voice-drafts-count{color:var(--muted);font-weight:500}.voice-drafts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.voice-drafts-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:.55rem .7rem;border:1px solid #fde68a;border-radius:var(--radius-sm);background:var(--card)}.voice-drafts-row-main{flex:1 1 auto;min-width:0}.voice-drafts-row-head{font-size:.95rem;margin-bottom:.2rem}.voice-drafts-row-preview{font-size:.88rem;line-height:1.4;color:var(--body);white-space:pre-wrap;word-break:break-word}.voice-drafts-row-actions{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0}@media (max-width: 540px){.voice-drafts-row{flex-direction:column;align-items:stretch}.voice-drafts-row-actions{flex-direction:row;flex-wrap:wrap}}.voice-drafts-inline{margin:.4rem 0 .6rem;padding:.55rem .7rem;border:1px solid #fde68a;border-left:3px solid #f59e0b;border-radius:var(--radius-sm);background:#fffbeb}.voice-drafts-inline-hint{margin:0 0 .4rem;font-weight:600}.voice-drafts-inline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.voice-drafts-inline-row{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .6rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card)}.voice-drafts-inline-preview{margin:0;font-size:.9rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.voice-drafts-inline-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dash-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dash-voice-link{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .7rem;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem}.dash-voice-link:hover{border-color:var(--ww-aqua, var(--accent))}.voice-capture{max-width:36rem;margin:0 auto;padding:1rem 1.1rem 2rem;display:flex;flex-direction:column;gap:.85rem;min-height:100vh}.voice-capture-header{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.2rem}.voice-capture-title{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--ink);line-height:1.2}.voice-capture-back{align-self:flex-start;color:var(--muted);text-decoration:none;font-size:.92rem;padding:.25rem 0}.voice-capture-back:hover{text-decoration:underline}.voice-capture-intro{margin:0;padding:.55rem .7rem;background:var(--soft);border-radius:var(--radius-sm);font-size:.92rem;line-height:1.45;color:var(--body)}.voice-capture-success{padding:.6rem .75rem;border:1px solid #6ee7b7;border-left:4px solid #059669;background:#ecfdf5;color:#064e3b;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.4rem;font-size:.95rem}.voice-capture-disabled{padding:.55rem .7rem;border:1px dashed var(--rule);border-radius:var(--radius-sm);background:var(--soft);margin:0}.voice-capture-step{display:flex;flex-direction:column;gap:.6rem}.voice-capture-step-title{margin:0;font-size:1rem;font-weight:700;color:var(--ink)}.voice-capture-bookings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.voice-capture-booking-btn{width:100%;display:flex;flex-direction:column;gap:.15rem;padding:.7rem .85rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);text-align:left;cursor:pointer;font-size:.95rem}.voice-capture-booking-btn:hover{border-color:var(--ww-aqua, var(--accent))}.voice-capture-booking-time{font-weight:700;font-variant-numeric:tabular-nums}.voice-capture-booking-name{font-weight:600}.voice-capture-booking-owner{color:var(--body);font-size:.9rem}.voice-capture-booking-meta{color:var(--muted);font-size:.85rem}.voice-capture-selected{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;border:1px solid var(--ww-aqua, var(--accent));border-radius:var(--radius-sm);background:#ecfeff}.voice-capture-dogs{display:flex;flex-direction:column;gap:.45rem}.voice-capture-dog-list{display:flex;flex-wrap:wrap;gap:.5rem}.voice-capture-dog-btn{padding:.55rem .85rem;border:1px solid var(--rule);border-radius:999px;background:var(--card);font-weight:600;cursor:pointer;font-size:.95rem}.voice-capture-dog-btn-active{border-color:var(--ww-aqua, var(--accent));background:#ecfeff}.voice-capture-recorder{display:flex;flex-direction:column;gap:.45rem}.voice-capture-record-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.voice-capture-big-btn{flex:1 1 12rem;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--rule);background:var(--card);font-weight:700;font-size:1.05rem;cursor:pointer}.voice-capture-big-btn:disabled{opacity:.55;cursor:not-allowed}.voice-capture-big-record{background:var(--ww-aqua, var(--accent));color:#fff;border-color:var(--ww-aqua, var(--accent))}.voice-capture-big-stop{background:#b91c1c;color:#fff;border-color:#b91c1c}.voice-capture-big-primary{background:var(--ww-navy, var(--ink));color:#fff;border-color:var(--ww-navy, var(--ink))}.voice-capture-audio{width:100%}.voice-capture-draft{display:flex;flex-direction:column;gap:.45rem}.voice-capture-textarea{width:100%;min-height:8rem;padding:.65rem .7rem;border:1px solid var(--rule);border-radius:var(--radius-sm);font-size:1rem;line-height:1.45;resize:vertical}.voice-capture-char-count{font-size:.8rem;text-align:right}.voice-capture-send-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}@media (max-width: 540px){.voice-capture{padding:.75rem .85rem 2rem}.voice-capture-big-btn{flex:1 1 100%}}.legacy-archive{display:flex;flex-direction:column;gap:.85rem}.legacy-archive-header{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;flex-wrap:wrap}.legacy-archive-banner{padding:.7rem .85rem;background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #d97706;color:#78350f;border-radius:var(--radius);line-height:1.45}.legacy-archive-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.5rem 1rem;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:var(--radius);background:var(--soft)}.legacy-archive-summary-item{display:flex;flex-direction:column;gap:.05rem}.legacy-archive-summary-item strong{font-size:1.1rem;font-variant-numeric:tabular-nums;color:var(--ink)}.legacy-archive-summary-label{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.legacy-archive-category-chips{display:flex;flex-wrap:wrap;gap:.4rem}.legacy-archive-chip{padding:.3rem .65rem;border:1px solid var(--rule);border-radius:999px;background:var(--card);cursor:pointer;font-size:.82rem;color:var(--ink)}.legacy-archive-chip:hover{border-color:var(--ww-aqua, var(--accent))}.legacy-archive-chip-active{background:var(--ww-soft, var(--soft));border-color:var(--ww-aqua, var(--accent));color:var(--ink);font-weight:600}.legacy-archive-chip-count{color:var(--muted);font-variant-numeric:tabular-nums}.legacy-archive-notice{padding:.55rem .7rem;border:1px dashed var(--rule);border-radius:var(--radius-sm);background:var(--soft);margin:0}.legacy-archive-filters{display:flex;flex-wrap:wrap;gap:.55rem .85rem;align-items:flex-end}.legacy-archive-filter{display:flex;flex-direction:column;gap:.18rem;min-width:9rem}.legacy-archive-filter input,.legacy-archive-filter select{font-size:.95rem;padding:.4rem .5rem;border:1px solid var(--rule);border-radius:var(--radius-sm)}.legacy-archive-clear{align-self:flex-end;font-size:.85rem}.legacy-archive-meta{font-size:.85rem}.legacy-archive-table-scroll{overflow-x:auto}.legacy-archive-table{width:100%;min-width:64rem;border-collapse:collapse;font-size:.9rem}.legacy-archive-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--rule);padding:.45rem .55rem;background:var(--soft);position:sticky;top:0}.legacy-archive-table td{padding:.5rem .55rem;border-bottom:1px solid var(--rule);vertical-align:top}.legacy-archive-row{cursor:pointer}.legacy-archive-row:hover{background:var(--soft)}.legacy-archive-row-open{background:var(--ww-soft, var(--soft))}.legacy-archive-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.legacy-archive-money{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.legacy-archive-expand-cell{text-align:right;white-space:nowrap}.legacy-archive-detail-row td{background:var(--card);padding:.7rem .9rem 1rem;border-bottom:1px solid var(--rule)}.legacy-archive-detail{display:flex;flex-direction:column;gap:.55rem;font-size:.92rem}.legacy-archive-detail-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-variant-numeric:tabular-nums}.legacy-archive-detail-reasons{display:flex;flex-wrap:wrap;gap:.25rem .4rem;align-items:center}.legacy-archive-reason{display:inline-block;padding:.1rem .45rem;border:1px solid var(--rule);border-radius:999px;background:var(--soft);font-size:.8rem;color:var(--ink)}.legacy-archive-detail-comment{padding:.4rem .6rem;background:var(--soft);border-radius:var(--radius-sm)}.legacy-archive-items-title{font-weight:700;font-size:.92rem;margin-top:.25rem}.legacy-archive-items-loading{margin:0}.legacy-archive-items-table{width:100%;border-collapse:collapse;font-size:.88rem}.legacy-archive-items-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--rule);padding:.35rem .5rem}.legacy-archive-items-table td{padding:.35rem .5rem;border-bottom:1px solid var(--rule)}.legacy-archive-pager{display:flex;align-items:center;gap:.6rem;margin-top:.4rem;flex-wrap:wrap}.legacy-archive-footer{margin-top:.4rem;font-style:italic}.legacy-archive-badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--rule);background:var(--soft);color:var(--ink);white-space:nowrap}.legacy-archive-badge-safe{background:#ecfdf5;border-color:#6ee7b7;color:#065f46}.legacy-archive-badge-unsafe{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.legacy-archive-badge-warn{background:#fffbeb;border-color:#fde68a;color:#78350f}.legacy-archive-badge-info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.legacy-archive-badge-neutral{background:var(--soft);color:var(--muted)}@media (max-width: 540px){.voice-note-row{gap:.45rem}.voice-note-action{flex:1 1 auto}}.cal-pill--blocked{background:repeating-linear-gradient(135deg,#e2e8f0 0,#e2e8f0 6px,#f8fafc 6px,#f8fafc 12px);color:#334155;border:1px solid #94a3b8;text-transform:none;letter-spacing:0;font-weight:600}.cal-pill--blocked-pool{border-left:3px solid #1D4ED8}.cal-pill--blocked-treadmill{border-left:3px solid #B91C1C}.cal-pill--blocked-therapy_room{border-left:3px solid #166534}.dash-closures{border:1px solid #cbd5e1;background:repeating-linear-gradient(135deg,#f1f5f9 0,#f1f5f9 6px,#f8fafc 6px,#f8fafc 12px);border-radius:6px;padding:.5rem .75rem;margin:.5rem 0}.dash-closures-title{margin:0 0 .35rem;font-size:.85rem;color:#1e293b}.dash-closures-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem .75rem}.dash-closures-item{font-size:.85rem;color:#1e293b}ul.day-block-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.5rem;width:100%}ul.day-block-list>li{display:block;width:100%;min-width:0}.block-line{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.65rem .85rem;border-radius:6px;background:repeating-linear-gradient(135deg,#f1f5f9 0,#f1f5f9 6px,#f8fafc 6px,#f8fafc 12px);border:1px solid #cbd5e1;width:100%;box-sizing:border-box}.block-line-main{flex:1 1 auto;min-width:0}.block-line-head{font-size:.95rem;color:#1e293b;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;line-height:1.35}.block-line-icon{margin-right:.1rem}.block-line-title{color:#1e293b}.block-line-resources{margin:.45rem 0;display:flex;flex-wrap:wrap;gap:.35rem}.block-line-reason{font-size:.9rem;color:#1e293b;line-height:1.4;overflow-wrap:anywhere}.block-line-actions{flex:0 0 auto;align-self:flex-start}@media (max-width: 540px){.block-line{flex-direction:column;align-items:stretch}.block-line-actions{align-self:flex-end}}.env-banner{position:sticky;top:0;z-index:3000;background:repeating-linear-gradient(45deg,#7a3b00,#7a3b00 12px,#8a4a00 12px,#8a4a00 24px);color:#fff;text-align:center;font-size:.85rem;letter-spacing:.08em;padding:4px 8px;text-transform:uppercase}.demo-shell{max-width:1100px;margin:0 auto;padding:1rem}.demo-readonly-strip{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline;background:#fff7e6;border:1px solid #d9a441;border-left-width:6px;border-radius:6px;padding:.6rem .85rem;margin-bottom:1rem;font-size:.9rem}.demo-muted{color:#667;font-weight:400;font-size:.9em}.demo-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0 1rem}.demo-tab{border:1px solid #b9c4c9;background:#f4f7f8;border-radius:999px;padding:.35rem .9rem;cursor:pointer;font:inherit;font-size:.9rem}.demo-tab:focus-visible{outline:3px solid #2b6cb0;outline-offset:2px}.demo-tab-active{background:#12414f;border-color:#12414f;color:#fff}.demo-panel h2{margin-top:.25rem}.demo-panel h3{margin-bottom:.35rem}.demo-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem;margin:.75rem 0}.demo-stat{border:1px solid #d5dde0;border-radius:8px;padding:.6rem .75rem;background:#fbfdfd}.demo-stat dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#567}.demo-stat dd{margin:.15rem 0 0;font-size:1.15rem;font-weight:600}.demo-table{width:100%;border-collapse:collapse;margin:.4rem 0 1rem;font-size:.9rem}.demo-table th,.demo-table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid #e3e9eb;vertical-align:top}.demo-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#567}.demo-row-invalid td{background:#fff3f0}.demo-card{border:1px solid #d5dde0;border-radius:8px;padding:.6rem .85rem;margin:.6rem 0}.demo-badge{display:inline-block;border-radius:999px;padding:.05rem .55rem;font-size:.75rem;margin-left:.3rem;border:1px solid transparent}.demo-badge-ok{background:#e6f6ec;border-color:#2f9e5f;color:#17603a}.demo-badge-warn{background:#fdf0e7;border-color:#d97741;color:#8a4a12}.demo-badge-info{background:#e8f1fa;border-color:#4a7fb5;color:#2b5988}.demo-badge-muted{background:#eef1f2;border-color:#9aa7ad;color:#4a575d}@media (max-width: 760px){.demo-panel{overflow-x:auto}}.readiness-page{max-width:62rem}.readiness-title-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.readiness-title-row h2{margin:0}.readiness-no-change-note{margin-top:.25rem}.readiness-overall{margin:.9rem 0}.readiness-overall-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.readiness-level-reason{margin:.5rem 0 .2rem;font-weight:600}.readiness-progress{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:.6rem 0 .1rem;padding:0}.readiness-progress li{display:flex;flex-direction:column;min-width:7rem}.readiness-progress li strong{font-size:1.15rem}.readiness-progress li small{color:var(--muted)}.readiness-fictional-warning,.readiness-switch-strip{margin:.9rem 0}.readiness-switch-strip h3{margin:0 0 .2rem;font-size:1rem}.readiness-switch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.5rem 1rem;margin-top:.6rem}.readiness-switch{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.readiness-switch-label{font-size:.85rem;font-weight:600;overflow-wrap:anywhere}.readiness-section-heading{margin:1.3rem 0 .4rem}.readiness-categories{display:flex;flex-direction:column;gap:.6rem}.readiness-category>summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;cursor:pointer;list-style:none;flex-wrap:wrap}.readiness-category>summary::-webkit-details-marker{display:none}.readiness-category>summary:before{content:"▸";color:var(--muted);margin-right:.15rem}.readiness-category[open]>summary:before{content:"▾"}.readiness-category-title{font-weight:700;flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.readiness-category-desc{margin:.4rem 0 .2rem}.readiness-item-list{list-style:none;margin:.4rem 0 .2rem;padding:0;display:flex;flex-direction:column;gap:.7rem}.readiness-item{border-top:1px solid var(--rule);padding-top:.55rem}.readiness-item-head{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.readiness-item-head strong{overflow-wrap:anywhere}.readiness-item-reason{margin:.25rem 0 .1rem;font-size:.9rem}.readiness-item-desc{margin:.1rem 0 .3rem;font-size:.82rem}.readiness-item-links{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.readiness-help-link{font-size:.85rem}.readiness-required-chip{background:var(--card);color:var(--body);border-color:var(--body);font-weight:700}.readiness-checklist{margin:.4rem 0 .2rem;padding-left:1.2rem}.readiness-checklist li{margin:.25rem 0}@media (max-width: 640px){.readiness-progress{gap:.4rem 1rem}.readiness-progress li{min-width:5.5rem}}.pack-row-archived{opacity:.72}.pack-archived-badge{font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}.pack-archived-toggle{font-size:.85rem;display:inline-flex;align-items:center;gap:.25rem;margin-right:.75rem}.auth-card .signup-alt{margin:1.1rem 0 0;font-size:.88rem;color:var(--muted);text-align:center}.signup-linklike{background:none;border:0;padding:0;font:inherit;color:var(--link, var(--accent));text-decoration:underline;cursor:pointer}.signup-linklike:hover{text-decoration:none}.signup-field-error{margin:-.35rem 0 .6rem;color:var(--danger);font-size:.83rem}.signup-error-summary{border:1px solid var(--danger);border-radius:var(--radius);padding:.6rem .8rem;margin:0 0 1rem;font-size:.88rem;color:var(--danger)}.signup-error-summary p{margin:0 0 .3rem;font-weight:600}.signup-error-summary ul{margin:0;padding-left:1.1rem}.signup-notice{background:var(--accent-soft);border-radius:var(--radius);padding:.6rem .8rem;margin:.75rem 0;font-size:.88rem;color:var(--accent-ink)}.signup-footnote{font-size:.82rem;margin:.35rem 0 .9rem}.signup-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 .4rem}.signup-actions button{flex:1 1 10rem}.signup-secondary{background:transparent;color:var(--accent-ink);border:1px solid var(--rule-strong)}.signup-primary-link{display:inline-block;margin-top:.6rem;font-weight:600}.signup-reassurance{list-style:none;margin:1.1rem 0 0;padding:0;font-size:.85rem;color:var(--muted)}.signup-reassurance li{padding:.12rem 0 .12rem 1.1rem;position:relative}.signup-reassurance li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.onboarding-page{max-width:720px}.onboarding-trial{background:var(--accent-soft);border-radius:var(--radius);padding:.65rem .85rem;margin:.9rem 0 1.1rem;font-size:.92rem}.onboarding-progress{font-weight:600;color:var(--muted);margin:0 0 .6rem}.onboarding-tasks{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.onboarding-task{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:.85rem 1rem}.onboarding-task-done{border-color:var(--accent-soft);background:var(--ww-soft, var(--card))}.onboarding-task-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.45rem}.onboarding-task-head h2{font-size:1rem;font-weight:600;margin:0;flex:1 1 auto}.onboarding-task-mark{font-weight:700;color:var(--accent);width:1.1rem;display:inline-block}.onboarding-task-optional,.onboarding-task-state{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.onboarding-task-copy{margin:.35rem 0 .55rem 1.55rem;font-size:.9rem;color:var(--body)}.onboarding-task-action{margin-left:1.55rem;font-weight:600}.onboarding-blockers{margin-top:1.2rem;border-left:3px solid var(--warn);padding-left:.85rem}.onboarding-blockers h2{font-size:1rem;margin:0 0 .35rem}.onboarding-blockers ul{margin:0;padding-left:1.1rem;font-size:.9rem}.onboarding-ready{margin-top:1.2rem;font-weight:600;color:var(--accent-ink)}.onboarding-error{border:1px solid var(--danger);border-radius:var(--radius);padding:.7rem .9rem;margin:.8rem 0}.onboarding-footnote{margin-top:1.4rem}.account-page{max-width:720px}.account-status{border:1px solid var(--rule);border-left-width:4px;border-radius:var(--radius-lg);padding:.9rem 1.05rem;margin:.9rem 0 1.2rem;background:var(--card)}.account-status h2{font-size:1.1rem;margin:0 0 .3rem}.account-status p{margin:0;font-size:.92rem}.account-status-info{border-left-color:var(--accent)}.account-status-warning{border-left-color:var(--warn)}.account-status-critical{border-left-color:var(--danger)}.account-status-none{border-left-color:var(--rule-strong)}.account-facts{display:grid;grid-template-columns:max-content 1fr;gap:.28rem 1.1rem;margin:.7rem 0 0;font-size:.92rem}.account-facts dt{color:var(--muted);font-weight:600}.account-facts dd{margin:0}.account-recovery,.account-plans,.account-manage{margin-bottom:1.2rem}.account-recovery h2,.account-plans h2,.account-manage h2{font-size:1rem;margin:0 0 .3rem}.account-recovery p{margin:0;font-size:.92rem}.account-links{font-size:.9rem}.account-status .account-recovery-cta{margin-top:.55rem;font-weight:600}.account-return-note{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--card);padding:.7rem .95rem;margin:.9rem 0 0;font-size:.92rem}.account-error{color:var(--danger);font-size:.92rem;margin:0 0 1rem}.account-plan-buttons{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.7rem}.account-manage button{margin-top:.7rem}.trial-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem .9rem;padding:.45rem 1rem;font-size:.88rem;text-align:center;border-bottom:1px solid var(--rule)}.trial-banner-info{background:var(--accent-soft);color:var(--accent-ink)}.trial-banner-warning{background:#fef3c7;color:#7a4b00}.trial-banner-critical{background:#fee2e2;color:#8a1520}.trial-banner-action{font-weight:700;color:inherit}.payment-handling-option{border:1px solid var(--line);border-radius:8px;padding:.65rem .8rem;margin-bottom:.6rem}.payment-handling-option[aria-current=true]{border-color:var(--accent, var(--line));background:var(--surface-2, transparent)}.payment-handling-option-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.payment-handling-unavailable{opacity:.72}.pill-active,.pill-muted{font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:.1rem .5rem;white-space:nowrap}.pill-active{background:var(--ok-bg, #e6f4ea);color:var(--ok-ink, #1e6b38)}.pill-muted{background:var(--surface-2, #eef0f3);color:var(--muted, #5b6472)}
