:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#152b45;background:#f4f6f9;font-size:15px;--orange:#d95414;--navy:#122b46}*{box-sizing:border-box}body{margin:0}header{background:var(--navy);color:white;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{display:flex;gap:14px;align-items:center;font-size:25px}.brand small{display:block;font-size:9px;letter-spacing:2.5px;margin-top:6px}.brand b{font-weight:400;color:#ff9a57}.mark{font-weight:800;font-size:37px}.mark span{color:#ff7a2e}header button{background:transparent;color:white;border-color:#66768a}.tag{font-size:12px;letter-spacing:3px;margin-right:20px}button{cursor:pointer;border:1px solid #c8d0da;background:#fff;padding:10px 15px;border-radius:7px;font:inherit;color:var(--navy)}button:disabled{opacity:.55;cursor:wait}button:hover{filter:brightness(.94)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e98a43;outline-offset:3px}.primary{background:var(--orange);border-color:var(--orange);color:white;font-weight:600;width:100%;padding:14px}.card{background:white;border:1px solid #dfe5ec;border-radius:13px;padding:28px;box-shadow:0 4px 20px #122b4605}main{max-width:1400px;margin:auto;padding:45px 5%;min-height:80vh}#login{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center;padding:50px 0}h1{font-size:clamp(30px,3.5vw,49px);letter-spacing:-1.5px;line-height:1.15;margin:12px 0 18px;font-weight:650}.intro p{line-height:1.8;max-width:450px}.eyebrow{font-size:11px;letter-spacing:2px;color:#aa4718;font-weight:700}.accent{width:65px;border-top:5px solid var(--orange);margin:30px 0}h2{font-size:21px;margin:0 0 18px;letter-spacing:-.4px}.muted{color:#607085;font-size:13px;line-height:1.65}label{display:block;font-size:12px;font-weight:600;margin:15px 0}label span{display:block;margin-bottom:8px}input,select,textarea{width:100%;border:1px solid #c5cfdb;padding:12px;border-radius:6px;background:white;color:var(--navy);font:inherit}textarea{min-height:75px;resize:vertical}.workspace-head,.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.workspace-head h1{font-size:33px}.workspace-head label{min-width:240px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.metric{background:white;border:1px solid #dfe5ec;border-radius:10px;padding:23px}.metric strong{display:block;font-size:29px;margin-top:12px}.metric span{font-size:12px;color:#607085}.columns{display:grid;grid-template-columns:380px 1fr;gap:23px;align-items:start}.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.transaction{border-top:1px solid #e5eaf0;padding:19px 0}.transaction:first-child{margin-top:10px}.transaction h3{font-size:15px;margin:0 0 9px;overflow-wrap:anywhere}.transaction .row{display:flex;justify-content:space-between;gap:16px}.badge{font-size:11px;border-radius:20px;background:#fff0dc;color:#8b4b00;padding:5px 10px;display:inline-block}.approved{background:#e6f4ef;color:#17674b}.rejected{background:#fce7e7;color:#a42a2a}.actions{display:flex;gap:10px;margin-top:12px}.actions button{font-size:12px}.actions a{font-size:12px;align-self:center;color:#174c8c}.reject-reason{margin:10px 0 0}#accounting{margin-top:24px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin:20px 0 35px}th,td{text-align:left;padding:13px;border-bottom:1px solid #e4e9f0}th{font-size:12px;color:#607085}td:not(:first-child),th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.audit-row{font-size:12px;border-top:1px solid #e4e9f0;padding:12px 0;line-height:1.7;overflow-wrap:anywhere}#message{position:sticky;bottom:20px;white-space:pre-wrap}#message:not(:empty){background:var(--navy);color:white;border-left:5px solid var(--orange);padding:16px;border-radius:5px;box-shadow:0 5px 25px #0002}footer{border-top:1px solid #dbe2e9;padding:24px 5%;font-size:11px;color:#607085;display:flex;justify-content:space-between}[hidden]{display:none!important}@media(max-width:950px){.columns{grid-template-columns:1fr}.workspace-head{align-items:flex-start}.workspace-head label{min-width:190px}main{padding:28px 5%}}@media(max-width:600px){#login{grid-template-columns:1fr;padding:0;gap:20px}.workspace-head{display:block}.workspace-head label{width:100%}.metrics{gap:8px}.metric{padding:14px 10px}.metric strong{font-size:21px}.card{padding:20px}.brand{font-size:20px}.tag{display:none}header{padding:18px 5%}header button{padding:8px;font-size:12px}.pair{grid-template-columns:1fr;gap:0}footer{gap:15px}}

/* Role-specific workspaces */
.accountant-workspace .columns{display:flex;flex-direction:column}.accountant-workspace .activity{width:100%;order:0}.accountant-workspace #submission{width:100%;max-width:680px;order:1}.accountant-workspace .workspace-head{border-left:5px solid var(--orange);padding-left:22px}.review-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e4e9f0;padding-top:12px;margin-bottom:12px}.review-tools label{min-width:200px;margin:0}.review-tools button{align-self:end}.accountant-workspace .metric:first-child{background:var(--navy);color:white}.accountant-workspace .metric:first-child span{color:#c8d6e6}#workspace-head-note{max-width:610px}@media(max-width:600px){.review-tools{align-items:stretch;flex-direction:column}.review-tools button{align-self:stretch}.accountant-workspace .workspace-head{padding-left:15px}}


.profit-loss{margin-top:24px}.report-controls{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.report-controls label{flex:1;min-width:150px;margin:0}.report-controls button{width:auto;margin:0}.report-controls .primary{padding:12px 18px}.profit-loss caption{text-align:left;font-size:16px;font-weight:600;padding:16px 0}.profit-loss tfoot{font-weight:700}.profit-loss .metrics{margin-bottom:10px}.profit-loss table{margin-bottom:0}@media(max-width:600px){.report-controls{display:grid;grid-template-columns:1fr 1fr}.report-controls label{min-width:0}.report-controls .primary{grid-column:1/-1}.profit-loss .metrics{grid-template-columns:1fr}.profit-loss .metric{padding:16px}}


.correction-panel{background:#fff5e9;border-left:4px solid var(--orange);padding:14px;margin:16px 0;border-radius:5px}.correction-panel p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.keep-receipt{display:flex;align-items:center;gap:10px}.keep-receipt input{width:auto}.keep-receipt span{margin:0}.actions{flex-wrap:wrap}


.posting-settings{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-top:22px}.posting-settings label{flex:1;min-width:210px;margin:0}.posting-settings p{width:100%;margin:0}.posting-settings button{padding:12px 18px}


.add-job-button{margin:0 0 12px}.new-job-box{background:#f4f6f9;border:1px solid #dfe5ec;padding:14px;border-radius:7px;margin-bottom:15px}.new-job-box label{margin-top:0}.new-job-box button{margin-right:8px}


.workspace-navigation{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.workspace-navigation button[aria-pressed="true"]{background:var(--navy);color:white;border-color:var(--navy)}.submission-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e4e9f0;padding-top:16px;margin-top:12px}.report-help{background:#f4f6f9;border:1px solid #dfe5ec;border-radius:7px;padding:14px 18px;margin:18px 0}.report-help summary{cursor:pointer;font-weight:600}.report-help p{font-size:13px;line-height:1.8;max-width:900px}#audit{max-height:300px;overflow-y:auto}#audit:focus-visible{outline:3px solid var(--orange)}@media(max-width:600px){.submission-pagination{flex-wrap:wrap}.submission-pagination span{order:3;width:100%;text-align:center}}


.jobs-section{margin-top:24px}.job-create-form{display:flex;align-items:end;gap:12px;max-width:700px;margin:20px 0}.job-create-form label{flex:1;margin:0}.job-create-form button{width:auto;padding:12px 20px}.jobs-table{max-height:550px;overflow:auto}.jobs-table table{min-width:850px;margin:0}.jobs-table th{position:sticky;top:0;background:white;z-index:1}.jobs-table td:last-child{white-space:nowrap}.jobs-table button{font-size:12px;margin:3px}.jobs-table td:nth-child(2),.jobs-table th:nth-child(2){text-align:left}.jobs-table td:last-child,.jobs-table th:last-child{text-align:left}@media(max-width:600px){.job-create-form{align-items:stretch;flex-direction:column}.review-tools{flex-wrap:wrap}}


.reconciliation-section{margin-top:24px}.reconciliation-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.reconciliation-form label{margin:0}.reconciliation-list{max-height:400px;overflow-y:auto;border-top:1px solid #dfe5ec}.reconciliation-item{display:flex;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e4e9f0;margin:0;font-weight:400;line-height:1.6}.reconciliation-item input{width:auto;flex-shrink:0}.reconciliation-item span{margin:0}.reconciliation-history{max-height:300px;overflow-y:auto}.reconciliation-history details{padding:12px;border-bottom:1px solid #dfe5ec}.reconciliation-history summary{cursor:pointer;font-size:13px}.reconciliation-history p{margin-left:15px}@media(max-width:700px){.reconciliation-form{grid-template-columns:1fr}.reconciliation-section .metrics{grid-template-columns:1fr}}


.owner-flag{color:#8a480c;background:#fff1df;padding:9px 12px;border-radius:6px;font-size:12px;line-height:1.6}.separation-reminder{margin:12px 0}


.bank-section{margin-top:24px}.bank-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0}.bank-list button{display:block;margin-top:16px}.bank-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin:22px 0 35px}.bank-form label{margin:0}.transfer-history{max-height:500px;overflow:auto}.bank-form input,.bank-form select{min-width:0}.review-tools{flex-wrap:wrap}@media(max-width:700px){.bank-form{grid-template-columns:1fr}}

.export-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.export-submissions{margin:12px 0}
@media print{
 @page{margin:18mm}
 body.printing-report{background:white;color:#111}
 body.printing-report header,body.printing-report footer,body.printing-report #message,body.printing-report #login{display:none!important}
 body.printing-report #workspace>*{display:none!important}
 body.printing-report #workspace>#profit-loss{display:block!important;border:0;box-shadow:none;margin:0;padding:0}
 body.printing-report main,body.printing-report #workspace{display:block!important;max-width:none;margin:0;padding:0}
 body.printing-report .report-controls,body.printing-report .report-help,body.printing-report .export-actions{display:none!important}
 body.printing-report .table-wrap{overflow:visible}
 body.printing-report .metrics{display:grid;grid-template-columns:repeat(3,1fr)}
 body.printing-report .metric{background:white!important;color:#111!important;border:1px solid #aaa;break-inside:avoid}
 body.printing-report .metric strong,body.printing-report .metric span{color:#111!important}
 body.printing-report table{width:100%}body.printing-report tr{break-inside:avoid}
}
.client-access-link{display:inline-block;margin:14px 0;color:#152e48;font-weight:600}
body[data-page] main{max-width:900px;margin:auto}body[data-page] .card{max-width:850px}body[data-page] form{max-width:600px}body[data-page] #access-link-box{margin:24px 0;padding:18px;background:#fff1df}body[data-page] #members button,body[data-page] #pending-links button{margin:6px}body[data-page] #access-status{line-height:1.6}body[data-page] header a{color:white}
.client-request{margin-top:16px;border-top:1px solid #dfe5ec;padding-top:14px}.client-request summary{cursor:pointer;font-weight:600;color:#152e48}.client-request button{margin:8px 8px 8px 0}.request-history{max-height:340px;overflow:auto}.request-message{padding:10px 0;border-bottom:1px solid #dfe5ec}.request-message p{white-space:pre-wrap;overflow-wrap:anywhere}.client-request form{margin-top:16px;max-width:650px}
.monthly-checklist{margin-top:24px}.checklist-task{padding:20px 0;border-bottom:1px solid #dfe5ec;max-width:800px}.checklist-choice{display:flex;gap:12px;align-items:center;font-size:17px}.checklist-choice input{width:auto}.monthly-checklist .export-actions{align-items:end}.monthly-checklist .export-actions label{margin:0}.checklist-task li{margin:8px 0}
/* Phone layout: keep the brand readable and controls easy to tap. */
@media(max-width:600px){
 header{flex-wrap:wrap;gap:12px}header>.brand{flex-basis:100%;white-space:nowrap}header>div:last-child:not(.brand){display:flex;flex-wrap:wrap;gap:10px}header button,button,input:not([type=checkbox]),select{min-height:44px}
 input,select,textarea{font-size:16px;min-width:0}.actions{flex-wrap:wrap}.export-actions{align-items:stretch}.export-actions button{white-space:normal}#metrics.metrics{grid-template-columns:1fr}.metric strong{overflow-wrap:anywhere}.metrics>*{min-width:0}.section-head{flex-wrap:wrap}.section-head h2{margin-bottom:0}.review-tools label{min-width:0;width:100%}.monthly-checklist .export-actions{flex-direction:column}.monthly-checklist .export-actions label{width:100%}.checklist-choice input{width:20px;height:20px;flex-shrink:0}.client-request summary,.report-help summary{padding:10px 0;line-height:1.5}body[data-page] #members p,body[data-page] #pending-links p{overflow-wrap:anywhere}.workspace-navigation button{min-height:44px}
}
.practice-banner{background:#fff1df;color:#783d0a;padding:12px 5%;font-weight:700;text-align:center;border-bottom:2px solid #d95414;line-height:1.5}

.tab-manager{margin:16px 0}.tab-manager summary{cursor:pointer;font-weight:700;padding:8px 0}.tab-layout-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #dfe5ec;padding:10px 0}.tab-layout-row label{display:flex;align-items:center;gap:10px;flex:1;min-width:180px;margin:0}.tab-layout-row input,.personal-checklist input{width:20px;height:20px;flex-shrink:0}.custom-tab-create,.custom-tab-editor{max-width:650px;margin-top:20px}.tab-manager button{margin:4px}.client-directory-row{padding:16px 0;border-bottom:1px solid #dfe5ec}.personal-checklist label{display:flex;align-items:center;gap:12px;padding:8px 0}#custom-workspace-tab textarea{white-space:pre-wrap}#custom-workspace-tab,#client-directory{margin-top:20px}#custom-workspace-tab h2{overflow-wrap:anywhere}

.client-directory-filters{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0}.client-directory-filters label{flex:1;min-width:180px}.client-profile-form{max-width:650px;margin-top:18px}.client-directory-row summary{cursor:pointer;font-weight:600;padding:12px 0}.client-directory-row p,.client-directory-row h3{overflow-wrap:anywhere}.client-directory-row .row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}.client-profile-form button{margin-top:10px}

.planning-overview>.card{margin-top:20px}.planning-settings,.estimate-editor{max-width:800px}.estimate-editor fieldset{border:1px solid #dfe5ec;border-radius:10px;padding:16px;margin:16px 0}.estimate-editor button,#estimates>button{margin:8px 8px 8px 0}.estimate-card,.job-cost-card{border-top:1px solid #dfe5ec;padding:20px 0}.estimate-card summary,.planning-overview summary{padding:12px 0;cursor:pointer;font-weight:600}.estimate-notes{white-space:pre-wrap}.planning-overview h4,#estimates h3{overflow-wrap:anywhere}#estimates{margin-top:20px}.planning-overview table{width:100%}.planning-overview .metrics{margin:16px 0}.planning-overview .metric strong{font-size:1.5rem;overflow-wrap:anywhere}
@media(max-width:700px){.planning-overview .metrics{grid-template-columns:1fr}.planning-overview .metric{min-width:0}.estimate-editor fieldset{min-width:0}.estimate-card .actions{flex-wrap:wrap}.planning-settings button{margin:6px 6px 6px 0}}

.guided-wizard{max-width:850px}.guided-wizard fieldset,.estimator-defaults fieldset,.invoice-editor fieldset{border:1px solid #dfe5ec;border-radius:10px;margin:18px 0;padding:18px;min-width:0}.guided-wizard legend,.estimator-defaults legend{font-weight:650}.guided-wizard input[type=checkbox]{width:20px;height:20px}.guided-wizard button,.estimator-defaults button,#invoices button{margin:6px 6px 6px 0}.guided-price{background:#f2f6fa;border-radius:10px;padding:16px;margin-top:18px}.guided-price .metrics{grid-template-columns:1fr}.guided-price strong{font-size:24px}.guided-wizard summary,.estimator-defaults summary,#invoices summary{cursor:pointer;font-weight:600;padding:12px 0}.estimator-defaults{margin-top:20px;max-width:850px}.invoice-editor{max-width:800px}#invoices{margin-top:20px}#invoices a,.estimate-card>a{display:inline-block;margin:12px 16px 12px 0}@media(max-width:700px){.guided-wizard .actions{display:flex;flex-wrap:wrap}.guided-wizard .actions button{flex:1;min-height:46px}.guided-wizard fieldset{padding:12px}.guided-wizard input,.invoice-editor input{font-size:16px}.guided-wizard button{min-height:44px}}
/* Phone workspace: existing user-selected tabs remain the source of navigation. */
.draft-status{padding:12px;border-left:3px solid #d95414;background:#fff8f1;overflow-wrap:anywhere}
@media(max-width:700px){
 main{padding:22px 4% calc(24px + env(safe-area-inset-bottom))}header{padding:14px 4%;flex-wrap:wrap}.brand{font-size:19px;gap:8px}.mark{font-size:28px}header>div:last-child{display:flex;gap:8px}button,input,select,textarea{min-height:46px}input[type=checkbox],input[type=radio]{min-height:20px}button{touch-action:manipulation}.card{padding:16px;min-width:0}.workspace-head label{min-width:0}.workspace-head h1{font-size:28px}.workspace-navigation{position:sticky;top:0;z-index:5;background:#f4f6f9;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:10px 0;margin:16px 0;overscroll-behavior-x:contain;scrollbar-width:thin}.workspace-navigation button{flex:0 0 auto;white-space:nowrap;font-size:14px}.workspace-navigation button[aria-pressed=true]{box-shadow:inset 0 -3px #ff9a57}.section-head,.transaction .row{align-items:flex-start;flex-wrap:wrap}.transaction .row strong{white-space:nowrap}.actions button,.actions a{min-height:44px;display:inline-flex;align-items:center}.guided-wizard fieldset,.estimator-defaults fieldset,.invoice-editor fieldset{padding:12px}.guided-wizard legend,.estimator-defaults legend{max-width:100%;overflow-wrap:anywhere}.guided-wizard .actions{position:sticky;bottom:0;z-index:4;background:white;border-top:1px solid #dfe5ec;padding:8px 0 max(8px,env(safe-area-inset-bottom));gap:6px}.guided-wizard .actions button{flex:1 1 42%;margin:0;font-size:14px}.guided-wizard .actions button[type=submit]{background:var(--orange);color:white}.jobs-table{max-height:none;overflow:visible}.jobs-table table{min-width:0;margin:16px 0}.jobs-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.jobs-table tbody{display:grid;gap:16px}.jobs-table tr{display:block;border:1px solid #dfe5ec;border-radius:10px;padding:10px}.jobs-table td{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,1.5fr);align-items:center;gap:10px;padding:10px 4px;overflow-wrap:anywhere;text-align:right!important;white-space:normal!important}.jobs-table td::before{content:attr(data-label);text-align:left;font-size:12px;color:#607085}.jobs-table td:first-child,.jobs-table td:last-child{display:block;text-align:left!important}.jobs-table td:first-child::before,.jobs-table td:last-child::before{display:none}.jobs-table td:last-child{border-bottom:0}.jobs-table button{font-size:14px;white-space:normal}.job-cost-card{min-width:0}.job-cost-card table{font-size:12px;table-layout:fixed}.job-cost-card th,.job-cost-card td{padding:8px 3px;overflow-wrap:anywhere}.export-actions{flex-wrap:wrap}.export-actions>*{max-width:100%}#message{bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation:none!important;transition:none!important}}
/* Administrator links share the same visual treatment and spacing as action buttons. */
.business-admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.business-admin-actions>a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c8d0da;background:#fff;padding:10px 15px;border-radius:7px;font:inherit;color:var(--navy);text-decoration:none;min-height:44px}
.business-admin-actions>a:hover{filter:brightness(.94)}
@media(max-width:600px){.business-admin-actions>*{flex:1 1 100%;min-height:46px;text-align:center}}
.backup-controls{margin-top:20px;border-top:1px solid #dfe5ec;padding-top:18px;max-width:800px}.backup-controls form{max-width:650px}.backup-controls button,.backup-controls>a{margin:8px 10px 8px 0}.backup-controls>p{overflow-wrap:anywhere}
.sandbox-notice{padding:14px 18px;background:#fff1df;border:1px solid #e8ac74;border-left:5px solid #d95414;border-radius:8px;color:#783d0a;font-weight:650;line-height:1.6;overflow-wrap:anywhere}
