.button{border:1px solid var(--primary);border-radius:var(--radius);background:var(--primary);min-height:2.75rem;color:var(--on-primary);font:700 .875rem var(--font);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:0 1rem;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){opacity:.88}.button.quiet{border-color:var(--line);background:var(--surface);color:var(--text);padding:0 .875rem}.button.quiet:hover:not(:disabled){opacity:1;background:var(--sunken)}.button.danger{border-color:var(--danger);background:var(--danger);color:var(--on-status)}.button.accent{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent);font-weight:800}.button.small{min-height:2rem;font-size:var(--step--1);padding:0 .625rem}.button:disabled{opacity:.45;cursor:not-allowed}.button[aria-busy=true]{cursor:progress}.link-button{color:var(--primary);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.icon-button{border-radius:var(--radius);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--sunken)}.icon-button.danger:hover{color:var(--danger)}.button.fab{right:1rem;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 1rem);z-index:4;min-height:3rem;box-shadow:var(--shadow-menu);border-radius:999px;padding:0 1.125rem;font-size:.9375rem;position:fixed}.field{gap:.375rem;max-width:32rem;margin-bottom:1rem;display:grid}.field label{font-size:var(--step--1);font-weight:700}.field input,.field textarea,.field select,.search{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);min-height:2.75rem;color:inherit;font:500 var(--step-0) var(--font);padding:0 .75rem}.field textarea{border-radius:var(--radius-md);padding:.75rem;line-height:1.5}.field :is(input,textarea,select):focus,.search:focus{border-color:var(--focus)}.field .hint{color:var(--muted);font-size:var(--step--1)}.field .field-error{border-left:3px solid var(--danger);color:var(--danger);font-size:var(--step--1);padding-left:.5rem;font-weight:600}.field [aria-invalid=true],.field [data-invalid]{border-width:1.5px;border-color:var(--danger)}.phone-input{align-items:center;gap:.4rem;display:flex}.phone-input input{flex:1;min-width:0}.field-ok{color:var(--success);font-weight:700}.email-suggestion{font-size:var(--step--1);margin:0}.phone-flag{color:var(--danger);cursor:help;margin-left:.35rem}.search{border-radius:var(--radius-md);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a93a3' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat .75rem center / 1.125rem;width:100%;max-width:27.5rem;padding-left:2.5rem}.hint{color:var(--muted);font-size:var(--step--1)}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem;display:grid}.dialog .field{max-width:none}.field :is(input,textarea,select){min-width:0}.fold{margin:0 0 1rem}.fold summary{cursor:pointer;margin-bottom:.75rem;font-weight:700}.form-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.form-actions .unsaved{color:var(--muted);align-self:center;margin-right:auto}.form-actions .unsaved [aria-hidden]{color:var(--accent)}@media (width<=51.25rem){input,select,textarea{font-size:1rem!important}.search{max-width:none}}.badge{background:var(--muted-tint);color:var(--muted);font-size:var(--step--1);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .625rem;font-weight:700;line-height:1.2;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.badge.success{background:var(--success-tint);color:var(--success)}.badge.info{background:var(--info-tint);color:var(--info)}.badge.warning{background:var(--warning-tint);color:var(--warning)}.badge.danger{background:var(--danger-tint);color:var(--danger)}.badge.count:before{display:none}.chip-button{border:1px solid var(--line);background:var(--surface);color:var(--text);font:500 var(--step--1) var(--font-mono);cursor:pointer;border-radius:999px;padding:.2rem .6rem}.chip-button:hover{background:var(--sunken)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;height:3.25rem;padding:.75rem 1rem}th:first-child,td:first-child{padding-left:1.25rem}thead th{height:auto;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding-block:.625rem;font-size:.75rem;font-weight:700}tbody tr:hover>td{background:var(--sunken)}tbody tr:last-child td{border-bottom:0}th.end,td.end{text-align:right}td.row-actions.end>*{margin:0 0 0 .75rem}td.row-actions>*{vertical-align:middle;margin-right:.75rem}td.row-actions.end>.button.small{margin-left:.375rem}.row-link{color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.row-link:hover{text-decoration:underline}.phone-only,.initials{display:none}.row-icons{vertical-align:middle;white-space:nowrap;gap:.25rem;display:inline-flex}.row-icons .icon-button{position:relative}.row-icons .icon-button svg{width:18px;height:18px}.row-icons .icon-button.danger{color:var(--danger)}.row-icons .icon-button[aria-disabled=true]{color:var(--line-strong);cursor:not-allowed}.row-icons .icon-button.captioned{flex-direction:column;gap:.15rem;width:auto;min-width:4rem;height:auto;min-height:3rem;padding:.25rem .35rem}.icon-button-icon{display:inline-flex;position:relative}.icon-button-icon .icon-dot{top:-2px;right:-4px}.icon-caption{font-size:.6875rem;font-weight:700;line-height:1.1}.icon-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 1.5px var(--surface);border-radius:50%;position:absolute;top:.3rem;right:.3rem}@media (width<=51.25rem){.table-wrap.reflow{background:0 0;border:0;overflow:visible}.reflow table,.reflow tbody{display:block}.reflow thead{display:none}.reflow tbody{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.reflow tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.125rem .75rem;min-height:3.75rem;padding:.75rem .5rem .75rem 1rem;display:grid;position:relative}.reflow tr:last-child{border-bottom:0}.reflow td{border:0;grid-column:1;height:auto;padding:0}.reflow td.end,.reflow td.row-actions{grid-area:1/2/span 6}.reflow tbody tr:hover>td{background:0 0}.reflow td[data-label]:before{content:attr(data-label) ": ";color:var(--muted)}.reflow .row-icons .icon-button{width:2.75rem;height:2.75rem}.reflow .row-icons .icon-button.captioned{width:auto;height:auto;min-height:2.75rem}.reflow .row-link:after{content:"";position:absolute;inset:0}.reflow .row-link{font-size:.9375rem}.reflow td.end{z-index:1;position:relative}}.notice{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);max-width:48rem;padding:.875rem 1rem}.notice>:first-child{margin-top:0}.notice>:last-child{margin-bottom:0}.notice.warning{border-color:var(--banner-line);background:var(--banner)}.notice.error{border-color:var(--danger);background:var(--danger-tint)}.banner{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;max-width:none;display:flex}.banner-mark{background:var(--warning);width:1.5rem;height:1.5rem;color:var(--surface);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.notice.error .banner-mark{background:var(--danger)}.banner-text{flex:18rem;min-width:0}.banner-text p{margin:.15rem 0 0}.banner .button{border-color:var(--text);background:var(--text);color:var(--surface)}.empty-state{border:1.5px dashed var(--line-strong);border-radius:var(--radius-xl);background:var(--surface);text-align:center;justify-items:center;gap:.5rem;padding:3rem 1.5rem;display:grid}.empty-state.filtered{border:1px solid var(--line)}.empty-state-icon{border-radius:var(--radius-lg);background:var(--sunken);width:3.5rem;height:3.5rem;color:var(--muted);place-items:center;display:grid}.empty-state h2{font-size:var(--step-1);margin:.25rem 0 0}.empty-state p{color:var(--muted);margin:0}.empty-state .button{margin-top:.5rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.page-header h1{margin:0}.page-header .hint{margin:.25rem 0 0}.page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar .search{flex:16rem}.card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:1.25rem}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.card-header h2{font-size:var(--step-1);margin:0}.card-header .hint{margin:.15rem 0 0}@media (width<=51.25rem){.page-header h1{font-size:1.5rem}.card{padding:1rem}}.segmented,.language-switch{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button,.language-switch button{min-height:2.25rem;color:var(--muted);font:700 .875rem var(--font);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 .875rem}.segmented button:hover,.language-switch button:hover{color:var(--text)}.segmented button[data-pressed],.language-switch button[data-pressed]{background:var(--primary);color:var(--on-primary)}.language-switch{justify-self:start}.language-switch button{letter-spacing:.08em;min-width:2.75rem;min-height:2rem;padding:0 .6rem;font-size:.75rem}.tabs-list{border-bottom:1px solid var(--line);gap:.25rem;display:flex;position:relative;overflow-x:auto}.tab{min-height:2.875rem;color:var(--muted);font:700 .875rem var(--font);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:.4rem;padding:0 .875rem;display:inline-flex}.tab:hover{color:var(--text)}.tab[data-active]{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.tab-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.tab-panel{padding-top:1.25rem}.tab-panel[hidden]{display:none}.dialog{z-index:11;background:var(--surface);border-radius:var(--radius-sheet);width:min(32.5rem,100vw - 2rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-modal);flex-direction:column;transition:opacity .15s,transform .15s;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.dialog.wide{width:min(40rem,100vw - 2rem)}.dialog.confirm{width:min(27.5rem,100vw - 2rem)}.dialog-backdrop{z-index:10;background:var(--backdrop);transition:opacity .15s;position:fixed;inset:0}.dialog[data-starting-style],.dialog[data-ending-style]{opacity:0;transform:translate(-50%,-50%)scale(.96)}.dialog-backdrop[data-starting-style],.dialog-backdrop[data-ending-style]{opacity:0}.dialog-header{border-bottom:1px solid var(--line);align-items:flex-start;gap:.75rem;padding:1.125rem 1.25rem .875rem;display:flex}.dialog-header h2{font:700 var(--step-2) / 1.25 var(--font-head);letter-spacing:-.02em;flex:1;margin:0}.dialog-header small{color:var(--muted);font:700 .75rem var(--font);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.125rem;display:block}.dialog-close{border-radius:var(--radius);width:2.5rem;height:2.5rem;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;margin:-.25rem -.5rem 0 0;font-size:1.5rem;line-height:1}.dialog-close:hover{background:var(--sunken);color:var(--text)}.dialog-body{padding:1.25rem;overflow-y:auto}.dialog .form-actions{justify-content:flex-end;margin-top:1.25rem}.dialog-body .toolbar{margin-bottom:1.25rem}.dialog.confirm p{color:var(--text);margin:0 0 .5rem}@media (width<=51.25rem){.dialog,.dialog.wide,.dialog.confirm{width:100%;max-height:92vh;padding-bottom:env(safe-area-inset-bottom);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;top:auto;bottom:0;left:0;transform:none}.dialog[data-starting-style],.dialog[data-ending-style]{transform:translateY(100%)}.dialog-header{padding:1rem 1rem .75rem}.dialog-body{padding:1rem}.dialog .form-actions{flex-direction:column;align-items:stretch;gap:.5rem}.dialog .form-actions .button{min-height:3rem;font-size:1rem}}.menu-positioner{z-index:20}.menu-popup{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-width:12rem;box-shadow:var(--shadow-menu);padding:.375rem;font-size:.875rem}.menu-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:.375rem .625rem;font-size:.75rem;font-weight:700}.menu-item{border-radius:var(--radius-sm);cursor:pointer;outline:0;align-items:center;gap:.5rem;min-height:2.5rem;padding:0 .625rem;font-weight:600;display:flex}.menu-item[data-highlighted]{background:var(--sunken)}.menu-item.danger{color:var(--danger)}.menu-item.danger[data-highlighted]{background:var(--danger-tint)}.menu-check{text-align:center;width:1rem}.menu-check[data-unchecked]{visibility:hidden}.menu-separator{background:var(--line);height:1px;margin:.375rem 0}.action-sheet{z-index:11;padding:.5rem .75rem calc(1rem + env(safe-area-inset-bottom));background:var(--surface);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;flex-direction:column;transition:transform .15s;display:flex;position:fixed;inset:auto 0 0}.action-sheet[data-starting-style],.action-sheet[data-ending-style]{transform:translateY(100%)}.action-sheet-title{color:var(--muted);font-size:var(--step--1);margin:0;padding:.5rem .5rem .625rem;font-weight:700}.action-sheet-title small{font-weight:400;display:block}.action-sheet-item{border:0;border-top:1px solid var(--line);min-height:3.125rem;color:var(--text);font:600 1rem var(--font);text-align:start;cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:0 .5rem;display:flex}.action-sheet-item.danger{color:var(--danger)}.action-sheet-item:disabled{color:var(--muted);cursor:not-allowed;font-weight:400}.button.action-sheet-cancel{min-height:3rem;margin-top:.5rem;font-size:1rem}.spinner{justify-content:center;padding:2rem 0;display:flex}.spinner-mark{width:2.75rem;height:2.75rem;display:block;overflow:visible}.spinner-track{color:var(--line)}.spinner-ink{color:var(--primary)}.spinner-sky{color:var(--accent)}.spinner-draw{stroke-dasharray:77 79;stroke-dashoffset:78px;animation:1.6s cubic-bezier(.65,0,.35,1) infinite spinner-draw}.spinner-head{opacity:0;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite spinner-head}@keyframes spinner-draw{0%{stroke-dashoffset:78px}42%,58%{stroke-dashoffset:0}to{stroke-dashoffset:-78px}}@keyframes spinner-head{0%,36%{opacity:0;transform:scale(.3)}44%,58%{opacity:1;transform:scale(1)}74%,to{opacity:0;transform:scale(.3)}}@keyframes spinner-breath{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.spinner-draw{stroke-dashoffset:0;animation:2.4s ease-in-out infinite spinner-breath}.spinner-head{opacity:1;animation:none}}.tooltip-popup{border-radius:var(--radius-sm);background:var(--band);max-width:20rem;color:var(--on-band);font-size:var(--step--1);padding:.4rem .625rem;transition:opacity .12s}.tooltip-popup[data-starting-style],.tooltip-popup[data-ending-style]{opacity:0}.toast-viewport{z-index:100;justify-items:center;gap:.5rem;width:min(26rem,100vw - 2rem);display:grid;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-lg);background:var(--band);color:var(--on-band);box-shadow:var(--shadow-bar);align-items:flex-start;gap:.5rem;padding:.75rem .5rem .75rem 1rem;transition:opacity .2s,transform .2s;display:flex}.toast[data-starting-style],.toast[data-ending-style]{opacity:0;transform:translateY(.75rem)}.toast-content{flex:1}.toast-title{margin:0;font-size:.875rem;font-weight:700}.toast-description{color:var(--band-muted);font-size:var(--step--1);margin:.2rem 0 0}.toast .dialog-close{width:2rem;height:2rem;color:var(--band-muted);margin:-.35rem 0}.toast .dialog-close:hover{background:var(--band-hover);color:var(--on-band)}.toast-action{margin-top:.35rem;padding:0}.toast .toast-action{color:var(--on-band)}.pager{color:var(--muted);font-size:var(--step--1);align-items:center;gap:.75rem;display:flex}.pager-range{margin-right:auto}@media (width<=51.25rem){.toast-viewport{left:1rem;right:1rem;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 1rem);width:auto;transform:none}.toast{width:100%}}.avatar{object-fit:cover;width:2.5rem;height:2.5rem;color:var(--surface);font-weight:700;font-size:var(--step--1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.avatar.large{width:4.5rem;height:4.5rem;font-size:var(--step-1)}.avatar-picker{gap:.25rem;display:inline-grid}.avatar-editor{border-radius:50%;display:inline-flex;position:relative}.avatar-editor[aria-busy=true]{opacity:.5;cursor:progress}.avatar-click{cursor:pointer;display:inline-flex}.icon-button.avatar-badge{z-index:1;border:1px solid var(--line);background:var(--surface);width:1.5rem;height:1.5rem;color:var(--text);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .12s;display:inline-flex;position:absolute}.avatar-badge.edit{bottom:-.35rem;right:-.35rem}.avatar-badge.remove{top:-.35rem;right:-.35rem}.avatar-badge.remove:hover{color:var(--danger)}.avatar-editor.small .avatar-badge{width:1.25rem;height:1.25rem}.avatar-editor:hover .avatar-badge,.avatar-editor:focus-within .avatar-badge{opacity:1}@media (hover:none){.avatar-badge{opacity:1}}.identity{align-items:center;gap:.75rem;display:flex}.identity small{color:var(--muted);font-size:.75rem;display:block}.identity-text{flex-direction:column;min-width:0;display:flex}.identity-name{font-weight:600}.save-bar{z-index:2;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-bar);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.5rem;padding:.625rem .75rem .625rem 1rem;display:flex;position:sticky;bottom:1rem}.save-status{color:var(--muted);align-items:center;gap:.5rem;margin:0 auto 0 0;font-weight:600;display:inline-flex}.save-status.error{color:var(--danger)}.save-bar[data-dirty]{border-color:var(--band);background:var(--band);color:var(--on-band)}.save-bar[data-dirty] .save-status{color:var(--on-band)}.save-bar[data-dirty] .save-status:not(.error):before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.save-bar[data-dirty] .save-status.error{color:var(--on-band)}.save-bar[data-dirty] .button.quiet{border-color:var(--band-muted);color:var(--on-band);background:0 0}.save-bar[data-dirty] .button.quiet:hover:not(:disabled){background:var(--band-hover)}.dialog .save-bar{box-shadow:none;bottom:0}@media (width<=51.25rem){.shell.phone .save-bar{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + .5rem)}.save-status{flex-basis:100%}.save-bar .button{min-height:2.875rem;font-size:.9375rem}.save-bar .button[type=submit]{flex:1}}.shell{grid-template-columns:var(--rail) minmax(0, 1fr);min-height:100vh;display:grid}.rail{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:2px;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow-y:auto}.brand-block{flex-direction:column;align-items:stretch;gap:.875rem;margin:0 0 .875rem;display:flex}.brand{color:var(--text);margin:0;padding:.25rem .5rem 0}.wordmark{width:auto;height:1.58rem;display:block}.logo-icon{width:1.75rem;height:1.75rem;display:block}.rail a{border-radius:var(--radius);min-height:2.5rem;color:var(--muted);align-items:center;gap:.625rem;padding:0 .625rem;font-size:.875rem;font-weight:600;text-decoration:none;display:flex}.rail a:hover{background:var(--sunken);color:var(--text)}.rail a.active{background:var(--sunken);color:var(--text);font-weight:800}.nav-icon{flex:none;width:1.25rem;height:1.25rem}.rail-secondary{flex-direction:column;gap:2px;margin-top:auto;display:flex}.rail-secondary+.rail-footer{margin-top:.75rem}.rail-footer{border-top:1px solid var(--line);color:var(--muted);font-size:var(--step--1);overflow-wrap:anywhere;gap:.5rem;margin-top:auto;padding-top:.75rem;display:grid}.content{flex-direction:column;gap:1.25rem;min-width:0;padding:1.75rem 2rem 2rem;display:flex}.content>*{margin-block:0}.legal-links{margin:0}.legal-links a{color:inherit}.tenant-switcher{width:100%;margin:0}.org{border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:.625rem;min-width:0;padding:.5rem;display:flex}.org-initials{background:var(--primary);width:2rem;height:2rem;color:var(--on-primary);font:700 .75rem var(--font);border-radius:9px;flex:none;place-items:center;display:grid}.tenant-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;font-weight:700;overflow:hidden}.tenant-combobox{align-items:center;display:flex;position:relative}.tenant-combobox-input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:3rem;color:inherit;font:700 .875rem var(--font);text-overflow:ellipsis;padding:0 2.25rem 0 .75rem}.tenant-combobox-trigger{width:1.75rem;height:1.75rem;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;right:.375rem}.tenant-combobox-trigger svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:1rem;height:1rem}.tenant-combobox-popup{width:max(var(--anchor-width), 12rem);max-height:min(20rem, var(--available-height));overflow-y:auto}.tenant-combobox-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tenant-combobox-check{color:var(--primary)}.tenant-combobox-empty:not(:empty){color:var(--muted);padding:.5rem .625rem}.account-trigger{border-radius:var(--radius-sm);width:100%;min-width:0;min-height:2.75rem;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;display:flex}.account-trigger:hover,.account-trigger[data-popup-open]{background:var(--sunken)}.account-caret{color:var(--muted);flex:none}.account-trigger .identity{gap:.625rem;min-width:0}.account-trigger .avatar{flex:none;width:2.125rem;height:2.125rem}.account-trigger .identity>span:last-child,.account-trigger .identity small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-trigger .identity>span:last-child{color:var(--text);font-weight:700}.account-trigger .identity small{font-weight:400}.shell.phone{flex-direction:column;display:flex}.topbar{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:.625rem;height:3.5rem;padding:0 .5rem 0 1rem;display:flex;position:sticky;top:0}.topbar .brand{padding:0}.topbar .tenant-switcher{width:auto;min-width:0;max-width:14rem}.topbar .org{border:0;padding:0}.topbar .org-initials{display:none}.topbar .tenant-name{font-size:.9375rem}.topbar .tenant-combobox-input{min-height:2.5rem}.account-avatar{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;margin-left:auto;padding:0;display:inline-flex}.account-avatar .avatar{width:2rem;height:2rem;font-size:.6875rem}.tabbar{z-index:5;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.tabbar a,.tabbar .tab-more{border-radius:var(--radius);min-width:0;min-height:3.25rem;color:var(--muted);font:700 .6875rem var(--font);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;text-decoration:none;display:flex}.tabbar .nav-icon{width:1.375rem;height:1.375rem}.tabbar a.active,.tabbar .tab-more.active{color:var(--primary)}.shell.phone .content{padding:1rem 1rem calc(var(--tabbar) + env(safe-area-inset-bottom) + 1.5rem);gap:1rem}.signin{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);max-width:28rem;margin:15vh auto;padding:2rem}.signin h1{margin:0 0 .5rem;font-size:1.625rem}.signin .brand{margin:0;padding:0}.signin .button{margin-top:.5rem}.signin .legal-links{color:var(--muted);font-size:var(--step--1);margin-top:2rem}.signin-top{justify-content:space-between;align-items:center;margin-bottom:1.75rem;display:flex}.google-mark{background:#fff;border-radius:2px;flex-shrink:0;padding:2px}.legal-gate .check{cursor:pointer;align-items:flex-start;gap:.5rem;min-height:2.75rem;margin:.75rem 0;display:flex}.legal-gate .check input{width:1.125rem;height:1.125rem;accent-color:var(--primary);flex-shrink:0;margin-top:.15rem}.legal-gate-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}@media (width<=30rem){.signin{margin:2rem 1rem;padding:1.5rem}}.appointments-box{container:appointments/inline-size}.day-row th{background:var(--sunken);height:auto;color:var(--text);font-size:var(--step--1);letter-spacing:0;text-transform:none;padding-block:.5rem;font-weight:800}tbody tr.day-row:hover>th{background:var(--sunken)}.section-row th{height:auto;color:var(--text);font-size:var(--step--1);letter-spacing:0;text-transform:none;padding:1rem 1.25rem .5rem;font-weight:800}tbody:first-of-type .section-row th{padding-top:.75rem}.appointments td.time{width:6rem;font:600 1rem var(--font-mono)}.appointments td.reply{width:13rem}.appointments td.reminder{width:14rem}.reminder-state{font-size:.9375rem;font-weight:800;line-height:1.3}.reminder-state.neutral{color:var(--muted)}.reminder-state.danger{color:var(--danger)}.appointments td.actions{width:3.5rem}.row-menu{border:1px solid var(--line);background:var(--surface);font-size:1.125rem;font-weight:800;line-height:1}.row-menu[data-popup-open]{border-color:var(--text)}.unmatched{color:var(--muted)}.appointment-notes{color:var(--muted);font-size:var(--step--1);display:block}.sms .muted{color:var(--muted)}@container appointments (width<=40rem){.table-wrap{background:0 0;border:0;overflow:visible}.appointments,.appointments tbody{background:0 0;border:0;display:block;overflow:visible}.appointments thead{display:none}.appointments tbody+tbody{margin-top:1rem}.appointments tr.day-row,.appointments tr.section-row{border:0;min-height:0;padding:0 .25rem .375rem;display:block}.appointments tr.day-row th,.appointments tr.section-row th{color:var(--muted);background:0 0;border:0;padding:0;display:block}.appointments tr.section-row th{color:var(--text);padding-bottom:.25rem}.appointments tr:not(.day-row,.section-row){background:var(--surface);border:1px solid var(--line);border-top:0;grid-template-columns:3.5rem minmax(0,1fr) auto;grid-template-areas:"time who actions""time reply actions""time reminder actions";align-items:center;gap:.25rem .75rem;min-height:0;padding:.75rem .5rem .75rem 1rem;display:grid;position:relative}.appointments tr.day-row+tr{border-top:1px solid var(--line);border-radius:var(--radius-card) var(--radius-card) 0 0}.appointments tr:not(.day-row,.section-row):last-child{border-radius:0 0 var(--radius-card) var(--radius-card)}.appointments tr.day-row+tr:last-child{border-radius:var(--radius-card)}.appointments td{border:0;width:auto;height:auto;padding:0}.appointments tbody tr:hover>td{background:0 0}.appointments td.time{grid-area:time;align-self:start;font-size:.9375rem}.appointments td.who{grid-area:who}.appointments td.reply{grid-area:reply}.appointments td.reminder{grid-area:reminder}.appointments .reminder-state{font-size:var(--step--1)}.appointments .row-link:after{content:"";position:absolute;inset:0}.appointments td.actions{z-index:1;grid-area:actions;position:relative}.appointments .row-menu{width:2.75rem;height:2.75rem}}.customers td.email,.customers td.notes{max-width:14rem;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.customers td.phone .mono{font-size:.875rem}.notes-preview{max-width:100%;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-decoration:none;overflow:hidden}.next-appointment{color:var(--text);font-weight:600;text-decoration:none}.next-appointment:hover{text-decoration:underline}.notes-text{white-space:pre-wrap}.customer-contact{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 1rem;font-size:.875rem;display:flex}.customer-contact .mono{color:var(--text)}.needs-attention{border:1px solid var(--banner-line);border-radius:var(--radius-lg);background:var(--banner);padding:.75rem 1rem}.needs-attention summary{cursor:pointer;min-height:1.75rem;font-weight:700}.needs-attention ul{margin:.5rem 0 0;padding:0;list-style:none}.needs-fixes{white-space:nowrap;gap:.75rem;display:inline-flex}.needs-attention li{border-top:1px solid var(--banner-line);grid-template-columns:minmax(10rem,1.5fr) minmax(8rem,1fr) 2fr auto;align-items:baseline;gap:.25rem 1rem;padding:.5rem 0;display:grid}@media (width<=51.25rem){.needs-attention li{grid-template-columns:1fr auto}.reflow .customers tr{grid-template-columns:2.25rem minmax(0,1fr) auto;column-gap:.75rem}.reflow .customers td.name{display:contents}.reflow .customers .initials{background:var(--muted-tint);width:2.25rem;height:2.25rem;color:var(--text);border-radius:50%;grid-area:1/1/span 3;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.reflow .customers .row-link,.reflow .customers td.phone,.reflow .customers td.next{grid-column:2}.reflow .customers td.phone{color:var(--muted)}.reflow .customers td.next{color:var(--muted);font-size:.75rem}.reflow .customers td.email,.reflow .customers td.notes,.reflow .customers .next-appointment .hint{display:none}.reflow .customers .phone-only{display:inline}.reflow .customers .next-appointment{pointer-events:none;color:inherit;font-size:inherit}.reflow .customers td.end{grid-area:4/2/auto/-1;justify-self:end}}.tenant-status-cell{justify-items:start;gap:.25rem;display:grid}.tenant-status-cell .badge{margin:0}.tenants-actions{flex:1;justify-content:flex-end}.tenants-actions .search{width:100%;max-width:20rem;margin:0}.last-sync-cell{gap:.125rem;display:inline-grid}.last-sync-cell small{color:var(--muted);padding-left:1.25rem;font-size:.75rem}.last-sync{align-items:center;gap:.375rem;display:inline-flex}.last-sync svg{color:var(--success)}.last-sync.late svg,.last-sync.late strong{color:var(--warning)}.sms-fails.bad{color:var(--danger);font-weight:700}.disabled-tenants{gap:.5rem;margin-top:1rem;display:grid}.disabled-tenants>*{margin:0}.identity-row{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}@media (width<=51.25rem){.tenants-actions{flex-wrap:nowrap;flex-basis:100%}.tenants-actions .search{flex:1;max-width:none}.reflow .tenants .avatar{width:2.25rem;height:2.25rem}.reflow .tenants .identity-name{font-size:.9375rem}.reflow .tenants .identity small{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.reflow .tenants .tenant-status{color:var(--text);flex-wrap:wrap;align-items:center;gap:.25rem .625rem;display:flex}.reflow .tenants .last-sync strong{font-weight:500}.reflow .tenants .identity small .badge{margin:0}}.team-toolbar{flex-wrap:wrap;justify-content:space-between}.team-toolbar p{color:var(--muted);flex:20rem;margin:0}.staff td.email{color:var(--muted)}.role-badge{border:1px solid var(--line-strong);color:var(--text);font-size:var(--step--1);background:0 0;border-radius:999px;padding:.1875rem .625rem;font-weight:700;display:inline-block}.role-badge.admin{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.role-field{border:0;min-width:0;margin:0 0 1rem;padding:0}.role-field legend{font-size:var(--step--1);margin-bottom:.375rem;padding:0;font-weight:700}.role-card{border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:.625rem;margin-bottom:.5rem;padding:.75rem .875rem;display:flex}.role-card:has(:checked){border:1.5px solid var(--primary);background:var(--sunken)}.role-card input{width:1.125rem;height:1.125rem;accent-color:var(--primary);flex:none;margin:.125rem 0 0}.role-card strong,.role-card .hint{display:block}.role-field:disabled .role-card{cursor:not-allowed;opacity:.6}@media (width<=51.25rem){.reflow .staff td.name{font-weight:700}.reflow .staff td.email,.reflow .staff td.role{font-size:var(--step--1)}}.audit td.when,.audit td.request{font-size:.875rem}.audit td.request{overflow-wrap:anywhere}.audit .method{font-weight:600}.audit td:nth-child(2){color:var(--muted)}.settings-page{grid-template-columns:minmax(0,1fr);gap:1rem;max-width:71rem;display:grid}.settings-header{align-items:center;gap:.875rem;display:flex}.settings-header h1,.settings-header .hint{margin:0}.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);max-width:45rem;padding:1.25rem 1.375rem}.settings-card h2{font-size:var(--step-1);margin:0 0 1rem}.settings-card .calendar-card{border:0;max-width:none;padding:0}.settings-card .connected{flex-wrap:wrap;gap:.25rem .6rem}.settings-card .calendar-open{display:block}.settings-card .notice{margin:.75rem 0 0}.office-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.office-settings>*{grid-column:1/-1}.office-settings>.field:not(:has(textarea)){grid-column:auto}.office-settings.tabbed{display:block}.office-settings.tabbed .field{max-width:none}.calendar-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;max-width:48rem;padding:1rem 1.25rem;display:flex}.calendar-card p{margin:0}.calendar-card .button{border-color:var(--text)}.connected{align-items:center;gap:.6rem;font-weight:700;display:inline-flex}.live-dot{background:var(--success);border-radius:50%;width:.65rem;height:.65rem;animation:2s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--success-tint)}to{box-shadow:0 0 0 .6rem #0000}}.calendar-name{font-weight:400}.calendar-open{font-size:var(--step--1);margin-top:.25rem;display:inline-block}.next-steps{gap:.5rem;padding-left:1.25rem;display:grid}.calendar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.calendar-chooser fieldset{border:0;gap:.5rem;margin:0 0 1rem;padding:0;display:grid}.calendar-chooser legend{margin-bottom:.5rem;font-weight:600}.calendar-chooser .choice{cursor:pointer;align-items:center;gap:.5rem;min-height:2.75rem;display:flex}.calendar-chooser .choice:has(input:disabled){cursor:not-allowed;opacity:.6}.calendar-chooser .notice{margin-bottom:1rem}.office-contact{max-width:36rem;margin:1.5rem 0}.office-contact h3{font-size:var(--step-0);margin:0}.office-contact>.hint{margin:.15rem 0 .75rem}.contact-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;margin:0 0 1rem;padding:1rem 1.25rem .25rem}.contact-card.private{background:var(--bg)}.contact-card legend{float:left;width:100%;padding:0;font-weight:700}.contact-card>.hint{clear:both;margin:.2rem 0 1rem}.office-contact .hint{color:var(--muted);font-size:var(--step--1)}.contact-badge{vertical-align:.1em;border-radius:999px;margin-left:.4rem;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.contact-card.public .contact-badge{background:var(--success-tint);color:var(--success)}.contact-card.private .contact-badge{background:var(--line);color:var(--muted)}@media (width<=51.25rem){.office-settings{grid-template-columns:minmax(0,1fr)}}.office-settings .field:not([data-filled]):has(:required) :is(input,textarea){border-color:var(--warning)}.sms-template{max-width:40rem}.sms-tools{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.sms-tools .chip-button{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--sunken);min-height:2rem;color:var(--primary);padding:0 .625rem}.sms-tools .chip-button:before{content:"+ "}.sms-template textarea{font-family:var(--font-mono)}.sms-examples{font-size:var(--step--1);gap:.75rem;margin-left:auto;display:inline-flex}.sms-preview{margin:.25rem 0 0}.sms-preview figcaption{color:var(--muted);font-size:var(--step--1)}.sms-bubble{background:var(--sunken);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:1rem 1rem 1rem .25rem;max-width:28rem;margin:.25rem 0;padding:.625rem .875rem}.sms-cost{color:var(--muted);font-size:var(--step--1);margin:0}.sms-cost.costly{color:var(--text);font-weight:700}.sms-cost.costly:before{content:"● ";color:var(--warning)}.settings-split{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1.25rem;display:grid}.settings-cards{gap:1rem;display:grid}.settings-cards .card-header{margin-bottom:1.25rem}.phone-preview{justify-items:center;gap:.75rem;margin:0;display:grid;position:sticky;top:1rem}.phone-preview figcaption{color:var(--muted);font-size:var(--step--1);font-weight:700}.phone-frame{background:var(--device);border-radius:44px;width:100%;max-width:18.75rem;padding:8px}.phone-screen{background:var(--surface);border-radius:36px;min-height:21rem;overflow:hidden}.phone-sender{border-bottom:1px solid var(--line);font-size:var(--step--1);justify-items:center;gap:.25rem;padding:1.25rem .75rem .75rem;font-weight:700;display:grid}.phone-sender-mark{background:var(--primary);width:2.5rem;height:2.5rem;color:var(--on-primary);border-radius:50%;place-items:center;font-size:.875rem;display:grid}.phone-thread{padding:1rem .875rem 1.25rem}.phone-thread .sms-bubble{background:var(--sunken);border-radius:18px 18px 18px 4px;max-width:92%;margin:0;font-size:.875rem;line-height:1.42}.phone-preview .sms-cost{text-align:center}@media (width<=64rem){.settings-split{grid-template-columns:minmax(0,1fr)}.phone-preview{position:static}}
