:root{--bg:#f5f6f8;--surface:#fff;--text:#1c2430;--muted:#5d6878;--border:#dde1e7;--accent:#0055a5;--accent-hover:#00468a;--ink:#231f20;--charcoal:#1b1f24;--brand-yellow:#fd0;--brand-red:#ee3524;--brand-blue:#0055a5;--brand-accent:#fd0;--error:#b42318;--ok:#1e7b3a;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}.shell{max-width:960px;margin:0 auto;padding:24px 16px}.center-screen{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}h1{color:var(--ink);margin:0 0 4px;font-size:1.6rem}.muted{color:var(--muted);margin:0 0 24px}.small{font-size:.875rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px}.card.narrow{width:100%;max-width:400px;padding:24px}.card+.card{margin-top:16px}.card h2{margin-top:0;font-size:1.1rem}.form{flex-direction:column;gap:14px;display:flex}.form label{flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}input,select,textarea{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-weight:600}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--accent);border:1px solid var(--border);background:0 0;padding:6px 12px}button.secondary:hover:not(:disabled){background:var(--bg)}button.link{color:var(--accent);background:0 0;align-self:flex-start;padding:0;font-weight:500}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.error{color:var(--error);margin:0}.notice{color:var(--ok);margin:0}.app-shell{grid-template-columns:210px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--charcoal);border-right:1px solid #000;flex-direction:column;gap:16px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #ffffff14;padding:0 6px 14px}.side-nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.side-nav a{color:#b8bec8;border-left:3px solid #0000;border-radius:6px;padding:9px 10px 9px 12px;font-weight:600;text-decoration:none}.side-nav a:hover{color:#fff;background:#ffffff0f}.side-nav a.active{color:#fff;border-left-color:var(--brand-yellow);background:#ffffff1a}.sidebar-user{color:#e6e9ee;border-top:1px solid #ffffff14;flex-direction:column;gap:2px;padding:12px 10px 0;display:flex}.sidebar-user .muted{color:#8b93a0}.sidebar-user button.secondary{color:#fff;border-color:#ffffff40}.sidebar-user button.secondary:hover:not(:disabled){background:#ffffff14}.sidebar-user .muted{margin:0 0 8px}.app-shell .shell{width:100%;max-width:1240px;padding:28px 28px 40px}@media (width<=760px){.app-shell .shell{padding:20px 16px 32px}}.mobile-bar{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.page-head .muted{margin:0}.crumb{margin:0 0 8px}a{color:var(--accent)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 12px;display:flex}.toolbar input[type=search]{flex:1;min-width:200px;max-width:360px}.form-card{margin-bottom:16px}.grid-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px;display:grid}.grid-form .wide{grid-column:1/-1}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}label.check{flex-direction:row;align-items:center;gap:8px;font-weight:500;display:flex}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow-x:auto}.card .table-wrap{border:none}table.data{border-collapse:collapse;width:100%;font-size:.95rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}table.data thead th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap;font-size:.8rem}table.data tfoot th,table.data tbody tr:last-child td{border-bottom:none}table.data .num{text-align:right;white-space:nowrap}tr.clickable{cursor:pointer}input.money{text-align:right;width:140px;padding:6px 8px}.badge{background:var(--bg);border:1px solid var(--border);color:var(--muted);vertical-align:middle;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:.75rem;display:inline-block}.facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0;display:grid}.facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem}.facts dd{white-space:pre-line;margin:2px 0 0}.status-pill{vertical-align:middle;border:1px solid var(--border);color:var(--muted);background:var(--bg);border-radius:10px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.status-pill.status-issued{color:var(--ok);background:#eef8f1;border-color:#b7dfc3}.status-pill.status-closed{color:var(--muted)}.status-pill.status-draft{color:#8a5a00;background:#fff8e8;border-color:#f0d9a8}h1 .status-pill{margin-left:8px}.card .page-head{margin-bottom:8px}.card .page-head h2{margin:0}.checklist{flex-direction:column;gap:8px;margin:8px 0;display:flex}.editing-row td{vertical-align:top;background:#f8fafc}.editing-row select,.editing-row input{width:100%;padding:6px 8px}.editing-row input.money{width:120px}.nowrap{flex-wrap:nowrap;justify-content:flex-end}.danger{color:var(--error)!important}td.error,dd.error{color:var(--error)}.facts .wide{grid-column:1/-1}.pre{white-space:pre-line}.print-only{display:none}.status-pill.inv-submitted{color:#1f4e79;background:#eef4fb;border-color:#bcd3ea}.status-pill.inv-approved{color:var(--ok);background:#eef8f1;border-color:#b7dfc3}.status-pill.inv-needs_documents,.status-pill.inv-rejected{color:var(--error);background:#fdf1f0;border-color:#f2c4c0}.status-pill.inv-draft{color:#8a5a00;background:#fff8e8;border-color:#f0d9a8}.card.attention{background:#fffbf2;border-color:#f0d9a8}ul.plain{margin:0;padding-left:18px}.card h3{margin:20px 0 8px;font-size:1rem}ul.attachments{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.attachment{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.attach-state{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:700;display:inline-flex}.attach-state.ok{color:var(--ok);background:#eef8f1}.attach-state.missing{color:var(--error);background:#fdf1f0}.attach-label{flex-direction:column;flex:1;gap:2px;min-width:160px;display:flex}.attach-label .link{text-align:left;word-break:break-all}label.file-button{border:1px solid var(--border);color:var(--accent);cursor:pointer;background:var(--surface);border-radius:6px;padding:6px 12px;font-weight:600;display:inline-block}label.file-button:hover{background:var(--bg)}label.file-button.disabled{opacity:.6;cursor:default}label.file-button input{display:none}.submit-row,.reject-box{margin-top:16px}button.danger-fill{background:var(--error)}button.danger-fill:hover:not(:disabled){background:#8f1c13}th.notice{color:var(--ok)}th.error{color:var(--error)}.card.over-po{border:2px solid var(--error);background:#fdf1f0}.card.over-po dt,.card.over-po dd{color:#8f1c13}.over-po-title{color:var(--error);text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;font-size:.85rem;font-weight:700}.over-po-note{color:#8f1c13;margin:12px 0 0;font-weight:600}.override-box{border:2px solid var(--error);background:#fdf1f0;border-radius:6px;margin-top:16px;padding:12px 14px}.override-box label{color:#8f1c13}.inline-label{align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}a.button-link{border:1px solid var(--border);color:var(--accent);background:var(--surface);border-radius:6px;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-block}a.button-link:hover{background:var(--bg)}.backup-table tr.category-row th{color:var(--accent);text-transform:none;letter-spacing:0;background:#eaf1f8;font-size:.95rem}.backup-table tr.subtotal-row td{background:#f8fafc;font-weight:700}.backup-print-head p{margin:2px 0}@media print{.backup-sheet .card{border:none;padding:0}.backup-sheet .table-wrap{border:none;overflow:visible}.backup-table{font-size:10pt}.backup-table th,.backup-table td{padding:4px 6px}a.no-print-link{color:inherit;text-decoration:none}.backup-print-head{margin-bottom:12px}.backup-print-head h1{color:#000;font-size:16pt}}.card.inset{background:#f8fafc}tr.superseded td{color:var(--muted)}fieldset.vendor-picks{border:1px solid var(--border);border-radius:6px;margin:0;padding:10px 14px}fieldset.vendor-picks legend{padding:0 4px;font-size:.9rem;font-weight:600}label.check.small{margin-top:10px;font-weight:400}.tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-direction:column;gap:4px;padding:16px;text-decoration:none;display:flex}.tile:hover{border-color:var(--accent)}.tile-count{color:var(--muted);font-size:2rem;font-weight:700;line-height:1}.tile-label{font-weight:600}.tile-hint{color:var(--muted);font-size:.85rem}@media print{body{background:#fff}.no-print{display:none!important}.print-only{display:block}.shell{max-width:none;padding:0}}.po-print{color:#000;font-size:11pt}.po-print header{border-bottom:2px solid #000;justify-content:space-between;margin-bottom:16px;padding-bottom:8px;display:flex}.po-print h1{color:#000}.po-print p{margin:2px 0}.po-print h3{text-transform:uppercase;margin:12px 0 4px;font-size:10pt}.po-print-meta{text-align:right}.po-print-parties{grid-template-columns:1fr 1fr;gap:24px;display:grid}.po-print table{border-collapse:collapse;width:100%;margin:16px 0}.po-print th,.po-print td{text-align:left;border-bottom:1px solid #999;padding:6px 4px}.po-print .num{text-align:right}@media (width<=760px){.app-shell{grid-template-columns:minmax(0,1fr)}.mobile-bar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;background:var(--charcoal);border-bottom-color:#000;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-bar button.secondary{color:#fff;border-color:#ffffff40}.mobile-bar button.secondary:hover:not(:disabled),.mobile-bar button.secondary:active{background:#ffffff1a}.sidebar{z-index:15;width:240px;height:calc(100vh - 65px);transition:transform .2s;position:fixed;top:65px;left:0;transform:translate(-100%)}.sidebar-brand{display:none}.menu-open .sidebar{transform:none;box-shadow:4px 0 16px #0000001f}}@media print{.app-shell{display:block}}.brand-logo{width:auto;max-width:100%;display:block}.brand-mark{align-items:center;gap:10px;display:inline-flex}.brand-words{flex-direction:column;line-height:1.15;display:flex}.brand-name{letter-spacing:.04em;text-transform:uppercase;color:#fff;font-size:.95rem;font-weight:800}.brand-sub{color:#8b93a0;font-size:.75rem}.landing{background:var(--surface);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.landing-hero{color:#e6e9ee;background:linear-gradient(160deg, #0055a538, #0000 55%), var(--charcoal);border-bottom:6px solid;border-image:linear-gradient(90deg, var(--brand-yellow) 0 33.3%, var(--brand-red) 33.3% 66.6%, var(--brand-blue) 66.6%) 1;flex-direction:column;justify-content:space-between;padding:56px 56px 28px;display:flex}.landing-hero-inner{max-width:520px}.landing-emblem{width:72px;height:72px;margin-bottom:28px}.landing-kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--brand-yellow);margin:0 0 6px;font-size:.8rem;font-weight:700}.landing-title{color:#fff;letter-spacing:-.01em;margin:0;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;line-height:1.05}.landing-rule{background:var(--brand-yellow);width:64px;height:4px;margin:20px 0;display:block}.landing-lead{color:#c9ced6;margin:0 0 32px;font-size:1.15rem;line-height:1.5}.landing-features{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.landing-features li{align-items:flex-start;gap:14px;display:flex}.landing-features li>span:last-child{flex-direction:column;gap:2px;display:flex}.landing-features strong{color:#fff}.landing-features li>span:last-child>span{color:#a9b0bb;font-size:.95rem;line-height:1.45}.feature-dot{border-radius:2px;flex-shrink:0;width:12px;height:12px;margin-top:5px;transform:rotate(45deg)}.feature-dot.dot-0{background:var(--brand-yellow)}.feature-dot.dot-1{background:var(--brand-red)}.feature-dot.dot-2{background:var(--brand-blue)}.landing-foot{color:#7c8491;margin:40px 0 0;font-size:.8rem}.landing-panel{background:var(--bg);justify-content:center;align-items:center;padding:40px 24px;display:flex}.landing-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:32px;box-shadow:0 10px 30px #10182814}.landing-card .brand-logo{margin:0 auto 24px}.landing-heading{color:var(--ink);margin:0 0 4px;font-size:1.4rem}.landing-card .muted{margin-bottom:20px}@media (width<=860px){.landing{grid-template-columns:minmax(0,1fr)}.landing-hero{padding:28px 20px 20px}.landing-emblem{width:48px;height:48px;margin-bottom:14px}.landing-lead{margin-bottom:20px;font-size:1rem}.landing-features li>span:last-child>span{font-size:.9rem}.landing-foot{display:none}.landing-panel{align-items:flex-start;padding:24px 16px 40px}.landing-card{padding:24px 20px}}.hero-banner{color:#e6e9ee;background:linear-gradient(135deg, #0055a540, #0000 60%), var(--charcoal);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;padding:28px 28px 24px;display:flex;position:relative;overflow:hidden}.hero-banner:after{content:"";background:linear-gradient(90deg, var(--brand-yellow) 0 33.3%, var(--brand-red) 33.3% 66.6%, var(--brand-blue) 66.6%);height:5px;position:absolute;bottom:0;left:0;right:0}.hero-banner h1{color:#fff;font-size:1.9rem;font-weight:800}.hero-date{color:var(--brand-yellow);text-transform:uppercase;letter-spacing:.12em;margin:0 0 6px;font-size:.8rem;font-weight:700}.hero-sub{color:#b8bec8;margin:4px 0 0}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}a.hero-button{color:#fff;white-space:nowrap;border:1px solid #ffffff4d;border-radius:6px;padding:10px 16px;font-weight:600;text-decoration:none}a.hero-button:hover{background:#ffffff14}a.hero-button.primary{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--ink)}a.hero-button.primary:hover{background:#f2d200}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:8px 0 12px;font-size:.85rem}.tile{border-top:4px solid var(--border);border-radius:10px;transition:transform .15s,box-shadow .15s;position:relative;box-shadow:0 1px 2px #1018280d}.tile:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 8px 20px #10182814}.tile.tone-blue{border-top-color:var(--brand-blue)}.tile.tone-red{border-top-color:var(--brand-red)}.tile.tone-yellow{border-top-color:var(--brand-yellow)}.tile.tone-charcoal{border-top-color:var(--charcoal)}.tile .tile-label{color:var(--muted);font-size:.85rem}.tile .tile-count{margin:2px 0;font-size:2.2rem}.tile.has-items .tile-count{color:var(--ink)}.tile.tone-red.has-items .tile-count{color:var(--brand-red)}.tile .tile-count.money{font-size:1.7rem}@media (width<=640px){.hero-banner{padding:20px 18px}.hero-banner h1{font-size:1.5rem}}.sidebar .brand-logo{object-fit:contain;object-position:left center;width:100%;max-height:64px;height:auto!important}.sidebar-app{text-transform:uppercase;letter-spacing:.16em;color:var(--brand-yellow);margin-top:8px;font-size:.72rem;font-weight:700;display:block}.landing-hero .brand-logo{margin-bottom:28px}.app-shell .shell>.page-head,.app-shell .shell>.no-print>.page-head{color:#e6e9ee;background:linear-gradient(135deg, #0055a540, #0000 60%), var(--charcoal);border-radius:12px;align-items:center;margin-bottom:20px;padding:22px 24px 24px;position:relative;overflow:hidden}.app-shell .shell>.page-head:after,.app-shell .shell>.no-print>.page-head:after{content:"";background:linear-gradient(90deg, var(--brand-yellow) 0 33.3%, var(--brand-red) 33.3% 66.6%, var(--brand-blue) 66.6%);height:4px;position:absolute;bottom:0;left:0;right:0}.shell>.page-head h1,.shell>.no-print>.page-head h1{color:#fff;font-size:1.6rem;font-weight:800}.shell>.page-head .muted,.shell>.no-print>.page-head .muted{color:#b8bec8}.shell>.page-head .muted a,.shell>.no-print>.page-head .muted a{color:#fff}.shell>.page-head button:not(.secondary):not(.link),.shell>.no-print>.page-head button:not(.secondary):not(.link){background:var(--brand-yellow);color:var(--ink)}.shell>.page-head button:not(.secondary):not(.link):hover:not(:disabled),.shell>.no-print>.page-head button:not(.secondary):not(.link):hover:not(:disabled){background:#f2d200}.shell>.page-head button.secondary,.shell>.page-head a.button-link,.shell>.no-print>.page-head button.secondary,.shell>.no-print>.page-head a.button-link{color:#fff;background:0 0;border-color:#ffffff4d}.shell>.page-head button.secondary:hover:not(:disabled),.shell>.page-head a.button-link:hover,.shell>.no-print>.page-head button.secondary:hover:not(:disabled),.shell>.no-print>.page-head a.button-link:hover{background:#ffffff14}.shell>.page-head button.secondary.danger,.shell>.no-print>.page-head button.secondary.danger{border-color:#ee352499;color:#ffb3ab!important}.crumb a{font-weight:600;text-decoration:none}.crumb a:hover{text-decoration:underline}.card{border-radius:10px;box-shadow:0 1px 2px #1018280d}.card h2{color:var(--ink)}.table-wrap{border-radius:10px;box-shadow:0 1px 2px #1018280d}table.data thead th{color:#3d4654;border-bottom:1px solid var(--border);background:#f1f3f6}table.data tfoot th{border-top:2px solid var(--border);background:#fafbfc}tr.clickable:hover td{background:#f5f8fc}.toolbar input[type=search],.toolbar select{box-shadow:0 1px 2px #1018280a}@media (width<=760px){.app-shell .shell>.page-head,.app-shell .shell>.no-print>.page-head{padding:18px 16px 20px}.shell>.page-head h1,.shell>.no-print>.page-head h1{font-size:1.3rem}}fieldset.type-picker{border:none;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}fieldset.type-picker legend{margin-bottom:6px;font-size:.9rem;font-weight:600}.type-option{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:8px;align-items:center;padding:10px 16px;font-weight:600;flex-direction:row!important;gap:8px!important;display:flex!important}.type-option.selected{border-color:var(--accent);color:var(--accent);background:#eef4fb}.field-help{color:var(--muted);font-size:.85rem;font-weight:400}.status-pill.access-admin{color:var(--ink);background:#fff6c2;border-color:#f0d96a}.status-pill.access-pm,.status-pill.access-billing,.status-pill.access-ap{color:var(--accent);background:#eef4fb;border-color:#bcd3ea}.status-pill.access-vendor{color:var(--ok);background:#eef8f1;border-color:#b7dfc3}.status-pill.access-pending,.status-pill.access-off{color:var(--error);background:#fdf1f0;border-color:#f2c4c0}.users-section .section-title{align-items:center;gap:8px;display:flex}.count-badge{background:var(--charcoal);color:#fff;text-align:center;letter-spacing:0;border-radius:10px;min-width:22px;padding:1px 8px;font-size:.75rem;display:inline-block}.section-note{margin:-6px 0 12px}.company-tiles{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.company-tile{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--brand-blue);border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #1018280d}.company-tile.kind-supplier{border-top-color:var(--brand-yellow)}.company-tile.kind-gc{border-top-color:var(--brand-red)}.company-tile.inactive{opacity:.65}.company-tile header{border-bottom:1px solid var(--border);background:#fafbfc;padding:12px 14px 10px}.company-tile h3{color:var(--ink);margin:0 0 2px;font-size:1rem}.tile-people{flex:1;margin:0;padding:6px 0;list-style:none}button.person{width:100%;color:var(--text);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-weight:400;display:flex}button.person:hover:not(:disabled){background:#f5f8fc}button.person>span:first-child{flex-direction:column;min-width:0;display:flex}button.person .muted{text-overflow:ellipsis;margin:0;overflow:hidden}.tile-empty{flex:1;margin:0;padding:14px}button.tile-add{border-top:1px solid var(--border);text-align:left;align-self:stretch;padding:10px 14px;font-weight:600}.tab-strip{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:4px;margin:0 0 4px;scroll-margin-top:80px;display:flex}.tab-strip button.tab{color:var(--muted);white-space:nowrap;background:0 0;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:8px;margin-bottom:-2px;padding:10px 14px;font-weight:700;display:inline-flex}.tab-strip button.tab:hover:not(:disabled){color:var(--ink);background:#eef1f5}.tab-strip button.tab.active{color:var(--ink);border-bottom-color:var(--brand-yellow);background:var(--surface)}.tab-strip button.tab .count-badge{color:var(--ink);background:#d9dee6}.tab-strip button.tab.active .count-badge{background:var(--charcoal);color:#fff}.company-tile.kind-fabricator{border-top-color:var(--brand-blue)}.company-tile.kind-erector{border-top-color:var(--charcoal)}.company-tile.kind-misc_fabricator{border-top-color:#0f6e56}.setup-notice{margin:12px 0 16px}.setup-notice h2{margin-bottom:2px}.setup-notice .muted{margin-bottom:10px}ul.company-facts{color:var(--muted);flex-direction:column;gap:2px;margin:4px 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.tile-subhead{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;padding:10px 14px 0;font-size:.72rem;font-weight:700}.tile-actions{border-top:1px solid var(--border);justify-content:space-between;display:flex}.tile-actions button.link{padding:10px 14px;font-weight:600}button.person:disabled{opacity:1;cursor:default}dl.company-totals{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;padding:12px 14px;display:grid}dl.company-totals .total-main{grid-column:1/-1}dl.company-totals dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem;font-weight:700}dl.company-totals dd{color:var(--ink);margin:2px 0 0;font-weight:700}dl.company-totals .total-main dd{font-size:1.35rem}dl.company-totals dd.bc-to{color:var(--accent)}dl.company-totals dd.bc-absorbed{color:var(--brand-red)}.backcharge-box{border:2px solid var(--brand-yellow);background:#fffbea;border-radius:6px;margin-top:14px;padding:12px 14px}.backcharge-box .muted{margin:0}.invoice-total{margin:0;font-size:1rem}.invoice-total strong{margin-left:8px;font-size:1.2rem}.affidavit-input,.affidavit-check{margin:-4px 0 0 36px;font-size:.9rem;list-style:none}.affidavit-input label{flex-direction:column;gap:4px;max-width:320px;font-weight:600;display:flex}.affidavit-check.ok{color:var(--ok)}.affidavit-check.bad{color:var(--error);font-weight:600}.checklist.docs-choice{border-top:1px solid var(--border,#e3e6ea);margin-top:12px;padding-top:12px}.popup-backdrop{z-index:100;background:#14181e8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.popup{background:var(--surface);border-radius:10px;width:100%;max-width:460px;padding:22px 22px 18px;box-shadow:0 20px 50px #0000004d}.popup-red{border:2px solid var(--error);border-top:8px solid var(--error)}.popup-red h2{color:var(--error);margin-top:0}.popup ul{margin:8px 0 16px;padding-left:20px}.popup-red .actions button:not(.secondary){background:var(--error);border-color:var(--error)}.job-tiles{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:4px;display:grid}button.job-tile{background:var(--surface);color:var(--text);border:1px solid var(--border);border-top:4px solid var(--brand-blue);text-align:left;border-radius:10px;flex-direction:column;align-items:stretch;gap:6px;padding:14px 16px;font-weight:400;display:flex;box-shadow:0 1px 2px #1018280d}button.job-tile:hover:not(:disabled){background:var(--surface);border-color:var(--brand-blue);box-shadow:0 4px 12px #1018281a}button.job-tile.closed{border-top-color:var(--muted);opacity:.75}.job-tile-number{color:var(--muted);letter-spacing:.02em;align-items:center;gap:8px;font-size:.85rem;font-weight:700;display:flex}.job-tile-name{color:var(--ink);font-size:1.05rem;font-weight:700}.job-tile-facts{flex-direction:column;gap:2px;font-size:.9rem;display:flex}.job-tile-contract{border-top:1px solid var(--border);color:var(--ink);margin-top:auto;padding-top:8px;font-size:1.1rem;font-weight:700}.quote-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.quote-row.superseded{opacity:.7}
