:root{--accent:#018287;--accent-dark:#016b6f;--accent-tint:#0182871f;--accent-faint:#0182870d;--on-accent:#fff;--danger:#d32f2f;--danger-tint:#d32f2f1f;--success:#1ea34d;--warning:#f59e0b;--info:#2d5ba8;--status-open:#2d5ba8;--status-progress:#e8b923;--status-waiting:#5a6472;--status-complete:#1ea34d;--status-requested:#5a6472;--status-sent:#2d5ba8;--status-approved:#1ea34d;--status-declined:#7a4f78;--status-scheduled:#2d5ba8;--status-done:#1ea34d;--status-missed:#9a4a0c;--status-cancelled:#5a6472;--stage-not_started:#5a6472;--stage-in_progress:#2d5ba8;--stage-done:#1ea34d;--stage-not_applicable:#8a93a3;--status-progress-text:#8a6100;--status-complete-text:#1b7038;--status-approved-text:#1b7038;--status-done-text:#1b7038;--stage-done-text:#1b7038;--stage-not_applicable-text:#5f6775;--horizon-short:#c2410c;--horizon-medium:#e8b923;--horizon-medium-ink:#3d2e00;--horizon-long:#2d5ba8;--horizon-none:#5a6472;--loop-done:#16822b;--loop-weight-1:#e6cf8a;--loop-weight-2:#dd9426;--loop-weight-3:#c0561a;--loop-weight-4:#7a1220;--loop-ink-strong:#232a36;--field:#e8ebf0;--field-dark:#c8cdd6;--surface:#fff;--card:#f4f6f9;--ink:#3d4555;--ink-light:#5a6472;--ink-disabled:#8a93a3;--rule:#d1d5de;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--t-xs:12px;--t-sm:13px;--t-base:14px;--t-md:16px;--t-lg:18px;--t-xl:20px;--t-2xl:24px;--t-3xl:32px;--lh-tight:1.25;--lh-snug:1.4;--lh-normal:1.5;--w-regular:400;--w-medium:600;--w-bold:700;--radius:4px;--radius-pill:999px;--border-w:3px;--hairline:1px;--line:3px;--edge:#8a93a3;--control-edge:var(--rule);--btn-bg:var(--surface);--btn-hover:var(--card);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:48px;--ctl:44px;--ctl-sm:36px;--ctl-lg:52px;--sidebar:220px;--bottom-nav:60px;--page-margin:24px;--page-margin-mobile:16px;--transition-fast:.15s ease;--transition-base:.2s ease;--z-sticky:4;--z-nav:5;--z-modal:10;--z-toast:20}@media (width>=1024px){:root{--ctl:36px;--ctl-sm:30px;--border-w:1px;--control-edge:var(--edge);--btn-bg:var(--card);--btn-hover:var(--field)}}*,:before,:after{box-sizing:border-box}html,body{background:var(--field);height:100%;color:var(--ink);font:var(--w-regular) var(--t-base) / var(--lh-normal) var(--font-ui);-webkit-text-size-adjust:100%;margin:0}#root{height:100%}a{color:var(--accent-dark)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.app-viewport{height:100dvh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar);background:var(--surface);border-right:var(--hairline) solid var(--rule);flex-direction:column;flex-shrink:0;height:100%;display:flex;overflow:hidden}.sidebar-head{padding:var(--s-3) var(--s-4);border-bottom:var(--hairline) solid var(--rule)}.wordmark{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);margin:0}.clock{align-items:baseline;gap:var(--s-1);font-size:var(--t-xs);color:var(--ink-light);margin-top:2px;display:flex}.clock-date,.clock-time{white-space:nowrap;margin:0}.clock-time:before{content:"·";margin-right:var(--s-1);color:var(--ink-light);font-weight:var(--w-regular)}.clock-time{color:var(--ink);font-weight:var(--w-bold)}.nav{min-height:0;padding:var(--s-2) 0;flex:1;overflow-y:auto}.nav-item{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);margin:2px var(--s-2);border:var(--border-w) solid transparent;border-left-width:var(--line);border-radius:var(--radius);color:var(--ink);font-size:var(--t-sm);font-weight:var(--w-bold);transition:background-color var(--transition-fast), border-color var(--transition-fast);text-decoration:none;display:flex}@media (hover:hover){.nav-item:hover:not(.active){background:var(--field);border-color:#0000}}.nav-item.active{background:var(--accent-tint);border-color:#0000;border-left-color:var(--accent);color:var(--accent-dark)}.nav-foot{padding:var(--s-2) 0;border-top:var(--hairline) solid var(--rule)}.bottom-nav,.more-scrim,.more-sheet{display:none}.main{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.page{min-height:0;padding:var(--page-margin);flex:1;overflow-y:auto}@media (width>=1024px){.page{scrollbar-gutter:stable}}.page-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.page-title{align-items:center;gap:var(--s-2);font-size:var(--t-2xl);font-weight:var(--w-bold);line-height:var(--lh-tight);margin:0;display:flex}.page-title svg{color:var(--accent)}.back-link{align-items:center;gap:var(--s-1);margin-bottom:var(--s-2);color:var(--ink-light);font-size:var(--t-sm);font-weight:var(--w-medium);text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.placeholder{padding:var(--s-8) var(--s-4);text-align:center;border:var(--border-w) dashed var(--rule);border-radius:var(--radius);color:var(--ink-light)}.placeholder-title{margin:0 0 var(--s-1);font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink)}.placeholder-note{font-size:var(--t-sm);margin:0}button{font:inherit;color:inherit;cursor:pointer}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--ctl);padding:0 var(--s-4);border:var(--border-w) solid var(--control-edge);border-radius:var(--radius);background:var(--btn-bg);color:var(--ink);font-size:var(--t-base);font-weight:var(--w-bold);white-space:nowrap;transition:background-color var(--transition-fast), border-color var(--transition-fast);line-height:1;display:inline-flex}.btn:hover:not(:disabled){background:var(--btn-hover)}.btn:disabled{opacity:.5;cursor:default}.input:focus-visible{outline:var(--line) solid var(--accent-tint);outline-offset:0;border-color:var(--accent)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);border-color:var(--accent-dark);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(.9)}a.btn{text-decoration:none}.btn.active{background:var(--accent-tint);border-color:var(--accent)}.btn-sm{min-height:var(--ctl-sm);padding:0 var(--s-3);font-size:var(--t-sm)}.input{width:100%;min-height:var(--ctl);padding:0 var(--s-3);border:var(--border-w) solid var(--control-edge);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit}.input::placeholder{color:var(--ink-disabled)}textarea.input{padding:var(--s-2) var(--s-3);min-height:0;line-height:var(--lh-normal);resize:vertical}.label{margin-bottom:var(--s-1);font-size:var(--t-sm);font-weight:var(--w-medium);display:block}.field+.field,.field-row+.field,.field+.field-row,.field-row+.field-row{margin-top:var(--s-4)}.field-note+.field-row{margin-top:var(--s-3)}.field+.block,.field-row+.block{margin-top:var(--s-6)}.form-error{margin:0 0 var(--s-4);padding:var(--s-3);border:var(--border-w) solid var(--danger);border-radius:var(--radius);background:var(--danger-tint);color:var(--ink);font-size:var(--t-sm)}.form-warning{margin:0 0 var(--s-4);padding:var(--s-3);border:var(--border-w) solid var(--warning);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--ink);font-size:var(--t-sm)}.form-warning p{margin:0 0 var(--s-2)}.form-warning-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.auth-viewport{min-height:100dvh;padding:var(--s-4);background:var(--field);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px;padding:var(--s-6);background:var(--surface);border:var(--border-w) solid var(--rule);border-radius:var(--radius)}.auth-title{margin:0 0 var(--s-1);font-size:var(--t-xl);font-weight:var(--w-bold)}.auth-note{margin:0 0 var(--s-5);font-size:var(--t-sm);color:var(--ink-light)}.boot-viewport{background:var(--surface)}@keyframes boot-spin{to{transform:rotate(360deg)}}.auth-actions{margin-top:var(--s-5);gap:var(--s-2);flex-direction:column;display:flex}.auth-actions .btn{width:100%}.auth-divider{align-items:center;gap:var(--s-3);margin:var(--s-4) 0;color:var(--ink-disabled);font-size:var(--t-xs);display:flex}.auth-divider:before,.auth-divider:after{content:"";height:var(--hairline);background:var(--rule);flex:1}@media (width<=1023px){:root{--t-base:16px;--bottom-nav-total:calc(var(--bottom-nav) + env(safe-area-inset-bottom,0px))}.app-viewport{flex-direction:column}.sidebar{display:none}.page{padding:var(--page-margin-mobile)}.bottom-nav{height:var(--bottom-nav-total);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:var(--border-w) solid var(--rule);flex-shrink:0;display:flex}.bottom-item{min-width:0;color:var(--ink-light);font-size:var(--t-xs);font-weight:var(--w-medium);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-item.active{color:var(--accent)}button.bottom-item{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.more-scrim{inset:0 0 var(--bottom-nav-total) 0;background:color-mix(in srgb, var(--ink) 40%, transparent);z-index:20;border:0;padding:0;display:block;position:fixed}.more-sheet{left:0;right:0;bottom:var(--bottom-nav-total);padding:var(--s-2) 0;background:var(--surface);border-top:var(--border-w) solid var(--rule);z-index:21;max-height:calc(100dvh - var(--bottom-nav-total) - var(--s-8));display:block;position:fixed;overflow-y:auto}.more-sheet .nav-item{padding:var(--s-3);font-size:var(--t-base)}.bottom-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}.pill{border-radius:var(--radius);background:color-mix(in srgb, var(--pill-tone) 14%, transparent);color:var(--pill-text,color-mix(in srgb, var(--pill-tone) 70%, var(--ink)));font-size:var(--t-xs);font-weight:var(--w-medium);line-height:var(--lh-tight);white-space:nowrap;flex-shrink:0;align-items:center;padding:2px 6px;display:inline-flex}.horizon{border-radius:var(--radius);background:var(--horizon-tone);width:18px;height:18px;color:var(--horizon-ink,var(--on-accent));font-size:var(--t-xs);font-weight:var(--w-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.quick-add{gap:var(--s-2);margin-bottom:var(--s-6);display:flex}.quick-add .input{flex:1}.quick-add-wrap{margin-bottom:var(--s-6)}.quick-add-wrap .quick-add{margin-bottom:0}.mention-field{flex:1;display:flex;position:relative}.mention-menu{top:calc(100% + var(--s-1));z-index:5;padding:var(--s-1) 0;background:var(--surface);border:var(--border-w) solid var(--rule);border-radius:var(--radius);margin:0;list-style:none;position:absolute;left:0;right:0}.mention-option{align-items:baseline;gap:var(--s-2);padding:var(--s-2) var(--s-3);cursor:pointer;display:flex}.mention-option.active{background:var(--accent-tint)}.mention-number{font-weight:600}.mention-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mention-customer{color:var(--ink-light);font-size:var(--t-sm);white-space:nowrap;margin-left:auto}.quick-add-note{align-items:center;gap:var(--s-2);margin:var(--s-1) 0 0;font-size:var(--t-xs);color:var(--ink-light);display:flex}.quick-add+.note-capture{margin-top:calc(-1 * var(--s-3))}.note-error{margin:var(--s-1) 0 0}.note-tags{align-items:center;gap:var(--s-2);flex-wrap:wrap;min-width:0;display:flex}.note-capture .note-tags{margin-top:var(--s-2)}.tag-chip{align-items:center;gap:var(--s-1);max-width:100%;padding:2px var(--s-2);border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--accent-tint);color:var(--accent);font-size:var(--t-xs);font-weight:var(--w-medium);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;display:inline-flex;overflow:hidden}a.tag-chip{text-decoration:none}a.tag-chip:hover{border-color:var(--accent)}.tag-chip-x{color:inherit;font-size:var(--t-sm);background:0 0;border:none;padding:0 2px;line-height:1}.stat-row{gap:var(--s-3);margin-bottom:var(--s-6);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat-card{padding:var(--s-3) var(--s-4);border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--surface);text-align:left;transition:border-color var(--transition-fast);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.stat-card:hover{border-color:var(--accent)}a.stat-card{color:inherit;text-decoration:none}.stat-value{font-size:var(--t-2xl);font-weight:var(--w-bold);line-height:var(--lh-tight);color:var(--accent)}.stat-label{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-light);text-transform:uppercase;letter-spacing:.03em}.block{margin-bottom:var(--s-6)}.block-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.block-actions{align-items:center;gap:var(--s-3);display:flex}.block-title{font-size:var(--t-base);font-weight:var(--w-bold);margin:0}.link-btn{color:var(--accent);font-size:var(--t-sm);font-weight:var(--w-medium);background:0 0;border:none;padding:0}.link-btn:hover{text-decoration:underline}.empty-line{padding:var(--s-2) 0;font-size:var(--t-sm);color:var(--ink-light);margin:0}.week-chart{align-items:flex-end;gap:var(--s-2);padding-top:var(--s-2);display:flex}.week-col{align-items:center;gap:var(--s-1);flex-direction:column;flex:1;min-width:0;display:flex}a.week-col{color:inherit;text-decoration:none}a.week-col:hover .week-track{border-color:var(--accent)}.week-hours{height:14px;font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink)}.week-track{background:var(--card);border:var(--hairline) solid var(--rule);border-radius:var(--radius);align-items:flex-end;width:100%;display:flex;overflow:hidden}.week-bar{background:var(--field-dark);width:100%}.week-bar.today{background:var(--accent)}.week-day{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-light);line-height:var(--lh-tight)}.week-day.today{color:var(--accent);font-weight:var(--w-bold)}.week-date{font-size:var(--t-xs);color:var(--ink-light);line-height:var(--lh-tight)}.row-list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--surface);text-align:left;transition:background-color var(--transition-fast);display:flex}.row:hover{background:var(--card)}.row-main{align-items:center;gap:var(--s-2);flex:1;min-width:0;display:flex}.row-text{min-width:0;font-size:var(--t-base);text-overflow:ellipsis;white-space:nowrap;flex-direction:column;display:flex;overflow:hidden}.row-sub{font-size:var(--t-xs);font-weight:var(--w-regular);color:var(--ink-light);margin-top:2px}.row-text>strong,.row-text>.row-sub{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (width<=640px){.row-text>strong,.row-text>.row-sub{white-space:normal;overflow-wrap:anywhere}}.row-aside{font-size:var(--t-xs);color:var(--ink-light);flex-shrink:0}.search{margin-bottom:var(--s-3)}.table{border:var(--border-w) solid var(--rule);border-radius:var(--radius);overflow:hidden}.sort-select{display:none}.table-head{gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--card);border-bottom:var(--hairline) solid var(--rule);font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--ink-light);text-transform:uppercase;letter-spacing:.05em;align-items:center;display:grid}.table-row{gap:var(--s-3);padding:var(--s-3);background:var(--surface);transition:background-color var(--transition-fast);align-items:center;display:grid}.table-row+.table-row{border-top:var(--hairline) solid var(--rule)}.table-row:hover{background:var(--card)}.cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--t-sm);color:var(--ink);overflow:hidden}.cell-strong{font-size:var(--t-base);font-weight:var(--w-medium)}.cell-empty{color:var(--ink-disabled)}.cell-link{color:var(--ink);text-decoration:none}.cell-link:hover{color:var(--accent);text-decoration:underline}button.cell-link{text-align:left;background:0 0;border:none;padding:0}.sort-header{min-width:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:2px;padding:0;display:inline-flex}.sort-header:hover .sort-label{color:var(--ink)}.sort-header.active{color:var(--accent)}.sort-header:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sort-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sort-arrow{flex:none;width:8px;font-size:8px;line-height:1;display:inline-block}.icon-btn{width:var(--ctl-sm);height:var(--ctl-sm);border:var(--hairline) solid transparent;border-radius:var(--radius);color:var(--ink-disabled);font-size:var(--t-lg);background:0 0;justify-content:center;justify-self:end;align-items:center;line-height:1;display:inline-flex}.icon-btn:hover{border-color:var(--rule);color:var(--ink)}.icon-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.empty-state{padding:var(--s-8) var(--s-4);text-align:center;color:var(--ink-light);font-size:var(--t-base);margin:0}.modal{width:min(calc(100vw - 2 * var(--s-4)), 520px);max-height:calc(100dvh - 2 * var(--s-4));border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:0;overflow:hidden}.modal.modal-wide{width:min(calc(100vw - 2 * var(--s-4)), 860px)}.nav-search{width:calc(100% - 2 * var(--s-2));text-align:left;cursor:pointer;background:0 0;font-family:inherit}.search-results{margin-top:var(--s-3);max-height:60vh;overflow-y:auto}.search-group{margin:var(--s-3) 0 var(--s-1);color:var(--ink-light);font-size:var(--t-xs);font-weight:var(--w-bold);text-transform:uppercase}.search-row{align-items:baseline;gap:var(--s-3);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--radius);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.search-row.active{background:var(--accent-tint);outline:2px solid var(--accent);outline-offset:-2px}.search-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--w-bold);overflow:hidden}.search-sub{text-overflow:ellipsis;white-space:nowrap;max-width:50%;color:var(--ink-light);font-size:var(--t-xs);flex-shrink:0;overflow:hidden}@media (width<=640px){.search-row{flex-direction:column;gap:2px}.search-sub{max-width:100%}}.picker-trigger{text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.picker-placeholder{color:var(--ink-light)}.picker-table .table-head,.picker-row{grid-template-columns:80px 1.4fr 1.2fr 110px}.picker-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border:0}.picker-row.selected{background:var(--accent-tint)}.picker-customer-line{display:none}.picker-row.active{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=640px){.picker-table .table-head,.picker-row{grid-template-columns:64px 1fr 100px}.picker-table .table-head>:nth-child(3),.picker-customer{display:none}.picker-name{white-space:normal;overflow-wrap:anywhere}.picker-customer-line{color:var(--ink-light);font-size:var(--t-xs);font-weight:var(--w-regular);display:block}}.modal::backdrop{background:color-mix(in srgb, var(--ink) 40%, transparent)}.modal-body{box-sizing:border-box;max-height:calc(100dvh - 2 * var(--s-4) - 2 * var(--border-w));padding:var(--s-5);flex-direction:column;display:flex}.modal-title{margin:0 0 var(--s-4);font-size:var(--t-lg);font-weight:var(--w-bold)}.modal-content{scrollbar-gutter:stable;min-height:0;margin:0 calc(-1 * var(--s-5)) 0 -3px;padding:0 var(--s-2) 0 3px;flex:auto;overflow-y:auto}@media (pointer:coarse){.modal-content{padding-right:var(--s-5)}}.modal-message{font-size:var(--t-base);margin:0}.modal-message+.modal-message{margin-top:var(--s-3)}.modal-aside{color:var(--ink-light);font-size:var(--t-sm)}.open-task-list{margin:var(--s-2) 0 0;padding-left:var(--s-5);font-size:var(--t-sm)}.modal-foot{justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5);padding-top:var(--s-4);border-top:var(--hairline) solid var(--rule);flex-wrap:wrap;display:flex}@media (pointer:fine){.modal-foot{margin-right:3px}}.field-row{gap:var(--s-3);display:flex}.field-row .field{flex:1;min-width:0}.field-row .field+.field{margin-top:0}.head-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.contact-lines{margin-bottom:var(--s-5);font-size:var(--t-sm);color:var(--ink-light);flex-direction:column;gap:2px;display:flex}@media (width<=640px){.contact-lines{gap:0}.contact-lines>span,a.cell-link[href^=tel\:],a.cell-link[href^=mailto\:]{min-height:var(--ctl-sm);align-items:center;display:inline-flex}}.stat-card.static{cursor:default}.stat-card.static:hover{border-color:var(--rule)}.block-note{font-size:var(--t-xs);font-weight:var(--w-regular);color:var(--ink-light);text-transform:none}@media (width<=640px){.overdue-task-row{flex-wrap:wrap}.overdue-task-row .row-actions{flex-basis:100%;justify-content:flex-end}}.row.static{cursor:default}.row.static:hover{background:var(--surface)}a.row{color:inherit;text-decoration:none}.row-text.done{color:var(--ink-light);text-decoration:line-through}.filter-row{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.filter-row .input{flex:240px}.status-filter{flex:0 170px}.filter-row .status-filter{flex:140px}.select-row{gap:var(--s-2);display:flex}.select-row .input{flex:1;min-width:0}.select-row .btn{padding:0 var(--s-4);flex:none}@media (width<=640px){.select-row.invite-form{flex-wrap:wrap}.select-row.invite-form .input:first-child{flex:1 0 100%}.select-row.invite-form .status-filter{flex:1 1 0}.row.people-row{flex-wrap:wrap}.row.people-row>.row-main{flex:1 0 100%}}select.input{height:var(--ctl);appearance:auto}.cell-number{font-weight:var(--w-bold)}.identity-line{align-items:center;gap:var(--s-3);margin-bottom:var(--s-1);flex-wrap:wrap;display:flex}.identity-number{font-size:var(--t-base);color:var(--ink-light)}.identity-customer{font-size:var(--t-base);font-weight:var(--w-medium);color:var(--ink);text-decoration:none}.identity-customer:hover{color:var(--accent);text-decoration:underline}.lifecycle-line{margin:0 0 var(--s-6);font-size:var(--t-sm);color:var(--ink-light)}.hours-readout{align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-2);display:flex}.hours-big{font-size:var(--t-2xl);font-weight:var(--w-bold);color:var(--accent);line-height:var(--lh-tight)}.hours-big.over{padding:0 var(--s-1);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 28%, transparent);color:var(--ink)}.hours-estimate{font-size:var(--t-base);color:var(--ink-light)}.progress-track{height:8px;margin-bottom:var(--s-4);background:var(--field-dark);border-radius:var(--radius);overflow:hidden}.progress-bar{background:var(--accent);height:100%;transition:width var(--transition-base)}.progress-bar.over{background:var(--warning)}.row-aside.over{padding:0 var(--s-1);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 28%, transparent);color:var(--ink);font-weight:var(--w-medium)}.row-aside.hours{font-weight:var(--w-medium);color:var(--ink)}.block-actions{align-items:center;gap:var(--s-2);margin-top:var(--s-2);justify-content:flex-end;display:flex}.chip-row{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.chip-row.labelled{margin-bottom:var(--s-3)}.chip-row.repeat-presets{margin-top:var(--s-2)}.chip-label{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-light);text-transform:uppercase;letter-spacing:.03em}.chip{height:var(--ctl-sm);padding:0 var(--s-3);border:var(--border-w) solid var(--control-edge);border-radius:var(--radius);color:var(--ink-light);font-size:var(--t-xs);font-weight:var(--w-medium);background:0 0}@media (hover:hover){.chip:hover{border-color:var(--accent)}}.chip.on{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-dark)}.panel{padding:var(--s-4);margin-bottom:var(--s-3);border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--surface)}.totals-row{gap:var(--s-7);flex-wrap:wrap;display:flex}.total{flex-direction:column;display:flex}.total-label{font-size:var(--t-xs);color:var(--ink-light);text-transform:uppercase;letter-spacing:.03em}.total-value{font-size:var(--t-2xl);font-weight:var(--w-bold);line-height:var(--lh-tight);color:var(--accent)}.total-unit{margin-left:var(--s-1);font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-light)}.group-toggles{align-items:center;gap:var(--s-4);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.checkbox{align-items:center;gap:var(--s-2);font-size:var(--t-sm);cursor:pointer;display:flex}.checkbox input{width:16px;height:16px;accent-color:var(--accent)}.breakdown{margin-top:var(--s-3);padding-top:var(--s-3);border-top:var(--hairline) solid var(--rule)}.breakdown-row{justify-content:space-between;gap:var(--s-3);font-size:var(--t-sm);padding:1px 0;display:flex}.breakdown-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.breakdown-hours{font-weight:var(--w-medium);flex:none}.breakdown-more{font-size:var(--t-xs);color:var(--ink-light);padding-top:2px}.timesheet{padding:0;overflow:hidden}.timesheet-head{justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-3);background:var(--card);border-bottom:var(--hairline) solid var(--rule);display:flex}.timesheet-range{font-size:var(--t-sm);flex-direction:column;align-items:center;display:flex}.timesheet-range span{font-size:var(--t-xs);color:var(--ink-light)}.step{width:var(--ctl-sm);height:var(--ctl-sm);color:var(--ink);font-size:var(--t-xl);background:0 0;border:none;line-height:1}.step:hover{color:var(--accent)}.link-btn.inline{margin-left:var(--s-2)}.timesheet-day{gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface);display:flex}.timesheet-day+.timesheet-day{border-top:var(--hairline) solid var(--rule)}.timesheet-day.today{background:var(--accent-faint)}.timesheet-date{width:52px;font-size:var(--t-xs);flex-direction:column;flex:none;display:flex}.timesheet-date span{color:var(--ink-light)}.timesheet-entries{flex:1;min-width:0}.timesheet-none{font-size:var(--t-xs);color:var(--ink-light)}.timesheet-entry{justify-content:space-between;align-items:baseline;gap:var(--s-3);width:100%;padding:2px var(--s-2);margin:0 calc(var(--s-2) * -1);border-radius:var(--radius);text-align:left;font-size:var(--t-sm);color:var(--ink);background:0 0;border:none;display:flex}.timesheet-entry:hover{background:var(--card)}.timesheet-job{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.timesheet-details{color:var(--ink-light);font-size:var(--t-xs)}.timesheet-hours{font-weight:var(--w-medium);flex:none}.timesheet-total{text-align:right;width:52px;font-size:var(--t-sm);font-weight:var(--w-bold);flex:none}.timesheet-total.zero{color:var(--ink-light);font-weight:var(--w-regular)}.customers-table .table-head,.customers-table .table-row{grid-template-columns:minmax(13rem,1.4fr) minmax(8rem,1fr) 120px minmax(12rem,1.3fr) minmax(12rem,1.5fr) 84px}.row-actions{justify-content:flex-end;gap:var(--s-1);display:flex}.projects-table .table-head,.projects-table .table-row{grid-template-columns:76px minmax(14rem,1fr) minmax(9rem,15rem) 112px 128px 132px}.development-table .table-head,.development-table .table-row{grid-template-columns:76px minmax(14rem,1fr) minmax(9rem,15rem) 104px 9.5rem 128px}.chip-filters{gap:var(--s-4);margin-bottom:var(--s-3);flex-direction:column;display:flex}.chip-filters>.input{max-width:30rem}.chip-group{align-items:start;gap:var(--s-1) var(--s-2);grid-template-columns:5.5rem 1fr;display:grid}.chip-group>.chip-label{line-height:var(--ctl-sm)}.chip-group .chip-row{gap:6px}.chip-group .chip.on:before{content:"✓";margin-right:var(--s-1)}.chip-count{font-weight:var(--w-regular);color:var(--ink-light);margin-left:6px}.chip.on .chip-count{color:inherit}.filter-summary{align-items:center;gap:0 var(--s-3);margin:0 0 var(--s-3);font-size:var(--t-sm);color:var(--ink-light);flex-wrap:wrap;display:flex}.filter-summary .link-btn{min-height:32px}@media (width<=640px){.chip-group{grid-template-columns:1fr}.chip-group>.chip-label{line-height:var(--lh-tight)}.chip-group.chip-grid-2 .chip-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chip-group .chip{padding:0 10px}.chip-filters>.input{max-width:none}}.development-table .c-status{color:var(--ink-light)}.tabs{border-bottom:var(--hairline) solid var(--rule);display:flex}.tab{min-height:var(--ctl);padding:0 var(--s-4);margin-bottom:calc(-1 * var(--hairline));border:none;border-bottom:var(--line) solid transparent;color:var(--ink-light);font-size:var(--t-base);font-weight:var(--w-medium);background:0 0;flex:1}@media (hover:hover){.tab:hover{color:var(--ink);background:var(--card)}}.tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent-dark);font-weight:var(--w-bold)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width>=641px){.tab{flex:none;min-width:9rem}}.project-tabs{margin-block:var(--s-3)}.card-row{cursor:pointer;position:relative}.card-row .row-link:after{content:"";position:absolute;inset:0}.card-row a:not(.row-link),.card-row button,.card-row label{z-index:1;position:relative}@media (width<=640px){.card-row:active{background:var(--accent-tint)}.card-row a:not(.row-link){justify-self:start;max-width:100%;margin-block:-6px;padding-block:6px}}.card-row .row-link:focus-visible{outline:none}.card-row .row-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}.dev-stage-text,.dev-notes-text{margin:0}.dev-notes-text{white-space:pre-wrap}.timelog-table .table-head,.timelog-table .table-row{grid-template-columns:90px 110px 1fr 90px 96px}@media (width>=641px){.timelog-table.with-who .table-head,.timelog-table.with-who .table-row{grid-template-columns:90px 110px 1fr 130px 90px 96px}}.timelog-table .table-row.fresh{background:var(--accent-tint)}.timesheet-add{flex:none;align-self:flex-start;margin:-2px 0}.stats-summary{display:none}.window-more{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;font-size:var(--t-sm);color:var(--ink-light);display:flex}.quotes-table .table-head,.quotes-table .table-row{grid-template-columns:76px 104px minmax(9rem,13rem) minmax(14rem,1fr) 110px 128px 80px 120px}.quotes-table.selecting .table-head,.quotes-table.selecting .table-row{grid-template-columns:32px 76px 104px minmax(9rem,13rem) minmax(14rem,1fr) 110px 128px 80px 120px}.app-notes-table .table-head,.app-notes-table .table-row{grid-template-columns:84px 110px 72px minmax(0,1fr)}.lessons-table .table-head,.lessons-table .table-row{grid-template-columns:84px minmax(0,1.3fr) minmax(0,1.2fr) minmax(16rem,1.3fr) 72px}.tasks-table .table-head,.tasks-table .table-row{grid-template-columns:20px 26px 26px minmax(12rem,1fr) minmax(5.5rem,.7fr) minmax(7rem,1fr) 88px 96px 88px 56px 32px}.tasks-table.selecting .table-head,.tasks-table.selecting .table-row{grid-template-columns:26px 26px minmax(12rem,1fr) minmax(5.5rem,.7fr) minmax(7rem,1fr) 88px 96px 88px 56px 32px}.quote-sheet-page{min-height:100dvh;padding:var(--s-5) var(--page-margin);background:var(--field)}.quote-sheet-actions{justify-content:space-between;gap:var(--s-3);max-width:48rem;margin:0 auto var(--s-4);display:flex}.quote-sheet{max-width:48rem;padding:var(--s-6);background:var(--surface);border:var(--border-w) solid var(--rule);border-radius:var(--radius);color:var(--ink);margin:0 auto}.quote-sheet-head{padding-bottom:var(--s-4);border-bottom:var(--border-w) solid var(--rule)}.quote-sheet-business{margin:0 0 var(--s-1);font-size:var(--t-2xl);font-weight:var(--w-bold)}.quote-sheet-lines{font-size:var(--t-sm);color:var(--ink-light);white-space:pre-line;margin:0}.quote-sheet-title{justify-content:space-between;align-items:flex-start;gap:var(--s-4);margin:var(--s-5) 0;flex-wrap:wrap;display:flex}.quote-sheet-title h2{font-size:var(--t-xl);font-weight:var(--w-bold);margin:0}.quote-sheet-meta{gap:var(--s-1) var(--s-3);font-size:var(--t-sm);grid-template-columns:auto auto;margin:0;display:grid}.quote-sheet-meta dt{color:var(--ink-light)}.quote-sheet-meta dd{margin:0}.quote-sheet-block{margin-bottom:var(--s-5)}.quote-sheet-block h3{margin:0 0 var(--s-1);font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--ink-light);text-transform:uppercase;letter-spacing:.05em}.quote-sheet-block p{margin:0}.quote-sheet-strong{font-weight:var(--w-medium)}.quote-sheet-text{white-space:pre-wrap}.quote-sheet-figures{width:100%;margin-bottom:var(--s-5);border-collapse:collapse}.quote-sheet-figures th,.quote-sheet-figures td{padding:var(--s-2) 0;border-bottom:var(--hairline) solid var(--rule);text-align:left;font-weight:var(--w-regular)}.quote-sheet-figures td{text-align:right}.quote-sheet-figures .quote-sheet-total th,.quote-sheet-figures .quote-sheet-total td{border-bottom:var(--line) solid var(--ink);font-size:var(--t-lg);font-weight:var(--w-bold)}@media print{html,body{background:var(--surface);height:auto}#root{height:auto}.quote-sheet-actions{display:none}.quote-sheet-page{background:var(--surface);min-height:0;padding:0}.quote-sheet{border:0;border-radius:0;max-width:none;padding:0}.quote-sheet-title,.quote-sheet-figures,.quote-sheet-block{break-inside:avoid}}.overdue{padding:0 var(--s-1);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 28%, transparent);color:var(--ink);font-weight:var(--w-medium);justify-self:start}.projects-table .c-number.duplicate-number{padding:0 var(--s-1);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 28%, transparent);justify-self:start}.projects-table .c-hours.over{padding:0 var(--s-1);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 28%, transparent);font-weight:var(--w-medium);justify-self:start}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bulk-bar{align-items:center;gap:var(--s-2) var(--s-3);margin:var(--s-3) 0;padding:var(--s-2) var(--s-3);border:var(--hairline) solid var(--accent);border-radius:var(--radius);background:var(--accent-tint);flex-wrap:wrap;display:flex}.bulk-count{font-weight:var(--w-bold)}.tasks-table .table-row.selected{background:var(--accent-tint)}.tasks-table .c-snooze{grid-column:4/-1}.tasks-table.selecting .c-snooze{grid-column:3/-1}.snooze-note{font-size:var(--t-xs);color:var(--ink-light)}.snooze-note .link-btn,.lifecycle-line .snooze-note{font-size:inherit}.project-name{display:none}.cant-see{padding:0 var(--s-1);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 28%, transparent);color:var(--ink)}@media (width<=640px){.project-name{display:inline}.table-head{display:none}.picker-table .table-head{display:grid}.sort-select{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--card);border-bottom:var(--hairline) solid var(--rule);font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--ink-light);text-transform:uppercase;letter-spacing:.05em;display:flex}.sort-select .input{text-transform:none;letter-spacing:normal;min-width:0;font-weight:var(--w-regular);flex:1}.table-row{gap:var(--s-1) var(--s-3)}.table-row .c-name{grid-area:name}.table-row .c-number{grid-area:number}.table-row .c-customer{grid-area:customer}.table-row .c-contact{grid-area:contact}.table-row .c-phone{grid-area:phone}.table-row .c-email{grid-area:email}.table-row .c-address{grid-area:address}.table-row .c-status{grid-area:status}.table-row .c-hours{grid-area:hours}.table-row .c-kind{grid-area:kind}.table-row .c-date{grid-area:date}.table-row .c-job{grid-area:job}.table-row .c-desc{grid-area:desc}.table-row .c-amount{grid-area:amount}.table-row .c-actions{grid-area:actions}.table-row .c-expand{grid-area:expand}.table-row .c-horizon{grid-area:horizon}.table-row .c-check{grid-area:check}.table-row .c-title{grid-area:title}.table-row .c-project{grid-area:project}.table-row .c-assignee{grid-area:assignee}.table-row .c-days{grid-area:days}.table-row .c-snooze{grid-area:snooze}.table-row .c-due{grid-area:due}.table-row .c-problem{grid-area:problem}.table-row .c-solution{grid-area:solution}.table-row .c-tag{grid-area:tag}.table-row .c-hours,.table-row .c-amount,.table-row .c-days{justify-self:end}.customers-table .table-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions""contact phone""address address";row-gap:0}.customers-table .c-contact,.customers-table .c-phone,.customers-table .c-address{margin-top:var(--s-1)}.customers-table .c-phone{justify-self:end}.customers-table .c-email,.customers-table .cell-empty{display:none}.projects-table .table-row{grid-template-columns:auto 1fr auto;grid-template-areas:"name name status""number customer hours""due due due"}.projects-table .c-status{justify-self:end}.development-table .table-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"name name stage""number customer status""due due due"}.development-table .c-stage{grid-area:stage;place-self:start end}.development-table .c-status{justify-self:end}.development-table .c-name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.development-table .c-due.cell-empty{display:none}.projects-table .c-hours.over{justify-self:end}.projects-table .c-due.cell-empty{display:none}.timelog-table .table-row{border-left:4px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"job hours""date date";align-items:start}.timelog-table .table-row.kind-project{border-left-color:var(--accent)}.timelog-table.with-who .table-row{grid-template-areas:"job hours""date date""who who"}.timelog-table.by-day .table-row{grid-template-areas:"job hours"}.timelog-table.by-day.with-who .table-row{grid-template-areas:"job hours""who who"}.timelog-table.by-day .c-date.in-group,.timelog-table .c-kind,.timelog-table .c-actions,.timelog-table .c-who.own{display:none}.timelog-table .c-date{font-size:var(--t-xs);color:var(--ink-light)}.timelog-table .job-name{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.timelog-table .job-details{white-space:normal;overflow-wrap:anywhere}.timelog-table .c-who{font-size:var(--t-xs);color:var(--ink-light);grid-area:who}.timelog-table .c-who:before{content:"Logged by "}.stats-summary{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);font-size:var(--t-sm);display:flex}.timelog-stats:not(.open){display:none}.quotes-table .table-row{grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"customer customer customer amount""desc desc desc desc""number date project status"}.quotes-table .table-row.can-convert{grid-template-areas:"customer customer customer amount""desc desc desc desc""number date project status""make make make make"}.quotes-table .c-status{justify-self:end}.quotes-table.selecting .table-row{grid-template-columns:36px auto auto minmax(0,1fr) auto;grid-template-areas:"check customer customer customer amount"".desc desc desc desc"".number date project status"}.quotes-table.selecting .table-row.can-convert{grid-template-areas:"check customer customer customer amount"".desc desc desc desc"".number date project status"".make make make make"}.quotes-table .c-actions{grid-area:make;justify-content:flex-start}.quotes-table .c-actions:empty{display:none}.app-notes-table .table-row{grid-template-columns:auto 1fr;grid-template-areas:"kind status""desc desc""date date"}.app-notes-table .c-status{font-size:var(--t-xs);color:var(--ink-light);justify-self:end}.app-notes-table .c-desc{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.app-notes-table .c-date{font-size:var(--t-xs);color:var(--ink-light)}.lessons-table .table-row{grid-template-columns:auto 1fr;grid-template-areas:"status date""problem problem""solution solution""tag tag"}.lessons-table .c-date{font-size:var(--t-xs);color:var(--ink-light);justify-self:end}.lessons-table .c-problem,.lessons-table .c-solution{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.lessons-table .c-tag{font-size:var(--t-xs);color:var(--ink-light)}.lessons-table .c-tag.cell-empty,.quotes-table .c-number.cell-empty,.quotes-table .c-project.cell-empty{display:none}.quotes-table .c-project{justify-self:start}}.kind-badge{border:var(--hairline) solid var(--rule);border-radius:var(--radius);background:var(--card);color:var(--ink-light);font-size:var(--t-xs);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:2px 6px;display:inline-flex}.row-main>.kind-badge{flex:none}.kind-badge.project{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.job-cell{text-align:left;flex-direction:column;align-items:flex-start;min-width:0;display:flex}.job-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.job-details{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--t-xs);color:var(--ink-light);overflow:hidden}.hours-cell{text-align:right;font-weight:var(--w-medium)}.field-note{margin:var(--s-1) 0 0;font-size:var(--t-xs);color:var(--ink-light)}.label-required{font-weight:var(--w-regular);color:var(--ink-light)}.narrow{max-width:680px}.saved-note{margin-right:var(--s-3);font-size:var(--t-sm);color:var(--success);align-self:center}.invite-result{margin-top:var(--s-3);padding:var(--s-3);border:var(--border-w) solid var(--accent);border-radius:var(--radius);background:var(--accent-tint)}.invite-note{font-size:var(--t-sm);color:var(--ink);word-break:break-all;margin:0}.invite-token{margin:var(--s-2) 0;padding:var(--s-2);background:var(--surface);border:var(--hairline) solid var(--rule);border-radius:var(--radius);font-family:ui-monospace,Cascadia Mono,SF Mono,monospace;font-size:var(--t-sm);word-break:break-all;display:block}.save-status{font-size:var(--t-sm);color:var(--ink-light)}.save-status.failed{color:var(--danger)}.daily-layout{gap:var(--s-5);grid-template-columns:1fr 280px;align-items:start;display:grid}@media (width<=1023px){.daily-layout{grid-template-columns:1fr}.daily-history{order:2}.daily-text{height:calc(100dvh - 22.5rem)}}.day-stepper{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);padding:var(--s-2);border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--surface);display:flex}.day-label{align-items:baseline;gap:var(--s-3);font-size:var(--t-base);display:flex}.day-pick{min-height:var(--ctl-sm);cursor:pointer;align-items:center;display:inline-flex;position:relative}.day-pick strong{border-bottom:var(--hairline) dashed var(--ink-light)}.day-pick-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.day-pick:focus-within{outline:2px solid var(--accent);outline-offset:2px}.history-search{margin-bottom:var(--s-3)}.daily-text{resize:vertical;height:calc(100dvh - 19.5rem);min-height:380px;line-height:var(--lh-relaxed,1.65);font-size:var(--t-base)}.day-notes{margin-bottom:var(--s-4)}.note-row{align-items:flex-start}.note-time{width:92px;font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--accent);flex-direction:column;flex:none;padding-top:2px;display:flex}.note-clock{font-weight:var(--w-regular);color:var(--ink-light)}.note-main{align-items:flex-start;gap:var(--s-1);flex-direction:column}.note-text{font-size:var(--t-base);white-space:pre-wrap;overflow-wrap:anywhere}.note-edit{gap:var(--s-2);flex:1;min-width:0;display:flex}.note-edit .input{flex:1;min-width:0}.note-view-day{flex:none;padding-top:2px}@media (width<=640px){.note-row{flex-wrap:wrap}.note-time{width:auto;min-width:76px}.note-main{flex:1 1 0;min-width:0}.note-row .row-actions,.note-row .note-view-day{text-align:right;flex-basis:100%;justify-content:flex-end}.note-edit{flex-basis:100%}}.daily-history{min-width:0}.history-list{margin:var(--s-2) 0 0;flex-direction:column;gap:2px;max-height:60vh;padding:0;list-style:none;display:flex;overflow-y:auto}.history-row{width:100%;padding:var(--s-2);border:var(--hairline) solid transparent;border-radius:var(--radius);text-align:left;background:0 0;flex-direction:column;align-items:flex-start;display:flex}.history-row:hover{background:var(--card)}.history-row.on{border-color:var(--accent);background:var(--accent-tint)}.history-day{font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--ink)}.history-preview{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--t-xs);color:var(--ink-light);overflow:hidden}.computed-amount{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-top:var(--s-2);padding:var(--s-3);border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--card);display:flex}.computed-value{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--accent)}.loops-field{border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--surface);flex:auto;min-height:320px;position:relative;overflow:hidden}.field-host{position:absolute;inset:0}.loops-empty{color:var(--ink-light);text-align:center;pointer-events:none;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loops-empty p{margin:0}.loops-empty .btn{margin-top:var(--s-3);pointer-events:auto}.loops-tools{align-items:center;gap:var(--s-2) var(--s-3);margin:var(--s-3) 0;flex-wrap:wrap;display:flex}.loops-search{flex:200px;min-width:0}.snooze-choices .snooze-date{width:auto;min-height:var(--ctl-sm);font-size:var(--t-xs)}.loop-panel .snooze-choices{margin:0}.loop-panel{top:var(--s-3);right:var(--s-3);width:min(320px, calc(100% - 2 * var(--s-3)));gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:var(--border-w) solid var(--rule);border-radius:var(--radius);z-index:2;flex-direction:column;display:flex;position:absolute}.loop-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--s-2);display:flex}.loop-facts{gap:var(--s-1);font-size:var(--t-sm);margin:0;display:grid}.loop-facts div{justify-content:space-between;gap:var(--s-3);display:flex}.loop-facts dt{color:var(--ink-light)}.loop-facts dd{text-align:right;margin:0}.loop-actions{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.loop-actions .btn{min-height:var(--ctl-sm);padding:0 var(--s-3);font-size:var(--t-sm);white-space:nowrap}.loop-toast{left:50%;bottom:var(--s-3);align-items:center;gap:var(--s-3);max-width:calc(100% - 2 * var(--s-3));padding:var(--s-2) var(--s-4);background:var(--ink);color:var(--on-accent);border-radius:var(--radius);font-size:var(--t-sm);z-index:3;display:flex;position:absolute;transform:translate(-50%)}.loop-toast .link-btn{color:var(--on-accent)}.undo-toast{left:var(--s-4);right:var(--s-4);width:max-content;bottom:calc(var(--bottom-nav-total,0px) + var(--s-4));align-items:center;gap:var(--s-3);max-width:min(30rem, calc(100% - 2 * var(--s-4)));padding:var(--s-1) var(--s-2) var(--s-1) var(--s-4);background:var(--ink);color:var(--on-accent);border-radius:var(--radius);font-size:var(--t-sm);z-index:var(--z-toast);margin-inline:auto;display:flex;position:fixed}.undo-toast .link-btn{color:var(--on-accent);min-width:44px;min-height:44px;padding-inline:var(--s-3);font-weight:var(--w-bold);flex-shrink:0}.undo-toast .undo-toast-text{padding-block:var(--s-2)}.loops-head{align-items:center;gap:var(--s-3)}@media (width<=640px){.loops-head{flex:auto;justify-content:flex-end}.loops-head .save-status{flex-basis:100%;margin-right:auto}}.loops-hint{margin:var(--s-2) 0 0;font-size:var(--t-xs);color:var(--ink-light)}.loops-foot{justify-content:space-between;align-items:flex-start;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.loops-foot .loops-hint{flex:18rem}@media (width<=640px){.loops-foot{display:none}}.history{gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.history-facts{gap:var(--s-2) var(--s-4);font-size:var(--t-sm);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.history-facts div{justify-content:space-between;gap:var(--s-2);display:flex}.history-facts dt{color:var(--ink-light)}.history-facts dd{font-weight:var(--w-bold);margin:0}.history-readout{gap:var(--s-1) var(--s-3);min-height:2.8em;padding:var(--s-2) var(--s-3);background:var(--card);border-radius:var(--radius);font-size:var(--t-sm);flex-wrap:wrap;margin:0;display:flex}.history-charts{gap:var(--s-2);touch-action:pan-y;cursor:crosshair;flex-direction:column;display:flex}.history-charts:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-plot{border-bottom:var(--hairline) solid var(--rule);position:relative}.history-max{top:0;left:var(--s-1);font-size:var(--t-xs);color:var(--ink-light);pointer-events:none;position:absolute}.history-svg{width:100%;display:block}.history-svg-open{height:120px}.history-svg-bars{height:64px}.history-area{fill:var(--accent-tint)}.history-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.history-added{fill:var(--status-open)}.history-closed{fill:var(--status-complete)}.history-mid{stroke:var(--rule);stroke-width:1px;vector-effect:non-scaling-stroke}.history-cursor{stroke:var(--ink-light);stroke-width:1px;vector-effect:non-scaling-stroke}.history-axis{font-size:var(--t-xs);color:var(--ink-light);justify-content:space-between;display:flex}.history-key{align-items:center;gap:var(--s-1) var(--s-2);font-size:var(--t-xs);color:var(--ink-light);flex-wrap:wrap;margin:0;display:flex}.history-swatch{border-radius:var(--radius);width:12px;height:12px;display:inline-block}.history-swatch:not(:first-child){margin-left:var(--s-2)}.history-swatch-open{background:var(--accent)}.history-swatch-added{background:var(--status-open)}.history-swatch-closed{background:var(--status-complete)}@media (width<=640px){.loops-field{min-height:230px}.loop-panel{top:auto;right:var(--s-3);bottom:var(--s-3);left:var(--s-3);width:auto}}.load-failed{align-items:flex-start;gap:var(--s-3);flex-direction:column;display:flex}.menu-position{min-width:1.5em;color:var(--ink-light);font-variant-numeric:tabular-nums}.row-actions{justify-self:end;gap:2px;display:flex}.month-head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);display:flex}.month-label{text-align:center;font-size:var(--t-lg);flex:1}.calendar{border:var(--border-w) solid var(--rule);border-radius:var(--radius);margin-bottom:var(--s-5);overflow:hidden}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{background:var(--field-dark)}.calendar-weekday{padding:var(--s-1) 0;text-align:center;font-size:var(--t-xs);font-weight:var(--w-bold)}.calendar-cell{min-height:84px;padding:var(--s-1);border:var(--hairline) solid var(--rule);background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex;overflow:hidden}.calendar-cell.outside{background:var(--card);opacity:.55}.calendar-cell.selected{outline:var(--line) solid var(--accent);outline-offset:calc(var(--line) * -1);background:var(--accent-tint)}.calendar-date{font-size:var(--t-xs);font-weight:var(--w-medium)}.calendar-cell.today .calendar-date{padding:0 var(--s-1);border:2px solid var(--accent);border-radius:var(--radius);color:var(--accent-dark);font-weight:var(--w-bold)}.calendar-entries{flex-direction:column;gap:1px;width:100%;min-width:0;display:flex}.calendar-entry{max-width:100%;padding:1px var(--s-1);border-radius:var(--radius);background:var(--accent-tint);font-size:var(--t-xs);line-height:var(--lh-tight);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.calendar-entry-time{font-weight:var(--w-bold)}.calendar-more{font-size:var(--t-xs);color:var(--ink-light)}.calendar-entry.done{background:color-mix(in srgb, var(--status-done) 22%, transparent)}.calendar-entry.missed{background:color-mix(in srgb, var(--status-missed) 18%, transparent)}.calendar-entry.cancelled{background:color-mix(in srgb, var(--status-cancelled) 14%, transparent);color:var(--ink-light);text-decoration:line-through}.calendar-count{display:none}@media (width<=1279px){.calendar-cell{align-items:center;min-height:46px}.calendar-entries{display:none}.calendar-count{min-width:18px;padding:0 var(--s-1);border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:var(--t-xs);font-weight:var(--w-bold);justify-content:center;align-items:center;margin-top:auto;display:inline-flex}}.nothing-planned{padding:var(--s-4);border:var(--border-w) dashed var(--rule);border-radius:var(--radius);text-align:center;color:var(--ink-light);font-size:var(--t-sm);margin:0}.visit-row{align-items:flex-start}.visit-time{width:76px;font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--accent-dark);flex:none;padding-top:2px}.visit-time.anytime{color:var(--ink-light)}.visit-notes{white-space:pre-wrap}.expander{width:20px;color:var(--ink-light);font-size:var(--t-base);background:0 0;border:none;padding:0;line-height:1}.expander:hover{color:var(--accent)}button.horizon{cursor:pointer;border:none}button.horizon:hover{outline:2px solid var(--accent);outline-offset:1px}.task-check{width:16px;height:16px;accent-color:var(--accent);justify-self:center}.cell.done,.subtask-title.done{color:var(--ink-light);text-decoration:line-through}.tap{justify-content:center;align-items:center;display:flex}a.subtask-link{min-height:36px;color:var(--ink);justify-content:center;margin:-6px 0;text-decoration:none}a.subtask-link:hover{color:var(--accent);text-decoration:underline}.subtask.matched{background:var(--accent-tint)}.subtask.matched .subtask-title{font-weight:var(--w-medium)}.detail-task{flex-wrap:wrap}.detail-task .row-due{flex-shrink:0}.detail-task-note{flex-basis:100%}.modal-foot{flex-wrap:wrap}@media (width<=640px){.tap{min-width:36px;min-height:36px;margin:-9px 0}.tasks-table .tap{min-width:44px;min-height:44px;margin:-10px 0}.tasks-table button.horizon:after{content:"";position:absolute;inset:-13px -11px}a.subtask-title{padding:var(--s-2) 0;margin:calc(-1 * var(--s-2)) 0}}.subtasks{padding:var(--s-2) var(--s-3) var(--s-2) var(--s-6);background:var(--card);border-top:var(--hairline) solid var(--rule)}.subtask{align-items:center;gap:var(--s-2);padding:var(--s-1) 0;display:flex}a.subtask-title{color:var(--ink);text-decoration:none}a.subtask-title:hover{color:var(--accent);text-decoration:underline}.subtask-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--t-sm);flex:1;overflow:hidden}.subtask-add{gap:var(--s-2);margin-top:var(--s-1);display:flex}.subtask-add .input{min-height:var(--ctl-sm);font-size:var(--t-sm);flex:1}.app-note-capture{margin-bottom:var(--s-4)}.app-note-capture-foot{justify-content:space-between;align-items:flex-end;gap:var(--s-3);margin-top:var(--s-2);display:flex}.app-note-delete{margin-right:auto}.app-note-reply-foot{justify-content:space-between;align-items:center;gap:var(--s-3);margin-top:var(--s-1);display:flex}.app-note-count.over{color:var(--warning);font-weight:var(--w-medium)}.app-note-history-title{margin:var(--s-4) 0 var(--s-2);font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink-light);text-transform:uppercase;letter-spacing:.05em}.app-note-history{margin:0;padding:0;list-style:none}.app-note-change{padding:var(--s-2) 0;border-top:var(--hairline) solid var(--rule);font-size:var(--t-sm)}.app-note-change p{margin:0}.app-note-when{font-variant-numeric:tabular-nums;font-size:var(--t-xs);color:var(--ink-light)}.by-claude{color:var(--accent)}.app-note-diff{margin-top:var(--s-1);color:var(--ink-light);overflow-wrap:anywhere}.app-note-quote{margin:var(--s-1) 0 0;padding:var(--s-2) var(--s-3);border-left:3px solid var(--accent);background:var(--accent-tint);white-space:pre-wrap;overflow-wrap:anywhere}.lesson-capture{margin-bottom:var(--s-4)}.lesson-capture-foot{justify-content:flex-end;align-items:center;gap:var(--s-3);margin-top:var(--s-2);display:flex}.lesson-capture-foot .form-error{margin:0 auto 0 0}.label-note{color:var(--ink-light);font-weight:var(--w-regular)}.lessons-filter{align-items:center;gap:var(--s-2) var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.lessons-filter .label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lessons-filter .input{flex:14rem;min-width:0}.cell-sub{color:var(--ink-light)}.lesson-delete{margin-right:auto}.filter-panel-top{align-items:center;gap:var(--s-2);display:flex}.filter-panel-top>.input{flex:auto;min-width:0;max-width:30rem}.filter-panel-toggle{flex-shrink:0;display:none}.filter-panel-body{gap:var(--s-4);flex-direction:column;display:flex}.filter-panel-count{border-radius:var(--radius);background:var(--accent);min-width:20px;color:var(--on-accent);font-size:var(--t-xs);font-weight:var(--w-bold);text-align:center;padding:0 6px;line-height:20px}@media (width<=640px){.filter-panel-top>.input{max-width:none}.filter-panel-toggle{display:inline-flex}.filter-panel-body{display:none}.filter-panel.open .filter-panel-body{display:flex}}.pill-menu-trigger{align-items:center;gap:var(--s-1);min-height:var(--ctl-sm);padding:0 var(--s-2);border:var(--hairline) solid var(--rule);border-radius:var(--radius);color:var(--ink);cursor:pointer;background:0 0;display:inline-flex}.pill-menu-trigger:disabled{cursor:default}@media (hover:hover){.pill-menu-trigger:hover:not(:disabled){background:var(--card)}}.pill-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pill-menu-caret{font-size:var(--t-sm);color:var(--ink);line-height:1}.pill-menu-list{z-index:var(--z-modal);padding:var(--s-1);border:var(--border-w) solid var(--rule);border-radius:var(--radius);background:var(--surface);position:fixed}.pill-menu-item{width:100%;min-height:var(--ctl);padding:0 var(--s-3);border-radius:var(--radius);color:var(--ink);font-size:var(--t-base);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}@media (hover:hover){.pill-menu-item:hover{background:var(--card)}}.pill-menu-item[aria-checked=true]{background:var(--accent-tint)}.pill-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pill-menu-check{color:var(--accent-dark);font-weight:var(--w-bold)}.due-word{white-space:nowrap}@media (width<=640px){.projects-table .c-due:not(.cell-empty):before,.development-table .c-due:not(.cell-empty):before{content:"Due "}.projects-table .table-row{grid-template-areas:"name name status""number customer customer""due due hours"}.projects-table .table-row:has(.c-due.cell-empty){grid-template-areas:"name name status""number customer hours"}}.due-row{align-items:center;gap:var(--s-2) var(--s-3);margin:0 0 var(--s-4);flex-wrap:wrap;display:flex}.due-label{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-light);text-transform:uppercase;letter-spacing:.03em}.due-day{font-size:var(--t-base);font-weight:var(--w-medium)}.due-day.none{color:var(--ink-light);font-weight:var(--w-regular)}.due-late{font-size:var(--t-sm)}.due-shifts{gap:var(--s-2);display:inline-flex}.danger-foot{justify-content:space-between;align-items:center;gap:var(--s-4);margin-top:var(--s-8);padding-top:var(--s-4);border-top:var(--hairline) solid var(--rule);flex-wrap:wrap;display:flex}.danger-foot .btn-danger{border-color:var(--danger);color:var(--danger);background:0 0;margin-left:auto}.danger-foot .btn-danger:hover:not(:disabled){color:var(--danger);filter:none;background:0 0}@media (hover:hover){.danger-foot .btn-danger:hover:not(:disabled){background:var(--danger-tint)}}@media (width<=640px){.danger-foot{flex-direction:column;align-items:stretch}.danger-foot .btn{width:100%;margin-left:0}}.stage-radios{gap:var(--s-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stage-radio{min-height:var(--ctl);padding:0 var(--s-3);border:var(--border-w) solid var(--control-edge);border-radius:var(--radius);color:var(--ink-light);font-size:var(--t-sm);font-weight:var(--w-medium);background:0 0}@media (hover:hover){.stage-radio:hover{border-color:var(--accent)}}.stage-radio.on{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-dark);font-weight:var(--w-bold)}.stage-radio.on:before{content:"✓";margin-right:var(--s-1)}@media (width<=640px){.stage-radios{grid-template-columns:repeat(2,minmax(0,1fr))}}.scope-list+.scope-list{margin-top:var(--s-5)}.scope-head{align-items:baseline;gap:var(--s-1) var(--s-3);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.scope-title{font-size:var(--t-base);font-weight:var(--w-bold);margin:0}.scope-tally{font-size:var(--t-sm);color:var(--ink-light)}.scope-bulk{gap:var(--s-4);margin-left:auto;display:flex}.scope-bulk .link-btn{min-height:32px}.scope-list>.input{margin-bottom:var(--s-2)}.scope-items{border:var(--hairline) solid var(--rule);border-radius:var(--radius);margin:0;padding:0;list-style:none}.scope-items li+li{border-top:var(--hairline) solid var(--rule)}.scope-row{align-items:center;display:flex}.scope-only{margin-right:var(--s-2);flex:none}.scope-item{align-items:center;gap:var(--s-3);min-width:0;min-height:40px;padding:var(--s-1) var(--s-3);cursor:pointer;flex:1;display:flex}.scope-item:hover{background:var(--card)}.scope-name{overflow-wrap:anywhere;flex:1;min-width:0}.scope-count{font-size:var(--t-sm);color:var(--ink-light)}.tasks-table{overflow:clip}.tasks-table .table-head{z-index:var(--z-sticky);position:sticky;top:0}.tasks-table.selecting .table-head{position:static}.bulk-bar{z-index:var(--z-sticky);background:linear-gradient(var(--accent-tint), var(--accent-tint)), var(--surface);position:sticky;top:0}.bulk-actions{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.bulk-more{position:relative}.bulk-menu{top:calc(100% + var(--s-1));z-index:1;width:min(16rem,80vw);padding:var(--s-1) 0;background:var(--surface);border:var(--border-w) solid var(--rule);border-radius:var(--radius);flex-direction:column;display:flex;position:absolute;right:0}.bulk-menu-group{flex-direction:column;display:flex}.bulk-menu-scrim{cursor:default;background:0 0;border:none;padding:0;position:fixed;inset:0}.bulk-menu-label{padding:var(--s-2) var(--s-4) 0;font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-light)}.bulk-menu-row{width:100%;min-height:44px;padding:0 var(--s-4);font:inherit;font-size:var(--t-sm);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;display:flex}.bulk-menu-row:disabled{color:var(--ink-disabled);cursor:default}@media (hover:hover){.bulk-menu-row:hover:not(:disabled){background:var(--card)}}.bulk-menu-danger{margin-top:var(--s-1);border-top:var(--hairline) solid var(--rule);color:var(--danger)}.bulk-menu-danger:disabled{color:var(--ink-disabled)}@media (width<=640px){.tasks-table .card-row .tap{z-index:1;position:relative}.tasks-table .table-row a.c-customer,.tasks-table .table-row a.c-project{color:var(--ink-light);pointer-events:none;padding-block:0;text-decoration:none}.tasks-table .c-actions{display:none}}.page-title-edit{flex:16rem;min-width:0}.title-edit{width:100%;min-width:0;margin:0 0 0 calc(-1 * (var(--s-2) + var(--border-w)));padding:2px var(--s-2);border:var(--border-w) solid transparent;border-radius:var(--radius);color:inherit;font:inherit;line-height:inherit;resize:none;field-sizing:content;background:0 0;display:block;overflow:hidden}.title-edit:hover{border-color:var(--rule)}.title-edit:focus{background:var(--surface)}@media (width<=640px){.field-row.stack-phone{gap:var(--s-4);flex-direction:column}}.due-shortcuts{gap:var(--s-2);margin-top:var(--s-2);display:flex}.list-footer{margin:var(--s-4) 0 var(--s-6)}.list-footer .link-btn{min-height:var(--ctl);align-items:center;text-decoration:none;display:inline-flex}.list-footer .link-btn:hover{text-decoration:underline}.quotes-table .icon-btn,.customers-table .icon-btn{color:var(--ink-light)}.quotes-table .icon-btn:hover,.customers-table .icon-btn:hover{color:var(--ink)}.quotes-table .card-row button.row-link{z-index:auto;position:static}.quotes-table .date-short{display:none}@media (width<=640px){.quotes-table .date-long{display:none}.quotes-table .date-short{display:inline}.quotes-table .card-row .c-check{z-index:1;position:relative}.quotes-table .c-customer,.quotes-table .c-amount{font-size:var(--t-base);font-weight:var(--w-bold)}.quotes-table .c-desc{color:var(--ink)}.quotes-table .c-number,.quotes-table .c-date,.quotes-table .c-project{color:var(--ink-light);font-size:var(--t-sm)}.quotes-table .c-number:after{content:" ·"}.quotes-table .c-project:before{content:"· Project "}}.q-segmented{border:var(--hairline) solid var(--rule);border-radius:var(--radius);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.q-segment{min-height:var(--ctl);padding:0 var(--s-3);background:var(--surface);color:var(--ink);font-weight:var(--w-medium);border:none}.q-segment+.q-segment{border-left:var(--hairline) solid var(--rule)}.q-segment[aria-checked=true]{background:var(--accent-tint);color:var(--accent-dark);font-weight:var(--w-bold)}.q-segment[aria-checked=true]:before{content:"✓";margin-right:var(--s-1)}.q-segment:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.quote-when{gap:var(--s-4) var(--s-3);margin-top:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quote-when>.field{margin-top:0}.quote-when>.field:last-child{grid-column:1/-1}.quote-when~.field{margin-top:var(--s-4)}@media (width>=641px){.quote-when{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-when>.field:last-child{grid-column:auto}}.foot-delete{color:var(--danger);margin-right:auto}.customers-table .c-name{align-items:center;gap:var(--s-2);display:flex}.customers-table .name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.customers-table .is-archived .name-text{color:var(--ink-light)}.customers-table .c-name .pill{flex:none}.customers-table .c-phone a.cell-link,.customers-table .c-email a.cell-link,.customers-table .c-address a.cell-link,.contact-lines a.cell-link{color:var(--accent-dark)}@media (width<=640px){.customers-table .icon-btn,.customers-table .c-actions .btn{min-width:var(--ctl);min-height:var(--ctl)}.customers-table .c-actions{margin-block:-6px}.customers-table a.cell-link[href^=tel\:],.customers-table a.cell-link[href^=mailto\:]{min-height:0}}.stat-value-day{font-size:var(--t-xl);white-space:nowrap}.archived-note{margin:0 0 var(--s-4);font-size:var(--t-sm);color:var(--ink-light)}.fold-toggle{padding:var(--s-1) 0}.btn-primary:disabled{opacity:1;background:var(--card);border-color:var(--rule);color:var(--ink-light)}.field-error{margin:var(--s-1) 0 0;font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink)}.input[aria-invalid=true]{border-color:var(--warning)}.edited-by{white-space:nowrap}.edited-note{margin-bottom:var(--s-3)}.stat-row .stat-card.static{justify-content:flex-end}@media (width<=640px){.projects-table .c-name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.projects-table .cell-empty.c-hours,.quotes-table .c-amount.cell-empty{display:none}.contact-lines{column-gap:var(--s-4);flex-flow:wrap}.contact-lines>span:not(:has(a)){min-height:0}.quotes-table .table-row{column-gap:0}.quotes-table .c-customer{padding-right:var(--s-3)}.quotes-table .card-row .c-check{margin-right:var(--s-3)}.quotes-table .c-date,.quotes-table .c-project{margin-left:.35em}.modal-foot:has(.foot-delete) .form-hint{flex:1 0 100%;order:0}.modal-foot:has(.foot-delete) .btn{flex:1 1 calc(50% - var(--s-1));order:1;margin-right:0}:is(.modal-foot:has(.foot-delete) .foot-delete,.modal-foot:has(.foot-delete) .print-link){order:2}}.nowrap,.lifecycle-line .edited-by{white-space:nowrap}@media (width<=640px){.modal-foot:has(.btn-stack){flex-direction:column-reverse;align-items:stretch}.modal-foot:has(.btn-stack) .btn-stack{width:100%}}.quotes-table .head-project{display:contents}@media (width>=641px){.quotes-table .c-date{font-weight:var(--w-regular)}}@media (width>=641px) and (width<=1200px){.quotes-table .table-head,.quotes-table .table-row{column-gap:var(--s-2);grid-template-columns:68px 68px minmax(6rem,1fr) minmax(7.5rem,1.4fr) 88px 116px 104px}.quotes-table.selecting .table-head,.quotes-table.selecting .table-row{grid-template-columns:32px 68px 68px minmax(6rem,1fr) minmax(7.5rem,1.4fr) 88px 116px 104px}.quotes-table .c-project,.quotes-table .head-project,.quotes-table .date-long{display:none}.quotes-table .date-short{display:inline}.projects-table .table-head,.projects-table .table-row{grid-template-columns:84px minmax(9rem,2fr) minmax(7rem,1fr) 100px 128px 112px}.development-table .table-head,.development-table .table-row{grid-template-columns:84px minmax(9rem,2fr) minmax(7rem,1fr) 96px minmax(9.5rem,auto) 128px}}.detail-task .row-text{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;overflow:visible}@media (width<=640px){.detail-task .row-main{flex:1 1 calc(100% - 36px - var(--s-3))}.detail-task .row-due{margin-left:calc(36px + var(--s-3));margin-top:calc(-1 * var(--s-1));flex:none}}.loading{align-items:center;gap:var(--s-2);padding:var(--s-2) 0;font-size:var(--t-sm);color:var(--ink-light);display:flex}.loading-block{justify-content:center;min-height:160px}.loading-spinner{border:2px solid var(--rule);border-top-color:var(--accent);border-radius:50%;flex:none;width:20px;height:20px;animation:.8s linear infinite boot-spin}.loading-rows{align-items:stretch;gap:var(--s-2);min-height:calc(var(--rows,3) * 64px);flex-direction:column;padding:0}.skeleton-row{border-radius:var(--radius);background:var(--card);height:56px;display:block}.skeleton-block{border-radius:var(--radius);background:var(--card);display:block}@media (prefers-reduced-motion:no-preference){.skeleton-row,.skeleton-block{animation:1.2s ease-in-out infinite skeleton-pulse}}@keyframes skeleton-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.segmented-field{flex-direction:column;align-items:flex-start;display:flex}.segmented{border:var(--border-w) solid var(--control-edge);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segment{min-height:var(--ctl-sm);padding:0 var(--s-3);color:var(--ink-light);font-size:var(--t-sm);font-weight:var(--w-medium);background:0 0;border:none}.segment+.segment{border-left:var(--hairline) solid var(--rule)}.segment[aria-checked=true]{background:var(--accent-tint);color:var(--accent-dark);font-weight:var(--w-bold)}.segment:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.segment:hover:not([aria-checked=true]){background:var(--card);color:var(--ink)}}.loops-page{flex-direction:column;min-height:100%;display:flex}.loops-page>*{flex:none}.loops-page>.loops-field{flex:auto}.loops-group{flex:none}.loops-auto,.loops-touch-hint{align-items:center;gap:var(--s-1) var(--s-3);margin:0 0 var(--s-3);font-size:var(--t-sm);color:var(--ink-light);flex-wrap:wrap;display:flex}.loop-panel{max-height:calc(100% - 2 * var(--s-3));overflow-y:auto}.loop-facts[hidden]{display:none}.loop-details-toggle{align-self:flex-start;min-height:32px}@media (width<=640px){.loops-group{flex:100%}.loop-panel{padding:var(--s-3);gap:var(--s-2)}.loop-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.loop-actions>:first-child{grid-column:span 2}.loop-actions .btn{padding:0 var(--s-2)}}.loop-panel .icon-btn{color:var(--ink-light)}.history .tabs{margin-bottom:var(--s-1)}.history-readout-hint{color:var(--ink-light);margin-left:auto}.history-sound{align-items:center;gap:var(--s-2);margin-top:var(--s-4);font-size:var(--t-sm);color:var(--ink-light);display:flex}.history-ph-facts{height:48px}.history-ph-readout{height:40px}.history-ph-open{height:120px}.history-ph-bars{height:64px}.menu-list{border:var(--hairline) solid var(--rule);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none}.menu-row{align-items:center;gap:var(--s-1);min-height:var(--ctl);padding:0 var(--s-2) 0 var(--s-3);display:flex}.menu-row+.menu-row,.menu-divider+.menu-row{border-top:var(--hairline) solid var(--rule)}.menu-label{min-width:0;font-weight:var(--w-medium);flex:1}.menu-row .icon-btn{width:auto;min-width:var(--ctl-sm);padding:0 var(--s-2);color:var(--ink-light);font-size:var(--t-base)}.menu-row .icon-btn:disabled{color:var(--ink-disabled);opacity:.5}.menu-divider{padding:var(--s-1) var(--s-3);border-top:var(--hairline) solid var(--rule);background:var(--card);color:var(--ink-light);font-size:var(--t-xs);font-weight:var(--w-medium);text-transform:uppercase;letter-spacing:.03em}.chip-label.section-label{margin:var(--s-5) 0 var(--s-2)}.invite-result{margin-bottom:var(--s-3)}.narrow .row.static .icon-btn{color:var(--ink-light)}.dash-grid .block-title,.schedule-day .block-title,.daily-main .block-title{font-size:var(--t-lg)}.touch-link{min-height:36px;padding-inline:var(--s-1);align-items:center;display:inline-flex}.block-actions:has(.touch-link){margin-top:0}.block-head .touch-link{min-height:44px;margin-inline-end:calc(-1 * var(--s-1))}a.link-btn{text-decoration:none}a.link-btn:hover{text-decoration:underline}.empty-line a.touch-link,.timelog-counting a.touch-link{min-height:0;color:var(--accent-dark);margin-block:-10px;padding:10px 0;text-decoration:underline;display:inline}.month-head .step,.day-stepper .step{width:var(--ctl);height:var(--ctl);border:var(--hairline) solid var(--rule);border-radius:var(--radius);background:var(--surface)}.month-head .step:active,.day-stepper .step:active,.week-strip .step:active{background:var(--accent-tint)}.visit-actions,.note-row .row-actions,.timelog-table .row-actions{gap:var(--s-2);align-items:center}.action-group{align-items:center;gap:var(--s-2);display:inline-flex}.action-apart{margin-left:var(--s-4)}.timelog-table .action-apart{margin-left:var(--s-2)}:where(.visit-actions,.note-row,.timelog-table,.day-head) .icon-btn{color:var(--ink-light)}:where(.visit-actions,.note-row,.timelog-table,.day-head) .icon-btn:active{background:var(--card)}.chip:active,.stat-card:active,.calendar-cell:active,.week-strip-day:active,.customer-filter-toggle:active{background:var(--accent-tint)}a.row:active{background:var(--card)}@media (hover:none){.timelog-table .cell-link:hover{color:var(--ink);text-decoration:none}a.link-btn:hover{text-decoration:none}}.dash-need .row-text>a,.dash-visit .row-text>a{color:var(--ink);text-decoration:none}.dash-need .row-text>a:hover,.dash-visit .row-text>a:hover{color:var(--accent-dark);text-decoration:underline}.day-notes .tag-chip,.note-capture .tag-chip{color:var(--accent-dark)}.dash-capture{gap:var(--s-2);margin-bottom:var(--s-5);flex-direction:column;display:flex}.dash-capture .quick-add-wrap{margin-bottom:0}.dash-col{min-width:0}@media (width>=1024px){.dash-grid{gap:var(--s-6);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;display:grid}}.dash-stats{gap:var(--s-2);margin-bottom:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr))}.dash-stats .stat-card{padding:var(--s-2) var(--s-3)}.dash-stats .stat-value{font-size:var(--t-xl)}.dash-need,.dash-visit{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);position:relative}.dash-visit,.dash-need{align-items:flex-start}.dash-lead{width:32px;min-height:22px;color:var(--ink-light);flex:none;justify-content:center;align-self:flex-start;align-items:center;display:flex}.dash-need .row-actions{align-self:center}.dash-need .row-text,.dash-visit .row-text{white-space:normal;flex:1;min-width:0;overflow:visible}.dash-need .row-text>a,.dash-visit .row-text>a,.dash-need .row-sub,.dash-visit .row-sub{overflow-wrap:anywhere;min-width:0}.dash-sub>span{display:inline}.dash-tick{flex:none;min-width:28px}.dash-need .row-actions{flex:none;justify-self:auto}.dash-need .row-text>a:after,.dash-visit .row-text>a:after{content:"";position:absolute;inset:0}.dash-need .dash-tick,.dash-need .row-actions,.dash-need .visit-contact a,.dash-visit .visit-contact a{z-index:1;position:relative}.dash-need:active,.dash-visit:active{background:var(--card)}.dash-need .row-text>a:focus-visible,.dash-visit .row-text>a:focus-visible{outline:none}.dash-need .row-text>a:focus-visible:after,.dash-visit .row-text>a:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}.dash-visit-time{width:72px;font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--accent-dark);flex:none;padding-top:2px}.dash-rest{margin-top:var(--s-2)}.btn-done{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-dark)}.dash-capture .btn-primary:disabled,.daily-main .quick-add .btn-primary:disabled,.modal-foot .form-hint~.btn-primary:disabled{opacity:1;background:var(--card);border-color:var(--rule);color:var(--ink-light)}.form-hint{font-size:var(--t-sm);color:var(--ink-light);align-self:center;margin-right:auto}.visit-contact{gap:4px var(--s-3);font-size:var(--t-xs);flex-wrap:wrap;margin-top:2px;display:flex}.visit-contact-line{overflow-wrap:anywhere;min-width:0;display:block}.visit-contact a.cell-link{min-height:var(--ctl);color:var(--accent-dark);text-underline-offset:2px;overflow-wrap:anywhere;align-items:center;margin-block:-14px;text-decoration:underline;display:inline-flex}.timelog-table .kind-badge.project{color:var(--accent-dark)}.schedule-controls{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.filter-trigger{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.chip-group .chip.on.filter-trigger:before{content:none}.customer-filter-list{max-height:50vh;margin:var(--s-3) 0 0;flex-direction:column;gap:6px;padding:0;list-style:none;display:flex;overflow-y:auto}.customer-filter-toggle{min-width:0;height:var(--ctl);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;justify-content:flex-start;overflow:hidden}.customer-filter-list>li>.customer-filter-toggle{width:100%}.schedule-layout{flex-direction:column;display:flex}.schedule-cal{display:none}.schedule-layout.month-open .schedule-cal{display:block}.schedule-layout.month-open .week-strip{display:none}.week-strip{align-items:stretch;gap:var(--s-1);margin-bottom:var(--s-4);display:flex}.week-strip .step{border:var(--hairline) solid var(--rule);border-radius:var(--radius);background:var(--surface);flex:none;width:32px;height:auto}.week-strip-days{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;min-width:0;display:grid}.week-strip-day{min-height:60px;padding:var(--s-1) 0;border:var(--hairline) solid var(--rule);border-radius:var(--radius);background:var(--surface);flex-direction:column;align-items:center;gap:2px;display:flex}.week-strip-day.selected{border-color:var(--accent);background:var(--accent-tint)}.week-strip-name{font-size:var(--t-xs);color:var(--ink-light)}.week-strip-date{font-size:var(--t-sm);font-weight:var(--w-medium)}.week-strip-day.today .week-strip-date{color:var(--accent-dark);font-weight:var(--w-bold);text-decoration:underline}.week-strip-none{height:18px}.calendar-settled{display:none}@media (width<=1279px){.calendar-settled{border-radius:var(--radius-pill);background:var(--field-dark);width:8px;height:8px;margin-top:auto;display:block}.week-strip-day .calendar-settled{margin-top:5px;margin-bottom:5px}}@media (width>=1024px){.schedule-layout{gap:var(--s-5);grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);align-items:start;display:grid}.schedule-cal{display:block}.week-strip{display:none}}.timelog-tabs{margin-bottom:var(--s-3)}.timelog-totals{align-items:baseline;gap:var(--s-1) var(--s-4);margin:0 0 var(--s-3);font-size:var(--t-sm);color:var(--ink-light);flex-wrap:wrap;display:flex}.timelog-total strong{font-size:var(--t-base);color:var(--ink)}.timelog-counting{font-size:var(--t-xs);color:var(--ink-light)}.day-head{align-items:center;gap:var(--s-3);padding:var(--s-1) var(--s-3);border-top:var(--hairline) solid var(--rule);background:var(--card);font-size:var(--t-sm);scroll-margin-top:var(--s-2);transition:background-color var(--transition-fast);display:flex}.day-head.target{background:var(--accent-tint);border-top-color:var(--accent)}.day-head-hours{color:var(--ink-light);margin-right:auto}.day-head-add{align-items:center;gap:var(--s-1);min-width:var(--ctl-sm);justify-content:center;display:inline-flex}.breakdown-sub{font-size:var(--t-xs);color:var(--ink-light);display:block}.daily-label{margin:var(--s-4) 0 var(--s-2);font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-light)}.day-stepper+.daily-label{margin-top:var(--s-2)}.daily-search-toggle{display:none}@media (width<=1023px){.daily-search-toggle{display:inline-flex}.daily-history.on-top{order:-1}.daily-text{height:clamp(11rem,40dvh,16rem);min-height:0}}.tasks-archive{margin-top:var(--s-4)}.tasks-bulk{top:calc(-1 * var(--page-margin));flex-wrap:nowrap}@media (width<=1023px){.tasks-bulk{top:calc(-1 * var(--page-margin-mobile))}}.tasks-bulk .bulk-count{white-space:nowrap}.tasks-table .c-where,.tasks-table .where-place,.tasks-table .where-meta{display:contents}.tasks-table .project-name{display:inline}.tasks-table .c-title.done{color:var(--ink-light)}.tasks-table.selecting .table-row{cursor:pointer}.tasks-table .c-expand{min-width:0}.tasks-table .table-row .c-expand{grid-area:1/1}span.c-expand{display:block}.tasks-table .expander-count{display:none}.subtasks{padding-left:calc(var(--s-3) + 20px + var(--s-3) + 26px + var(--s-3))}.subtasks .tap{flex:none;justify-content:center;width:26px;display:flex}@media (width>=1280px) and (width<=1599px){.tasks-table .table-head,.tasks-table .table-row{grid-template-columns:20px 26px 26px minmax(12rem,1fr) minmax(5.5rem,.7fr) minmax(7rem,1fr) 88px 96px 56px 32px}.tasks-table.selecting .table-head,.tasks-table.selecting .table-row{grid-template-columns:26px 26px minmax(12rem,1fr) minmax(5.5rem,.7fr) minmax(7rem,1fr) 88px 96px 56px 32px}.tasks-table .c-created,.tasks-table .table-head>:nth-last-child(3){display:none}}@media (width<=1279px){.tasks-table .table-head{display:none}.tasks-table .sort-select{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--card);border-bottom:var(--hairline) solid var(--rule);font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--ink-light);text-transform:uppercase;letter-spacing:.05em;display:flex}.tasks-table .sort-select .input{text-transform:none;letter-spacing:normal;min-width:0;font-weight:var(--w-regular);flex:1}.tasks-table .table-row{column-gap:var(--s-1);grid-template-columns:40px 44px minmax(0,1fr) auto;grid-template-areas:"horizon check title actions"". .where actions"". .snooze actions";align-items:start;row-gap:0}.tasks-table.selecting .table-row{grid-template-columns:44px 40px minmax(0,1fr);grid-template-areas:"expand horizon title"". .where"". .snooze"}.tasks-table.selecting .c-actions{display:none}.tasks-table .table-row>.c-expand{grid-area:expand}.tasks-table .table-row>.c-horizon{grid-area:horizon}.tasks-table .table-row>.c-check{grid-area:check}.tasks-table .table-row>.c-title{grid-area:title}.tasks-table .table-row>.c-actions{grid-area:actions;align-self:center}.tasks-table .table-row>.c-snooze{margin-top:var(--s-1);grid-area:snooze/auto}.tasks-table .tap{align-self:start}.tasks-table .horizon{place-self:start center;margin-top:3px;position:relative}.tasks-table .c-title{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.tasks-table .c-where{gap:var(--s-1);min-width:0;margin-top:var(--s-1);flex-direction:column;grid-area:where;display:flex}.tasks-table .where-place,.tasks-table .where-meta{align-items:baseline;gap:var(--s-1) var(--s-3);min-width:0;display:flex}.tasks-table .where-place{gap:var(--s-1)}.tasks-table .where-place:not(:has(.cell:not(.cell-empty))){display:none}.tasks-table .where-meta{flex-wrap:wrap}.tasks-table .where-place .c-customer{flex:0 auto}.tasks-table .where-place .c-project{flex:1 1 0;min-width:0}.tasks-table .where-place .c-customer:not(.cell-empty)+.c-project:not(.cell-empty):before{content:"· "}.tasks-table .c-customer.cell-empty,.tasks-table .c-project.cell-empty,.tasks-table .c-assignee.cell-empty,.tasks-table .c-due.cell-empty,.tasks-table .c-created,.tasks-table .c-days.days-zero{display:none}.tasks-table .where-place .cell,.tasks-table .where-meta .cell{color:var(--ink-light);font-size:var(--t-xs)}.tasks-table .where-place .cell{font-size:var(--t-sm)}.tasks-table .where-meta .c-due{order:1}.tasks-table .where-meta .c-due.overdue{color:var(--ink)}.tasks-table .where-meta .c-assignee{order:2;min-width:0}.tasks-table .c-assignee:before{content:"→ "}.tasks-table .where-meta .c-days{order:3;margin-left:auto}.tasks-table .c-days:after{content:"d open"}.tasks-table .c-days.days-done:after{content:"d to finish"}.tasks-table .where-meta .expander{align-items:baseline;gap:var(--s-1);width:auto;font-size:var(--t-xs);order:0;display:inline-flex}.tasks-table .expander-count{display:inline}.tasks-table .where-meta span.c-expand{display:none}.subtasks{padding-left:calc(var(--s-3) + 40px + var(--s-1))}.subtasks .tap{width:44px;margin-block:-10px}.subtask{gap:var(--s-1);min-height:44px}}@media (width<=1023px){.modal:has(.scope-title){max-height:calc(100dvh - var(--bottom-nav-total,0px) - 2 * var(--s-4));margin-block:var(--s-4) calc(var(--bottom-nav-total,0px) + var(--s-4))}.modal:has(.scope-title) .modal-body{max-height:calc(100dvh - var(--bottom-nav-total,0px) - 2 * var(--s-4) - 2 * var(--border-w))}}@media (width<=640px){.bulk-menu-scrim{background:color-mix(in srgb, var(--ink) 40%, transparent)}.bulk-menu{inset:auto 0 var(--bottom-nav-total,0px) 0;width:auto;max-height:70dvh;padding:var(--s-2) 0;border-width:var(--border-w) 0 0;z-index:var(--z-nav);border-radius:0;position:fixed;overflow-y:auto}.tasks-table .table-row{grid-template-columns:40px 44px minmax(0,1fr);grid-template-areas:"horizon check title"". .where"". .snooze"}.tasks-table .where-meta .expander{min-height:24px;margin-block:-10px;padding-block:10px}.tasks-bulk .link-btn,.tasks-bulk .btn,.due-shortcuts .btn,.subtask-add .btn,.subtask-add .input{min-height:44px}}.scope-title:focus{outline:none}.snooze-choices-wrap{gap:var(--s-2);flex-direction:column;display:flex}.snooze-choices-anchor{position:relative}.snooze-custom{align-items:center;gap:var(--s-2);flex-wrap:nowrap;display:inline-flex}.snooze-pop{z-index:3;padding:var(--s-2);background:var(--surface);border:var(--border-w) solid var(--rule);border-radius:var(--radius);position:absolute;left:0}.snooze-pop-down{top:calc(100% + var(--s-1))}.snooze-pop-up{bottom:calc(100% + var(--s-1))}.loops-slot{--loops-slot-h:72px;min-height:var(--loops-slot-h);flex-direction:column;justify-content:center;display:flex}.loops-slot>[hidden]{display:none}.loops-slot .quick-add-wrap{margin-bottom:0}.loops-slot+.loops-tools{margin-top:var(--s-4)}.loops-steady{display:grid}.loops-steady>span{grid-area:1/1}.loops-steady:after{content:attr(data-ghost);visibility:hidden;grid-area:1/1}.loops-group-bar{justify-content:space-between;align-items:center;gap:var(--s-1) var(--s-4);flex-direction:row;display:flex}.loops-group-bar-title,.loops-group-bar-snooze{align-items:center;gap:var(--s-2) var(--s-3);display:flex}.loops-group-bar-title{flex:auto;justify-content:flex-start;min-width:0}.loops-group-bar-name{min-width:0;font-weight:var(--w-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.loops-group-bar .snooze-choices{gap:var(--s-1)}.loops-group-bar .snooze-choices .chip{padding-inline:var(--s-2)}.loops-group-bar-snooze{flex-wrap:nowrap;flex:none}.loops-group-bar-label{white-space:nowrap;font-size:var(--t-sm);color:var(--ink-light)}.loops-dock-label{font-size:var(--t-sm);font-weight:var(--w-bold)}.loops-dock .chip:disabled,.snooze-choices .chip:disabled,.snooze-custom .chip:disabled{opacity:.45;cursor:default}.loop-panel .snooze-choices .chip{flex:1}.loops-dock{align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2);border:var(--hairline) solid var(--accent);border-radius:var(--radius);background:linear-gradient(var(--accent-tint), var(--accent-tint)), var(--surface);flex-wrap:wrap;display:flex}.loops-dock .snooze-choices-wrap{flex:1}.loops-dock .snooze-choices{flex-wrap:nowrap}.loops-dock .snooze-choices .chip{white-space:nowrap;flex:1}@media (width<=640px){.loops-slot{--loops-slot-h:104px}.loops-dock-label{flex:100%}.loops-group-bar{justify-content:center;align-items:stretch;gap:var(--s-1);padding-block:var(--s-1);flex-direction:column}.loops-group-bar-snooze{gap:var(--s-2)}.loops-group-bar-snooze>.snooze-choices-wrap{flex:1 1 0;min-width:0}.loops-group-bar-title{justify-content:space-between}}.loop-panel{gap:var(--s-2)}.loop-panel-head .icon-btn{margin:calc(-1 * var(--s-2)) calc(-1 * var(--s-2)) calc(-1 * var(--s-2)) 0}.loop-panel .row-sub{margin:0}.loop-panel .loop-facts{margin-bottom:var(--s-3)}.loop-actions{grid-template-columns:1fr 1fr}.loop-actions>:first-child,.loop-actions>:last-child:nth-child(2n){grid-column:1/-1}.loop-panel .loop-delete{width:100%;min-height:var(--ctl-sm);border-color:var(--danger);color:var(--danger);font-size:var(--t-sm);background:0 0}.loop-panel .loop-delete:hover:not(:disabled){color:var(--danger);filter:none;background:0 0}@media (hover:hover){.loop-panel .loop-delete:hover:not(:disabled){background:var(--danger-tint)}}@media (width<=640px){.loops-head{display:contents}.loops-head .save-status{flex-basis:100%;order:3;margin:0}.loops-head>.btn{order:2}.loops-head>.btn:first-of-type{margin-left:auto}.loops-group .tab{padding:0 var(--s-2);white-space:nowrap}.loop-panel{inset:auto 0 var(--bottom-nav-total,0px) 0;width:auto;max-height:70dvh;padding:var(--s-4) var(--page-margin-mobile);border-width:var(--border-w) 0 0;z-index:var(--z-nav);border-radius:0;position:fixed}.loop-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.loop-actions>:last-child:nth-child(2n){grid-column:auto}.loop-actions>:last-child:nth-child(3){grid-column:span 2}.loop-actions .btn{padding:0 var(--s-2)}.loop-actions .btn,.loop-panel .loop-delete,.loop-details-toggle,.snooze-choices .chip,.snooze-custom .chip,.loops-group-bar .chip,.loops-dock .chip,.snooze-choices .snooze-date{min-height:44px}}.lessons-table .c-problem{font-weight:var(--w-medium);text-align:left}@media (width>=641px){.lessons-table .c-problem,.lessons-table .c-solution{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}}@media (width<=640px){.page-head .filter-panel-body .chip{min-height:44px}}.jump-links{align-items:center;gap:0 var(--s-2);margin:0 0 var(--s-4) calc(-1 * var(--s-2));font-size:var(--t-sm);flex-wrap:wrap;display:flex}.jump-link{min-height:44px;padding-inline:var(--s-2);color:var(--accent-dark);align-items:center;text-decoration:none;display:inline-flex}.jump-link:hover{text-decoration:underline}.block[id]{scroll-margin-top:var(--s-4)}@media (width<=640px){.menu-row .icon-btn{min-height:44px}}.app-note-written{margin-block:var(--s-2) var(--s-4)}.deleted-head{justify-content:flex-start;align-items:baseline;gap:var(--s-2) var(--s-4)}.deleted-sub{font-size:var(--t-sm);color:var(--ink-light);margin:0}.deleted-table .table-head,.deleted-table .table-row{grid-template-columns:7rem minmax(12rem,2fr) minmax(14rem,3fr) 6.5rem minmax(5.5rem,7rem) 6rem}.deleted-when{display:contents}.deleted-kind{justify-self:start}.deleted-title{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.deleted-table .c-about{color:var(--ink-light)}.deleted-table .c-by:empty:after{content:"—";color:var(--ink-disabled)}.deleted-table .c-actions{justify-self:end}@media (width<=640px){.deleted-table .table-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kind actions""title title""about about""when when";align-items:center}.deleted-table .c-kind{grid-area:kind}.deleted-table .c-title{grid-area:title}.deleted-table .c-about{grid-area:about}.deleted-table .deleted-when{grid-area:when;display:block}.deleted-table .c-actions{grid-area:actions;min-height:44px}.deleted-table .c-about.cell-empty{display:none}.deleted-when .cell{font-size:var(--t-xs);color:var(--ink-light);display:inline}.deleted-when .c-date:before{content:"deleted "}.deleted-when .c-by:before{content:" by "}.deleted-table .c-by:empty{display:none}.deleted-table .c-by:empty:after{content:none}}.tasks-table.selecting .table-row a,.tasks-table.selecting .table-row button{pointer-events:none}.tasks-archive .row-list{border:var(--border-w) solid var(--rule);border-radius:var(--radius);gap:0;overflow:hidden}.tasks-archive .row{border:0;border-radius:0}.tasks-archive li+li .row{border-top:var(--hairline) solid var(--rule)}@media (width>=641px) and (width<=1279px){.tasks-table .table-row>.c-actions{align-self:start}}@media (width<=640px){.tasks-table .sort-select .input{font-size:1rem}}.modal-foot .form-hint{margin:0 0 var(--s-2);flex-basis:100%;order:-1}.modal-foot .foot-tools{justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:var(--s-2);padding-top:var(--s-3);border-top:var(--hairline) solid var(--rule);flex-basis:100%;display:flex}.modal-foot .foot-tools .btn-danger{color:var(--danger);background:0 0}.modal-foot .foot-tools .btn-danger:hover:not(:disabled){filter:none;background:0 0}@media (hover:hover){.modal-foot .foot-tools .btn-danger:hover:not(:disabled){background:var(--danger-tint)}}.form-context{margin:0 0 var(--s-3);font-size:var(--t-sm);color:var(--ink-light)}.entry-form .picker-trigger{padding-right:var(--s-7);position:relative}.entry-form .select-caret{position:relative}.entry-form .select-caret>select.input{appearance:none;padding-right:var(--s-7)}.entry-form .picker-trigger:after,.entry-form .select-caret:after{content:"▾";top:50%;right:var(--s-3);color:var(--ink-light);pointer-events:none;position:absolute;transform:translateY(-50%)}.entry-form .picker-placeholder{color:var(--ink-disabled)}.pick-list{max-height:50vh;margin:var(--s-3) 0 0;border:var(--hairline) solid var(--rule);border-radius:var(--radius);flex-direction:column;padding:0;list-style:none;display:flex;overflow-y:auto}.pick-row{width:100%;min-height:var(--ctl);padding:0 var(--s-3);border:0;border-bottom:var(--hairline) solid var(--rule);color:var(--ink);font-size:var(--t-base);text-align:left;background:0 0;align-items:center;display:flex}.pick-list>li:last-child .pick-row{border-bottom:0}.pick-row:active{background:var(--card)}.pick-row.selected{background:var(--accent-tint);color:var(--accent-dark);font-weight:var(--w-medium)}@media (hover:hover){.pick-row:hover{background:var(--card)}.pick-row.selected:hover{background:var(--accent-tint)}}.schedule-nav{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);display:flex}.schedule-nav .touch-link{padding-inline:0}@media (width>=1024px){.schedule-bar{align-items:center;gap:var(--s-4);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.schedule-bar .schedule-nav,.schedule-bar .schedule-controls{margin-bottom:0}}.schedule-view{flex-direction:row}.schedule-view>.label{display:none}.schedule-day .visit-row{gap:var(--s-2) var(--s-3);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"time status""main main""actions actions";align-items:start;display:grid}.schedule-day .visit-row .visit-time{grid-area:time;align-self:center;width:auto;padding-top:0}.schedule-day .visit-row .row-main{grid-area:main;min-width:0}.schedule-day .visit-row .row-text{white-space:normal}.schedule-day .visit-row .row-text>strong{white-space:normal;overflow-wrap:anywhere;overflow:visible}.visit-status{grid-area:status;justify-self:end}.schedule-day .visit-row .row-actions{justify-content:flex-start;align-items:stretch;gap:var(--s-2);flex-flow:column;grid-area:actions;width:100%}.visit-outcomes{gap:var(--s-2);flex-wrap:wrap;display:flex}.visit-tools{align-items:center;gap:var(--s-2);padding-top:var(--s-2);border-top:var(--hairline) solid var(--rule);display:flex}.visit-tools .action-apart{margin-left:auto}.timelog-filters{gap:var(--s-3);margin-bottom:var(--s-3);flex-direction:column;display:flex}.timelog-filters>.input{max-width:30rem}.timelog-chips{gap:var(--s-2)}.chip.on[aria-pressed=true]:not(.filter-trigger):before{content:"✓";margin-right:var(--s-1)}.timelog-chips .sort-select{background:0 0;border:0;margin-left:auto;padding:0}.timelog-chips .sort-select .input{width:auto;min-height:var(--ctl-sm);flex:none}.timelog-total+.timelog-total:before,.timelog-counting:before{content:"·";margin-right:var(--s-4)}@media (width<=640px){.timelog-counting{flex-basis:100%}.timelog-counting:before{content:none}}.timelog-nomatch .nomatch-actions{justify-content:center;gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.job-kind{display:none}@media (width>=641px){.timelog-table.by-day .table-head,.timelog-table.by-day .table-row{grid-template-columns:90px 1fr 72px 96px}.timelog-table.by-day.with-who .table-head,.timelog-table.by-day.with-who .table-row{grid-template-columns:90px 1fr 130px 72px 96px}.timelog-table.by-day .c-date.in-group,.timelog-table.by-day .table-head>:nth-child(2){display:none}}@media (width<=640px){.job-kind{display:inline}.job-kind+.job-second:before{content:" · "}.day-head-add-label{display:none}}.timelog-table.has-target{margin-bottom:50vh}.breakdown-row.muted{color:var(--ink-light)}.report-scope{margin:var(--s-2) 0 0;font-size:var(--t-xs);color:var(--ink-light)}@media (width<=640px){.day-notes .note-row{align-items:start;column-gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time actions""main actions";row-gap:0;display:grid}.day-notes .note-row .note-time{grid-area:time;width:auto;min-width:0;padding-top:0}.day-notes .note-row .note-main{grid-area:main;min-width:0}.day-notes .note-row .row-actions{flex-basis:auto;grid-area:actions;justify-content:flex-end}.day-notes .note-row .action-apart{margin-left:var(--s-1)}.day-notes .note-row .note-edit{flex-basis:auto;grid-area:main/1/main/-1}.dash-need{flex-wrap:wrap}.dash-need .row-text{flex:1 1 calc(100% - 32px - var(--s-2))}.dash-need .row-actions{margin-left:calc(32px + var(--s-2));align-self:auto;gap:var(--s-2);flex:none}}.scope-list:only-child .scope-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.entry-form .repeat-presets{margin-top:var(--s-2)}.entry-form .repeat-presets+.field{margin-top:var(--s-4)}.quick-add{position:relative}.mention-field{position:static}.mention-menu{max-width:36rem}.mention-option{column-gap:var(--s-2);min-height:var(--ctl);grid-template-columns:3.5rem minmax(0,1fr);align-content:center;align-items:baseline;row-gap:0;display:grid}.mention-number{grid-column:1}.mention-name{grid-column:2}.mention-name:first-child,.mention-name:first-child~.mention-customer{grid-column:1/-1}.mention-customer{font-size:var(--t-xs);white-space:normal;grid-column:2;margin-left:0}@media (width>=1024px){.table-row{padding-block:var(--s-2)}.table-row .icon-btn{width:28px;height:28px}.table-row .pill-menu-trigger,.table-row .btn,.table-row .btn-sm{min-height:28px}}.filter-toolbar{align-items:center;gap:var(--s-2);margin:0 0 var(--s-3);flex-wrap:wrap;display:flex}.filter-toolbar-search{flex:0 20rem;width:auto;min-width:10rem}.filter-popover-anchor{flex:none;position:relative}.filter-toolbar .filter-panel-toggle{display:inline-flex}.filter-toolbar .filter-panel-body{gap:var(--s-4);flex-direction:column;display:none}.filter-toolbar.open .filter-panel-body{display:flex}.active-filters{gap:var(--s-1) var(--s-2);flex-wrap:wrap;min-width:0;margin:0;padding:0;list-style:none;display:flex}.active-chip{height:26px;padding:0 2px 0 var(--s-2);border:var(--hairline) solid var(--edge);border-radius:var(--radius);background:var(--card);color:var(--ink);font-size:var(--t-xs);font-weight:var(--w-medium);white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.active-chip button{border-radius:var(--radius);min-width:22px;height:22px;color:var(--ink-light);font-size:var(--t-md);background:0 0;border:none;padding:0;line-height:1;position:relative}@media (hover:hover){.active-chip button:hover{background:var(--field-dark);color:var(--ink)}}.active-chip button:focus-visible{outline:2px solid var(--accent);outline-offset:0}.filter-toolbar-end{align-items:center;gap:var(--s-3) var(--s-4);font-size:var(--t-sm);white-space:nowrap;margin-left:auto;display:flex}.filter-toolbar-end .filter-summary{gap:0 var(--s-2);margin:0}@media (width>=641px){.filter-toolbar-end>.filter-summary+:is(a,button).link-btn{border-inline-start:var(--hairline) solid var(--rule);border-radius:0;padding-inline-start:var(--s-4)}}.page-head>.filter-toolbar{flex:100%;margin:0}@media (width>=1024px){.page-head>.filter-toolbar{flex:1 1 0;min-width:0}.page-head:has(>.filter-toolbar){align-items:flex-start}.page-head:has(>.filter-toolbar)>.page-title{min-height:var(--ctl)}}@media (width>=641px){.filter-toolbar .filter-panel-body{top:calc(100% + var(--s-1));z-index:var(--z-nav);width:min(28rem,90vw);padding:var(--s-4);border:var(--hairline) solid var(--edge);border-radius:var(--radius);background:var(--surface);position:absolute;left:0}}@media (width<=640px){.filter-toolbar-search{flex:10rem}.filter-popover-anchor{display:contents}.filter-toolbar .filter-panel-body{flex:1 0 100%;order:5}.filter-toolbar{min-width:0;max-width:100%}.filter-toolbar .filter-panel-body{min-width:0}.active-filters{flex-wrap:wrap;flex:8rem;min-width:0}.active-chip{flex:none;max-width:100%;height:32px}.active-chip button{min-width:28px;height:28px}.active-chip button:after{content:"";position:absolute;inset:-8px -4px}}.reading,p.empty-line{max-width:72ch}.task-detail .field-row{max-width:48rem}.task-detail input[type=date]{width:auto;min-width:11rem}.task-detail select.input{max-width:24rem}@media (width>=1024px){.daily-layout{grid-template-columns:minmax(0,52rem) minmax(20rem,1fr);justify-content:start}}@media (width>=641px){.modal-foot .form-hint{flex-basis:auto;order:0;margin:0 auto 0 0}}.page-cols{display:block}@media (width>=1280px){.page-cols{gap:0 var(--s-7);grid-template-columns:minmax(0,1fr) minmax(20rem,26rem);grid-template-areas:"main side";align-items:start;display:grid}.page-main{grid-area:main;min-width:0}.page-side{grid-area:side;min-width:0}}.detail-meta{display:contents}@media (width>=1024px){.detail-meta{align-items:center;gap:var(--s-2) var(--s-5);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.detail-meta>*{margin:0}.detail-meta .due-row{order:1}.detail-meta .lifecycle-line{order:2}.stage-radios{grid-template-columns:repeat(4,minmax(7rem,10rem));width:max-content;max-width:100%}.table-row .pill-menu-trigger{border-color:#0000;margin-inline-start:calc(-1 * var(--s-2) - var(--hairline))}.table-row .pill-menu-trigger:focus-visible{border-color:var(--edge)}.customers-table .c-actions .btn{color:var(--ink-light);font-weight:var(--w-medium);background:0 0;border-color:#0000}.customers-table .c-actions .btn:focus-visible{border-color:var(--edge);color:var(--accent-dark)}}@media (width>=1024px) and (hover:hover){.table-row .pill-menu-trigger:hover:not(:disabled){border-color:var(--edge)}.customers-table .table-row:hover .c-actions .btn{border-color:var(--control-edge);background:var(--btn-bg);color:var(--accent-dark)}}@media (width>=1024px){.page-head>.filter-toolbar .filter-toolbar-search{flex-basis:14rem}.quotes-table .sort-header[style*=flex-end] .sort-arrow{margin-inline-end:-10px}}@media (width<=640px){.page-head>.filter-toolbar>.filter-toolbar-end{white-space:normal;flex-wrap:wrap;flex:0 auto;justify-content:flex-end;margin-left:auto}}@media (width>=1024px){.page-cols .row-list{border:var(--border-w) solid var(--rule);border-radius:var(--radius);gap:0;overflow:hidden}.page-cols .row-list>li+li{border-top:var(--hairline) solid var(--rule)}.page-cols .row-list .row{padding:var(--s-2) var(--s-3);border:0;border-radius:0}.page-cols .row-list .row:focus-visible{outline-offset:-2px}.page-cols .block{margin-bottom:var(--s-5)}.page-cols .row-list>.fold-toggle{padding:var(--s-1) var(--s-3)}.page-cols .block-head{min-height:var(--ctl-sm);margin-bottom:var(--s-2)}.page-cols .block-head .touch-link{min-height:var(--ctl-sm)}.page-cols .block:has(>.empty-line) .block-head{margin-bottom:0}.page-cols .block>.empty-line{padding:0 0 var(--s-1)}.block-head .hours-readout{margin:0 0 0 var(--s-2)}.block-head>.progress-track{max-width:22rem;height:6px;margin:0 var(--s-2);flex:6rem}.block-head:has(.hours-readout)>.touch-link{margin-left:auto}.block-head .hours-big{font-size:var(--t-xl)}.stat-row:not(.dash-stats){align-items:baseline;gap:var(--s-1) var(--s-6);min-height:40px;margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.stat-row:not(.dash-stats) .stat-card.static{justify-content:flex-start;align-items:baseline;gap:var(--s-2);background:0 0;border:0;flex-direction:row;padding:0}.stat-row:not(.dash-stats) .stat-value,.stat-row:not(.dash-stats) .stat-value-day{font-size:var(--t-lg)}}.block-head:has(.hours-readout){flex-wrap:wrap}@media (width>=1280px){.dev-cols{gap:0 var(--s-7);grid-template-columns:max-content minmax(0,1fr);align-items:start;display:grid}.dev-cols .stage-radios{grid-template-columns:repeat(2,minmax(7rem,10rem))}}@media (width>=1024px){.modal.modal-wide:has(.quote-form){width:min(calc(100vw - 2 * var(--s-4)), 760px)}.quote-form{gap:calc(var(--s-3) - 2px) var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.quote-form>.field,.quote-form>.field-row,.quote-form>.quote-when,.quote-form>.computed-amount,.quote-form>p{margin:0}.quote-form>.qf-wide,.quote-form>.qf-top{grid-column:1/-1}.quote-form>.qf-top{order:-3}.quote-form>.qf-customer{order:-2}.quote-form>.qf-project{order:-1}.quote-form #quote-note{height:3.75rem}.quote-form .computed-amount{padding:var(--s-1) var(--s-3)}.quote-form .computed-value{font-size:var(--t-lg)}}.pf-row{gap:var(--s-4) var(--s-3);display:grid}.pf-row>.field{margin-top:0}.field+.pf-row,.pf-row+.field,.pf-row+.pf-row{margin-top:var(--s-4)}.pf-name{grid-template-columns:minmax(0,1fr)}.pf-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-meta>.field:last-child{grid-column:1/-1}@media (width>=641px){.pf-name{grid-template-columns:minmax(0,1fr) 8rem}.pf-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-meta>.field:last-child{grid-column:auto}}@media (width>=1024px){.dash-capture{align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-4);flex-direction:row}.dash-capture .quick-add-wrap{flex:1 1 0;min-width:0}.dash-grid{gap:0 var(--s-6);grid-template:"stats stats""left c2""left c3"1fr/minmax(0,1.25fr) minmax(0,1fr)}.dash-grid>.dash-stats{justify-content:start;gap:var(--s-3);margin-bottom:var(--s-4);grid-area:stats;grid-template-columns:none;grid-auto-columns:max-content;grid-auto-flow:column}.dash-grid>.dash-left{grid-area:left;min-width:0}.dash-grid>.dash-col-2{grid-area:c2}.dash-grid>.dash-col-3{grid-area:c3}.dash-stats .stat-card{align-items:baseline;gap:var(--s-3);padding:var(--s-2) var(--s-4);flex-direction:row}.dash-grid .row-list{border:var(--border-w) solid var(--rule);border-radius:var(--radius);gap:0;overflow:hidden}.dash-grid .row-list>li+li{border-top:var(--hairline) solid var(--rule)}.dash-grid .row{padding:var(--s-2) var(--s-3);border:0;border-radius:0}.dash-visit .row-text,.dash-need .row-text{align-items:baseline;column-gap:var(--s-4);flex-flow:wrap;row-gap:0}.dash-visit .row-text>a,.dash-need .row-text>a{flex:1 0 100%}.dash-visit .row-text .visit-contact,.dash-visit .row-text .row-sub,.dash-need .row-text .visit-contact,.dash-need .row-text .row-sub{margin-top:0}.dash-line .row-main,.dash-line .row-text{min-width:0}.dash-line .row-text{align-items:baseline;gap:var(--s-3);flex-direction:row}.dash-line .row-text>strong{flex:0 auto}.dash-line .row-text>.row-sub{flex:0 auto;margin-top:0}.dash-grid .row .row-aside{margin-left:auto}.dash-left .block{margin-bottom:var(--s-5)}.dash-grid .block-head{margin-bottom:var(--s-2)}.dash-grid .block-head .touch-link{min-height:28px}.dash-grid .block{margin-bottom:var(--s-5)}}@media (width>=1600px){.dash-grid{grid-template:"stats stats stats""c1 c7 c3""c1 c2 c3"1fr/minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)}.dash-grid>.dash-left{display:contents}.dash-left>.dash-col-1{grid-area:c1;min-width:0}.dash-left>.dash-col-7{grid-area:c7;min-width:0}}.period-nav{display:none}@media (width>=1024px){.schedule-page{flex-direction:column;height:100%;display:flex}.schedule-bar{flex:none}.schedule-bar .schedule-nav{justify-content:flex-start;gap:var(--s-4)}.schedule-bar .schedule-controls{margin-left:auto}.period-nav{align-items:center;gap:var(--s-1);display:flex}.period-nav .step{width:var(--ctl-sm);height:var(--ctl-sm);border:var(--border-w) solid var(--control-edge);border-radius:var(--radius);background:var(--btn-bg)}@media (hover:hover){.period-nav .step:hover{background:var(--btn-hover)}}.period-label{text-align:center;min-width:12rem;font-size:var(--t-md)}.month-toggle{display:flex}.schedule-layout{flex:1 1 0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(340px,26rem);align-items:stretch;min-height:24rem}.schedule-layout .schedule-cal,.schedule-layout.month-open .schedule-cal{flex-direction:column;min-height:0;display:flex}.schedule-cal .calendar{flex-direction:column;flex:auto;min-height:0;margin-bottom:0;display:flex}.schedule-cal .calendar-grid{flex:auto;grid-auto-rows:minmax(56px,1fr)}.calendar-cell{min-height:0}.schedule-day{min-width:0}.schedule-day .visit-row .row-actions{flex-flow:wrap;justify-content:space-between;align-items:center}.visit-tools{border-top:0;flex:auto;padding-top:0}.visit-tools .action-apart{margin-left:auto}}@media (width>=1280px){.calendar-entry{white-space:nowrap;text-overflow:ellipsis;display:block}}.week-board{gap:var(--s-2);flex:auto;grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;display:grid}.board-col{border:var(--hairline) solid var(--rule);border-radius:var(--radius);background:var(--surface);flex-direction:column;min-width:0;display:flex;overflow:hidden}.board-col.weekend{background:var(--card)}.board-col.today{outline:var(--line) solid var(--accent);outline-offset:calc(var(--line) * -1)}.board-col-head{padding:var(--s-1) var(--s-1) var(--s-1) var(--s-2);border-bottom:var(--hairline) solid var(--rule);justify-content:space-between;align-items:center;display:flex}.board-col.today .board-col-head{background:var(--accent-tint)}.board-col-day{align-items:baseline;gap:var(--s-2);min-height:var(--ctl-sm);color:var(--ink);font:inherit;text-align:left;background:0 0;border:none;padding:0;display:flex}.board-col-name{font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-light)}.board-col-date{font-size:var(--t-lg);font-weight:var(--w-bold)}.board-col.today .board-col-date{color:var(--accent-dark)}.board-col-empty{padding:var(--s-3) var(--s-2);font-size:var(--t-xs);color:var(--ink-light);margin:0}.week-visits{gap:var(--s-2);padding:var(--s-2);flex-direction:column;margin:0;list-style:none;display:flex}.week-visit{border:var(--hairline) solid var(--rule);border-left:4px solid var(--status-scheduled);border-radius:var(--radius);background:var(--surface)}.week-visit.done{border-left-color:var(--status-done)}.week-visit.missed{border-left-color:var(--status-missed)}.week-visit.cancelled{border-left-color:var(--status-cancelled)}.week-visit.cancelled .week-visit-job{color:var(--ink-light);text-decoration:line-through}.week-visit-open{width:100%;padding:var(--s-2);color:var(--ink);font:inherit;text-align:left;background:0 0;border:none;flex-direction:column;gap:2px;display:flex}@media (hover:hover){.week-visit-open:hover{background:var(--card)}}.week-visit-top{justify-content:space-between;align-items:center;gap:var(--s-1);display:flex}.week-visit-time{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--accent-dark)}.week-visit-time.anytime{color:var(--ink-light)}.week-visit.unmarked .week-visit-time{padding:0 var(--s-1);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 28%, transparent);color:var(--ink)}.week-visit-job{font-size:var(--t-sm);overflow-wrap:anywhere}.week-visit-who{font-size:var(--t-xs);color:var(--ink-light)}.week-visit-mark{gap:var(--s-1);padding:0 var(--s-2) var(--s-2);display:flex}.week-visit-mark .btn{min-width:0;min-height:var(--ctl-sm);padding-inline:var(--s-1);flex:1 1 0}@media (width>=1024px){.modal:has(.visit-form){width:min(calc(100vw - 2 * var(--s-4)), 680px)}.visit-form{gap:var(--s-4) var(--s-3);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.visit-form>*{grid-column:1/-1;margin:0}.visit-form .vf-when{display:contents}.visit-form .field{margin:0}.visit-form .vf-day{order:1;grid-column:span 4}.visit-form .vf-time{order:2;grid-column:span 4}.visit-form .vf-assignee{order:3;grid-column:span 4}:is(.visit-form:has(.vf-status) .vf-day,.visit-form:has(.vf-status) .vf-time,.visit-form:has(.vf-status) .vf-assignee,.visit-form .vf-status){grid-column:span 3}.visit-form .vf-status,.visit-form .repeat-presets{order:4}.visit-form .vf-customer{order:5;grid-column:span 6}.visit-form .vf-project{order:6;grid-column:span 6}.visit-form .vf-hint{margin-top:calc(-1 * var(--s-2));order:7}.visit-form .vf-note{order:8}.visit-form .form-error{order:0}.visit-form .vf-time-note{display:none}}@media (width<=1023px){.visit-form .vf-time-hint{display:none}.visit-form .vf-hint{margin:var(--s-1) 0 0}.visit-form .vf-hint+.field{margin-top:var(--s-4)}}@media (width>=641px){.modal-foot .foot-tools{gap:var(--s-2);border-top:0;flex:0 auto;order:-1;margin:0 auto 0 0;padding:0}.modal-foot .foot-tools .foot-tools-delete{margin-left:var(--s-5)}.modal-foot:has(.foot-tools) .form-hint{margin:0 0 var(--s-1);flex-basis:100%;order:-2}}.timelog-head{justify-content:flex-start;gap:var(--s-2) var(--s-5);margin-bottom:var(--s-3)}.timelog-head .head-actions{margin-left:auto}.timelog-head .timelog-tabs{margin:0}@media (width>=641px){.timelog-head .timelog-tabs{border-bottom:0}.timelog-head .tab{min-width:0;padding:0 var(--s-3);flex:none}}@media (width<=640px){.timelog-head .timelog-tabs{flex:100%;order:3}}.filter-toolbar-end .timelog-totals{flex-wrap:nowrap;margin:0}.filter-toolbar-end .filter-summary+.timelog-totals{margin-left:var(--s-4)}.filter-toolbar:has(.timelog-totals) .active-filters{overflow-y:hidden}@media (width<=640px){.filter-toolbar-end:has(.timelog-totals){white-space:normal;flex-wrap:wrap;flex:100%;margin-left:0}.filter-toolbar-end .filter-summary+.timelog-totals{margin-left:0}}.timelog-counting{margin:0 0 var(--s-3)}.timelog-counting:before{content:none}@media (width>=641px){.timelog-table .c-kind{grid-area:kind}.timelog-table .c-date{grid-area:date}.timelog-table .c-job{display:contents}.timelog-table .job-name{grid-area:job;min-width:0}.timelog-table .job-details{grid-area:details;min-width:0}.timelog-table .c-job:focus-visible{outline:none}.timelog-table .c-job:focus-visible .job-name{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.timelog-table .c-job:hover .job-name{color:var(--accent);text-decoration:underline}}.timelog-table .c-who{grid-area:who}.timelog-table .c-hours{grid-area:hours}.timelog-table .c-actions{grid-area:actions}.timelog-table .c-details-head{display:none}}@media (width>=641px) and (width<=1279px){.timelog-table.by-day .table-row{grid-template-areas:"kind job hours actions""kind details hours actions"}.timelog-table.by-day.with-who .table-row{grid-template-areas:"kind job who hours actions""kind details who hours actions"}.timelog-table .table-row{grid-template-areas:"kind date job hours actions""kind date details hours actions"}.timelog-table.with-who .table-row{grid-template-areas:"kind date job who hours actions""kind date details who hours actions"}.timelog-table .table-row{row-gap:0}.timelog-table .job-name{align-self:end}.timelog-table .job-details{align-self:start}}@media (width>=1280px){.timelog-table .table-head,.timelog-table .table-row{justify-content:start}.timelog-table.by-day .table-head,.timelog-table.by-day .table-row{grid-template-columns:90px minmax(14rem,22rem) minmax(16rem,40rem) 72px 96px}.timelog-table.by-day.with-who .table-head,.timelog-table.by-day.with-who .table-row{grid-template-columns:90px minmax(14rem,22rem) minmax(16rem,40rem) 9rem 72px 96px}.timelog-table .table-head,.timelog-table .table-row{grid-template-columns:90px 110px minmax(14rem,22rem) minmax(16rem,40rem) 90px 96px}.timelog-table.with-who .table-head,.timelog-table.with-who .table-row{grid-template-columns:90px 110px minmax(14rem,22rem) minmax(16rem,40rem) 9rem 90px 96px}.timelog-table.by-day .table-row{grid-template-areas:"kind job details hours actions"}.timelog-table.by-day.with-who .table-row{grid-template-areas:"kind job details who hours actions"}.timelog-table .table-row{grid-template-areas:"kind date job details hours actions"}.timelog-table.with-who .table-row{grid-template-areas:"kind date job details who hours actions"}.timelog-table .c-details-head{display:block}.timelog-table .job-details{font-size:var(--t-sm);align-self:center}.timelog-table .job-name{align-self:center}}.day-head-add{min-width:0;min-height:28px}@media (width<=640px){.day-head-add{border:var(--border-w) solid var(--control-edge);border-radius:var(--radius);background:var(--btn-bg);min-width:44px;min-height:36px;color:var(--ink);justify-content:center}.timelog-table .c-details-head{display:none}}.report-toolbar{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.report-presets>.label{display:none}.report-dates{gap:var(--s-3);flex-wrap:wrap;display:flex}.report-date{align-items:center;gap:var(--s-2);display:flex}.report-date .label{color:var(--ink-light);font-weight:var(--w-regular);white-space:nowrap;margin:0}.report-date .input{width:10rem}@media (width>=1024px){.report-toolbar{gap:var(--s-2)}}.report-csv{margin-left:auto}.breakdowns{justify-content:start;gap:var(--s-6);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=768px){.breakdowns{grid-template-columns:repeat(2,minmax(0,26rem))}}@media (width>=1100px){.breakdowns{grid-template-columns:repeat(3,minmax(0,26rem))}}.breakdowns .breakdown-row{padding:var(--s-1) 0;border-bottom:var(--hairline) solid var(--rule)}.breakdowns .breakdown-row:last-child{border-bottom:0}.breakdown .chip-label.breakdown-title{margin-bottom:var(--s-1);color:var(--ink);font-size:var(--t-md);font-weight:var(--w-bold);letter-spacing:0;text-transform:none}.report-dates{position:relative}.report-range-note{z-index:1;color:var(--status-missed);font-size:var(--t-xs);font-weight:var(--w-medium);white-space:nowrap;margin:0;position:absolute;top:calc(100% + 2px);left:0}.report-empty{margin-top:var(--s-4)}.breakdowns .breakdown{margin-top:0}.timelog-report .totals-row{gap:var(--s-6);margin:var(--s-4) 0 var(--s-3)}.timelog-report .total{align-items:baseline;gap:var(--s-2);flex-direction:row}.timelog-report .total-value{font-size:var(--t-xl)}@media (width>=1024px){.timelog-report{background:0 0;border:0;padding:0}}@media (width<=640px){.report-range-note{white-space:normal;position:static}.report-presets{align-self:stretch}.report-presets .segmented{flex-wrap:wrap;width:100%;display:flex}.report-presets .segment{border-top:var(--hairline) solid var(--rule);flex:auto}.report-presets .segment:nth-child(-n+3){border-top:0}.report-dates{gap:var(--s-2);flex-direction:column;flex:100%}.report-date{min-width:0}.report-date .label{flex:none;width:3rem}.report-date .input{flex:1;width:auto;min-width:0}.report-csv{flex:100%;margin-left:0}}.daily-head{gap:var(--s-2) var(--s-4)}@media (width<=1023px){.daily-head{margin-bottom:var(--s-3)}.daily-head .day-stepper{flex:100%;order:3;margin:0}}@media (width>=1024px){.daily-head{margin-bottom:var(--s-3);justify-content:flex-start}.daily-head .day-stepper{background:0 0;border:0;justify-content:flex-start;margin:0;padding:0}.daily-head .day-stepper .step{border:var(--border-w) solid var(--control-edge);border-radius:var(--radius);background:var(--btn-bg);width:32px;height:32px}.daily-head .day-label{justify-content:center}.daily-head .save-status{margin-left:auto}.daily-page{flex-direction:column;height:100%;display:flex}.daily-layout{flex:1 1 0;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.daily-main{flex-direction:column;min-width:0;min-height:0;display:flex}.daily-main .daily-text{resize:none;flex:8rem;height:auto;min-height:6rem}.daily-main>*{flex-shrink:0}.daily-main>.daily-text{flex-shrink:1}.daily-main .daily-label:first-of-type,.daily-history .daily-label:first-of-type{margin-top:0}.daily-history{max-width:40rem}.history-search-label{display:block}.daily-main .quick-add-wrap{margin-bottom:var(--s-2)}.daily-history{contain:size;flex-direction:column;min-height:0;display:flex}.daily-history .history-list{flex:auto;min-height:0;max-height:none}.daily-history .history-row{padding:var(--s-1) var(--s-2)}.daily-history .history-preview{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.day-notes{margin-bottom:var(--s-3)}.day-notes .row-list{gap:0}.day-notes .note-row{padding:var(--s-2) var(--s-1);border-width:0 0 var(--hairline) 0;border-radius:0}.day-notes .note-time{width:84px;padding-top:4px}}.tasks-head>.head-actions{order:1;margin-left:auto}.tasks-head>.filter-toolbar{order:2}.filter-toolbar:has(.tasks-scope) .filter-toolbar-end{display:contents}.filter-toolbar:has(.tasks-scope) .filter-toolbar-search{order:-2}.tasks-scope{order:-1;min-width:0;max-width:100%;display:flex}.tasks-end{align-items:center;gap:var(--s-3);font-size:var(--t-sm);white-space:nowrap;order:1;margin-left:auto;display:flex}.tasks-end .filter-summary{margin:0}.tasks-end .filter-summary .link-btn,.tasks-end .link-btn{min-height:0}@media (width<=640px){.tasks-head .filter-panel-body .chip{min-height:44px}.tasks-head .filter-panel-body .chip-group{grid-template-columns:3.5rem 1fr;align-items:center}.tasks-head .filter-panel-body .chip-group>.chip-label{line-height:1}.tasks-head .filter-panel-body .chip-row{gap:6px}.tasks-head .filter-panel-body .chip{padding-inline:var(--s-2)}.tasks-end .link-btn{min-height:44px}}@media (width>=1024px){.tasks-head{margin-bottom:var(--s-3)}.tasks-head>.filter-toolbar{order:1}.tasks-head>.head-actions{order:2;margin-left:0}.tasks-table .table-row{padding-block:6px}.tasks-head+.quick-add-wrap,.tasks-head+.form-error+.quick-add-wrap{margin-bottom:var(--s-3)}}.task-detail .due-line{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.task-detail .due-line .due-shortcuts{margin-top:0}.task-detail textarea#task-description{min-height:9rem}@media (width<=640px){.task-detail .due-line .due-shortcuts{flex:100%}}@media (width>=1280px){.task-detail .page-cols{justify-content:start;column-gap:var(--s-8);grid-template-columns:minmax(0,44rem) minmax(20rem,32rem)}}@media (width>=1024px){.task-detail .lifecycle-line{margin-bottom:var(--s-4)}.task-detail .danger-foot{margin-top:var(--s-6)}}@media (width>=1280px){.loops-controls{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.loops-slot{--loops-slot-h:52px;flex:1 1 0;min-width:0}.loops-slot+.loops-tools{margin-top:0}.loops-controls .loops-tools{flex-wrap:nowrap;flex:none;margin:0}.loops-controls .loops-search{flex:0 16rem;width:16rem;min-width:10rem}.loops-controls .loops-group .tab{flex:none;min-width:0}.loops-controls .loops-dock{flex-wrap:nowrap}}.settings-more{align-items:center;gap:0 var(--s-5);min-height:var(--ctl);margin:0 0 var(--s-3);font-size:var(--t-sm);flex-wrap:wrap;display:flex}.settings-more-label{color:var(--ink-light);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-xs)}.settings-more a{min-height:var(--ctl-sm);align-items:center;display:inline-flex}@media (width<=640px){.settings-more a{min-height:44px}}.settings-grid{flex-direction:column;display:flex}.settings-col{display:contents}#settings-business{order:1}#settings-menu{order:2}#settings-people{order:3}#settings-passkeys{order:4}#settings-tokens{order:5}#settings-account{order:6}@media (width>=1280px){.settings-grid{justify-content:start;align-items:start;gap:0 var(--s-8);grid-template-columns:repeat(2,minmax(0,40rem));display:grid}.settings-col{min-width:0;display:block}.settings-page .jump-links{display:none}}@media (width>=1024px) and (height<=760px){.history-svg-open{height:88px}.history-svg-bars{height:44px}.history{gap:var(--s-2)}}.lessons-head>.btn,.app-notes-head>.btn{order:1;margin-left:auto}.lessons-head>.filter-toolbar,.app-notes-head>.filter-toolbar{order:2}@media (width>=1024px){.lessons-head>.filter-toolbar,.app-notes-head>.filter-toolbar{order:1}.lessons-head>.btn,.app-notes-head>.btn{order:2;margin-left:0}.tasks-head .filter-toolbar-search{flex:0 14rem}.tasks-head .filter-panel-body{width:min(34rem,90vw)}}.tasks-scope .btn,.tasks-scope .filter-trigger{min-height:var(--ctl)}@media (width>=1024px){.loading-rows{gap:var(--hairline);min-height:calc(var(--rows,3) * (var(--row-h) + var(--hairline)))}.skeleton-row{height:var(--row-h)}}:root{--row-h:56px}@media (width>=1024px){:root{--row-h:37px}}@media (width<=640px){.page-head.toolbar-last>.page-title{flex:1 1 0;min-width:0}.page-head.toolbar-last>.filter-toolbar{flex:100%;order:3}}@media (width>=1201px) and (width<=1499px){.projects-table .table-head,.projects-table .table-row{grid-template-columns:72px minmax(14rem,1fr) minmax(8rem,11rem) 108px 120px 120px}.development-table .table-head,.development-table .table-row{grid-template-columns:72px minmax(14rem,1fr) minmax(8rem,11rem) 100px 9.5rem 120px}}@media (width>=1500px){.projects-table .table-head,.projects-table .table-row{grid-template-columns:76px minmax(14rem,40rem) minmax(9rem,15rem) 112px 128px minmax(132px,1fr)}.development-table .table-head,.development-table .table-row{grid-template-columns:76px minmax(14rem,40rem) minmax(9rem,15rem) 104px 9.5rem minmax(128px,1fr)}}@media (width>=1201px){.quotes-table .c-amount,.quotes-table .sort-header[style*=flex-end]{padding-inline-end:var(--s-6)}}@media (width>=1201px) and (width<=1499px){.quotes-table .date-long{display:none}.quotes-table .date-short{display:inline}.quotes-table .table-head,.quotes-table .table-row{grid-template-columns:72px 72px minmax(8rem,11rem) minmax(14rem,1fr) 116px 116px 80px 112px}.quotes-table.selecting .table-head,.quotes-table.selecting .table-row{grid-template-columns:32px 72px 72px minmax(8rem,11rem) minmax(14rem,1fr) 116px 116px 80px 112px}}@media (width>=1500px){.quotes-table .table-head,.quotes-table .table-row{grid-template-columns:76px 104px minmax(9rem,13rem) minmax(14rem,1fr) 124px 128px 80px 120px}.quotes-table.selecting .table-head,.quotes-table.selecting .table-row{grid-template-columns:32px 76px 104px minmax(9rem,13rem) minmax(14rem,1fr) 124px 128px 80px 120px}}@media (width>=1024px){.back-link:has(+.page-head+.detail-meta){margin-bottom:var(--s-1)}.page-head:has(+.detail-meta){margin-bottom:var(--s-2)}.detail-meta{margin-bottom:var(--s-2)}.project-tabs{margin-block:var(--s-2)}.page-head:has(>.head-actions):not(:has(>.filter-toolbar))>.page-title{flex:1 1 0;min-width:0}.page-head>.head-actions{flex:none}.page-cols+.danger-foot,.dev-cols+.danger-foot{margin-top:var(--s-5)}}@media (width<=640px){.detail-meta .lifecycle-line .edited-by{display:block}.detail-meta .lifecycle-line .edited-sep{display:none}.block-head>.progress-track{flex:100%;order:5}}@media (width>=1024px){.page-cols .row.time-row{align-items:center;column-gap:var(--s-3);grid-template-columns:7.5rem minmax(0,1fr) auto;display:grid}.page-cols .row.time-row.time-row-wide{grid-template-columns:10rem minmax(0,1fr) auto}.time-row .row-main,.time-row .row-text{display:contents}.time-row .row-sub{font-size:var(--t-sm);margin-top:0}.time-row .row-aside{grid-column:3}}@media (width>=1600px){.page-cols{grid-template-columns:minmax(0,1fr) minmax(22rem,30rem)}}@media (width>=1280px){.page-side .note-row{column-gap:var(--s-3);grid-template-columns:6.5rem minmax(0,1fr);align-items:start;row-gap:0;display:grid}.page-side .note-row .note-time{width:auto}.page-side .note-row .note-view-day{grid-column:2;justify-self:end;padding-top:0}}@media (width>=1024px){.lesson-main{align-items:flex-start}.lesson-main>.pill{flex:none;justify-content:center;min-width:3.25rem}.lesson-main .row-text>strong,.lesson-main .row-text>.row-sub{-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}}.visit-clock{font-weight:var(--w-regular);color:var(--ink-light)}@media (width>=1024px){.quote-form .computed-amount{padding:var(--s-1) 0;background:0 0;border:0}.quote-form .computed-amount .chip-label{color:var(--ink);font-size:var(--t-base);font-weight:var(--w-medium);letter-spacing:0;text-transform:none}.quote-form .computed-value{color:var(--ink)}}.dev-cols textarea.reading{min-height:16rem}@media (width<=640px){.filter-summary .summary-count,.filter-summary .summary-count+.summary-sep{display:none}}.schedule-controls .filter-toolbar{margin:0}.schedule-controls .filter-toolbar .active-filters{overflow-y:hidden}@media (width>=641px){.schedule-controls .filter-toolbar .filter-panel-body{left:auto;right:0}}.calendar-cell.selected .calendar-entry{background:var(--surface)}.calendar-cell.selected .calendar-entry.done{background:color-mix(in srgb, var(--status-done) 22%, var(--surface))}.calendar-cell.selected .calendar-entry.missed{background:color-mix(in srgb, var(--status-missed) 18%, var(--surface))}.calendar-cell.selected .calendar-entry.cancelled{background:color-mix(in srgb, var(--status-cancelled) 14%, var(--surface))}.calendar-entry.unmarked{background:color-mix(in srgb, var(--warning) 28%, transparent)}.calendar-cell.selected .calendar-entry.unmarked{background:color-mix(in srgb, var(--warning) 28%, var(--surface))}.calendar-date{padding:0 var(--s-1);border-radius:var(--radius);border:2px solid #0000}.calendar-cell.today .calendar-date{border-color:var(--accent)}.calendar-cell.today.selected .calendar-date{border-color:#0000}.calendar-weekdays{background:var(--card);border-bottom:var(--hairline) solid var(--rule)}.timelog-table .sort-header[style*=flex-end] .sort-arrow{margin-inline-end:-10px}@media (width>=1024px){.filter-toolbar:has(.timelog-totals) .filter-toolbar-search{flex-basis:14rem}}@media (width<=1439px){.timelog-when{display:none}.timelog-total:after{content:attr(data-short);margin-left:var(--s-1)}}@media (width<=640px){.schedule-controls .filter-toolbar .filter-panel-body{order:1}.filter-toolbar:has(.timelog-totals) .filter-panel-body{order:1}.schedule-controls .filter-toolbar .active-filters{order:2}.filter-toolbar:has(.timelog-totals) .active-filters{order:2}.filter-toolbar:has(.timelog-totals) .filter-toolbar-end{order:3}}.timelog-table .job-customer,.timelog-table .job-project{color:var(--ink)}@media (width>=641px){.modal:has(.log-form){width:min(calc(100vw - 2 * var(--s-4)), 680px)}.log-form{gap:var(--s-4) var(--s-3);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.log-form.log-form>*{grid-column:1/-1;margin:0}.log-form .log-type{order:1;grid-column:span 4}.log-form .log-job{order:2;grid-column:span 8}.log-form .log-when{display:contents}.log-form .log-when>.field{order:3;grid-column:span 6;margin:0}.log-form .log-details{order:4}.log-form .form-error,.log-form .form-context{order:0}}.day-finished .done-tick{width:1.25rem;color:var(--status-done);font-weight:var(--w-bold);flex:none}@media (width>=1024px){.day-finished{margin-top:var(--s-6)}.day-finished .daily-label{margin-top:0}.day-finished .row-list{gap:0}.day-finished .row{padding:var(--s-2) var(--s-1);border-width:0 0 var(--hairline) 0;border-radius:0}}@media (width<=1023px){.history-search-label,.daily-history:not(.on-top) .history-search{display:none}}.tasks-table .c-created{color:var(--ink-light)}.scope-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.scope-item{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.scope-name{-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width>=1024px){.scope-sheet-cols{gap:var(--s-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.scope-sheet-cols .scope-list+.scope-list{margin-top:0}.scope-sheet .scope-items{max-height:min(22rem,50vh);overflow-y:auto}}.tasks-scope .filter-trigger{font-weight:var(--w-bold);font-size:var(--t-sm)}@media (width>=1024px){.tasks-table .table-row{min-height:40px}.tasks-head~.loading-rows{min-height:calc(var(--rows,3) * 42px);gap:2px}.tasks-head~.loading-rows .skeleton-row{height:40px}.bulk-menu-row{min-height:var(--ctl-sm)}}@media (width>=1280px){.task-detail{max-width:calc(44rem + 32rem + var(--s-8))}}@media (width>=1280px) and (height>=760px){.task-detail textarea#task-description{min-height:12rem}}@media (width>=1280px) and (height>=900px){.task-detail textarea#task-description{min-height:16rem}}.task-detail .save-status{min-height:1.25rem;margin:var(--s-1) 0 0}@media (width>=1024px){.task-detail .due-shortcuts .btn{min-height:var(--ctl)}.task-detail .segmented .segment{min-height:calc(var(--ctl) - 2 * var(--border-w))}.task-detail .select-row>.btn{width:var(--ctl-sm);height:var(--ctl-sm);align-self:center;padding:0}}@media (width>=641px){.loops-dock .snooze-choices-wrap{flex:0 auto}.loops-dock .snooze-choices .chip{padding-inline:var(--s-3);flex:none}}@media (width>=1600px){.loops-controls .loops-slot{max-width:44rem}.loops-controls .loops-search{flex-basis:22rem;width:22rem}}@media (width<=640px){.loops-slot:not(.loops-slot-groups){--loops-slot-h:60px}.loops-dock:not(.loops-group-bar){padding:var(--s-1);gap:var(--s-2);flex-wrap:nowrap}.loops-dock-label{white-space:nowrap;flex:none}.loops-dock-noun{display:none}.loops-dock .snooze-choices{gap:var(--s-1)}.loops-dock .snooze-choices .chip{padding-inline:var(--s-2);flex:auto}.loops-dock .snooze-choices-wrap{flex:1 1 0;min-width:0}}.cell-muted{color:var(--ink-light);font-style:italic}@media (width>=641px){.lessons-table.one-status .table-head,.lessons-table.one-status .table-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) minmax(16rem,1.3fr) 72px}.lessons-table.one-status .table-head>:first-child,.lessons-table.one-status .c-status{display:none}}.settings-grid .block-title{font-size:var(--t-md)}.settings-grid .block-head{margin-bottom:var(--s-1)}.settings-more a{text-decoration:none}.settings-more a:hover{text-decoration:underline}.settings-account{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-4);flex-wrap:wrap;display:flex}.settings-account .empty-line{overflow-wrap:anywhere;min-width:0}@media (width>=1700px){.settings-grid{grid-template-columns:repeat(3,minmax(0,34rem))}}.deleted-kind{text-transform:none}@media (width>=641px){.deleted-table .c-about{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}}@media (width>=1024px){.deleted-table .deleted-restore{background:0 0}}.board-col-hidden{padding:var(--s-2);font-size:var(--t-xs);color:var(--ink-light);margin:0}.week-visits+.board-col-hidden{margin-top:var(--s-1)}.board-col-hidden .link-btn{font-size:inherit}.board-col{container-type:inline-size}@container (width<=15rem){.board-col-dot{display:none}.board-col-hidden .link-btn{display:block}}@media (width>=1024px){.schedule-bar .filter-panel-toggle,.schedule-bar .period-nav .step{min-height:calc(var(--ctl-sm) + 2 * var(--border-w));height:calc(var(--ctl-sm) + 2 * var(--border-w));padding-block:0}.schedule-bar .period-nav .step{width:calc(var(--ctl-sm) + 2 * var(--border-w))}}@media (width<=640px){.schedule-bar{align-items:center;gap:var(--s-2) var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.schedule-bar .schedule-nav,.schedule-bar .schedule-controls,.schedule-bar .schedule-controls .filter-toolbar{display:contents}.schedule-bar .schedule-nav .touch-link{order:1;margin-right:auto}.schedule-bar .filter-panel-toggle{order:2}.schedule-bar .schedule-view{order:3}.schedule-bar .schedule-controls .filter-toolbar .filter-panel-body{order:4}.schedule-bar .schedule-controls .filter-toolbar .active-filters{flex:0 auto;order:5;overflow:visible}.schedule-bar .schedule-controls .filter-toolbar .filter-toolbar-end{flex:none;order:6;margin-left:0}}@media (width>=1024px){.page-head.timelog-head:has(>.head-actions)>.page-title{flex:none}}@media (width>=1280px){.timelog-table.by-day .table-head,.timelog-table.by-day .table-row{grid-template-columns:90px minmax(16rem,1.5fr) minmax(10rem,1fr) 72px 96px}.timelog-table.by-day.with-who .table-head,.timelog-table.by-day.with-who .table-row{grid-template-columns:90px minmax(16rem,1.5fr) minmax(10rem,1fr) 9rem 72px 96px}.timelog-table .table-head,.timelog-table .table-row{grid-template-columns:90px 110px minmax(16rem,1.5fr) minmax(10rem,1fr) 90px 96px}.timelog-table.with-who .table-head,.timelog-table.with-who .table-row{grid-template-columns:90px 110px minmax(16rem,1.5fr) minmax(10rem,1fr) 9rem 90px 96px}}@media (width>=1500px){.timelog-page{max-width:88rem}.timelog-table.by-day .table-head,.timelog-table.by-day .table-row{grid-template-columns:90px minmax(14rem,26rem) minmax(16rem,1fr) 72px 96px}.timelog-table.by-day.with-who .table-head,.timelog-table.by-day.with-who .table-row{grid-template-columns:90px minmax(14rem,26rem) minmax(16rem,1fr) 9rem 72px 96px}.timelog-table .table-head,.timelog-table .table-row{grid-template-columns:90px 110px minmax(14rem,26rem) minmax(16rem,1fr) 90px 96px}.timelog-table.with-who .table-head,.timelog-table.with-who .table-row{grid-template-columns:90px 110px minmax(14rem,26rem) minmax(16rem,1fr) 9rem 90px 96px}}@media (width>=1024px){.daily-history{max-width:none}.daily-history .history-list{align-content:start;gap:2px var(--s-4);grid-template-columns:repeat(auto-fill,minmax(min(24rem,100%),1fr));display:grid}.daily-history .history-preview{max-width:72ch}}@media (width<=640px){.tasks-head>.head-actions{align-items:center;gap:var(--s-3);flex-wrap:nowrap}.tasks-head>.head-actions .link-btn{white-space:nowrap;min-height:44px}}@media (width>=1024px){.tasks-head .active-filters{flex:8rem}}@media (width>=1024px) and (width<=1599px){.filter-toolbar:has(.active-chip+.active-chip) .tasks-end .summary-count{display:none}.filter-toolbar:has(.active-chip+.active-chip) .tasks-end .summary-count+.summary-sep{display:none}}.task-detail textarea#task-description{max-width:none}@media (width>=641px){.loops-slot>.loops-dock:not(.loops-group-bar){align-self:flex-start;max-width:100%}}@media (width>=1024px){.daily-history .history-search{max-width:24rem}}.tasks-head,.tasks-head .filter-toolbar{align-items:flex-start}.tasks-head .filter-toolbar-end{min-height:var(--ctl);align-self:flex-start;align-items:center}.filter-toolbar-end{min-height:var(--ctl);align-items:center;display:flex}.tasks-head .filter-toolbar>.active-filters,.tasks-head .filter-toolbar>.filter-toolbar-end>*{min-height:var(--ctl);align-content:center;align-items:center;display:flex}.tasks-head .page-title{min-height:var(--ctl);align-items:center;display:flex}.tasks-head .filter-toolbar>.active-filters{padding-block:calc((var(--ctl) - 26px) / 2);align-content:flex-start}
