:root{--bg:#f4f7fb;--surface:#fff;--text:#172033;--muted:#667085;--brand:#153a63;--brand2:#1f5b96;--border:#dbe3ec;--success:#e9f7ef;--error:#fff0f0;--shadow:0 10px 30px rgba(23,32,51,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.5}.topbar{min-height:64px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(16px,4vw,40px);gap:18px}.brand,.topbar a,.link-button{color:#fff;text-decoration:none}.brand{font-weight:800;font-size:18px}.nav-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.user-chip{opacity:.82;font-size:14px}.inline-form{display:inline}.link-button{background:transparent;border:0;padding:0;font:inherit;cursor:pointer}.container{width:min(1180px,calc(100% - 28px));margin:28px auto 60px}.language-row{display:flex;justify-content:flex-end;margin-bottom:14px}.language-row select{padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:#fff}.hero,.card,.auth-card,.form-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.hero{padding:30px;margin-bottom:20px}.eyebrow{margin:0 0 4px;color:var(--brand2);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.hero h1,.page-header h1{margin:.2rem 0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{padding:22px}.card h2{font-size:18px;margin-top:0}.card p{color:var(--muted)}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#e9f2fb;color:var(--brand2);font-size:12px;font-weight:700}.auth-card{max-width:420px;margin:8vh auto;padding:28px}.auth-card h1{margin-top:0}.auth-card label,.field-row label{display:block;font-weight:700;margin:14px 0 6px}.auth-card input,.form-control{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text)}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:800;cursor:pointer}.btn.primary{background:var(--brand2);color:#fff;margin-top:18px}.form-card{padding:24px;max-width:760px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.alert{padding:12px 14px;border-radius:9px;margin-bottom:14px;background:var(--success)}.alert.error{background:var(--error);color:#9b1c1c}.field-error{color:#b42318;font-size:13px;margin-top:4px}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.topbar{align-items:flex-start;flex-direction:column}.nav-actions{gap:10px}.grid{grid-template-columns:1fr}.container{width:min(100% - 20px,1180px);margin-top:18px}.hero,.card,.auth-card,.form-card{border-radius:12px}.hero{padding:22px}.user-chip{width:100%}}
.card-link{display:block;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.card-link:hover{transform:translateY(-2px)}.btn.secondary{background:#eef3f8;color:var(--brand);border:1px solid var(--border);text-decoration:none;display:inline-block}.btn.primary{text-decoration:none;display:inline-block}.btn.no-margin{margin-top:0}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-row{display:flex;gap:10px;margin-bottom:16px}.search-row .form-control{max-width:520px}.table-card{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{background:#f7f9fc;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}.data-table a{color:var(--brand2);text-decoration:none}.empty-cell{text-align:center!important;color:var(--muted);padding:28px!important}.privacy-note{padding:12px 14px;background:#fff8e6;border:1px solid #f4d58d;border-radius:10px;color:#6e5314}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-card{border-color:#bcd8f1}.details{display:grid;grid-template-columns:minmax(140px,.7fr) 1.3fr;gap:10px 16px;margin:0}.details dt{font-weight:800;color:var(--muted)}.details dd{margin:0}.description,.help-text{color:var(--muted);font-size:14px}.section-block{margin-top:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.section-heading h2,.section-block>h2{margin:.2rem 0 .7rem}.actions{white-space:nowrap}.badge.success{background:#e9f7ef;color:#18794e}.wide-form{max-width:980px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.span-2{grid-column:span 2}.checkbox-label{display:flex!important;align-items:center;gap:8px}.checkbox-label input{width:auto}.simple-list{margin:18px 0 0;padding-left:20px}.simple-list li{padding:5px 0}
@media(max-width:760px){.detail-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-header,.section-heading{align-items:flex-start;flex-direction:column}.search-row{flex-direction:column}.search-row .form-control{max-width:none}.data-table{min-width:660px}}
.badge.muted{background:#eef0f3;color:#667085}.simple-list a{color:var(--brand2);text-decoration:none}
.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin:18px 0}.pagination a{color:var(--brand2);text-decoration:none;font-weight:700}.pagination span{color:var(--muted);font-size:14px}
.badge.warning{background:#fff4d6;color:#8a5a00}.pricing-rule-note{margin-top:18px;padding:12px 14px;border-radius:10px;background:#f7f9fc;border:1px solid var(--border);color:var(--muted)}
.project-filters select{max-width:220px}.phase-placeholder{border-style:dashed}.phase-placeholder p{margin-bottom:0}
@media(max-width:760px){.project-filters select{max-width:none}}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px}.summary-card span{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase}.summary-card strong{font-size:18px}.summary-card.profit{border-color:#b7dfc9;background:#fbfffc}.master-summary{grid-template-columns:minmax(220px,360px)}.warning-note{background:#fff8e6}.btn.danger{background:#b42318;color:#fff}.estimate-table{min-width:980px}.estimate-table .actions a{white-space:nowrap}.field-row input[type=checkbox]{width:auto}.field-row .checkbox-label{margin-top:14px}.field-row .checkbox-label input{margin-right:6px}
@media(max-width:900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.summary-grid,.master-summary{grid-template-columns:1fr}}
.workflow-table{min-width:760px}.compact-details{margin:16px 0 20px}.workflow-form .button-row{margin-top:18px}.btn.danger.no-margin{margin-top:0}

.import-summary a{text-decoration:none;color:inherit}.import-preview-table{min-width:900px;font-size:12px}.import-preview-table td{white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.import-rows-table{min-width:1100px}.import-rows-table td:nth-child(3),.import-rows-table td:nth-child(4){max-width:280px}.import-rows-table code{font-size:11px}

.master-job-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.voided-row{opacity:.62;text-decoration:line-through}.job-estimate-actions{margin:0 0 16px}.payment-status-paid{color:#18794e}.payment-status-unpaid{color:#667085}@media(max-width:900px){.master-job-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.master-job-summary{grid-template-columns:1fr}}
