:root{--paper:#f2efe6;--sheet:#fffef9;--sheet-soft:#f8f5ed;--ink:#1d2925;--ink-soft:#66716c;--line:#cbc8bd;--line-strong:#9fa69f;--forest:#183d32;--terracotta:#c45e3b;--focus:#236d8f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-rendering:optimizeLegibility}button,input,textarea{font:inherit}a,button,input,textarea{-webkit-tap-highlight-color:transparent}a,button{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 68%,transparent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.7rem .9rem;background:var(--ink);color:var(--sheet);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.workbench-shell{min-height:100vh;display:grid;grid-template-columns:188px minmax(0,1fr)}.ledger-rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;border-right:1px solid var(--line-strong);background:#e9e5da}.ledger-brand{min-height:92px;display:flex;align-items:center;gap:.72rem;padding:1.2rem 1rem;border-bottom:1px solid var(--line);text-decoration:none}.ledger-brand-mark{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--forest);background:var(--forest);color:var(--sheet);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:800;letter-spacing:.08em}.ledger-brand small,.ledger-brand strong,.ledger-rail-footer small,.ledger-rail-footer strong,.ledger-workspace span,.ledger-workspace strong{display:block}.ledger-brand strong{font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.05}.ledger-brand small,.ledger-rail-footer small,.ledger-workspace span{margin-top:.22rem;color:var(--ink-soft);font-size:.65rem}.ledger-workspace{padding:1.05rem 1rem .95rem;border-bottom:1px solid var(--line)}.ledger-workspace span{margin:0 0 .22rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase}.ledger-workspace strong{font-size:.8rem}.ledger-nav{display:flex;flex-direction:column}.ledger-nav a{min-height:48px;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:.45rem;padding:0 1rem;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);text-decoration:none;font-size:.78rem}.ledger-nav a:hover{background:var(--sheet-soft)}.ledger-nav a.is-active{box-shadow:inset 4px 0 0 var(--terracotta);background:var(--sheet);font-weight:750}.ledger-nav-index{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6rem}.ledger-nav-short{display:none}.ledger-rail-footer{display:flex;align-items:center;gap:.55rem;margin-top:auto;padding:1rem;border-top:1px solid var(--line);font-size:.68rem}.connection-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#47745f}.workbench-main{min-width:0;padding:0 2.2rem 2.4rem}.workbench-header{min-height:138px;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:2rem 0 1.35rem;border-bottom:2px solid var(--ink)}.eyebrow,.section-kicker{margin:0 0 .42rem;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}.workbench-header h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,4vw,3.8rem);font-weight:500;letter-spacing:-.045em;line-height:.92}.header-note{margin:.7rem 0 0;color:var(--ink-soft);font-size:.8rem}.header-actions{display:flex;align-items:center;gap:.65rem}.header-actions form{margin:0}.primary-action,.text-action{min-height:42px;border:1px solid var(--forest);border-radius:0;cursor:pointer}.primary-action{padding:0 1rem;background:var(--forest);color:var(--sheet);font-size:.78rem;font-weight:750}.primary-action:hover{background:#0d2e25}.text-action{padding:0 .8rem;background:transparent;font-size:.72rem}.sample-note{margin:0;padding:.55rem 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.68rem}.customer-entry{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,2.2fr);gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid var(--line-strong);background:var(--sheet-soft)}.customer-entry>div{padding-left:.9rem;border-left:3px solid var(--terracotta)}.customer-entry h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.customer-entry>div>p:last-child{max-width:270px;margin:.5rem 0 0;color:var(--ink-soft);font-size:.7rem;line-height:1.5}.customer-entry form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .9rem}.customer-entry label span{display:block;margin-bottom:.3rem;font-size:.64rem;font-weight:700}.customer-entry input,.customer-entry textarea{width:100%;min-height:38px;padding:.5rem .6rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);resize:vertical}.customer-entry .entry-note,.entry-actions,.entry-error{grid-column:1/-1}.entry-actions{display:flex;justify-content:flex-end;gap:.6rem}.entry-actions button:disabled{cursor:wait;opacity:.7}.entry-error{margin:0;padding:.55rem .7rem;border-left:3px solid var(--terracotta);background:#f8e7e0;color:#82361f;font-size:.68rem}.ledger-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line-strong)}.ledger-summary>div{min-height:84px;display:flex;flex-direction:column;justify-content:center;padding:.8rem 1rem;border-right:1px solid var(--line)}.ledger-summary>div:first-child{padding-left:0}.ledger-summary>div:last-child{border-right:0}.ledger-summary span{color:var(--ink-soft);font-size:.67rem}.ledger-summary strong{margin-top:.28rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:500}.ledger-summary .attention-ink{color:var(--terracotta)}.workbench-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);border-bottom:1px solid var(--line-strong)}.customer-page-workspace .workbench-grid{grid-template-columns:minmax(0,1fr)}.customer-page-workspace .customer-ledger{padding-right:0;border-right:0}.customer-ledger{min-width:0;padding:1.5rem 1.7rem 2rem 0;border-right:1px solid var(--line-strong)}.day-sheet{min-width:0;padding:1.5rem 0 2rem 1.7rem}.section-heading{min-height:58px;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.section-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.ledger-tools{display:flex;align-items:center;gap:.6rem}.search-field input{width:150px;min-height:34px;padding:0 .65rem;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--ink);font-size:.72rem}.search-field input::placeholder{color:var(--ink-soft)}.filter-set{display:flex;border:1px solid var(--line-strong)}.filter-set button{min-height:32px;padding:0 .58rem;border:0;border-right:1px solid var(--line-strong);background:transparent;cursor:pointer;font-size:.66rem}.filter-set button:last-child{border-right:0}.filter-set button.is-selected{background:var(--forest);color:var(--sheet)}.customer-table-wrap{width:100%;overflow-x:auto}.customer-table{width:100%;border-collapse:collapse;font-size:.72rem}.customer-table th{padding:.55rem .65rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.customer-table td:first-child,.customer-table th:first-child{padding-left:0}.customer-table td{padding:.8rem .65rem;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.customer-table tbody tr:hover{background:color-mix(in srgb,var(--sheet) 65%,transparent)}.customer-link{display:block;min-width:130px;padding:0;border:0;background:none;text-align:left}.customer-link small,.customer-link strong{display:block}.customer-link strong{font-size:.76rem}.customer-link small{margin-top:.18rem;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem}.record-status{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:700}.record-status:before{width:7px;height:7px;border-radius:50%;background:var(--line-strong);content:""}.record-status-active:before,.record-status-paid:before{background:#47745f}.record-status-inactive{color:var(--ink-soft)}.record-status-late{color:#9b3f25}.record-status-late:before{background:var(--terracotta)}.empty-row{padding:1.6rem 0!important;color:var(--ink-soft);text-align:center;white-space:normal!important}.day-list{margin:0;padding:0;border-top:1px solid var(--ink);list-style:none}.day-list li{border-bottom:1px solid var(--line)}.day-list label{min-height:70px;display:grid;grid-template-columns:18px 42px minmax(0,1fr);align-items:center;gap:.45rem;cursor:pointer}.day-list input{width:14px;height:14px;accent-color:var(--forest)}.day-time{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.63rem}.day-copy small,.day-copy strong{display:block}.day-copy strong{font-size:.74rem}.day-copy small{margin-top:.18rem;color:var(--ink-soft);font-size:.63rem}.next-action{margin-top:1.4rem;padding:.9rem 0 0 .8rem;border-left:3px solid var(--terracotta)}.next-action span,.next-action strong{display:block}.next-action span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem;letter-spacing:.05em;text-transform:uppercase}.next-action strong{max-width:240px;margin-top:.4rem;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:500;line-height:1.3}.next-action small{display:block;margin-top:.65rem;color:var(--ink-soft);font-size:.65rem;line-height:1.45}.workspace-selector-note{margin:0;padding:1rem 0;border-bottom:1px solid var(--line-strong);color:var(--ink-soft);font-size:.72rem}.customer-workspace{border-top:2px solid var(--ink);border-bottom:1px solid var(--line-strong)}.customer-workspace-heading{min-height:88px;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.2rem 0 1rem}.customer-workspace-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.customer-workspace-heading>span{padding-bottom:.15rem;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.62rem;text-transform:uppercase}.customer-profile-sheet{padding:1.15rem 0 1.3rem;border-top:1px solid var(--line-strong)}.customer-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .85rem}.account-password-form label>span,.customer-profile-form label>span{display:block;margin-bottom:.3rem;color:var(--ink-soft);font-size:.61rem;font-weight:700}.account-password-form input,.customer-profile-form input,.customer-profile-form textarea{width:100%;min-height:38px;padding:.45rem .55rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.7rem}.customer-profile-form textarea{resize:vertical}.customer-profile-actions,.customer-profile-form>.entry-error,.customer-profile-note{grid-column:1/-1}.customer-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:.7rem}.customer-profile-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.customer-profile-summary dl{min-width:0;flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}.customer-profile-summary dl>div{min-width:0;padding:.6rem .75rem;border-right:1px solid var(--line)}.customer-profile-summary dl>div:first-child{padding-left:0}.customer-profile-summary dl>div:last-child{border-right:0}.customer-profile-summary dt{color:var(--ink-soft);font-size:.59rem;font-weight:700}.customer-profile-summary dd{overflow-wrap:anywhere;margin:.28rem 0 0;font-size:.69rem;line-height:1.45}.customer-workspace-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);border-top:1px solid var(--line-strong)}.contract-sheet,.visit-sheet{min-width:0;padding:1.3rem 0 1.6rem}.contract-sheet{padding-right:1.5rem;border-right:1px solid var(--line-strong)}.visit-sheet{padding-left:1.5rem}.workspace-section-title{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.65rem;margin-bottom:1rem}.workspace-section-title>span{padding-top:.18rem;color:var(--terracotta);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.62rem;font-weight:700}.workspace-section-title h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500}.workspace-section-title p{margin:.3rem 0 0;color:var(--ink-soft);font-size:.67rem;line-height:1.45}.contract-period-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:1rem;padding:.7rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contract-period-list{min-width:0;display:flex;flex:1;flex-wrap:wrap;gap:.45rem}.contract-period-list>button{min-width:min(100%,170px);display:grid;gap:.16rem;padding:.48rem .58rem;border:1px solid var(--line-strong);background:var(--sheet);color:var(--ink);cursor:pointer;text-align:left}.contract-period-list>button:hover{background:var(--sheet-soft)}.contract-period-list>button:disabled{cursor:not-allowed;opacity:.58}.contract-period-list>button.is-selected{border-color:var(--terracotta);box-shadow:inset 3px 0 0 var(--terracotta)}.contract-period-list strong{font-size:.61rem;font-weight:700;line-height:1.35}.contract-period-list small{color:var(--ink-soft);font-size:.56rem}.contract-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .85rem}.contract-form label>span,.month-toolbar label>span,.visit-row label>span{display:block;margin-bottom:.3rem;color:var(--ink-soft);font-size:.61rem;font-weight:700}.contract-form input,.contract-form select,.contract-form textarea,.month-toolbar input,.visit-row input,.visit-row select{width:100%;min-height:38px;padding:.45rem .55rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.7rem}.contract-form textarea{resize:vertical}.contract-form input:disabled,.contract-form select:disabled,.contract-form textarea:disabled,.visit-row input:disabled,.visit-row select:disabled{background:var(--sheet-soft);color:var(--ink-soft);opacity:1}.contract-form label small{display:block;margin-top:.25rem;color:var(--ink-soft);font-size:.56rem}.contract-actions,.contract-checkline,.contract-form>.entry-error,.contract-note,.contract-submit,.saved-line{grid-column:1/-1}.contract-checkline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:.2rem 0 0;border-top:1px solid var(--ink)}.contract-checkline>div{display:flex;justify-content:space-between;gap:.6rem;padding:.55rem .45rem;border-bottom:1px solid var(--line)}.contract-checkline>div:nth-child(odd){border-right:1px solid var(--line)}.contract-checkline dt{color:var(--ink-soft);font-size:.61rem}.contract-checkline dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.63rem;font-weight:700;text-align:right}.contract-submit,.plan-submit{justify-self:end}.contract-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.contract-actions .saved-line{flex:1}.saved-line{margin:0;padding:.65rem 0 0 .7rem;border-left:3px solid #47745f;color:var(--ink-soft);font-size:.66rem}.workspace-message{margin:0;padding:1rem 0;color:var(--ink-soft);font-size:.7rem}.month-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:.7rem;padding-bottom:.85rem;border-bottom:1px solid var(--ink)}.month-toolbar label{width:min(190px,55%)}.month-toolbar button:disabled{cursor:not-allowed;opacity:.5}.visit-list{border-bottom:1px solid var(--line-strong)}.visit-row{display:grid;grid-template-columns:minmax(125px,1.2fr) minmax(92px,.8fr) minmax(82px,.7fr);gap:.55rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.visit-row:last-child{border-bottom:0}.visit-remove,.visit-resolution-save{min-height:32px;align-self:end;justify-self:end}.visit-remove{padding:0;border:0;border-bottom:1px solid var(--terracotta);background:transparent;color:#8d3c24;cursor:pointer;font-size:.62rem}.visit-note{grid-column:span 2}.visit-resolution-save{grid-column:-2/-1}.plan-submit{margin-top:.9rem}.plan-lock-note{margin:.9rem 0 0;padding:.65rem 0 0 .7rem;border-left:3px solid var(--terracotta);color:var(--ink-soft);font-size:.64rem;line-height:1.45}.account-workspace{scroll-margin-top:1rem;padding:1.5rem 0 2rem;border-top:2px solid var(--ink);border-bottom:1px solid var(--line-strong)}.account-workspace-grid{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);border-top:1px solid var(--line-strong)}.account-identity{min-width:0;display:flex;flex-direction:column;padding:1.1rem 1.35rem 1.1rem 0;border-right:1px solid var(--line-strong)}.account-identity span{color:var(--ink-soft);font-size:.59rem;font-weight:700;text-transform:uppercase}.account-identity strong{overflow-wrap:anywhere;margin-top:.5rem;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500}.account-identity small{margin-top:.65rem;color:var(--ink-soft);font-size:.61rem;line-height:1.45}.account-password-form{display:grid;gap:.72rem;padding:1.1rem 0 1.1rem 1.35rem}.account-password-form>.entry-actions,.account-password-form>.entry-error,.account-password-hint,.account-workspace-note,.account-workspace-success{margin:0}.account-password-hint,.account-workspace-note{color:var(--ink-soft);font-size:.64rem;line-height:1.45}.account-password-hint{margin-top:-.25rem}.account-workspace-success{padding:.65rem 0 0 .7rem;border-left:3px solid #47745f;color:var(--ink-soft);font-size:.66rem;line-height:1.45}.finance-workspace{scroll-margin-top:1rem;padding:1.8rem 0 2.2rem;border-top:2px solid var(--ink);border-bottom:1px solid var(--line-strong)}.finance-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1.1rem}.finance-entry h3,.finance-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}.finance-heading h2{font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.03em}.finance-heading>div:first-child>p:last-child{max-width:620px;margin:.55rem 0 0;color:var(--ink-soft);font-size:.72rem;line-height:1.5}.finance-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.finance-actions button:disabled{cursor:not-allowed;opacity:.48}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.finance-summary>div{min-height:96px;display:flex;flex-direction:column;justify-content:center;padding:.85rem 1rem;border-right:1px solid var(--line)}.finance-summary>div:first-child{padding-left:0}.finance-summary>div:last-child{border-right:0}.finance-summary span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6rem;letter-spacing:.04em;text-transform:uppercase}.finance-summary strong{margin-top:.35rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2.1vw,1.8rem);font-weight:500;white-space:nowrap}.finance-summary .is-attention strong{color:#9b3f25}.finance-summary .is-positive strong{color:#366753}.finance-entry{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,2fr);gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--line-strong);background:var(--sheet-soft)}.finance-entry-intro{padding-left:.9rem;border-left:3px solid var(--terracotta)}.finance-entry h3{font-size:1.25rem}.finance-entry-intro>p:last-child{max-width:290px;margin:.5rem 0 0;color:var(--ink-soft);font-size:.67rem;line-height:1.5}.finance-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.75rem .85rem}.finance-form label>span{display:block;margin-bottom:.3rem;color:var(--ink-soft);font-size:.61rem;font-weight:700}.finance-form input,.finance-form select{width:100%;min-height:40px;padding:.48rem .58rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.7rem}.finance-form input:disabled,.finance-form select:disabled{background:var(--paper);color:var(--ink-soft);opacity:1}.finance-form-actions,.finance-form-wide,.finance-form>.entry-error{grid-column:1/-1}.finance-form-actions{display:flex;justify-content:flex-end;gap:.55rem}.finance-form-actions button:disabled{cursor:not-allowed;opacity:.55}.finance-feedback{margin:.8rem 0 0}.finance-feedback.is-success{padding:.55rem 0 .55rem .7rem;border-left:3px solid #47745f;color:var(--ink-soft);font-size:.68rem}.finance-table-wrap{width:100%;margin-top:1.2rem;overflow-x:auto}.finance-table{width:100%;border-collapse:collapse;font-size:.7rem}.finance-table th{padding:.58rem .65rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.56rem;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.finance-table td{padding:.78rem .65rem;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.finance-table td:first-child,.finance-table th:first-child{padding-left:0}.finance-table tbody tr:hover{background:color-mix(in srgb,var(--sheet) 65%,transparent)}.finance-table td:first-child small,.finance-table td:first-child strong{display:block}.finance-table td:first-child strong{font-size:.72rem}.finance-table td:first-child small{max-width:240px;margin-top:.18rem;overflow:hidden;color:var(--ink-soft);font-size:.58rem;text-overflow:ellipsis}.finance-status{display:inline-flex;align-items:center;gap:.3rem;font-size:.63rem;font-weight:700}.finance-status:before{width:7px;height:7px;border-radius:50%;background:var(--line-strong);content:""}.finance-status-overdue{color:#9b3f25}.finance-status-overdue:before{background:var(--terracotta)}.finance-status-paid:before{background:#47745f}.finance-status-partial:before{background:#b58a38}.future-sections{height:1px;overflow:hidden;opacity:0}.day-page{min-height:330px;padding:1.5rem 0 2rem;border-bottom:1px solid var(--line-strong)}.day-page .next-action{max-width:720px}.module-placeholder{min-height:330px;padding:1.5rem 0 2rem;border-bottom:1px solid var(--line-strong)}.module-placeholder h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:500}.module-placeholder>p:not(.section-kicker){max-width:720px;margin:.7rem 0 1.25rem;color:var(--ink-soft);line-height:1.6}.module-placeholder .next-action{max-width:720px}@media (max-width:1080px){.workbench-grid{grid-template-columns:minmax(0,1fr)}.customer-ledger{padding-right:0;border-right:0}.day-sheet{padding-left:0;border-top:1px solid var(--line-strong)}.day-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.day-list li{border-right:1px solid var(--line)}.day-list li:last-child{border-right:0}.customer-workspace-grid{grid-template-columns:minmax(0,1fr)}.contract-sheet{padding-right:0;border-right:0}.visit-sheet{padding-left:0;border-top:1px solid var(--line-strong)}.finance-heading{align-items:flex-start;flex-direction:column}.finance-actions{justify-content:flex-start}.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-summary>div:nth-child(2){border-right:0}.finance-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.finance-summary>div:first-child{padding-left:1rem}}@media (max-width:760px){.ledger-rail,.workbench-shell{display:block}.ledger-rail{position:static;width:100%;height:auto;border-right:0;background:var(--sheet-soft)}.ledger-brand{min-height:64px;padding:.75rem}.ledger-brand-mark{width:32px;height:32px}.ledger-rail-footer,.ledger-workspace{display:none}.ledger-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line-strong);background:color-mix(in srgb,var(--sheet) 94%,transparent);backdrop-filter:blur(14px)}.ledger-nav a{min-height:62px;display:grid;grid-template-columns:1fr;place-items:center;gap:0;padding:.2rem;border-right:1px solid var(--line);border-bottom:0;font-size:.64rem}.ledger-nav a.is-active{box-shadow:inset 0 3px 0 var(--terracotta)}.ledger-nav-index,.ledger-nav-label{display:none}.ledger-nav-short{display:inline}.workbench-main{padding:0 .75rem 82px}.workbench-header{min-height:178px;align-items:flex-start;flex-direction:column;gap:1rem;padding:1.45rem 0 1rem}.workbench-header h1{font-size:2.65rem}.header-actions{width:100%;justify-content:space-between}.primary-action{flex:1;max-width:180px}.sample-note{line-height:1.45}.customer-entry{grid-template-columns:1fr;gap:1rem}.ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-summary>div{min-height:74px;padding:.65rem;border-bottom:1px solid var(--line)}.ledger-summary>div:first-child{padding-left:.65rem}.ledger-summary>div:nth-child(2){border-right:0}.ledger-summary strong{font-size:1.25rem}.customer-ledger,.day-sheet{padding-top:1.15rem;padding-bottom:1.35rem}.section-heading{min-height:auto;display:block}.ledger-tools{margin-top:.9rem}.search-field{flex:1}.search-field input{width:100%}.customer-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.customer-table,.customer-table tbody,.customer-table td,.customer-table tr{display:block;width:100%}.customer-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem 0;border-top:1px solid var(--line-strong)}.customer-table tr:last-child{border-bottom:1px solid var(--line-strong)}.customer-table td{display:grid;grid-template-columns:minmax(72px,.72fr) minmax(0,1fr);gap:.45rem;padding:.35rem .45rem;border:0;white-space:normal}.customer-table td:first-child{grid-column:1/-1;padding-left:.45rem}.customer-table td:before{color:var(--ink-soft);content:attr(data-label);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.55rem;text-transform:uppercase}.customer-table td:first-child:before{display:none}.customer-table .empty-row{display:block;grid-column:1/-1}.customer-link{min-width:0}.day-list{display:block}.day-list li{border-right:0}.customer-workspace-heading{min-height:auto;align-items:flex-start;flex-direction:column;padding:1rem 0}.customer-profile-form{grid-template-columns:1fr}.customer-profile-form>*{grid-column:1}.customer-profile-summary{align-items:stretch;flex-direction:column}.customer-profile-summary dl{grid-template-columns:1fr}.customer-profile-summary dl>div,.customer-profile-summary dl>div:first-child{padding:.55rem 0;border-right:0;border-bottom:1px solid var(--line)}.customer-profile-summary dl>div:last-child{border-bottom:0}.customer-profile-summary button{align-self:flex-start}.contract-period-toolbar{align-items:stretch;flex-direction:column}.contract-period-list{display:grid}.contract-period-list>button{width:100%}.contract-form{grid-template-columns:1fr}.contract-form>*{grid-column:1}.contract-checkline{grid-template-columns:1fr}.contract-checkline>div:nth-child(odd){border-right:0}.visit-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:.9rem 0}.visit-row>*{grid-column:auto}.visit-note,.visit-row>label:first-child{grid-column:1/-1}.visit-remove,.visit-resolution-save{grid-column:2}.account-workspace-grid{grid-template-columns:1fr}.account-identity{padding-right:0;border-right:0;border-bottom:1px solid var(--line-strong)}.account-password-form{padding-left:0}.finance-workspace{padding-top:1.35rem}.finance-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-actions button{width:100%;padding-right:.45rem;padding-left:.45rem}.finance-actions button:first-child{grid-column:1/-1}.finance-entry{grid-template-columns:1fr;gap:1rem}.finance-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.finance-table,.finance-table tbody,.finance-table td,.finance-table tr{display:block;width:100%}.finance-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.7rem 0;border-top:1px solid var(--line-strong)}.finance-table tr:last-child{border-bottom:1px solid var(--line-strong)}.finance-table td{display:grid;grid-template-columns:minmax(72px,.72fr) minmax(0,1fr);gap:.45rem;padding:.34rem .45rem;border:0;white-space:normal}.finance-table td:first-child{grid-column:1/-1;padding-left:.45rem}.finance-table td:before{color:var(--ink-soft);content:attr(data-label);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.55rem;text-transform:uppercase}.finance-table td:first-child:before{display:none}.finance-table .empty-row{display:block;grid-column:1/-1}}@media (max-width:430px){.customer-entry form{grid-template-columns:1fr}.customer-entry form>*{grid-column:1}.ledger-tools{align-items:stretch;flex-direction:column}.filter-set{width:max-content}.customer-table tr{grid-template-columns:1fr}.customer-table td,.customer-table td:first-child{grid-column:1}.month-toolbar{align-items:stretch;flex-direction:column}.month-toolbar label{width:100%}.visit-row{grid-template-columns:1fr}.visit-note,.visit-remove,.visit-resolution-save,.visit-row>*,.visit-row>label:first-child{grid-column:1}.visit-remove,.visit-resolution-save{justify-self:stretch}.finance-summary{grid-template-columns:1fr}.finance-summary>div,.finance-summary>div:nth-child(2){padding-left:.65rem;border-right:0;border-bottom:1px solid var(--line)}.finance-summary>div:last-child{border-bottom:0}.finance-form{grid-template-columns:1fr}.finance-form>*{grid-column:1}.finance-table tr{grid-template-columns:1fr}.finance-table td,.finance-table td:first-child{grid-column:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.daily-plan-workspace{max-width:1040px}.daily-plan-heading{min-height:82px;align-items:flex-end;margin-bottom:1.25rem}.daily-plan-toolbar{display:flex;align-items:flex-end;border:1px solid var(--line-strong);background:var(--sheet-soft)}.daily-plan-day-button{min-height:48px;padding:0 .8rem;border:0;background:transparent;cursor:pointer;color:var(--ink);font-size:.68rem;font-weight:700;white-space:nowrap}.daily-plan-day-button:first-child{border-right:1px solid var(--line)}.daily-plan-day-button:last-child{border-left:1px solid var(--line)}.daily-plan-day-button:hover{background:var(--sheet)}.daily-plan-day-button:disabled{cursor:not-allowed;color:var(--line-strong);background:transparent}.daily-plan-date-field{min-width:148px;display:grid;gap:.15rem;padding:.35rem .65rem .4rem}.daily-plan-date-field>span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.54rem;letter-spacing:.05em;text-transform:uppercase}.daily-plan-date-field input{min-height:27px;padding:0;border:0;background:transparent;color:var(--ink);font-size:.7rem;font-weight:700}.daily-plan-feedback{min-height:66px;display:flex;align-items:center;margin:0;padding:.9rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.75rem}.daily-plan-feedback-error{justify-content:space-between;gap:1rem;color:#79351f}.daily-plan-feedback-error span,.daily-plan-feedback-error strong{display:block}.daily-plan-feedback-error span{margin-top:.18rem;color:var(--ink-soft);font-size:.68rem}.daily-plan-retry{min-height:38px;padding:0 .8rem;border:1px solid var(--terracotta);background:transparent;cursor:pointer;color:#79351f;font-size:.68rem;font-weight:750}.daily-plan-empty{min-height:150px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:1rem;padding:1.4rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line-strong)}.daily-plan-empty>span{color:var(--line-strong);font-family:Georgia,Times New Roman,serif;font-size:2.4rem}.daily-plan-empty strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500}.daily-plan-empty p{margin:.4rem 0 0;color:var(--ink-soft);font-size:.7rem}.daily-plan-group{margin-top:1.7rem}.daily-plan-group-heading{min-height:58px;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--ink)}.daily-plan-group-heading h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-weight:500}.daily-plan-group-heading>span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem;text-transform:uppercase}.daily-plan-timeline,.daily-plan-untimed-list{margin:0;padding:0;list-style:none}.daily-plan-timeline>li{position:relative;display:grid;grid-template-columns:82px 18px minmax(0,1fr);gap:.8rem}.daily-plan-timeline time{align-self:start;padding-top:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.64rem;font-weight:750;white-space:nowrap}.daily-plan-timeline-marker{position:relative;min-height:92px}.daily-plan-timeline-marker:before{position:absolute;top:1.2rem;left:50%;z-index:1;width:9px;height:9px;border:2px solid var(--sheet);border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta);content:"";transform:translateX(-50%)}.daily-plan-timeline-marker:after{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line);content:"";transform:translateX(-50%)}.daily-plan-timeline>li:last-child .daily-plan-timeline-marker:after{bottom:calc(100% - 1.55rem)}.daily-plan-entry{min-width:0;padding:.9rem 0 1rem;border-bottom:1px solid var(--line)}.daily-plan-entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.daily-plan-customer-code,.daily-plan-entry-heading strong{display:block}.daily-plan-entry-heading strong{font-size:.8rem}.daily-plan-customer-code{margin-top:.22rem;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem;letter-spacing:.04em}.daily-plan-entry-meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:.65rem 0 0;color:var(--ink-soft);font-size:.63rem}.daily-plan-entry-meta span+span:before{margin-right:.9rem;color:var(--line-strong);content:"/"}.daily-plan-status{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;color:var(--ink-soft);font-size:.62rem;font-weight:750;white-space:nowrap}.daily-plan-status:before{width:7px;height:7px;border-radius:50%;background:var(--line-strong);content:""}.daily-plan-status-completed{color:#315f4d}.daily-plan-status-completed:before{background:#47745f}.daily-plan-status-makeup-pending{color:#8b6422}.daily-plan-status-makeup-pending:before{background:#b58a38}.daily-plan-status-cancelled-by-agreement{color:#8d4128}.daily-plan-status-cancelled-by-agreement:before{background:var(--terracotta)}.daily-plan-untimed-list>li{display:grid;grid-template-columns:128px minmax(0,1fr);gap:1rem;border-bottom:1px solid var(--line)}.daily-plan-untimed-label{align-self:start;padding-top:1rem;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6rem}@media (max-width:900px){.daily-plan-heading{align-items:flex-start;flex-direction:column}.daily-plan-toolbar{width:100%}.daily-plan-date-field{flex:1}}@media (max-width:620px){.daily-plan-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.daily-plan-date-field{grid-column:1/-1;grid-row:1;border-bottom:1px solid var(--line)}.daily-plan-day-button{width:100%;min-height:44px}.daily-plan-day-button:first-child{border-right:1px solid var(--line)}.daily-plan-day-button:last-child{border-left:0}.daily-plan-timeline>li{grid-template-columns:70px 12px minmax(0,1fr);gap:.5rem}.daily-plan-entry-heading{align-items:flex-start;flex-direction:column;gap:.55rem}.daily-plan-untimed-list>li{grid-template-columns:1fr;gap:0}.daily-plan-untimed-label{padding-top:.85rem}.daily-plan-untimed-list .daily-plan-entry{padding-top:.45rem}.daily-plan-feedback-error{align-items:flex-start;flex-direction:column}}.tasks-page-workspace{min-width:0}.task-editor{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:1.5rem;padding:1.25rem 0 1.45rem;border-bottom:1px solid var(--line-strong)}.task-board-heading h2,.task-editor-intro h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.task-editor-intro>p:last-child{max-width:300px;margin:.55rem 0 0;color:var(--ink-soft);font-size:.69rem;line-height:1.55}.task-editor form{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.task-editor label{min-width:0;display:grid;align-content:start;gap:.28rem}.task-card-status-field>span,.task-editor label>span,.task-mobile-stage-field>span{color:var(--ink-soft);font-size:.59rem;font-weight:750}.task-card-status-field select,.task-editor input,.task-editor select,.task-editor textarea,.task-mobile-stage-field select,.task-project-filter select,.task-search-field input{width:100%;min-height:39px;padding:.45rem .55rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.69rem}.task-editor textarea{min-height:78px;resize:vertical;line-height:1.45}.task-editor-description-field,.task-editor-title-field{grid-column:span 2}.task-editor-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.6rem;padding-top:.1rem}.task-editor-error{grid-column:1/-1;margin:0;padding:.65rem .75rem;border-left:3px solid var(--terracotta);background:color-mix(in srgb,var(--terracotta) 7%,var(--sheet));color:#79351f;font-size:.68rem}.task-card-actions button:disabled,.task-card-actions select:disabled,.task-editor button:disabled{cursor:not-allowed;opacity:.55}.task-board-workspace{min-width:0;padding:1.4rem 0 2rem}.task-board-heading{min-height:72px;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--ink)}.task-board-tools{min-width:0;display:flex;align-items:stretch;border:1px solid var(--line-strong);background:var(--sheet-soft)}.task-search-field{min-width:180px;display:block}.task-search-field input{min-height:42px;border:0;border-right:1px solid var(--line-strong);background:transparent}.task-project-filter{min-width:150px;display:block;border-right:1px solid var(--line-strong)}.task-project-filter select{min-height:42px;border:0;background:transparent}.task-filter-set{display:flex;align-items:stretch}.task-filter-set button{min-height:42px;padding:0 .65rem;border:0;border-right:1px solid var(--line);background:transparent;cursor:pointer;color:var(--ink-soft);font-size:.63rem;font-weight:750}.task-filter-set button:last-child{border-right:0}.task-filter-set button:hover{background:var(--sheet)}.task-filter-set button.is-selected{background:var(--forest);color:var(--sheet)}.task-board-message{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0;padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.71rem}.task-board-message-error{color:#79351f}.task-board-message button{min-height:36px;padding:0 .7rem;border:1px solid;border-radius:0;background:transparent;cursor:pointer;font-size:.64rem;font-weight:750}.task-board-empty{min-height:156px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:1rem;border-bottom:1px solid var(--line-strong)}.task-board-empty>span{color:var(--line-strong);font-family:Georgia,Times New Roman,serif;font-size:2.35rem}.task-board-empty strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500}.task-board-empty p{margin:.35rem 0 .7rem;color:var(--ink-soft);font-size:.69rem}.task-board-filter-empty{min-height:132px}.task-mobile-stage-field{display:none;gap:.3rem;padding:.85rem 0;border-bottom:1px solid var(--line-strong)}.task-board-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.task-board-grid{min-width:1050px;display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));border-bottom:1px solid var(--line-strong)}.task-column{min-width:0;min-height:410px;border-right:1px solid var(--line)}.task-column:last-child{border-right:0}.task-column-heading{min-height:68px;display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--line-strong);background:color-mix(in srgb,var(--sheet-soft) 80%,transparent)}.task-column-heading>div{min-width:0;display:grid;gap:.18rem}.task-column-heading h3{overflow:hidden;margin:0;font-family:Georgia,Times New Roman,serif;font-size:.95rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.task-column-heading span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.56rem}.task-column-blocked .task-column-heading{box-shadow:inset 0 3px 0 #b58a38}.task-column-done .task-column-heading{box-shadow:inset 0 3px 0 #47745f}.task-column-empty{margin:0;padding:1rem .75rem;color:var(--ink-soft);font-size:.65rem;line-height:1.45}.task-card-list{margin:0;padding:0;list-style:none}.task-card-list>li{border-bottom:1px solid var(--line)}.task-card{position:relative;padding:.85rem .75rem .75rem;border-left:3px solid transparent;background:color-mix(in srgb,var(--sheet) 72%,transparent)}.task-card[aria-busy=true]{opacity:.62}.task-card-priority-high{border-left-color:#b58a38}.task-card-priority-urgent{border-left-color:var(--terracotta)}.task-card-heading{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem}.task-card-heading>div{min-width:0}.task-card h4{overflow-wrap:anywhere;margin:0;font-size:.75rem;line-height:1.4}.task-card-customer{overflow-wrap:anywhere;margin:.3rem 0 0;color:var(--ink-soft);font-size:.61rem;line-height:1.35}.task-card-project{width:fit-content;max-width:100%;overflow:hidden;margin:.38rem 0 0;padding:.17rem .3rem;border:1px solid color-mix(in srgb,var(--forest) 42%,var(--line));color:var(--forest);font-size:.51rem;font-weight:750;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.task-card-customer span,.task-card-project{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.task-card-customer span{display:block;margin-top:.12rem;font-size:.54rem}.task-card-customer-empty{font-style:italic}.task-priority{flex:0 0 auto;padding:.18rem .28rem;border:1px solid;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.5rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.task-priority-low{color:var(--ink-soft)}.task-priority-high{color:#8b6422}.task-priority-urgent{color:#9b3f25}.task-card-description{display:-webkit-box;overflow:hidden;margin:.65rem 0 0;color:var(--ink-soft);font-size:.64rem;line-height:1.48;-webkit-box-orient:vertical;-webkit-line-clamp:3}.task-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.72rem;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.54rem}.task-due-overdue{color:#9b3f25;font-weight:750}.task-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.45rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line)}.task-card-status-field{min-width:0;display:grid;gap:.24rem}.task-card-status-field select{min-height:34px;padding:.3rem .38rem;font-size:.59rem}.task-card-edit{min-height:34px;padding:0 .5rem;border:1px solid var(--line-strong);border-radius:0;background:transparent;cursor:pointer;font-size:.59rem;font-weight:750}.task-card-edit:hover{background:var(--sheet-soft)}@media (max-width:920px){.task-editor{grid-template-columns:1fr}.task-editor-intro>p:last-child{max-width:620px}.task-board-heading{align-items:flex-start;flex-direction:column}.task-board-tools{width:100%}.task-search-field{flex:1}.task-project-filter{min-width:138px}}@media (max-width:760px){.task-editor{padding-top:1rem}.task-editor form{grid-template-columns:repeat(2,minmax(0,1fr))}.task-board-workspace{padding-top:1rem}.task-board-heading{min-height:auto}.task-board-tools{display:grid;grid-template-columns:1fr;border:0}.task-search-field{min-width:0}.task-search-field input{min-height:44px;border:1px solid var(--line-strong)}.task-project-filter{min-width:0;margin-top:.5rem;border:1px solid var(--line-strong)}.task-project-filter select{min-height:44px}.task-filter-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.5rem;border:1px solid var(--line-strong)}.task-filter-set button{min-height:44px;padding:0 .35rem}.task-mobile-stage-field{display:grid}.task-mobile-stage-field select{min-height:44px}.task-board-scroll{overflow:visible}.task-board-grid{min-width:0;display:block;border-bottom:0}.task-column{min-height:260px;display:none;border-right:0;border-bottom:1px solid var(--line-strong)}.task-column[data-mobile-visible=true]{display:block}.task-column-empty,.task-column-heading{padding-right:0;padding-left:0}.task-card{padding-right:0}.task-card-actions button,.task-card-actions select{min-height:44px}}@media (max-width:520px){.task-editor form{grid-template-columns:1fr}.task-editor form>*{grid-column:1}.task-editor-actions{justify-content:stretch}.task-editor-actions button{flex:1}.task-board-message{align-items:flex-start;flex-direction:column}}.projects-page-workspace{min-width:0}.portfolio-command-bar{min-height:86px;display:grid;grid-template-columns:repeat(3,minmax(112px,.16fr)) minmax(260px,1fr);align-items:stretch;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--sheet-soft)}.portfolio-command-bar>div{display:flex;flex-direction:column;justify-content:center;padding:.85rem 1rem;border-right:1px solid var(--line-strong)}.portfolio-command-bar span,.project-dossier-note>span,.project-dossier-objective>span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.55rem;font-weight:750;letter-spacing:.08em}.portfolio-command-bar strong{margin-top:.25rem;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.portfolio-command-bar>p{align-self:center;max-width:520px;margin:0;padding:.8rem 1.1rem;color:var(--ink-soft);font-size:.68rem;line-height:1.55}.portfolio-message{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0;padding:1rem 0;border-bottom:1px solid var(--line-strong);color:var(--ink-soft);font-size:.7rem}.portfolio-message-error{color:#79351f}.portfolio-message button{min-height:36px;padding:0 .7rem;border:1px solid;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:750}.portfolio-empty{min-height:360px;display:grid;grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);align-items:center;gap:2rem;border-bottom:1px solid var(--ink)}.portfolio-empty>span{color:var(--line-strong);font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,8vw,6.5rem);line-height:.9}.portfolio-empty>div{max-width:620px}.portfolio-empty h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.5rem);font-weight:500}.portfolio-empty p:not(.section-kicker){margin:.7rem 0 1.2rem;color:var(--ink-soft);font-size:.73rem;line-height:1.65}.portfolio-layout{min-height:570px;display:grid;grid-template-columns:minmax(245px,.34fr) minmax(0,1fr);border-bottom:1px solid var(--ink)}.portfolio-index{min-width:0;border-right:1px solid var(--ink);background:color-mix(in srgb,var(--sheet-soft) 68%,transparent)}.portfolio-index>header{min-height:84px;display:flex;flex-direction:column;justify-content:flex-end;gap:.2rem;padding:.9rem 1rem;border-bottom:1px solid var(--ink)}.portfolio-index>header span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.55rem;letter-spacing:.08em}.portfolio-index>header strong{font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:500}.portfolio-index ol{margin:0;padding:0;list-style:none}.portfolio-index li{border-bottom:1px solid var(--line)}.portfolio-index button{width:100%;min-height:88px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.75rem .85rem;border:0;border-left:4px solid transparent;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.portfolio-index button:hover{background:var(--sheet)}.portfolio-index button.is-selected{border-left-color:var(--terracotta);background:var(--sheet)}.portfolio-index button>span:first-child{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.56rem}.portfolio-index button>span:nth-child(2){min-width:0;display:grid;gap:.25rem}.portfolio-index button strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.portfolio-index button small{overflow:hidden;color:var(--ink-soft);font-size:.55rem;text-overflow:ellipsis;white-space:nowrap}.portfolio-status-dot,.project-dossier-status{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink-soft);font-size:.55rem;font-style:normal;font-weight:750;white-space:nowrap}.portfolio-status-dot:before,.project-dossier-status:before{width:7px;height:7px;border-radius:50%;background:var(--line-strong);content:""}.portfolio-status-dot.status-active:before,.project-dossier-status.status-active:before{background:#47745f}.portfolio-status-dot.status-on_hold:before,.project-dossier-status.status-on_hold:before{background:#b58a38}.portfolio-status-dot.status-cancelled:before,.project-dossier-status.status-cancelled:before{background:var(--terracotta)}.project-dossier{min-width:0}.project-dossier-form,.project-dossier-view{min-height:570px;display:flex;flex-direction:column;padding:1.25rem clamp(1rem,3vw,2.25rem)}.project-dossier-heading{min-height:82px;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--ink)}.project-dossier-heading h2{overflow-wrap:anywhere;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.45rem);font-weight:500;line-height:1.05}.project-dossier-heading>span:not(.project-dossier-status){color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem}.project-dossier-objective{display:grid;grid-template-columns:minmax(90px,.18fr) minmax(0,1fr);gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line-strong)}.project-dossier-objective p{overflow-wrap:anywhere;max-width:720px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,2vw,1.32rem);line-height:1.55}.project-dossier-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-bottom:1px solid var(--line-strong)}.project-dossier-facts>div{min-width:0;padding:1rem;border-right:1px solid var(--line)}.project-dossier-facts>div:first-child{padding-left:0}.project-dossier-facts>div:last-child{border-right:0}.project-dossier-facts dt{color:var(--ink-soft);font-size:.57rem;font-weight:750}.project-dossier-facts dd{overflow-wrap:anywhere;margin:.42rem 0 0;font-size:.72rem;line-height:1.45}.project-dossier-note{display:grid;grid-template-columns:minmax(90px,.18fr) minmax(0,1fr);gap:1rem;padding:1.15rem 0}.project-dossier-note p{overflow-wrap:anywhere;margin:0;color:var(--ink-soft);font-size:.69rem;line-height:1.55;white-space:pre-wrap}.project-dossier-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--ink)}.project-dossier-actions p{max-width:520px;margin:0;color:var(--ink-soft);font-size:.64rem;line-height:1.5}.project-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1rem 0}.project-form-grid label{min-width:0;display:grid;align-content:start;gap:.3rem}.project-form-grid label>span{color:var(--ink-soft);font-size:.59rem;font-weight:750}.project-form-grid input,.project-form-grid select,.project-form-grid textarea{width:100%;min-height:40px;padding:.48rem .58rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.69rem}.project-form-grid textarea{resize:vertical;line-height:1.5}.project-form-name,.project-form-objective{grid-column:span 2}.project-form-note{grid-column:1/-1}.project-form-error{margin:0;padding:.65rem .75rem;border-left:3px solid var(--terracotta);background:color-mix(in srgb,var(--terracotta) 7%,var(--sheet));color:#79351f;font-size:.68rem}.project-form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--ink)}.portfolio-empty button:disabled,.portfolio-message button:disabled,.project-form-actions button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:900px){.portfolio-command-bar{grid-template-columns:repeat(3,1fr)}.portfolio-command-bar>p{grid-column:1/-1;max-width:none;border-top:1px solid var(--line-strong)}.portfolio-layout{grid-template-columns:minmax(215px,.38fr) minmax(0,1fr)}.portfolio-status-dot{font-size:0}.project-dossier-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-dossier-facts>div:nth-child(2){border-right:0}.project-dossier-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.portfolio-empty{grid-template-columns:1fr;gap:1rem;padding:2rem 0}.portfolio-empty>span{font-size:3rem}.portfolio-layout{display:block}.portfolio-index{border-right:0;border-bottom:1px solid var(--ink)}.portfolio-index ol{display:flex;overflow-x:auto;overscroll-behavior-x:contain}.portfolio-index li{min-width:225px;border-right:1px solid var(--line);border-bottom:0}.portfolio-index button{min-height:76px}.portfolio-status-dot{font-size:.5rem}.project-dossier-form,.project-dossier-view{min-height:520px;padding-right:0;padding-left:0}}@media (max-width:520px){.portfolio-command-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-command-bar>div{padding:.75rem .5rem}.portfolio-command-bar>p{padding-right:0;padding-left:0}.project-dossier-heading{align-items:flex-start}.project-dossier-note,.project-dossier-objective{grid-template-columns:1fr;gap:.55rem}.project-dossier-facts{grid-template-columns:1fr}.project-dossier-facts>div,.project-dossier-facts>div:first-child{padding:.8rem 0;border-right:0;border-bottom:1px solid var(--line)}.project-form-grid{grid-template-columns:1fr}.project-form-grid>*{grid-column:1}.project-form-grid input,.project-form-grid select{min-height:44px}.project-dossier-actions,.project-form-actions{align-items:stretch;flex-direction:column}.project-dossier-actions button,.project-form-actions button{min-height:44px}}.finance-subnav{min-height:58px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--ink)}.finance-subnav a{min-width:0;display:flex;align-items:center;gap:.55rem;padding:.75rem .9rem;border-right:1px solid var(--line-strong);color:var(--ink-soft);text-decoration:none}.finance-subnav a:first-child{padding-left:0}.finance-subnav a:last-child{border-right:0}.finance-subnav a:hover{background:var(--sheet-soft);color:var(--ink)}.finance-subnav a.is-current{box-shadow:inset 0 -4px 0 var(--terracotta);color:var(--ink)}.finance-subnav a>span{flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem}.finance-subnav a>strong{overflow-wrap:anywhere;font-size:.7rem}.card-plan-workspace,.expense-workspace{min-width:0;padding-bottom:2.2rem}.expense-command-bar{min-height:112px;display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1.5rem 0 1rem}.card-plan-heading h3,.card-register-heading h3,.expense-command-bar h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}.expense-command-bar h2{font-size:clamp(1.8rem,3vw,2.65rem)}.expense-command-bar>div>p:last-child{max-width:620px;margin:.55rem 0 0;color:var(--ink-soft);font-size:.72rem;line-height:1.5}.expense-summary{border-top:1px solid var(--ink)}.card-entry,.expense-entry{border-top:0}.card-form textarea,.expense-form textarea{width:100%;padding:.48rem .58rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.7rem;line-height:1.5;resize:vertical}.expense-live-total{margin:1rem 0 0;padding-top:.7rem;border-top:1px solid var(--line-strong)}.expense-live-total dt{color:var(--ink-soft);font-size:.58rem;font-weight:700;text-transform:uppercase}.expense-live-total dd{margin:.25rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.expense-toolbar{display:grid;grid-template-columns:minmax(138px,.6fr) minmax(170px,.9fr) minmax(150px,.7fr) minmax(210px,1.4fr);gap:.7rem;padding:1rem 0;border-bottom:1px solid var(--line-strong)}.card-plan-filters label,.expense-toolbar label{min-width:0}.card-plan-filters label>span,.expense-toolbar label>span{display:block;margin-bottom:.27rem;color:var(--ink-soft);font-size:.58rem;font-weight:700}.card-plan-filters input,.card-plan-filters select,.expense-toolbar input,.expense-toolbar select{width:100%;min-height:38px;padding:.42rem .55rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.68rem}.expense-table-wrap{margin-top:0}.expense-table td:nth-child(2) small,.expense-table td:nth-child(2) strong,.expense-table td:nth-child(7) small,.expense-table td:nth-child(7) strong{display:block}.expense-table td:nth-child(2) small,.expense-table td:nth-child(7) small{max-width:250px;margin-top:.2rem;overflow:hidden;color:var(--ink-soft);font-size:.58rem;text-overflow:ellipsis}.expense-table tr.is-voided{color:var(--ink-soft);text-decoration-color:var(--line-strong)}.expense-table tr.is-voided td:not(:last-child){text-decoration:line-through}.card-register-actions,.expense-row-actions{display:flex;gap:.4rem}.card-payment-toggle,.card-register-actions button,.expense-row-actions button,.finance-workspace-message button{min-height:44px;padding:0 .55rem;border:1px solid var(--line-strong);background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.62rem;font-weight:700}.card-payment-toggle:hover,.card-register-actions button:hover,.expense-row-actions button:hover,.finance-workspace-message button:hover{background:var(--sheet-soft)}.card-payment-toggle:disabled,.card-register-actions button:disabled,.expense-row-actions button:disabled{cursor:not-allowed;opacity:.5}.finance-workspace-message{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0;padding:.8rem 0;border-bottom:1px solid var(--line-strong);color:var(--ink-soft);font-size:.7rem}.finance-workspace-message.is-error{color:#79351f}.card-register{border-bottom:1px solid var(--ink)}.card-plan-heading,.card-register-heading{min-height:76px;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem 0 .8rem;border-bottom:1px solid var(--ink)}.card-plan-heading h3,.card-register-heading h3{font-size:1.35rem}.card-register-heading>p{max-width:360px;margin:0;color:var(--ink-soft);font-size:.65rem;line-height:1.45;text-align:right}.card-register-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none}.card-register-list>li{min-width:0;display:grid;grid-template-columns:minmax(170px,.85fr) minmax(260px,1.4fr) auto;align-items:center;gap:.8rem;padding:.9rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.card-register-list>li:nth-child(2n){border-right:0}.card-register-identity{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem}.card-register-identity>span{padding:.42rem .5rem;border:1px solid var(--forest);background:var(--forest);color:var(--sheet);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.56rem;white-space:nowrap}.card-register-identity small,.card-register-identity strong{display:block;overflow-wrap:anywhere}.card-register-identity strong{font-size:.72rem}.card-register-identity small{margin-top:.2rem;color:var(--ink-soft);font-size:.58rem}.card-register-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.card-register-list dl>div{min-width:0;padding:0 .55rem;border-right:1px solid var(--line)}.card-register-list dl>div:last-child{border-right:0}.card-register-list dt{color:var(--ink-soft);font-size:.55rem;font-weight:700}.card-register-list dd{overflow-wrap:anywhere;margin:.22rem 0 0;font-size:.65rem}.card-register-status{display:inline-flex;align-items:center;gap:.3rem;font-size:.62rem;font-weight:700}.card-register-status:before{width:7px;height:7px;border-radius:50%;background:var(--line-strong);content:""}.card-register-status.is-active:before{background:#47745f}.card-register-actions{grid-column:1/-1;justify-content:flex-end}.card-register-empty{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--ink-soft);font-size:.72rem}.card-payment-plan{padding-top:.6rem}.card-plan-filters{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:.6rem}.card-plan-summary{margin-top:.8rem}.card-plan-table-wrap{margin-top:1rem}.card-installment-status.is-overdue{color:#9b3f25}.card-installment-status.is-overdue:before{background:var(--terracotta)}.card-installment-status.is-paid:before{background:#47745f}.card-installment-status.is-planned:before{background:#b58a38}.card-payment-editor{min-width:188px;display:grid;gap:.45rem}.card-payment-editor label>span{display:block;margin-bottom:.2rem;color:var(--ink-soft);font-size:.58rem;font-weight:700}.card-payment-editor input{width:100%;min-height:44px;padding:.4rem .5rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit}.card-payment-editor>div{display:flex;gap:.35rem}.card-payment-editor>div>button{flex:1}@media (max-width:1100px){.card-register-list{grid-template-columns:1fr}.card-register-list>li{border-right:0}}@media (max-width:760px){.finance-subnav{grid-template-columns:.7fr .7fr 1.35fr 1fr}.finance-subnav a{padding-right:.5rem}.finance-subnav a,.finance-subnav a:first-child{padding-left:.5rem}.expense-command-bar{align-items:stretch;flex-direction:column;gap:.9rem}.expense-command-bar .primary-action{width:100%}.expense-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-search{grid-column:1/-1}.card-plan-heading,.card-register-heading{align-items:stretch;flex-direction:column}.card-register-heading>p{max-width:none;text-align:left}.card-register-list>li{grid-template-columns:1fr auto}.card-register-list dl{grid-column:1/-1}.card-plan-filters{width:100%}.card-plan-table thead,.expense-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.card-plan-table,.card-plan-table tbody,.card-plan-table td,.card-plan-table tr,.expense-table,.expense-table tbody,.expense-table td,.expense-table tr{display:block;width:100%}.card-plan-table tr,.expense-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.7rem 0;border-top:1px solid var(--line-strong)}.card-plan-table td,.expense-table td{display:grid;grid-template-columns:minmax(78px,.7fr) minmax(0,1fr);gap:.45rem;padding:.38rem .45rem;border:0;white-space:normal}.card-plan-table td:before,.expense-table td:before{color:var(--ink-soft);content:attr(data-label);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.55rem;text-transform:uppercase}.card-plan-table .empty-row,.expense-table .empty-row{grid-column:1/-1;display:block}}@media (max-width:480px){.finance-subnav{display:flex;overflow-x:auto;overscroll-behavior-x:contain}.finance-subnav a{min-width:max-content;min-height:52px}.card-plan-filters,.expense-toolbar{grid-template-columns:1fr}.expense-search,.expense-toolbar>*{grid-column:1}.card-payment-toggle,.card-plan-filters input,.card-plan-filters select,.expense-row-actions button,.expense-toolbar input,.expense-toolbar select,.finance-form input,.finance-form select,.finance-form-actions button,.finance-workspace-message button{min-height:44px}.card-register-list>li{grid-template-columns:1fr;padding-right:0;padding-left:0}.card-register-status{grid-column:1}.card-register-list dl{grid-column:1;grid-template-columns:1fr}.card-register-list dl>div{padding:.55rem 0;border-right:0;border-bottom:1px solid var(--line)}.card-register-actions{grid-column:1}.card-register-actions button{min-height:44px;flex:1}.card-plan-table tr,.expense-table tr{grid-template-columns:1fr}.card-plan-table td,.expense-table td{grid-column:1}}.project-finance-workspace{min-width:0;padding-bottom:2.5rem}.project-finance-heading{min-height:142px;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:1.6rem 0 1.15rem;border-bottom:1px solid var(--ink)}.project-finance-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3.6vw,3.1rem);font-weight:500;letter-spacing:-.025em}.project-finance-heading p:not(.eyebrow){max-width:680px;margin:.55rem 0 0;color:var(--ink-soft);font-size:.72rem;line-height:1.55}.project-finance-heading label{flex:0 0 180px}.project-finance-heading label>span{display:block;margin-bottom:.3rem;color:var(--ink-soft);font-size:.58rem;font-weight:750;text-transform:uppercase}.project-finance-heading input{width:100%;min-height:42px;padding:.45rem .55rem;border:1px solid var(--ink);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.7rem}.project-finance-loading{min-height:180px;display:grid;place-items:center;margin:0;color:var(--ink-soft);font-size:.72rem}.project-finance-period{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line-strong)}.project-finance-period strong{font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:500;text-transform:capitalize}.project-finance-period span{color:var(--ink-soft);font-size:.58rem;text-transform:uppercase}.project-finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-bottom:1px solid var(--ink)}.project-finance-summary>div{min-width:0;padding:1.15rem .9rem;border-right:1px solid var(--line-strong)}.project-finance-summary>div:first-child{padding-left:0}.project-finance-summary>div:last-child{padding-right:0;border-right:0}.project-finance-summary dt{color:var(--ink-soft);font-size:.57rem;font-weight:750;text-transform:uppercase}.project-finance-summary dd{overflow-wrap:anywhere;margin:.4rem 0 .2rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,2.2vw,1.75rem)}.project-finance-summary small{color:var(--ink-soft);font-size:.57rem}.project-finance-summary .is-positive dd,.project-finance-table .is-positive{color:#38644f}.project-finance-summary .is-negative dd,.project-finance-table .is-negative{color:#9b3f25}.project-finance-unassigned{display:grid;grid-template-columns:minmax(190px,.38fr) minmax(0,1fr);gap:1.2rem;margin:1rem 0;padding:.9rem 1rem;border-left:4px solid #b58a38;background:color-mix(in srgb,#b58a38 8%,var(--sheet))}.project-finance-unassigned span,.project-finance-unassigned strong{display:block}.project-finance-unassigned strong{font-size:.68rem}.project-finance-unassigned span{margin-top:.22rem;color:var(--ink-soft);font-size:.57rem}.project-finance-unassigned p{margin:0;color:var(--ink-soft);font-size:.65rem;line-height:1.55}.project-finance-table-wrap{overflow-x:auto;border-bottom:1px solid var(--ink)}.project-finance-table{width:100%;min-width:980px;border-collapse:collapse;font-size:.65rem}.project-finance-table th{padding:.65rem .55rem;border-bottom:1px solid var(--ink);color:var(--ink-soft);font-size:.55rem;font-weight:750;text-align:right;text-transform:uppercase;white-space:nowrap}.project-finance-table th:first-child{text-align:left}.project-finance-table td{padding:.85rem .55rem;border-bottom:1px solid var(--line);text-align:right;vertical-align:top;white-space:nowrap}.project-finance-table td:first-child{text-align:left;white-space:normal}.project-finance-table tbody tr:last-child td{border-bottom:0}.project-finance-table a{display:grid;gap:.24rem;color:inherit;text-decoration-color:var(--line-strong);text-underline-offset:.2rem}.project-finance-table td small,.project-finance-table td strong{display:block}.project-finance-table td small{margin-top:.2rem;color:var(--ink-soft);font-size:.55rem}.project-finance-method-note{max-width:900px;margin:0;padding:.9rem 0;color:var(--ink-soft);font-size:.6rem;line-height:1.55}.finance-receivable-toolbar{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line-strong)}.finance-receivable-toolbar label{min-width:min(100%,280px)}.finance-receivable-toolbar label>span{display:block;margin-bottom:.25rem;color:var(--ink-soft);font-size:.57rem;font-weight:750}.finance-receivable-toolbar select{width:100%;min-height:38px;padding:.4rem .55rem;border:1px solid var(--line-strong);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:.67rem}.finance-receivable-toolbar>span{color:var(--ink-soft);font-size:.58rem}@media (max-width:760px){.project-finance-heading{align-items:stretch;flex-direction:column;gap:1rem}.project-finance-heading label{flex-basis:auto;width:min(100%,260px)}.project-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.project-finance-summary>div:nth-child(2){border-right:0}.project-finance-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line-strong)}.project-finance-summary>div:first-child,.project-finance-summary>div:nth-child(3){padding-left:0}.project-finance-unassigned{grid-template-columns:1fr;gap:.55rem}.project-finance-table{min-width:0;display:block}.project-finance-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.project-finance-table tbody,.project-finance-table td,.project-finance-table tr{display:block;width:100%}.project-finance-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.6rem 0;border-bottom:1px solid var(--ink)}.project-finance-table td,.project-finance-table td:first-child{display:grid;grid-template-columns:minmax(88px,.7fr) minmax(0,1fr);gap:.5rem;padding:.45rem;border:0;text-align:left;white-space:normal}.project-finance-table td:before{color:var(--ink-soft);content:attr(data-label);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.53rem;text-transform:uppercase}.project-finance-table td:first-child{grid-column:1/-1}.project-finance-table td:first-child a{display:block}.project-finance-table .empty-row{grid-column:1/-1;display:block}}@media (max-width:500px){.finance-receivable-toolbar{align-items:stretch;flex-direction:column}.finance-receivable-toolbar select{min-height:44px}.project-finance-period{align-items:flex-start;flex-direction:column;justify-content:center}.project-finance-summary{grid-template-columns:1fr}.project-finance-summary>div,.project-finance-summary>div:first-child,.project-finance-summary>div:nth-child(3){padding:.9rem 0;border-right:0;border-bottom:1px solid var(--line-strong)}.project-finance-summary>div:last-child{border-bottom:0}.project-finance-table tr{grid-template-columns:1fr}.project-finance-table td,.project-finance-table td:first-child{grid-column:1}.project-finance-heading input{min-height:44px}}.customer-project-filter select{min-height:34px;max-width:180px;padding:0 1.8rem 0 .55rem;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background-color:transparent;color:var(--ink);font:inherit;font-size:.68rem}.customer-project-cell{min-width:150px;white-space:normal!important}.customer-project-badges{display:flex;flex-wrap:wrap;gap:.28rem}.customer-project-badge{display:inline-flex;align-items:center;min-height:24px;padding:.15rem .42rem;border:1px solid color-mix(in srgb,var(--forest) 50%,var(--line));background:color-mix(in srgb,var(--forest) 7%,var(--sheet));color:var(--forest);font-size:.58rem;font-weight:750;line-height:1.25;white-space:normal}.customer-project-unassigned{color:var(--terracotta);font-size:.62rem;font-weight:750}.customer-project-unassigned-note{display:block;margin-top:.35rem;font-size:.68rem;line-height:1.45}.customer-project-picker{min-width:0;grid-column:1/-1;margin:0;padding:.75rem;border:1px solid var(--line-strong)}.customer-project-picker legend{padding:0 .3rem;color:var(--ink);font-size:.64rem;font-weight:750}.customer-project-picker>p{margin:0 0 .6rem;color:var(--ink-soft);font-size:.61rem;line-height:1.45}.customer-project-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.customer-project-options>label{min-height:44px;display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;border:1px solid var(--line);background:var(--sheet);cursor:pointer}.customer-project-options input{width:18px;height:18px;min-height:18px;flex:0 0 auto;margin:0;accent-color:var(--forest)}.customer-project-options label>span{min-width:0;display:grid;gap:.12rem;margin:0}.customer-project-options small,.customer-project-options strong{overflow-wrap:anywhere}.customer-project-options strong{font-size:.66rem}.customer-project-options small{color:var(--ink-soft);font-size:.55rem}.customer-project-empty{grid-column:1/-1;margin:0;color:var(--terracotta);font-size:.64rem}.customer-project-picker-profile{grid-column:1/-1}.customer-profile-summary .customer-project-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.customer-profile-projects dd{min-width:0}.contract-project-field{grid-column:1/-1}.project-customer-count{margin-top:.12rem;color:var(--forest)!important;font-weight:750}.project-customer-sheet{display:grid;grid-template-columns:minmax(130px,.22fr) minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line-strong)}.project-customer-sheet h3{margin:.3rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:500}.project-customer-sheet>div>span{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.55rem;font-weight:750;letter-spacing:.08em}.project-customer-sheet ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:0;padding:0;list-style:none}.project-customer-sheet li{min-width:0;display:grid;gap:.14rem;padding:.5rem .6rem;border-left:3px solid var(--forest);background:var(--sheet-soft)}.project-customer-sheet li small,.project-customer-sheet li strong{overflow-wrap:anywhere}.project-customer-sheet li strong{font-size:.67rem}.project-customer-sheet li small{color:var(--ink-soft);font-size:.56rem}.project-customer-sheet>p{margin:0;color:var(--ink-soft);font-size:.67rem;line-height:1.5}.project-customer-manage-link{min-height:38px;display:inline-flex;align-items:center;padding:.45rem .6rem;border-bottom:1px solid var(--ink);color:var(--ink);font-size:.61rem;font-weight:750;text-decoration:none}@media (max-width:900px){.project-customer-sheet{grid-template-columns:minmax(115px,.28fr) minmax(0,1fr)}.project-customer-manage-link{grid-column:2;justify-self:start}}@media (max-width:760px){.customer-project-filter{flex:1}.customer-project-filter select{width:100%;max-width:none;min-height:44px}.customer-profile-summary .customer-project-summary-grid,.customer-project-options,.project-customer-sheet,.project-customer-sheet ul{grid-template-columns:1fr}.project-customer-manage-link{min-height:44px;grid-column:1;justify-self:stretch}}@media (max-width:430px){.customer-project-picker{padding-right:.55rem;padding-left:.55rem}.customer-project-options>label{min-height:48px}}