/* TakeCharge 1.9. Approved project design, shared by every authenticated role. */
:root{--tc-hover:#faf8eb;--tc-soft:#f5f6f2;--tc-radius:12px;--line:#e4e7df;--bg:#f8f9f6;--muted:#626960}
body{background:var(--bg)}
h1,h2,h3,.portal-shell .sectionhead h2{font-weight:500}
.panel,.card,.document-app .paper,.document-app .quote-list,.portal-shell .tablewrap{border-radius:var(--tc-radius);border-color:var(--line);box-shadow:none}
.panel,.document-app .paper{padding:20px}
.sectionhead,.heading{gap:14px}.sectionhead{flex-wrap:wrap}
.btn,.pillbtn,.document-app button,.document-app .button{font-weight:500;border-radius:7px}
.btn.green,.btn.brand,.document-app button.brand{background:var(--tc-yellow,#fdc500);border-color:var(--tc-yellow,#fdc500);color:#242414}
.btn.brand:hover:not(:disabled),.btn.green:hover:not(:disabled){background:#edbd00;border-color:#edbd00}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-weight:400}
.formlabel,.wf-starting-job legend,.wf-starting-job summary{font-weight:500}
.badge{border-radius:20px;font-weight:500}.badge.ok{background:#e6f2ea;color:#226242}
.portal-shell .stat{border-radius:12px}.portal-shell .stat strong{font-weight:500}
.portal-shell aside nav button,.portal-shell .quote-nav{font-weight:500}
.portal-shell .panel h2,.portal-shell .card h3{font-weight:500}
.compact-project:hover,.studio-project-record:hover,.client-project-card:hover,.wf-job:not(.wf-job-head):hover,.wf-queue-row:hover,.leadcard:hover{background:var(--tc-hover);border-color:#d9d3b9}
.portal-shell .invoice-row:hover td,.portal-shell tr:hover td,.document-app .quote-row:hover,.portal-shell .billing-row.billing-link:hover{background:var(--tc-hover)}
.file-open:hover,.file-name-button:hover,.notification-open:hover,.asset-upload-row .file-name-button:hover{background:var(--tc-hover);border-radius:7px;text-decoration:none}
details>summary{padding:12px 10px;border-radius:7px;min-height:42px;font-weight:500;overflow-wrap:anywhere}
details>summary:hover{background:var(--tc-hover)}
.portal-shell .client-project-card:focus-visible,.studio-project-record:focus-visible{outline:3px solid #a78b21;outline-offset:3px}
.document-app .document-card,.document-app .invoice-card,.document-app .scope-card,.document-app .payment-method-card{border-radius:12px}
.document-app .document-card h2,.document-app .invoice-card h2,.document-app .scope-card h2{font-weight:500}
.document-app .quote-item{border-radius:10px}.document-app .quote-item input,.document-app .quote-item textarea{font-weight:400}
.portal-shell dialog,.document-app dialog{border-radius:16px}
.project-progress-overview{padding:18px 0;margin:10px 0 18px}
.project-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
.project-progress-heading strong{font-weight:500}.project-progress-heading span{font-variant-numeric:tabular-nums}
.project-progress-overview>.progress{height:5px;margin:10px 0;background:var(--tc-soft)}
.project-progress-overview>.progress>div,.progress>div{background:var(--tc-yellow,#fdc500)}
.project-progress-overview p{margin:8px 0 0;font-size:12px}
.project-progress-overview .wf-meta{margin:10px 0 0}
.project-pricing .pricing-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;padding:16px 0;margin:0}
.project-pricing .pricing-totals>span{text-align:right;padding:6px 0;min-width:0}
.project-pricing .pricing-totals>span:first-child{text-align:left}
.project-pricing .pricing-totals strong{font-size:18px;font-weight:500;overflow-wrap:anywhere}
.project-pricing .pricing-totals>span:last-child strong{font-size:22px}
.project-pricing>.pricing-quote{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding-bottom:12px;margin:0;border-bottom:1px solid var(--line)}
.project-pricing .pricing-line strong{font-weight:500}.project-pricing .job-price,.job-price{font-weight:400!important;color:var(--muted)!important}
.wf-client-job .job-price,.wf-job .job-price{font-weight:400!important;color:var(--muted)!important}
.wf-route>span.current{font-weight:500}
.project-pricing details{border-top:1px solid var(--line)}
.client-project-content .wf-client-jobs{display:block;margin:0}
.client-project-content .wf-client-job{padding:16px 0;border:0;border-top:1px solid var(--line);border-radius:0}
.client-project-content .wf-client-job:first-child{border-top:0}
.client-project-content .wf-client-title h2{font-size:14px;font-weight:500}
.client-project-content .wf-client-job details{margin:12px 0 0}
.client-project-content .wf-client-job summary{font-weight:500}
.wf-steps li{padding:12px 10px;align-items:center}.wf-steps strong{font-weight:500}
.wf-steps .current{background:var(--tc-hover);border-radius:8px}
.wf-step-number{width:30px;height:30px;flex-basis:30px;font-size:12px}
.wf-steps .complete .wf-step-number{background:#e6f2ea;color:#226242}
.wf-steps .current .wf-step-number{background:var(--tc-yellow,#fdc500);color:#242414}
.job-progress-meter{height:4px;border-radius:6px;overflow:hidden;background:var(--tc-soft);margin:10px 0}
.job-progress-meter>div{height:100%;background:var(--tc-yellow,#fdc500)}
.project-proofs .proof-review-card{display:flex;align-items:center;gap:14px;justify-content:space-between;width:100%;text-align:left;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px;margin-top:12px;font:inherit}
.project-proofs .proof-review-card:hover{background:var(--tc-hover)}
.proof-review-card>span:first-child{min-width:0}.proof-review-card strong{font-size:13px;font-weight:500;display:block;overflow-wrap:anywhere}
.proof-review-card small{display:block;font-size:11px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}
.proof-review-card .proof-action{font-size:12px;padding:9px 12px;border-radius:7px;background:var(--tc-yellow,#fdc500);color:#242414;white-space:nowrap}
.project-proofs.has-review{border-color:#d8c25a}
.project-proof-decision{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.project-proof-decision .notice{margin-top:0}.project-proof-decision .btn{white-space:normal}
.project-file-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.studio-project-files .file-record{flex-wrap:wrap}.studio-project-files .file-record>.file-open{flex:1;min-width:180px}
.project-jobs-section>.sectionhead{margin-bottom:4px}
.file-record strong,.file-open strong,.asset-upload-row strong{font-weight:500}
.quote-row-main strong,.billing-main>strong,.invoice-overview>strong,.document-app .totals strong,.portal-shell td>strong,.leadcard h3{font-weight:500}
.document-app .document-section{border-color:var(--line);padding:22px}
.document-app .payment-choice:hover:not(:disabled){background:var(--tc-hover)}
.document-app .interac-panel dd{font-weight:400}
.entryform input{font-weight:400}.entryform button{border-radius:7px;font-weight:500}
.project-downloads .file-record:last-child{padding-bottom:0}.project-downloads>.compact{margin-bottom:0}
.project-assets>details>summary{padding-left:0}.project-assets>details>summary strong{font-weight:500}
.wf-job:not(.wf-job-head) .wf-job-progress{display:block;margin-top:8px;color:var(--muted);font-size:11px;font-weight:400}
.wf-job:not(.wf-job-head) .job-progress-meter{max-width:230px}
.project-pricing .sectionhead h2,.project-proofs h2,.project-downloads h2,.project-jobs-section h2{font-weight:500}
@media(max-width:760px){
 .panel,.document-app .paper{padding:16px}.portal-shell .content{padding:22px 16px}
 .document-app .document-section{padding:16px}
 .client-portal dialog:has([data-client-project-detail]){padding:24px 16px}
 .project-progress-overview{padding:12px 0;margin-bottom:12px}
 .project-pricing .pricing-totals{gap:12px}.project-pricing .pricing-totals strong{font-size:17px}.project-pricing .pricing-totals>span:last-child strong{font-size:20px}
 .project-proofs .proof-review-card{flex-wrap:wrap}.proof-review-card .proof-action{width:100%;text-align:center;min-height:44px}
 .project-file-actions{width:100%}.project-file-actions>.btn{flex:1;white-space:normal;min-height:44px}
 details>summary{min-height:44px}.project-proof-decision{padding:12px}.project-proof-decision .actions>.btn{flex:1}
 .project-jobs-section .wf-client-title{gap:8px}.project-jobs-section .wf-client-title h2{line-height:1.5}
}
@media(prefers-reduced-motion:no-preference){.proof-review-card,.file-open,.wf-job,.wf-queue-row,.studio-project-record{transition:background-color .15s,border-color .15s}}
@media print{.project-file-actions,.proof-action{display:none}.project-proof-decision{break-inside:avoid}}
