@charset "UTF-8";
:root{color-scheme:light;--paper:#f7f6f0;--surface:#fffefa;--soft:#eeeee5;--ink:#272e27;--muted:#73796d;--line:#dedfd4;--sidebar:#252e26;--sidebar-text:#f2f4e8;--sidebar-muted:#b4bead;--sidebar-active:#3b4936;--accent:#d1e7a6;--accent-ink:#2e3a20;--green:#516840;--peach:#f2dfcd;--peach-ink:#795338;--violet:#e9e3f2;--violet-ink:#78658f;--red:#9c493c;--red-soft:#f7e7df;--shadow:0 12px 40px #2632260b;--radius:18px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;background:var(--paper);color:var(--ink)}
:root[data-theme="dark"]{color-scheme:dark;--paper:#20251f;--surface:#293027;--soft:#333a2e;--ink:#f1f0e5;--muted:#b0b8a6;--line:#414b3b;--sidebar:#181f19;--sidebar-text:#f2f4e8;--sidebar-muted:#b4bead;--sidebar-active:#35462e;--accent:#bedc8e;--accent-ink:#26351c;--green:#b8d38f;--peach:#4a392c;--peach-ink:#f3caa8;--violet:#40384c;--violet-ink:#d8c7ed;--red:#edaa98;--red-soft:#4c352e;--shadow:0 12px 40px #0002}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--violet-ink);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}a{text-decoration:none}input,select,textarea{min-width:0}svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}button svg{width:17px;height:17px}em{font-family:Georgia,"Times New Roman",serif;font-weight:400}::selection{background:var(--accent);color:var(--accent-ink)}[hidden]{display:none!important}.skip-link{position:fixed;left:18px;top:-60px;background:var(--accent);color:var(--accent-ink);padding:10px 18px;z-index:100}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.boot-screen{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:20px;color:var(--muted)}.noscript{padding:30px}.brand-symbol{display:grid;place-items:center;width:36px;height:36px;background:var(--accent);color:var(--accent-ink);font:italic 30px Georgia,serif;border-radius:11px 11px 4px 11px;flex:none}.brand{display:flex;align-items:center;gap:12px}.brand-name{font-size:19px;font-weight:650;letter-spacing:-.6px}.brand-subtitle{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;margin-top:2px;opacity:.65}.shell{min-height:100vh;display:grid;grid-template-columns:218px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:34px 22px 24px;background:var(--sidebar);color:var(--sidebar-text);gap:38px}.sidebar .brand-symbol{width:32px;height:32px;font-size:27px}.sidebar .brand{gap:10px}.sidebar .brand-name{font-size:17px}.sidebar .brand-subtitle{font-size:9px;letter-spacing:1.2px}.main-nav{display:grid;gap:7px}.nav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 14px;color:var(--sidebar-muted);font-size:13px;border-radius:10px;transition:background .15s,color .15s}.nav-link:hover{background:#ffffff08;color:var(--sidebar-text)}.nav-link[aria-current="page"]{background:var(--sidebar-active);color:var(--sidebar-text)}.nav-link svg{width:18px;height:18px}.nav-count{margin-left:auto;font-size:10px;background:#ffffff12;border-radius:5px;padding:1px 6px}.sidebar-bottom{margin-top:auto;display:grid;gap:22px}.sidebar-note{font-family:Georgia,serif;font-size:16px;line-height:1.6;color:#c7cfbf;margin:0 10px}.sidebar-note em{color:var(--accent)}.profile-button{display:flex;align-items:center;gap:10px;text-align:left;background:none;border:0;border-top:1px solid #ffffff12;padding:20px 0 0;width:100%;color:var(--sidebar-text)}.profile-button .profile-copy{flex:1;min-width:0}.profile-button strong{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-button small{display:block;font-size:10px;color:var(--sidebar-muted);margin-top:2px}.avatar{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;background:var(--soft);color:var(--green);font-size:11px;font-weight:600;flex:none}.avatar.large{width:52px;height:52px;font:23px Georgia,serif}.main-wrapper{min-width:0}.topbar{height:81px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:0 42px}.breadcrumb{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.breadcrumb strong{font-weight:500;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:12px}.local-date{font-size:11px;color:var(--muted)}.icon-button{width:37px;height:37px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent}.icon-button:hover{background:var(--soft)}.icon-button.danger{color:var(--red)}.mobile-brand{display:none}.main{padding:38px 42px 52px;max-width:1500px;margin:0 auto}.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:650;color:var(--muted)}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 32px}.hero h1{font:400 clamp(34px,3.8vw,49px)/1.09 Georgia,"Times New Roman",serif;letter-spacing:-1.65px;margin:12px 0 11px}.hero h1 em{color:var(--green)}.hero-description{font-size:12px;color:var(--muted);max-width:550px;line-height:1.7}.hero-actions{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:3px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:10px 15px;min-height:40px;background:var(--surface);font-size:12px;font-weight:550;line-height:1.4;white-space:nowrap;text-decoration:none;transition:background .15s,transform .15s}.button:hover{background:var(--soft)}.button.primary{background:var(--sidebar);border-color:var(--sidebar);color:var(--sidebar-text)}.button.primary:hover{background:var(--sidebar-active)}.button.accent{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.button.accent:hover{filter:brightness(.97)}.button.quiet{border-color:transparent;background:transparent;padding-inline:0;min-height:30px;color:var(--muted)}.button.quiet:hover{color:var(--ink)}.button.small{font-size:11px;min-height:34px;padding:7px 11px}.button.full{width:100%}.button.danger{color:var(--red);border-color:var(--red);background:transparent}.button:active{transform:translateY(1px)}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:12px;font-weight:500;border:0;background:none;padding:4px 0;cursor:pointer}.text-link svg{width:15px;height:15px}.text-link:hover{text-decoration:underline}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:30px}.stack{display:grid;gap:22px;align-content:start;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.section-head h2{font-size:15px;font-weight:550;letter-spacing:-.25px}.section-head .muted{font-size:11px}.muted{color:var(--muted)}.small{font-size:11px}.section-title{font-size:15px;font-weight:550;margin-bottom:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;min-width:0}.panel.raised{box-shadow:var(--shadow)}.panel.soft{background:var(--soft)}.panel.peach{background:var(--peach);color:var(--peach-ink);border-color:transparent}.panel.violet{background:var(--violet);color:var(--violet-ink);border-color:transparent}.panel.peach .eyebrow{color:var(--peach-ink)}.panel.peach .button{background:var(--surface);color:var(--ink);border-color:transparent}.panel.peach .button:hover{background:var(--paper)}.big-figure{font:400 38px/1.1 Georgia,serif;letter-spacing:-1.1px;margin:13px 0 8px;font-variant-numeric:lining-nums}.metric-label{font-size:12px;margin-bottom:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.panel-heading h3{font-size:13px;font-weight:550}.panel-heading svg{width:18px;height:18px;color:var(--muted)}.retainer-number{font-size:31px;letter-spacing:-1.1px;line-height:1.1;margin-bottom:7px}.retainer-caption{font-size:11px;color:var(--muted)}.meter{height:7px;background:var(--soft);border-radius:20px;overflow:hidden;margin-top:19px}.meter-fill{height:100%;background:var(--green);border-radius:inherit;min-width:0;max-width:100%}.meter-labels{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:8px}.retainer-note{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.retainer-note svg{width:15px;height:15px;margin-top:1px}.task-list{border-top:1px solid var(--line)}.task-row{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);min-width:0}.task-row input[type=checkbox]{width:17px;height:17px;margin:0;flex:none;accent-color:var(--green);cursor:pointer}.task-copy{min-width:0;flex:1}.task-title{display:block;font-size:12px;font-weight:550;word-break:break-word}.task-meta{font-size:11px;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px;margin-top:4px}.task-row.done .task-title{text-decoration:line-through;color:var(--muted)}.task-row .task-actions{display:flex;align-items:center;gap:6px}.task-row .task-actions .icon-button{width:29px;height:29px;border:none;color:var(--muted)}.task-row .task-actions .icon-button svg{width:15px;height:15px}.task-estimate{font-size:11px;color:var(--muted);white-space:nowrap}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);flex:none}.timer-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:21px;box-shadow:var(--shadow)}.timer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.timer-top svg{color:var(--muted);width:17px;height:17px}.timer-title{font-size:13px;font-weight:550}.timer-caption{font-size:11px;color:var(--muted);margin-top:4px}.timer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;flex-wrap:wrap}.timer-display{font-size:28px;letter-spacing:-1px;font-variant-numeric:tabular-nums;line-height:1.2}.timer-running{display:flex;align-items:center;gap:7px;color:var(--green);font-size:10px;letter-spacing:1px;text-transform:uppercase}.timer-running .dot{width:6px;height:6px}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-top:30px}.summary-item{padding-right:20px;border-right:1px solid var(--line)}.summary-item:last-child{border:0}.summary-value{font-size:26px;letter-spacing:-.8px;margin:6px 0 4px;font-variant-numeric:tabular-nums}.summary-caption{font-size:11px;color:var(--muted)}.upcoming{margin-top:29px}.activity-row{display:flex;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.activity-symbol{width:34px;height:34px;border-radius:10px;background:var(--soft);display:grid;place-items:center;color:var(--green);flex:none}.activity-symbol svg{width:16px;height:16px}.activity-copy{flex:1;min-width:0}.activity-copy strong{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.activity-copy small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.activity-amount{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.empty-state{padding:32px 20px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius)}.empty-state.compact{padding:25px 18px}.empty-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:var(--soft);color:var(--green);margin:0 auto 15px}.empty-state h3{font:400 23px Georgia,serif;letter-spacing:-.5px;margin-bottom:8px}.empty-state p{max-width:360px;margin:0 auto 17px;color:var(--muted);font-size:12px;line-height:1.7}.empty-state .button{margin:0 auto}.first-step{display:flex;gap:15px;align-items:center;padding:17px 20px;background:var(--violet);border-radius:12px;margin-bottom:26px;color:var(--violet-ink)}.first-step .step-copy{flex:1;min-width:0}.first-step strong{font-size:12px;display:block;font-weight:600}.first-step p{font-size:11px;margin-top:4px}.first-step>.button{background:var(--surface);color:var(--ink);border:none}.tabs{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);margin-bottom:23px}.tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:13px 0 12px;color:var(--muted);font-size:12px;font-weight:550;display:flex;align-items:center;gap:8px}.tab.active{color:var(--ink);border-bottom-color:var(--green)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;padding:1px 5px;border-radius:5px;background:var(--soft);font-size:10px;line-height:1.5}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;flex-wrap:wrap}.toolbar-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:var(--surface);height:39px}.search-field svg{width:16px;height:16px;color:var(--muted)}.search-field input{border:0;background:none;padding:7px 0;width:180px;color:var(--ink);outline:none;font-size:12px}.filter-select{min-height:39px;padding:8px 28px 8px 11px;border:1px solid var(--line);border-radius:9px;background-color:var(--surface);color:var(--ink);font-size:12px;max-width:240px}.rows-panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:3px 23px}.rows-panel .task-list{border-top:0}.rows-panel .task-row:last-child{border-bottom:0}.time-row{display:flex;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.time-row:last-child{border-bottom:0}.time-date{width:42px;flex:none;font-size:10px;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.5px}.time-date strong{display:block;font:24px/1.1 Georgia,serif;color:var(--ink);letter-spacing:-.5px;margin-top:2px}.time-copy{flex:1;min-width:0}.time-copy strong{font-size:12px;font-weight:550;display:block;word-break:break-word}.time-meta{font-size:11px;color:var(--muted);margin-top:4px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.time-amount{text-align:right;flex:none}.time-amount strong{font-size:13px;font-weight:550;display:block}.time-amount small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.tag{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:500;border-radius:6px;white-space:nowrap;background:var(--soft);color:var(--muted);line-height:1.4}.tag.green{background:color-mix(in srgb,var(--accent) 42%,var(--surface));color:var(--green)}.tag.violet{background:var(--violet);color:var(--violet-ink)}.tag.peach{background:var(--peach);color:var(--peach-ink)}.tag.red{background:var(--red-soft);color:var(--red)}.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.client-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;transition:transform .15s,box-shadow .15s;min-width:0}.client-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.client-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}.client-card h2{font-size:17px;letter-spacing:-.4px;margin-bottom:5px;font-weight:550;overflow-wrap:anywhere}.client-card .client-email{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.client-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line);font-size:11px}.client-card-bottom strong{font-weight:550}.client-card-bottom svg{width:16px;height:16px;color:var(--muted)}.client-card .meter{margin-top:20px;height:5px}.client-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr);gap:26px}.detail-title{display:flex;align-items:center;gap:15px}.detail-title h1{margin:0}.client-intro{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin:14px 0 0}.client-intro span{display:inline-flex;align-items:center;gap:5px}.client-intro svg{width:14px;height:14px}.detail-list{display:grid;gap:15px}.detail-item{display:flex;justify-content:space-between;gap:20px;font-size:12px}.detail-item span{color:var(--muted)}.detail-item strong{font-weight:500;text-align:right;overflow-wrap:anywhere}.divider{border:0;border-top:1px solid var(--line);margin:22px 0}.note-copy{white-space:pre-wrap;font-size:12px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.invoice-list{display:grid;gap:12px}.invoice-row{display:flex;align-items:center;gap:17px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:18px 21px;transition:background .15s}.invoice-row:hover{background:var(--soft)}.invoice-icon{width:39px;height:45px;background:var(--violet);color:var(--violet-ink);border-radius:9px;display:grid;place-items:center;flex:none}.invoice-main{flex:1;min-width:0}.invoice-main h3{font-size:13px;font-weight:550;overflow-wrap:anywhere}.invoice-main p{font-size:11px;color:var(--muted);margin-top:4px}.invoice-end{text-align:right;display:grid;gap:6px;justify-items:end}.invoice-end strong{font-size:15px;font-weight:550;letter-spacing:-.2px}.invoice-row>svg{width:16px;height:16px;color:var(--muted)}.expense-row{display:flex;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.expense-row:last-child{border-bottom:0}.expense-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--peach);color:var(--peach-ink);flex:none}.expense-icon svg{width:17px;height:17px}.expense-main{flex:1;min-width:0}.expense-main strong{font-size:12px;font-weight:550;display:block;overflow-wrap:anywhere}.expense-main p{font-size:11px;color:var(--muted);margin-top:4px}.expense-amount{font-size:13px;font-weight:550;white-space:nowrap}.notice{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.7;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted);margin-bottom:21px}.notice svg{width:16px;height:16px;margin-top:2px}.notice strong{font-weight:600;color:var(--ink)}.notice.warning{background:var(--peach);border-color:transparent;color:var(--peach-ink)}.invoice-paper{padding:36px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:900px;margin:0 auto}.invoice-paper-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.invoice-paper .business-name{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600}.invoice-paper h2{font:400 34px Georgia,serif;letter-spacing:-1px;margin:13px 0 0}.invoice-paper-meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:22px;margin:33px 0 28px;font-size:12px}.invoice-paper-meta small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.invoice-paper-meta strong{font-weight:500}.invoice-table{width:100%;border-collapse:collapse;font-size:12px}.invoice-table th{text-align:left;font-weight:500;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--line);padding:12px 0}.invoice-table td{padding:16px 0;border-bottom:1px solid var(--line);vertical-align:top}.invoice-table th:last-child,.invoice-table td:last-child{text-align:right;white-space:nowrap}.invoice-table td:first-child{padding-right:20px;overflow-wrap:anywhere}.invoice-table td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.invoice-totals{max-width:280px;margin:23px 0 0 auto;display:grid;gap:11px}.invoice-total-row{display:flex;justify-content:space-between;gap:20px;font-size:12px}.invoice-total-row span{color:var(--muted)}.invoice-total-row strong{font-weight:500}.invoice-total-row.grand{padding-top:14px;margin-top:4px;border-top:1px solid var(--line);font-size:17px}.invoice-total-row.grand span,.invoice-total-row.grand strong{color:var(--ink);font-weight:600}.invoice-notes{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;color:var(--muted);font-size:11px;line-height:1.8;white-space:pre-wrap}.invoice-methods{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.payment-instruction{border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:11px;min-width:160px;max-width:100%;overflow-wrap:anywhere}.payment-instruction strong{display:block;color:var(--ink);font-weight:550;margin-bottom:4px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.report-card{padding:23px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius)}.report-card .summary-value{font-size:32px;margin:14px 0 8px}.report-section{margin-top:30px}.bar-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(80px,2fr) 60px;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.bar-track{height:6px;background:var(--soft);border-radius:6px;overflow:hidden}.bar-fill{height:100%;border-radius:6px;background:var(--green)}.bar-row strong{font-size:11px;text-align:right;font-weight:550}.report-bottom{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}.checklist-item{display:flex;align-items:start;gap:10px;font-size:12px;padding:14px 0;border-bottom:1px solid var(--line)}.checklist-item:last-child{border-bottom:0}.checklist-item svg{width:17px;height:17px;color:var(--green);margin-top:1px}.checklist-item small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.settings-layout{max-width:850px}.settings-section{margin-bottom:26px}.settings-section .panel-heading{margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px;min-width:0;align-content:start}.field.full{grid-column:1/-1}.field-label{font-size:11px;font-weight:550}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;background:var(--surface);color:var(--ink);font-size:13px;line-height:1.4;min-height:42px}.field textarea{resize:vertical;min-height:82px}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.65}.field-hint{font-size:10px;color:var(--muted);line-height:1.6}.field.check-field{display:flex;gap:9px;align-items:start;font-size:12px;font-weight:400}.field.check-field input{width:16px;height:16px;min-height:16px;margin:2px 0 0;padding:0;accent-color:var(--green);flex:none}.field.check-field small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px}.form-error{padding:12px 14px;background:var(--red-soft);color:var(--red);border-radius:8px;font-size:12px;line-height:1.6;margin:0 0 17px}.settings-footnote{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.7}.modal{width:min(570px,calc(100% - 36px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:29px;box-shadow:0 35px 100px #0003}.modal::backdrop{background:#1d271c80;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:start;gap:16px;justify-content:space-between;margin-bottom:25px}.modal-head h2{font:400 28px Georgia,serif;letter-spacing:-.7px}.modal-head p{color:var(--muted);font-size:11px;margin-top:7px;line-height:1.7}.modal-head .icon-button{width:30px;height:30px;flex:none;border:0;margin-top:-4px}.modal .form-grid{gap:16px}.modal .field-label{font-size:11px}.modal .notice{margin-bottom:18px}.modal.wide{width:min(720px,calc(100% - 36px))}.invoice-entry-select{display:grid;gap:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0 14px;max-height:230px;overflow:auto;margin-top:8px}.entry-choice{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.entry-choice:last-child{border-bottom:0}.entry-choice input{accent-color:var(--green);width:15px;height:15px}.entry-choice-copy{flex:1;min-width:0}.entry-choice-copy strong{display:block;font-size:11px;font-weight:500;overflow-wrap:anywhere}.entry-choice-copy small{font-size:10px;color:var(--muted)}.entry-choice-amount{font-size:11px;white-space:nowrap}.selection-summary{display:flex;justify-content:space-between;gap:20px;padding:14px 0;font-size:12px}.selection-summary strong{font-weight:550}.quick-add-list{display:grid;gap:9px}.quick-add-option{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:15px;text-align:left;width:100%}.quick-add-option:hover{background:var(--soft)}.quick-add-option svg{color:var(--green)}.quick-add-option strong{display:block;font-size:12px;font-weight:550}.quick-add-option small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.toast{position:fixed;bottom:24px;left:calc(50% + 109px);transform:translateX(-50%);max-width:calc(100% - 40px);padding:13px 20px;border:1px solid var(--line);border-radius:12px;background:var(--sidebar);color:var(--sidebar-text);font-size:12px;box-shadow:0 10px 40px #0002;z-index:100;display:flex;align-items:center;gap:9px}.toast svg{width:16px;height:16px;color:var(--accent)}.demo-banner{display:flex;justify-content:center;align-items:center;gap:12px;padding:9px 20px;background:var(--violet);color:var(--violet-ink);font-size:11px;flex-wrap:wrap}.demo-banner strong{font-weight:600}.demo-banner a{text-decoration:underline;text-underline-offset:3px}.demo-banner svg{width:14px;height:14px}.footer-note{font-size:10px;color:var(--muted);margin-top:31px;display:flex;align-items:center;gap:6px}.footer-note svg{width:12px;height:12px}.auth-page{min-height:100dvh;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(450px,1.1fr)}.auth-brand-pane{background:var(--sidebar);color:var(--sidebar-text);padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand-pane .brand{position:relative;z-index:1}.auth-brand-pane .brand-subtitle{color:var(--sidebar-muted)}.auth-message{max-width:420px;position:relative;z-index:1;padding:50px 0}.auth-message h1{font:400 clamp(42px,4.7vw,64px)/1.1 Georgia,serif;letter-spacing:-2px;margin-bottom:24px}.auth-message h1 em{color:var(--accent)}.auth-message p{color:var(--sidebar-muted);font-size:13px;line-height:1.8;max-width:315px}.auth-decoration{position:absolute;width:420px;height:420px;border:1px solid #ffffff09;border-radius:50%;right:-195px;bottom:16%;box-shadow:0 0 0 55px #ffffff03,0 0 0 110px #ffffff02;pointer-events:none}.auth-footer{display:flex;gap:22px;font-size:10px;color:var(--sidebar-muted);letter-spacing:.2px;position:relative;z-index:1}.auth-main{display:grid;place-items:center;padding:45px 38px}.auth-card{width:100%;max-width:360px}.auth-card>.eyebrow{margin-bottom:15px}.auth-card h2{font:400 35px Georgia,serif;letter-spacing:-1px;margin-bottom:13px}.auth-description{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:27px}.auth-card .field{margin-bottom:18px}.auth-card .button.full{margin-top:5px}.auth-note{color:var(--muted);font-size:10px;line-height:1.8;margin-top:22px}.auth-demo-link{display:block;text-align:center;font-size:11px;color:var(--green);margin-top:24px}.auth-demo-link:hover{text-decoration:underline}.auth-lock{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-top:30px;justify-content:center}.auth-lock svg{width:12px;height:12px}.auth-status{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:20px;margin:20px 0}.auth-status h3{font-size:13px;margin-bottom:8px}.auth-status p{color:var(--muted);font-size:12px;line-height:1.8}.mobile-menu-button{display:none}.split-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-bottom:23px}.back-link:hover{color:var(--ink)}.back-link svg{width:14px;height:14px}.inline-total{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.inline-total strong{color:var(--ink);font-weight:550}.form-section-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:22px 0 14px}.inline-warning{color:var(--peach-ink);font-size:11px;background:var(--peach);padding:10px 13px;border-radius:8px;line-height:1.7}.retainer-details{margin-top:20px}.retainer-details .detail-item{padding:7px 0;font-size:11px}.note-heading{font-size:11px;color:var(--muted);font-weight:550;margin-bottom:8px}.stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.stat-pair .summary-value{font-size:24px;margin:4px 0}.no-data{color:var(--muted);font-size:12px;padding:18px 0}.busy-overlay{pointer-events:none;opacity:.65}.page-error{max-width:600px;margin:80px auto;padding:30px}.page-error h1{font:35px Georgia,serif;margin-bottom:15px}.page-error p{color:var(--muted);margin-bottom:20px;line-height:1.8}.print-only{display:none}.payment-log{display:grid;gap:10px;margin-top:20px}.payment-log-row{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding:10px 0;border-bottom:1px solid var(--line)}.payment-log-row span{color:var(--muted)}
@media(min-width:1500px){.main{padding-top:45px}.hero{margin-bottom:38px}.dashboard-grid{gap:36px}.main-wrapper{max-width:1800px}}
@media(max-width:1150px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:30px 16px 22px}.main{padding:30px}.topbar{padding:0 30px}.dashboard-grid{gap:23px;grid-template-columns:minmax(0,1.15fr) minmax(260px,.9fr)}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{left:calc(50% + 95px)}.hero h1{font-size:42px}.auth-brand-pane{padding:38px}}
@media(max-width:950px){.shell{grid-template-columns:170px minmax(0,1fr)}.sidebar{padding:27px 12px 20px}.sidebar .brand{gap:8px}.sidebar .brand-name{font-size:15px}.sidebar .brand-subtitle{font-size:8px}.sidebar .brand-symbol{width:29px;height:29px;font-size:24px}.nav-link{padding:10px 12px}.sidebar-note{font-size:14px}.main{padding:28px 24px 40px}.topbar{padding:0 24px;height:72px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.stack:last-child{grid-template-columns:1fr 1fr}.hero h1{font-size:40px}.local-date{display:none}.client-detail-grid{grid-template-columns:1fr}.client-detail-grid>.stack:last-child{grid-template-columns:1fr 1fr}.report-grid{gap:12px}.report-card{padding:18px}.report-card .summary-value{font-size:28px}.report-bottom{gap:20px}.auth-brand-pane{padding:30px}.auth-page{grid-template-columns:minmax(260px,.85fr) minmax(350px,1fr)}.auth-main{padding:35px}.toast{left:calc(50% + 85px)}}
@media(max-width:720px){.shell{display:block}.sidebar{position:static;height:auto;padding:20px 22px 0;gap:20px}.sidebar .brand-name{font-size:18px}.sidebar .brand-subtitle{font-size:9px}.sidebar .brand-symbol{width:32px;height:32px;font-size:27px}.main-nav{display:flex;justify-content:space-between;gap:4px;margin:0 -5px}.nav-link{flex:1;justify-content:center;gap:6px;padding:12px 8px;border-radius:8px 8px 0 0;font-size:11px;min-height:43px}.nav-link svg{width:15px;height:15px}.nav-count{display:none}.sidebar-bottom{display:none}.topbar{height:63px;padding:0 23px}.breadcrumb{font-size:11px}.top-actions{gap:9px}.top-actions .button{min-height:34px;padding:7px 11px;font-size:11px}.top-actions .icon-button{height:31px;width:31px}.top-actions .icon-button svg{width:15px;height:15px}.main{padding:27px 23px 40px}.hero{margin-bottom:26px;gap:16px}.hero h1{font-size:39px;margin-top:10px;letter-spacing:-1.2px}.hero-actions .button{font-size:11px;padding:9px 11px}.hero-description{font-size:11px}.eyebrow{font-size:9px;letter-spacing:1.5px}.dashboard-grid{gap:23px}.summary-strip{gap:15px}.summary-item{padding-right:10px}.summary-value{font-size:23px}.summary-caption{font-size:10px}.toast{left:50%;bottom:20px}.auth-page{display:block}.auth-brand-pane{padding:26px 28px}.auth-message{padding:35px 0 10px;max-width:600px}.auth-message h1{font-size:38px;letter-spacing:-1px;margin-bottom:16px}.auth-message p{font-size:12px;max-width:400px}.auth-footer{display:none}.auth-main{padding:38px 28px}.auth-card{max-width:420px}.auth-card h2{font-size:30px}.client-card{padding:20px}.report-bottom{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-card .summary-value{font-size:25px}.report-card{padding:17px}.report-card .eyebrow{letter-spacing:1px;font-size:8px}.invoice-paper{padding:27px}.invoice-paper h2{font-size:29px}.first-step{padding:15px;flex-wrap:wrap}.first-step>.button{margin-left:34px}.settings-layout{max-width:none}.footer-note{margin-top:27px}.demo-banner{font-size:10px;gap:5px 10px}.detail-title .avatar.large{width:43px;height:43px;font-size:20px}.detail-title h1{font-size:34px}}
@media(max-width:480px){.sidebar{padding:18px 17px 0}.main-nav{gap:2px}.nav-link{padding:11px 6px;font-size:10px;gap:5px}.nav-link svg{width:14px;height:14px}.main{padding:25px 19px 35px}.topbar{padding:0 19px}.hero{flex-wrap:wrap;align-items:flex-start}.hero h1{font-size:37px}.hero-actions{width:100%}.hero-actions .button{flex:1}.dashboard-grid>.stack:last-child{grid-template-columns:1fr}.panel{padding:21px}.summary-strip{gap:12px;padding:20px 0}.summary-item{padding-right:8px}.summary-value{font-size:21px}.summary-item .eyebrow{font-size:8px;letter-spacing:.7px}.summary-caption{font-size:9px}.task-row{gap:10px;padding:16px 0}.task-row .task-actions{gap:0}.task-estimate{display:none}.task-title{font-size:12px}.task-meta{font-size:10px}.client-grid{grid-template-columns:1fr}.client-card{padding:21px}.client-card-top{margin-bottom:17px}.client-detail-grid>.stack:last-child{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar-group{width:100%}.search-field{flex:1;min-width:0}.search-field input{width:100%;min-width:0}.filter-select{max-width:100%;flex:1;min-width:0}.tabs{gap:22px}.rows-panel{padding:2px 16px}.time-row{gap:11px;padding:16px 0}.time-date{width:32px}.time-date strong{font-size:21px}.time-copy strong{font-size:11px}.time-meta{font-size:10px;gap:4px}.time-amount strong{font-size:12px}.time-amount small{font-size:9px}.invoice-row{padding:16px 15px;gap:12px}.invoice-icon{width:32px;height:39px}.invoice-icon svg{width:16px;height:16px}.invoice-main h3{font-size:12px}.invoice-main p{font-size:10px}.invoice-row>svg{display:none}.invoice-end strong{font-size:13px}.invoice-end .tag{font-size:9px}.invoice-paper{padding:22px 18px}.invoice-paper-top{gap:12px;flex-wrap:wrap}.invoice-paper h2{font-size:27px}.invoice-paper .business-name{font-size:10px;letter-spacing:1.5px}.invoice-paper-meta{grid-template-columns:1fr 1fr;gap:17px;margin:26px 0}.invoice-paper-meta>div:first-child{grid-column:1/-1}.invoice-table{font-size:11px}.invoice-table th{font-size:9px}.invoice-totals{max-width:none}.report-grid{grid-template-columns:1fr}.report-card{display:grid;grid-template-columns:1fr auto;gap:6px 15px;align-items:center;padding:20px}.report-card .eyebrow{font-size:9px;letter-spacing:1px}.report-card .summary-value{grid-column:2;grid-row:1/3;margin:0;font-size:28px}.report-card .summary-caption{grid-column:1;font-size:10px}.bar-row{grid-template-columns:minmax(80px,1fr) minmax(50px,1fr) 48px;gap:13px;font-size:11px}.bar-row strong{font-size:10px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{padding:23px 20px;width:calc(100% - 24px);max-height:calc(100dvh - 28px);border-radius:16px}.modal.wide{width:calc(100% - 24px)}.modal-head h2{font-size:25px}.form-actions{gap:8px}.form-actions .button{flex:1}.first-step .step-copy{flex-basis:calc(100% - 38px)}.first-step>.button{width:calc(100% - 34px)}.detail-title{gap:12px}.detail-title h1{font-size:31px}.client-intro{font-size:11px;gap:8px}.auth-message h1{font-size:34px}.auth-message{padding-top:28px}.auth-brand-pane{padding:23px}.auth-main{padding:30px 23px}.auth-description{font-size:12px}.settings-section .panel{padding:20px}.invoice-methods{display:grid;grid-template-columns:1fr}.payment-instruction{min-width:0}.task-row .task-actions .icon-button{width:29px;height:33px}.stat-pair{gap:15px}.notice{font-size:10px}.empty-state h3{font-size:22px}}
@media(pointer:coarse){.button{min-height:44px}.icon-button{min-width:40px;min-height:40px}.task-row .task-actions .icon-button{min-width:36px;min-height:40px}.field input,.field select,.field textarea,.search-field input,.filter-select{font-size:16px}.task-row{min-height:68px}.nav-link{min-height:44px}.tab{min-height:44px}.entry-choice{min-height:52px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body{background:#fff;color:#222}.sidebar,.topbar,.hero,.demo-banner,.footer-note,.back-link,.notice,.invoice-actions,.toast,#modal,.no-print,.skip-link{display:none!important}.shell{display:block}.main{padding:0;max-width:none}.invoice-paper{border:none;border-radius:0;padding:16px;max-width:none;background:#fff}.invoice-paper *{color:#222!important}.invoice-paper .muted,.invoice-paper small,.invoice-notes{color:#666!important}.print-only{display:block}.invoice-methods,.invoice-notes{break-inside:avoid}.invoice-table tr{break-inside:avoid}.invoice-paper .tag{border:1px solid #ccc}.invoice-totals{break-inside:avoid}a[href]:after{content:none}}
.custom-line{grid-template-columns:minmax(0,1fr) 80px 110px;margin-top:13px;padding-bottom:14px;border-bottom:1px solid var(--line)}.custom-line .remove-line{font-size:10px;grid-column:1/-1;justify-self:end;margin-top:-8px;color:var(--muted)}.auth-demo-link svg{width:13px;height:13px;vertical-align:middle;margin-left:3px}.field input:read-only,.field select:disabled{background:var(--soft);color:var(--muted)}
@media(max-width:480px){.custom-line{grid-template-columns:1fr 1fr}.custom-line>.field:first-child{grid-column:1/-1}.custom-line .remove-line{grid-column:1/-1}}
/* Invoice lifecycle and verified payment records. */
.invoice-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 26px}.invoice-summary-grid .panel{padding:21px 23px}.invoice-summary-grid .summary-value{font-size:29px;margin:12px 0 6px}.invoice-summary-grid .summary-caption{font-size:11px;line-height:1.6}.tag.status-open{background:var(--violet);color:var(--violet-ink)}.tag.status-paid{background:var(--soft);color:var(--green)}.tag.status-partial{background:var(--peach);color:var(--peach-ink)}.tag.status-overdue{background:var(--red-soft);color:var(--red)}.tag.status-void,.tag.status-reversed{background:var(--soft);color:var(--muted)}.invoice-row.is-void .invoice-main h3,.invoice-row.is-void .invoice-end>strong{color:var(--muted)}.invoice-row .invoice-subamount{font-size:10px;color:var(--muted)}.invoice-detail-layout{display:grid;gap:25px;max-width:900px;margin:0 auto}.invoice-detail-layout .invoice-paper{width:100%;min-width:0}.invoice-lifecycle-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:25px}.invoice-lifecycle-strip p{font-size:11px;color:var(--muted);line-height:1.65;margin:4px 0 0}.invoice-lifecycle-strip .tag{white-space:nowrap;align-self:flex-start}.invoice-service-period{font-size:11px;color:var(--muted);margin:-8px 0 20px}.invoice-contact{white-space:pre-line;overflow-wrap:anywhere;line-height:1.7}.invoice-payment-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px}.invoice-payment-grid .panel{min-width:0}.payment-balance{font:400 33px Georgia,serif;letter-spacing:-1px;margin:15px 0 8px}.payment-balance-label{font-size:11px;color:var(--muted);line-height:1.6}.payment-history{display:grid;gap:0}.payment-history-item{padding:17px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}.payment-history-item:last-child{border-bottom:0;padding-bottom:0}.payment-history-top{display:flex;justify-content:space-between;gap:14px;align-items:start}.payment-history-top strong{font-size:12px;font-weight:550;overflow-wrap:anywhere}.payment-history-top .payment-value{white-space:nowrap}.payment-history-item p{font-size:11px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.payment-history-item .payment-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.payment-history-item .text-link{font-size:10px}.invoice-history-list{display:grid;gap:0}.invoice-history-event{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px}.invoice-history-event:last-child{border-bottom:0}.invoice-history-event .event-dot{height:7px;width:7px;border-radius:50%;background:var(--green);margin-top:5px;flex:none}.invoice-history-event strong{display:block;font-weight:550;font-size:11px}.invoice-history-event small{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.6}.invoice-tax-box{margin-top:24px;padding:18px;border-radius:12px;background:var(--soft);border:1px solid var(--line)}.invoice-tax-box .form-section-label{margin-top:0}.invoice-tax-box .tax-hint{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 16px}.invoice-tax-box [data-tax-details]{margin-top:17px}.invoice-tax-box [hidden]{display:none!important}.issue-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:19px 0}.issue-review-cell{padding:15px;border:1px solid var(--line);border-radius:10px;min-width:0}.issue-review-cell span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.issue-review-cell strong{font-size:13px;font-weight:550;overflow-wrap:anywhere}.issue-review-cell p{font-size:11px;line-height:1.65;color:var(--muted);margin-top:5px;white-space:pre-line}.issue-total{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.issue-total span{font-size:12px;color:var(--muted)}.issue-total strong{font:400 29px Georgia,serif}.invoice-action-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:16px}.payment-preview{padding:17px 19px;background:var(--soft);border-radius:10px;margin:18px 0;display:grid;gap:10px}.payment-preview>div{display:flex;justify-content:space-between;gap:18px;font-size:12px}.payment-preview>div span{color:var(--muted)}.payment-preview strong{font-weight:550}.invoice-empty-filter{padding:38px 20px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:14px}.payment-list-entry{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:20px 23px;background:var(--surface);border:1px solid var(--line);border-radius:13px}.payment-list-entry .payment-title{font-weight:550;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.payment-list-entry .payment-meta{font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.payment-list-entry .payment-amount{font-size:16px;font-weight:550;text-align:right;white-space:nowrap}.payment-list-entry .payment-status{display:flex;justify-content:end;align-items:start}.payment-list{display:grid;gap:12px}.form-grid .field.three-quarters{grid-column:1/-1}.tax-review-status{margin-top:11px;font-size:11px;color:var(--muted);line-height:1.6}.invoice-filter-select{min-width:170px}.invoice-paper .invoice-void-watermark{margin:0 0 20px;padding:12px 0;border-top:2px solid currentColor;border-bottom:2px solid currentColor;letter-spacing:4px;font-size:18px;font-weight:600;color:var(--red);text-align:center}.invoice-totals .paid-total strong{color:var(--green)}.invoice-note-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.invoice-terms{font-size:11px;line-height:1.7;color:var(--muted);margin-top:27px}.invoice-payment-grid .panel-heading .text-link{font-size:11px}.invoice-footer-status{margin-top:30px;font-size:10px;line-height:1.7;color:var(--muted)}
@media(max-width:760px){.invoice-summary-grid{gap:10px}.invoice-summary-grid .panel{padding:16px}.invoice-summary-grid .summary-value{font-size:25px}.invoice-payment-grid{grid-template-columns:1fr}.invoice-lifecycle-strip{align-items:flex-start}.invoice-detail-layout{gap:18px}}
@media(max-width:480px){.invoice-summary-grid{grid-template-columns:1fr;gap:10px}.invoice-summary-grid .panel{display:grid;grid-template-columns:1fr auto;gap:7px 10px;align-items:center}.invoice-summary-grid .panel .eyebrow{font-size:10px}.invoice-summary-grid .summary-value{margin:0;font-size:27px;grid-column:2;grid-row:1/3}.invoice-summary-grid .summary-caption{margin:0;grid-column:1;font-size:10px}.invoice-lifecycle-strip{padding:14px;gap:12px;flex-direction:column}.invoice-lifecycle-strip .tag{order:-1}.invoice-filter-select{width:100%;min-width:0}.issue-review-grid{grid-template-columns:1fr;gap:10px}.issue-review-cell{padding:13px}.invoice-tax-box{padding:15px}.payment-list-entry{padding:16px;gap:7px 12px}.payment-list-entry .payment-amount{font-size:14px}.payment-list-entry .payment-status{grid-column:1/-1;justify-content:start}.invoice-payment-grid .panel{padding:21px}.invoice-paper-meta{grid-template-columns:1fr 1fr}.invoice-paper-meta>div:first-child{grid-column:1/-1}}
@media print{.invoice-lifecycle-strip,.invoice-payment-grid,.invoice-history-panel{display:none!important}.invoice-detail-layout{display:block;max-width:none}.invoice-paper .invoice-contact{font-size:10px}.invoice-paper .invoice-void-watermark{color:#222!important}.invoice-paper .invoice-terms,.invoice-footer-status{color:#555!important}}
/* Hour/minute entry works the same for estimates, saved time and live timers. */
.duration-fieldset{min-width:0;grid-column:1/-1;margin:0;padding:0;border:0}.duration-fieldset legend{padding:0;margin:0 0 9px;font-size:13px;font-weight:600;color:var(--ink)}.duration-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.duration-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.duration-shortcuts .button{min-width:54px}.timer-adjust-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

.task-project-help{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:-4px}.task-project-help .field-hint{flex:1 1 240px;margin:0}.task-project-help .text-link{flex:none}

.optional-estimate{grid-column:1/-1}.optional-estimate>summary{font-weight:600;color:var(--muted);cursor:pointer}.optional-estimate[open]>summary{margin-bottom:12px}.invoice-display-options{margin-top:22px;padding:18px;background:var(--soft);border-radius:14px}.invoice-display-options .form-section-label{margin-top:0}.invoice-display-options .field-hint{margin-top:10px}.invoice-project-summary{white-space:pre-wrap}.private-invoice-detail{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:14px}.private-invoice-detail>summary{font-weight:600;cursor:pointer}.private-billing-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.private-billing-row small{display:block;color:var(--muted);margin-top:4px}.private-billing-row>strong{white-space:nowrap}
/* Projects and report controls */
.project-filters,.report-filters{margin-bottom:22px}.project-filters .form-grid{grid-template-columns:2fr 1fr 1fr}.project-count{margin:0 0 17px}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{min-width:0}.project-card-top{display:flex;justify-content:space-between;align-items:start;gap:14px}.project-card-top h2{font:400 25px Georgia,serif;margin:10px 0;overflow-wrap:anywhere}.project-card-top .tag{white-space:nowrap}.project-card-top .text-link{font-size:11px}.project-stats{display:flex;gap:10px 17px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:10px 0 20px}.project-actions{display:flex;flex-wrap:wrap;gap:8px}.project-notes{white-space:pre-line;overflow-wrap:anywhere;margin:0 0 20px;line-height:1.7}.project-confirm-name{padding:18px 0;overflow-wrap:anywhere}.report-filters .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:19px}.report-scope-note{margin:-9px 0 23px;line-height:1.7}.report-bottom .bar-row>span{overflow-wrap:anywhere}.report-bottom .bar-row{grid-template-columns:minmax(90px,1.3fr) minmax(45px,1fr) 64px}.report-filters .form-error{margin-top:15px}
@media(max-width:1000px){.project-list{grid-template-columns:1fr}.project-filters .form-grid,.report-filters .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.main-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.nav-link{flex-direction:column;padding:9px 2px;gap:5px;min-width:0}.nav-link svg{flex:none}.report-filters .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.project-filters .form-grid,.report-filters .form-grid{grid-template-columns:1fr}.report-filter-footer{align-items:flex-start}.project-actions .button{flex:1}.project-card-top h2{font-size:24px}.report-bottom .bar-row{grid-template-columns:minmax(85px,1.2fr) minmax(35px,1fr) 54px;gap:10px}}
