:root{color-scheme:dark;--bg:#141719;--panel:#202428;--band:#2b3035;--text:#eee;--line:#62686e;--gold:#c8ab28}html[data-theme=light]{color-scheme:light;--bg:#f7f7f5;--panel:#fff;--band:#e9eaeb;--text:#202428;--line:#b7bcc0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px Arial,sans-serif}aside{position:fixed;width:204px;inset:0 auto 0 0;background:var(--panel);border-right:1px solid var(--line);padding:24px 16px}aside strong{font-size:30px;color:var(--gold)}nav{margin-top:32px}nav button{background:transparent;border-color:transparent;color:var(--text);width:100%;text-align:left}.workspace{margin-left:204px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--panel)}main{padding:24px}section{background:var(--panel);padding:16px;border:1px solid var(--line);border-radius:4px}h1{margin:0 0 24px;font-size:24px}h2{font-size:18px}.toolbar,.actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.toolbar{background:var(--band);padding:12px;margin-bottom:16px}label{display:flex;flex-direction:column;gap:6px}input,select,button{font:inherit;border:1px solid var(--line);border-radius:4px;padding:6px 12px;min-height:34px}input,select{background:var(--bg);color:var(--text)}button{background:color-mix(in srgb,var(--gold) 16%,var(--panel));color:var(--gold);border-color:var(--gold);cursor:pointer}button.primary{background:var(--gold);color:#171717}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{border:1px solid var(--line);padding:6px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}th{background:var(--band);font-size:11px}th:first-child{width:160px}th:nth-child(3),th:nth-child(4){width:120px}.badge{display:inline-block;border:1px solid var(--line);padding:3px 8px;border-radius:4px}.notice{color:var(--text);opacity:.7;font-size:12px}#login{max-width:440px}#login-form{display:grid;gap:16px}#new-project{margin-top:24px}[hidden]{display:none!important}@media(max-width:760px){aside{width:144px;padding:16px 8px}.workspace{margin-left:144px}main{padding:16px}header{padding:12px 16px;flex-wrap:wrap}.table-wrap table{min-width:640px}}

.company-logo{display:block;width:100%;height:auto;filter:url(#avant-dark-logo)}html[data-theme=light] .company-logo{filter:none}body>svg{position:absolute}.actions{align-items:center}#theme{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;min-height:24px;padding:0 4px;color:var(--text)}.theme-track{display:block;width:28px;height:14px;border-radius:10px;background:var(--gold);position:relative}.theme-track:after{content:"";position:absolute;top:2px;right:2px;width:10px;height:10px;background:#fff;border-radius:50%}html[data-theme=light] .theme-track:after{right:16px}.badge.pending{background:#6c501c;color:#ffe0a1;border-color:#bf8e2e;font-size:11px}html[data-theme=light] .badge.pending{background:#fff1c9;color:#674700}

/* Sign-in has its own shell; authenticated workspace rules remain unchanged. */

.signed-out aside{display:none}.signed-out .workspace{margin-left:0}.signed-out header{justify-content:flex-end;min-height:56px;background:transparent;border:0}.signed-out .workspace-title,.signed-out #identity{display:none}.signed-out main{min-height:calc(100svh - 112px);display:grid;place-items:center;padding:24px}.signed-out #login{width:min(400px,100%);max-width:400px;padding:32px}.login-logo{max-width:200px;margin:0 auto 24px}#login-title{text-align:center;font-size:22px;margin-bottom:24px}.password-field{display:flex;position:relative;min-width:0}.password-field input{width:100%;padding-right:44px}#password-visibility{position:absolute;right:1px;top:1px;bottom:1px;min-height:0;width:36px;padding:6px;background:transparent;border:0;color:var(--text);display:grid;place-items:center}#password-visibility svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.eye-slash{display:none}#password-visibility[aria-pressed=true] .eye-slash{display:block}#login-form input{min-height:38px}#login-form>button{min-height:38px}#login-message{margin:16px 0 0;line-height:1.5}#login-message:empty{display:none}.workspace>footer{padding:16px 24px;margin:0;line-height:1.5}.signed-out .workspace>footer{text-align:center;min-height:56px}.signed-out #message{display:none}@media(max-width:480px){.signed-out main{padding:16px}.signed-out #login{padding:24px}.signed-out .workspace>footer{font-size:11px;padding:12px 16px}}

#setup-help{font-size:12px;line-height:1.5;margin:0;color:var(--text)}

/* Production CSI worksheet: fixed compact numeric columns and neutral section bands. */

#estimates-workspace{display:grid;gap:16px;border:0;background:transparent;padding:0}

#estimates-workspace[hidden]{display:none}

#estimates-workspace h1{margin:0}

#estimates-workspace .toolbar input{width:min(480px,100%)}

.estimate-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}

.estimate-totals strong{display:block;font-size:20px;margin-top:8px}

.estimate-totals span{font-size:11px}

.estimate-scroll{max-height:65vh;overflow:auto;scrollbar-gutter:stable}

.estimate-sheet{min-width:1100px}

.estimate-sheet thead th{position:sticky;top:0;z-index:1;background:var(--band);text-align:center}

.estimate-sheet th:first-child{width:264px;text-align:left}

.estimate-sheet th:nth-child(2){width:auto;text-align:left}

.estimate-sheet th:nth-child(3){width:64px}

.estimate-sheet th:nth-child(4){width:72px}

.estimate-sheet th:nth-child(n+5){width:100px}

.estimate-sheet input,.estimate-sheet select{width:100%;min-width:0;padding:6px;min-height:30px;font-size:11px}

.estimate-sheet td.center,.estimate-sheet td.center input{text-align:center}

#estimates-workspace .amount,#estimates-workspace .amount input{text-align:right;font-variant-numeric:tabular-nums}

.estimate-division td,.estimate-subtotal td{background:var(--band);font-weight:600}

.estimate-subtotal td:first-child{text-align:right}

.estimate-gap td{height:8px;padding:0;border-left:0;border-right:0;background:var(--bg)}

.estimate-row-tools{display:flex;gap:6px;align-items:center;margin-top:8px}

.estimate-row-tools select{width:100px}

.estimate-row-tools button{padding:4px 6px;min-height:26px;font-size:10px}

.estimate-register{min-width:1050px}.estimate-register th:first-child{width:26%}.estimate-register th:nth-child(2){width:auto}.estimate-register th:nth-child(3){width:160px}.estimate-register th:nth-child(4){width:80px}.estimate-register th:nth-child(5){width:120px}.estimate-register th:last-child{width:220px}

.estimate-register .row-actions button{font-size:11px;min-height:28px}.estimate-register .row-actions button+button{margin-left:8px}

.badge[data-stage="Ready"]{background:#192f46;border-color:#4e88ba;color:#a8d5ff}

.badge[data-stage="Draft"],.badge[data-stage="Revised"]{background:#30343a;border-color:#687078;color:#c5c9ce}

html[data-theme=light] .badge[data-stage="Ready"]{background:#e7f1fb;border-color:#80a9cc;color:#22567f}

html[data-theme=light] .badge[data-stage="Draft"],html[data-theme=light] .badge[data-stage="Revised"]{background:#e5e7eb;border-color:#87929d;color:#374151}

@media(max-width:850px){.estimate-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Status palette copied from the approved prototype, for both themes. */

.badge[data-stage="Pending"],.badge[data-stage="On Hold"]{background:#3b301b;border-color:#a5873f;color:#f4d080}

.badge[data-stage="Bidding"],.badge[data-stage="Construction"],.badge[data-stage="Closeout"]{background:#192f46;border-color:#4e88ba;color:#a8d5ff}

.badge[data-stage="Awarded"],.badge[data-stage="Completed"]{background:#1d362b;border-color:#4b9970;color:#a7e3ba}

.badge[data-stage="Canceled"],.badge[data-stage="Not Awarded"]{background:#43262a;border-color:#b56b74;color:#ffc1c8}

html[data-theme=light] .badge[data-stage="Pending"],html[data-theme=light] .badge[data-stage="On Hold"]{background:#fff2d4;border-color:#c1a05c;color:#775408}

html[data-theme=light] .badge[data-stage="Bidding"],html[data-theme=light] .badge[data-stage="Construction"],html[data-theme=light] .badge[data-stage="Closeout"]{background:#e7f1fb;border-color:#80a9cc;color:#22567f}

html[data-theme=light] .badge[data-stage="Awarded"],html[data-theme=light] .badge[data-stage="Completed"]{background:#e3f2e8;border-color:#80ae91;color:#245c37}

html[data-theme=light] .badge[data-stage="Canceled"],html[data-theme=light] .badge[data-stage="Not Awarded"]{background:#fbe8eb;border-color:#cb949c;color:#8b303e}

/* Alpha: approved project-register structure; no changes to the approved sign-in. */

body:not(.signed-out){font-size:12px}body:not(.signed-out) main{padding:24px 28px}#projects{padding:0;border:0;background:transparent}.page-heading{margin-bottom:24px}.page-heading h1{margin-bottom:8px;font-size:24px}.page-heading p{margin:0}.project-panel{padding:18px;border:1px solid var(--line);border-radius:4px;background:var(--panel)}.project-toolbar{padding:0;background:transparent;margin-bottom:14px;flex-wrap:nowrap;align-items:flex-end}.project-title{display:flex;align-items:center;gap:8px;min-width:240px;align-self:center}.project-title h2{margin:0;font-size:16px}#project-count{font-size:11px;opacity:.8}.project-search{flex:1;min-width:120px}.project-toolbar input{width:100%}.project-toolbar select{width:150px}.project-toolbar button{white-space:nowrap}.projects-table col:nth-child(1){width:135px}.projects-table col:nth-child(2){width:auto}.projects-table col:nth-child(3){width:180px}.projects-table col:nth-child(4){width:125px}.projects-table col:nth-child(5){width:165px}.projects-table col:nth-child(6){width:135px}.projects-table th{width:auto;font-size:10px;font-weight:400}.projects-table :is(th,td){padding:6px 12px}.projects-table .row-actions{text-align:center}.projects-table th:last-child{text-align:center}.projects-table button{font-size:11px;min-height:28px}.badge{font-size:10px;border-radius:4px;padding:2px 7px}#new-project{padding:18px;border:1px solid var(--line);border-radius:4px}.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.detail-heading h1{margin:0}.detail-table th{width:200px}.workspace-title select{min-width:170px}#project-detail{background:transparent;border:0;padding:0}nav button{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent)}

@media(max-width:1100px){.project-title{min-width:140px}.projects-table{min-width:950px}.project-toolbar{flex-wrap:wrap}.project-search{min-width:200px}}@media(max-width:600px){body:not(.signed-out) main{padding:16px}.project-title{width:100%}.project-panel{padding:12px}.project-toolbar .project-search{width:100%;flex:auto}}

/* Alpha project setup uses the approved section order and compact fields. */
#projects.setup-active>.page-heading,#projects.setup-active>.project-panel{display:none}#new-project{margin:0;padding:0;border:0}.setup-steps{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 16px}.setup-steps span{padding:6px 8px;border:1px solid var(--line);border-radius:4px;font-size:10px;background:var(--band)}.setup-steps .active{border-color:var(--gold);color:var(--gold)}.setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setup-fields .full{grid-column:1/-1}.setup-fields input,.setup-fields select{width:100%}textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:6px 12px;resize:vertical;line-height:1.5}.compact-fields{max-width:600px;grid-template-columns:repeat(2,216px);gap:14px 16px}.compact-fields .full{width:100%}.setup-team-controls{display:flex;align-items:flex-end;gap:8px;margin-bottom:16px;flex-wrap:wrap}.setup-team-controls label{min-width:216px}.setup-review th{width:190px}.setup-review td{white-space:pre-wrap;overflow-wrap:anywhere}.setup-actions{display:flex;gap:8px;margin-top:24px}.setup-visibility{margin-top:16px;max-width:600px}.switch-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.switch-row span{display:flex;align-items:center;gap:8px}.switch-row input{appearance:none;width:36px;min-height:20px;height:20px;border-radius:12px;padding:0;background:var(--band);position:relative;cursor:pointer}.switch-row input:after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:var(--text);left:2px;top:2px}.switch-row input:checked{background:var(--gold)}.switch-row input:checked:after{left:18px;background:#fff}.switch-row input:disabled{opacity:.5;cursor:default}#setup-error:empty{display:none}#setup-error{color:#d88b79}#new-project h2{font-size:16px;margin:0 0 20px}#new-project .detail-heading p{margin-bottom:0}@media(max-width:650px){.setup-fields,.compact-fields{grid-template-columns:minmax(0,1fr);max-width:100%}.setup-fields .full{grid-column:1}.setup-team-controls label{width:100%}.setup-review th{width:130px}}

.detail-table td{white-space:pre-wrap;overflow-wrap:anywhere}

/* Alpha reference shell: measured from approved prototype. Scope excludes the approved login. */
body:not(.signed-out){--bg:#141619;--panel:#202227;--band:#25282d;--text:#edece6;--line:#73767a;--gold:#c9ac32;--shell-sidebar:224px;font:14px/1.5 'Segoe UI',Arial,sans-serif}
html[data-theme=light] body:not(.signed-out){--bg:#f4f3ee;--panel:#fffefa;--band:#ededed;--text:#252b31;--line:#a8aaad}
body:not(.signed-out) aside{width:var(--shell-sidebar);padding:16px 12px;background:#0e1012;border-color:#2c2e32;overflow-y:auto;overflow-x:hidden}
html[data-theme=light] body:not(.signed-out) aside{background:#eeece4;border-color:#d3d0c5}
body:not(.signed-out) .workspace{margin-left:var(--shell-sidebar)}
body:not(.signed-out) header{min-height:56px;padding:8px 16px;background:#191c20;border-color:#383d43}
html[data-theme=light] body:not(.signed-out) header{background:#fff;border-color:#c9cdd1}
body:not(.signed-out) main{padding:16px 16px 32px;max-width:none}
body:not(.signed-out) .project-panel{padding:16px;border-color:#373a40}
html[data-theme=light] body:not(.signed-out) .project-panel{border-color:#d8d6cd}
body:not(.signed-out) :is(input,select,textarea){background:#15171b;color:#e9e8e2;border-color:#484b53}
html[data-theme=light] body:not(.signed-out) :is(input,select,textarea){background:#fffefa;color:#252b31;border-color:#c6c6bc}
body:not(.signed-out) table th{font-size:10px;line-height:1.35;color:#aeb2bc;font-weight:400}
html[data-theme=light] body:not(.signed-out) table th{color:#616971}
body:not(.signed-out) table td{font-size:11px;line-height:1.25}
body:not(.signed-out) .project-title h2{font-size:18px;line-height:1.5}
body:not(.signed-out) .project-toolbar label{font-size:10px;line-height:1.4;color:#c0c2c9}
html[data-theme=light] body:not(.signed-out) .project-toolbar label{color:#4c5560}
body:not(.signed-out) nav button{font:14px/1.5 'Segoe UI',Arial,sans-serif;padding:8px 12px;min-height:0;border-color:transparent;background:transparent;color:#bfc1c7;display:block}
html[data-theme=light] body:not(.signed-out) nav button{color:#3f4750}
body:not(.signed-out) nav button[aria-current=page]{border-color:#8a752b;background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold);box-shadow:inset 2px 0 var(--gold)}
body:not(.signed-out) nav p{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;color:#9299a3;margin:24px 12px 8px}
#sidebar-toggle{position:absolute;right:8px;top:8px;padding:0;width:14px;height:14px;min-height:0;line-height:12px;border:1px solid #62676b;background:transparent;color:#a2a7ab;font-size:14px;border-radius:2px}
body.nav-collapsed:not(.signed-out){--shell-sidebar:20px}body.nav-collapsed:not(.signed-out) aside{padding:0}body.nav-collapsed aside :is(img,nav){display:none}body.nav-collapsed #sidebar-toggle{right:3px}
body:not(.signed-out) aside .company-logo{margin:18px 0 24px}
@media(max-width:720px){body:not(.signed-out):not(.nav-collapsed){--shell-sidebar:192px}body:not(.signed-out) main{padding:12px 12px 24px}}

html[data-theme=light] body:not(.signed-out) button:where(:not(.primary):not(#theme):not(#sidebar-toggle)){color:#6b510a;border-color:#a48c3b}
html[data-theme=light] body:not(.signed-out) nav button:not([aria-current=page]){color:#3f4750;border-color:transparent}


/* Account controls share the established density, gaps and status palette. */
#company-users{display:grid;gap:16px}#company-users[hidden]{display:none}#company-users .project-panel{margin:0}#company-users .detail-heading{margin:0}#company-users .badge[data-stage="Active"]{color:#b8f2cf;background:#173d2b;border-color:#419664}#company-users .badge[data-stage="Inactive"]{color:#bcc1c6;background:#30343a;border-color:#687078}html[data-theme="light"] #company-users .badge[data-stage="Active"]{color:#14532d;background:#dcfce7;border-color:#419664}html[data-theme="light"] #company-users .badge[data-stage="Inactive"]{color:#374151;background:#e5e7eb;border-color:#687078}


/* Unit controls must display LS and the native arrow without clipping. */

.estimate-sheet th:nth-child(3){width:84px}.estimate-sheet td.center select{min-width:58px;padding:6px 4px;text-align:center}


dialog{color:var(--text,#ddd);background:var(--panel,#202326);border:1px solid #73777a;border-radius:4px;padding:24px;max-width:480px;width:calc(100% - 64px)}dialog::backdrop{background:rgb(0 0 0 / 65%)}dialog textarea{width:100%;min-height:80px}body.light dialog{background:#fff;color:#202326}
/* Hide intermediate startup screens until session and route restoration complete. */
body.booting>aside,body.booting>.workspace{visibility:hidden}
#workspace-loading{position:fixed;inset:0;display:grid;place-items:center;font:14px Segoe UI,Arial,sans-serif}
#workspace-loading[hidden]{display:none}

.proposal-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.proposal-settings fieldset{min-width:0;padding:12px;border:1px solid var(--border,#777);border-radius:4px}.check-option{display:flex;align-items:center;gap:8px;margin:8px 0}.check-option input[type=checkbox]{width:auto;flex:none}.proposal-settings select{width:100%}@media(max-width:700px){.proposal-settings{grid-template-columns:1fr}}

/* Shared ledger conventions apply to every migrated financial register. */
td.amount{text-align:right;font-variant-numeric:tabular-nums}td.center{text-align:center}td.row-actions{text-align:center}td.row-actions button+button{margin-left:8px}
.badge[data-stage="Accepted"],.badge[data-stage="Approved"],.badge[data-stage="Paid"]{background:#1d362b;border-color:#4b9970;color:#a7e3ba}
.badge[data-stage="Submitted"],.badge[data-stage="Issued"],.badge[data-stage="Locked"]{background:#192f46;border-color:#4e88ba;color:#a8d5ff}
.badge[data-stage="Not Accepted"]{background:#43262a;border-color:#b56b74;color:#ffc1c8}
html[data-theme=light] .badge[data-stage="Accepted"],html[data-theme=light] .badge[data-stage="Approved"],html[data-theme=light] .badge[data-stage="Paid"]{background:#e3f2e8;border-color:#80ae91;color:#245c37}
html[data-theme=light] .badge[data-stage="Submitted"],html[data-theme=light] .badge[data-stage="Issued"],html[data-theme=light] .badge[data-stage="Locked"]{background:#e7f1fb;border-color:#80a9cc;color:#22567f}
html[data-theme=light] .badge[data-stage="Not Accepted"]{background:#fbe8eb;border-color:#cb949c;color:#8b303e}
aside nav button{border-color:transparent;background:transparent;color:var(--text)}aside nav button[aria-current=page]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold)}
#proposals-workspace,#alternates-workspace{padding:0;border:0;background:transparent}#proposals-workspace>.detail-heading,#alternates-workspace>.detail-heading{margin-bottom:16px}#proposals-workspace .project-panel{margin-top:16px}#proposals-workspace .project-panel>label{margin-bottom:12px}

#proposals-workspace table th:nth-child(n+3),#alternates-workspace table th:nth-child(n+3){text-align:center}#proposals-workspace table th:last-child{width:160px}#proposals-workspace table th:first-child{width:30%}

#changes-workspace{padding:0;border:0;background:transparent}#changes-workspace>.detail-heading{margin-bottom:16px}#changes-workspace>.estimate-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}#changes-workspace>.badge+.project-panel{margin-top:16px}#changes-workspace .toolbar label{flex:1;min-width:0}#changes-workspace .toolbar input{width:100%}#changes-workspace .project-panel{margin-bottom:16px}#changes-workspace table:not(.estimate-sheet) th:nth-child(n+3){text-align:center}#changes-workspace .estimate-sheet td:first-child label{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px}#changes-workspace .estimate-sheet td:first-child select{width:100px}#changes-workspace .estimate-sheet td:first-child button{display:block;margin-top:8px}#changes-workspace .estimate-sheet td:nth-child(6) input{text-align:center}@media(max-width:700px){#changes-workspace>.estimate-totals{grid-template-columns:1fr}}

#changes-workspace>.change-pricing-totals{grid-template-columns:repeat(4,minmax(0,1fr))}

#budgets-workspace{padding:0;border:0;background:transparent}#budgets-workspace>.estimate-totals{margin:16px 0}#budgets-workspace table th:nth-child(n+2){text-align:center}#budgets-workspace table th:first-child{width:40%}

#purchasing-workspace{padding:0;border:0;background:transparent}#purchasing-workspace>.badge{margin-bottom:16px}#purchasing-workspace .toolbar label{flex:1;min-width:0}#purchasing-workspace .toolbar input{width:100%}#purchasing-workspace .project-panel{margin:16px 0}#purchasing-workspace>.actions{margin:16px 0;display:flex;gap:8px}#purchasing-workspace .estimate-scroll{max-height:60vh;overflow:auto;margin:16px 0}#purchasing-workspace table{width:100%;table-layout:fixed}#purchasing-workspace table th{text-align:center}#purchasing-workspace table th:first-child{text-align:left;width:240px}#purchasing-workspace .estimate-scroll th:first-child{width:240px}#purchasing-workspace .estimate-scroll th:nth-child(2){width:auto;text-align:left}#purchasing-workspace .estimate-scroll th:nth-child(3){width:64px}#purchasing-workspace .estimate-scroll th:nth-child(4){width:72px}#purchasing-workspace .estimate-scroll th:nth-child(5),#purchasing-workspace .estimate-scroll th:nth-child(6){width:104px}#purchasing-workspace td input,#purchasing-workspace td select{width:100%;min-width:0}#purchasing-workspace td:first-child button{display:block;margin-top:8px}#purchasing-workspace .amount input{text-align:right}#purchasing-workspace .center input{text-align:center}#purchasing-workspace tr.selected{background:color-mix(in srgb,var(--gold) 12%,transparent)}#purchasing-workspace .estimate-subtotal td:first-child{text-align:right}#purchasing-workspace .estimate-subtotal+tr.estimate-division{border-top:12px solid var(--bg)}

#purchasing-workspace .purchase-picker th:first-child{width:64px}#purchasing-workspace .purchase-picker th:nth-child(2){width:auto}#purchasing-workspace .purchase-picker th:nth-child(n+3){width:136px}#purchasing-workspace .purchase-picker input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0}#purchasing-workspace .purchase-picker th{white-space:normal;overflow:visible}#purchasing-workspace .estimate-scroll th{position:sticky;top:0;z-index:1;background:var(--panel)}

#budgets-workspace table{table-layout:fixed;width:100%;min-width:880px}#budgets-workspace table th:first-child{width:32%}#budgets-workspace table th:nth-child(n+2){width:13.6%;white-space:normal;overflow:visible}#budgets-workspace .estimate-subtotal td:first-child{text-align:right}

#vendor-workspace{padding:0;border:0;background:transparent}#vendor-workspace .project-panel{margin:16px 0}#vendor-workspace .toolbar{display:flex;align-items:end;gap:8px}#vendor-workspace .toolbar label{min-width:120px}#vendor-workspace .toolbar label:first-child{flex:1}#vendor-workspace .toolbar input{width:100%}#vendor-workspace table{table-layout:fixed;min-width:1120px;width:100%}#vendor-workspace th{text-align:center;white-space:normal}#vendor-workspace .actions{display:flex;gap:8px;margin:12px 0}#vendor-workspace .account-summary{display:flex;gap:24px;margin:16px 0}#vendor-workspace h2{margin-top:24px}#vendor-workspace .row-actions{white-space:normal}dialog .method-option{display:inline-flex;align-items:center;gap:8px;margin-right:16px}dialog .method-option input{width:16px;height:16px;min-height:0;padding:0}dialog fieldset{margin:12px 0}dialog form>label{display:flex;flex-direction:column;gap:4px;margin:12px 0}dialog form>label input{width:100%}dialog .actions{display:flex;gap:8px;margin-top:16px}

div.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge[data-stage="Recorded"],.badge[data-stage="Fully Paid"]{background:#193a29;border-color:#4c9365;color:#b7e7c5}html[data-theme=light] .badge[data-stage="Recorded"],html[data-theme=light] .badge[data-stage="Fully Paid"]{background:#e3f2e8;border-color:#80ae91;color:#245c37}
#client-billing-workspace .billing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}#client-billing-workspace .billing-fields label{display:flex;flex-direction:column;gap:8px}#client-billing-workspace th{text-align:center}#client-billing-workspace td.amount{text-align:right;font-variant-numeric:tabular-nums}#client-billing-workspace td.center{text-align:center}#client-billing-workspace .sov-workspace table{min-width:1400px;table-layout:fixed}#client-billing-workspace .sov-workspace th:first-child{width:40px}#client-billing-workspace .sov-workspace th:nth-child(2){width:280px}#client-billing-workspace .sov-workspace th:nth-child(n+3){width:120px}#client-billing-workspace .sov-workspace input{width:100%;min-width:0;text-align:right;padding:6px 8px}#client-billing-workspace .sov-workspace label{margin:0}#client-billing-workspace .sov-workspace thead{position:sticky;top:0;z-index:1}#client-billing-workspace .sov-workspace{max-height:65vh;overflow:auto}#client-billing-workspace .actions{display:flex;gap:8px;margin-top:16px}#client-billing-workspace .account-summary{display:flex;gap:32px;margin-bottom:16px}dialog .method-option{display:flex;align-items:center;gap:8px}dialog .method-option input{width:16px;height:16px;margin:0}#client-billing-workspace .project-panel>label{display:flex;flex-direction:column;gap:8px;margin-top:16px}#client-billing-workspace textarea{min-height:80px}
#client-billing-workspace .billing-summary table{table-layout:fixed;width:100%}#client-billing-workspace .billing-summary th:first-child{width:75%!important}#client-billing-workspace .billing-summary th:last-child{width:25%!important}#client-billing-workspace .billing-summary td:first-child{width:75%!important}#client-billing-workspace .billing-summary td:last-child{width:25%!important}#client-billing-workspace .sov-workspace th{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;padding:6px}#client-billing-workspace .sov-workspace th:first-child{width:50px}#client-billing-workspace .sov-workspace .estimate-division td{background:var(--panel);font-weight:bold}#client-billing-workspace>.detail-heading{margin-bottom:16px}

#rfi-workspace{padding:0;border:0;background:transparent}#rfi-workspace>.badge{margin-bottom:16px}#rfi-workspace .billing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}#rfi-workspace label{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}#rfi-workspace .billing-fields label{margin:0}#rfi-workspace .actions{display:flex;align-items:center;gap:8px;margin-top:16px}#rfi-workspace .toolbar{display:flex;gap:8px;align-items:end;margin-bottom:16px}#rfi-workspace .toolbar label:first-child{flex:1}#rfi-workspace th{text-align:center}#rfi-workspace th:nth-child(-n+2){text-align:left}#rfi-workspace .center{text-align:center}#rfi-workspace textarea{min-height:96px}#rfi-workspace .row-actions{display:flex;gap:8px;align-items:center;justify-content:center}#rfi-workspace table{min-width:1040px;table-layout:fixed}#rfi-workspace th:nth-child(2){width:22%}#rfi-workspace th:last-child{width:160px}.badge[data-stage="Closed"]{background:#193a29;border-color:#4c9365;color:#b7e7c5}html[data-theme=light] .badge[data-stage="Closed"]{background:#e3f2e8;border-color:#80ae91;color:#245c37}
@media(max-width:700px){#rfi-workspace .billing-fields{grid-template-columns:1fr}}

#submittal-workspace{padding:0;border:0;background:transparent}#submittal-workspace>.badge{margin-bottom:16px}#submittal-workspace .billing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}#submittal-workspace label{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}#submittal-workspace .billing-fields label{margin:0}#submittal-workspace .actions{display:flex;align-items:center;gap:8px;margin-top:16px}#submittal-workspace .toolbar{display:flex;gap:8px;align-items:end;margin-bottom:16px}#submittal-workspace .toolbar label:first-child{flex:1}#submittal-workspace th{text-align:center}#submittal-workspace th:nth-child(-n+2){text-align:left}#submittal-workspace .center{text-align:center}#submittal-workspace textarea{min-height:96px}#submittal-workspace .row-actions{display:flex;gap:8px;align-items:center;justify-content:center}#submittal-workspace table{min-width:1040px;table-layout:fixed}#submittal-workspace th:nth-child(2){width:22%}#submittal-workspace th:last-child{width:160px}.badge[data-stage="Closed"]{background:#193a29;border-color:#4c9365;color:#b7e7c5}html[data-theme=light] .badge[data-stage="Closed"]{background:#e3f2e8;border-color:#80ae91;color:#245c37}
@media(max-width:700px){#submittal-workspace .billing-fields{grid-template-columns:1fr}}

.badge[data-stage="No Exceptions Taken"],.badge[data-stage="Make Corrections Noted"]{color:#b4efcd;background:#174d33;border-color:#3b9c6a}.badge[data-stage="Revise And Resubmit"],.badge[data-stage="Rejected"]{color:#ffe5a3;background:#55421d;border-color:#b39138}

#submittal-workspace .table-wrap th:nth-child(7),#submittal-workspace .table-wrap td:nth-child(7){min-width:180px}#submittal-workspace .table-wrap td:nth-child(7) .badge{max-width:none}

#rfi-workspace .project-panel,#submittal-workspace .project-panel{margin-top:8px}#submittal-workspace .full-width{grid-column:1/-1}
#rfi-workspace input:disabled,#rfi-workspace select:disabled,#rfi-workspace textarea:disabled,#submittal-workspace input:disabled,#submittal-workspace select:disabled,#submittal-workspace textarea:disabled{border-color:transparent;background:transparent;color:inherit;opacity:1;appearance:none;resize:none;cursor:default}
#rfi-workspace input:disabled::-webkit-calendar-picker-indicator,#submittal-workspace input:disabled::-webkit-calendar-picker-indicator{display:none}

#transmittal-workspace{padding:0;border:0;background:transparent}#transmittal-workspace>.badge{margin-bottom:16px}#transmittal-workspace .billing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}#transmittal-workspace label{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}#transmittal-workspace .billing-fields label{margin:0}#transmittal-workspace .actions{display:flex;align-items:center;gap:8px;margin-top:16px}#transmittal-workspace .toolbar{display:flex;gap:8px;align-items:end;margin-bottom:16px}#transmittal-workspace .toolbar label:first-child{flex:1}#transmittal-workspace th{text-align:center}#transmittal-workspace th:nth-child(-n+2){text-align:left}#transmittal-workspace .center{text-align:center}#transmittal-workspace textarea{min-height:96px}#transmittal-workspace .row-actions{display:flex;gap:8px;align-items:center;justify-content:center}#transmittal-workspace table{min-width:1040px;table-layout:fixed}#transmittal-workspace th:nth-child(2){width:22%}#transmittal-workspace th:last-child{width:160px}.badge[data-stage="Closed"]{background:#193a29;border-color:#4c9365;color:#b7e7c5}html[data-theme=light] .badge[data-stage="Closed"]{background:#e3f2e8;border-color:#80ae91;color:#245c37}
@media(max-width:700px){#transmittal-workspace .billing-fields{grid-template-columns:1fr}}


#transmittal-workspace input:disabled,#transmittal-workspace select:disabled,#transmittal-workspace textarea:disabled{background:transparent;border-color:transparent;color:inherit;opacity:1;appearance:none;resize:none}
/* Daily Log worksheet: shared compact spacing, readable labor columns, bottom photo rows. */
.daily-log-workspace>.detail-heading{margin-bottom:16px}.daily-log-workspace .billing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.daily-log-workspace form>label{display:flex;flex-direction:column;gap:6px;margin:16px 0}.daily-log-workspace form>.table-wrap{margin-bottom:12px}.daily-log-workspace form>.actions{margin-top:16px}.daily-log-workspace form table{table-layout:fixed;width:100%}.daily-log-workspace form table th:first-child{width:40%}.daily-log-workspace form table th:nth-child(2),.daily-log-workspace form table th:nth-child(3){width:12%}.daily-log-workspace form table th:nth-child(4){width:18%}.daily-log-workspace form table th:nth-child(5){width:18%}.daily-log-workspace form table :is(input,select){width:100%;min-width:0}.daily-log-workspace form table :is(th,td):not(:first-child){text-align:center}.daily-log-workspace .daily-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:16px 0}.daily-log-workspace .daily-photo-grid img{width:100%;height:150px;object-fit:contain}.daily-log-workspace .daily-photo-grid .actions{display:flex;gap:8px;margin-top:8px}@media(max-width:650px){.daily-log-workspace .billing-fields{grid-template-columns:1fr}}

.daily-log-workspace> .project-panel> .table-wrap table{table-layout:auto}.daily-log-workspace .row-actions{white-space:normal}.daily-log-workspace .row-actions button{margin:4px}.daily-log-workspace .toolbar{margin-bottom:16px}
.tasks-workspace .toolbar{display:flex;align-items:flex-end;gap:8px;margin-bottom:16px}.tasks-workspace .toolbar label:first-child{flex:1}.tasks-workspace table{width:100%;table-layout:fixed}.tasks-workspace table th:nth-child(1){width:85px}.tasks-workspace table th:nth-child(2){width:auto}.tasks-workspace table th:nth-child(3){width:180px}.tasks-workspace table th:nth-child(4){width:145px}.tasks-workspace table th:nth-child(5){width:110px}.tasks-workspace table th:nth-child(6){width:140px}.tasks-workspace table th:nth-child(7){width:180px}.tasks-workspace td>label{font-size:0;margin:0}.tasks-workspace td>label :is(input,select){font-size:12px;width:100%;min-width:0}.tasks-workspace td.row-actions{white-space:normal;text-align:center}.tasks-workspace td.row-actions button{margin:4px}.tasks-workspace details>label{display:flex;flex-direction:column;gap:6px;margin:16px 0}.tasks-workspace .actions{display:flex;gap:8px;margin:8px 0}
.badge[data-stage="Complete"],.badge[data-stage="Saved"],.badge[data-stage="Sent"]{background:#1d362b;border-color:#4b9970;color:#a7e3ba}.badge[data-stage="In Progress"],.badge[data-stage="Reviewed"]{background:#192f46;border-color:#4e88ba;color:#a8d5ff}html[data-theme=light] .badge[data-stage="Complete"],html[data-theme=light] .badge[data-stage="Saved"],html[data-theme=light] .badge[data-stage="Sent"]{background:#e3f2e8;border-color:#80ae91;color:#245c37}html[data-theme=light] .badge[data-stage="In Progress"],html[data-theme=light] .badge[data-stage="Reviewed"]{background:#e7f1fb;border-color:#80a9cc;color:#22567f}.tasks-workspace :is(input,select,textarea):disabled{appearance:none;background:transparent;border-color:transparent;opacity:1;color:var(--text)}.tasks-workspace input:disabled::-webkit-calendar-picker-indicator{display:none}
.punch-workspace{padding:0;border:0;background:transparent}.punch-workspace>.detail-heading{margin-bottom:16px}.punch-workspace .toolbar{display:flex;gap:8px;align-items:end;margin-bottom:16px}.punch-workspace .toolbar label{flex:1;min-width:100px}.punch-workspace table{width:100%;table-layout:fixed;min-width:1100px}.punch-workspace th:nth-child(1){width:50px}.punch-workspace th:nth-child(2){width:auto}.punch-workspace th:nth-child(3){width:130px}.punch-workspace th:nth-child(4){width:160px}.punch-workspace th:nth-child(5){width:160px}.punch-workspace th:nth-child(6){width:145px}.punch-workspace th:nth-child(7){width:100px}.punch-workspace th:nth-child(8){width:120px}.punch-workspace td>label{font-size:0;margin:0}.punch-workspace td>label :is(input,select){width:100%;min-width:0;font-size:12px}.punch-workspace details>label{display:flex;flex-direction:column;gap:8px;margin:16px 0}.punch-workspace .actions{display:flex;gap:8px;margin:16px 0}.punch-workspace .center{text-align:center}.punch-workspace .daily-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.punch-workspace .daily-photo-grid img{width:100%;height:150px;object-fit:contain}.punch-workspace :is(input,select,textarea):disabled{appearance:none;border-color:transparent;background:transparent;opacity:1;color:var(--text)}

/* Meetings share the compact operational worksheet system. */
.meeting-workspace .project-panel{margin:16px 0}.meeting-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.meeting-workspace .actions{gap:8px;align-items:center;margin:12px 0}.meeting-workspace .toolbar{align-items:end}.meeting-workspace td input,.meeting-workspace td select{width:100%;min-width:0}.meeting-workspace td label{font-size:0}.meeting-workspace td label input,.meeting-workspace td label select{font-size:12px}.meeting-workspace th,.meeting-workspace td{padding:6px 12px}.meeting-workspace input:disabled,.meeting-workspace textarea:disabled,.meeting-workspace select:disabled{appearance:none;background:transparent;border-color:transparent;color:inherit;opacity:1}.meeting-topic{border-top:1px solid var(--border,#555);padding-top:16px;margin-top:16px}.badge[data-stage="Minutes Issued"]{background:#123e2b;border-color:#4eab72;color:#c8f1d7}.badge[data-stage="Agenda Sent"],.badge[data-stage="Draft Minutes"]{background:#123249;border-color:#5091ba;color:#cbe8fa}@media(max-width:700px){.meeting-fields{grid-template-columns:1fr}}

.meeting-workspace{padding:0;background:transparent;border:0}.meeting-workspace .toolbar{display:flex;gap:8px;margin-bottom:16px}.meeting-workspace .toolbar label:first-child{flex:1}.meeting-workspace td label{margin:0}.meeting-workspace .center{text-align:center}.meeting-workspace .row-actions{white-space:nowrap;text-align:center}.meeting-workspace .meeting-topic>label{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.meeting-workspace .meeting-topic{padding:16px;border:1px solid var(--border,#555);border-radius:4px}.meeting-workspace .actions>label{margin:0}.meeting-workspace input:disabled::-webkit-calendar-picker-indicator{display:none}html[data-theme=light] .badge[data-stage="Minutes Issued"]{background:#e3f2e8;color:#245c37;border-color:#80ae91}html[data-theme=light] .badge[data-stage="Agenda Sent"],html[data-theme=light] .badge[data-stage="Draft Minutes"]{background:#e7f1fb;color:#22567f;border-color:#80a9cc}

.contacts-workspace{padding:0;background:transparent;border:0}.contacts-workspace .toolbar{display:flex;gap:8px;align-items:end;margin-bottom:16px}.contacts-workspace .toolbar label:first-child{flex:1}.contacts-workspace .row-actions{text-align:center}.contact-dialog{width:min(800px,94vw);max-height:90vh;overflow:auto}.contact-dialog .actions{display:flex;gap:8px;margin-top:16px}.contact-dialog>label{display:block;margin:16px 0}.contact-dialog input[role=switch]{width:auto}.contact-dialog .meeting-fields label{min-width:0}

.contacts-workspace table{table-layout:fixed;min-width:1180px;width:100%}.contacts-workspace th:first-child{width:230px}.contacts-workspace th:nth-child(2){width:180px}.contacts-workspace th:nth-child(3){width:190px}.contacts-workspace th:nth-child(4){width:130px}.contacts-workspace th:nth-child(5){width:150px}.contacts-workspace th:nth-child(6){width:170px}.contacts-workspace th:nth-child(7){width:85px}.contacts-workspace th:nth-child(8){width:90px}.contacts-workspace td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-stage="Active"]{background:#1d362b;border-color:#4b9970;color:#a7e3ba}html[data-theme=light] .badge[data-stage="Active"]{background:#e3f2e8;border-color:#80ae91;color:#245c37}
/* Schedules: one horizontal scrollbar per pane, shared vertical alignment, sticky headers. */
.schedule-workspace{padding:0;border:0;background:transparent}.schedule-workspace .toolbar{display:flex;gap:8px;align-items:end;margin-bottom:16px}.schedule-workspace .toolbar label:first-child{flex:1}.schedule-workspace .center{text-align:center}.schedule-workspace .row-actions{text-align:center}.schedule-dashboard,.schedule-status{display:flex;align-items:center;gap:24px;padding:12px;border:1px solid var(--border,#666);border-radius:4px;margin:16px 0;background:var(--panel)}.schedule-status label{display:flex;align-items:center;gap:8px;margin:0}.schedule-status input[role=switch]{width:32px}.schedule-tabs{display:flex;gap:8px;padding:8px;background:var(--border,#444);margin-bottom:0;align-items:center}.schedule-tabs button,.schedule-tools button{flex:none}.schedule-tabs button[aria-pressed=true],.schedule-tools button[aria-pressed=true]{background:#c4a626;color:#111;border-color:#d0b43d}.schedule-tabs button:not([aria-pressed=true]){background:var(--panel);color:var(--text);border-color:var(--border,#777)}.schedule-tools{display:flex;align-items:center;gap:12px;padding:8px;min-height:48px;flex-wrap:wrap;margin-bottom:16px}.schedule-tools button{background:transparent;color:var(--text);border:1px solid transparent;padding:6px 12px}.schedule-tools button:hover{background:#514722;border-color:#c4a626}.schedule-tools label{display:flex;align-items:center;gap:8px;margin:0}.schedule-tools select{max-width:130px}.schedule-split{display:grid;grid-template-columns:var(--split,62%) 6px minmax(0,1fr);height:600px;max-height:70vh;min-height:300px;border:1px solid #777;overflow:hidden}.schedule-split.list-only{display:block}.schedule-left{overflow-x:scroll;overflow-y:hidden;min-width:0;scrollbar-gutter:stable;height:100%}.schedule-split.list-only .schedule-left{overflow:scroll}.schedule-chart{overflow:scroll;min-width:0;scrollbar-gutter:stable;height:100%}.schedule-divider{background:#777;cursor:col-resize;touch-action:none}.schedule-grid{table-layout:fixed;border-collapse:collapse;min-width:0!important}.schedule-grid th{height:48px;position:sticky;top:0;z-index:2;background:var(--panel);box-sizing:border-box;text-align:center;font-size:10px;border:1px solid #777}.schedule-grid th:nth-child(2){text-align:left;position:relative;top:auto}.schedule-grid thead{position:sticky;top:0;z-index:2;background:var(--panel)}.schedule-grid td{height:44px;box-sizing:border-box;padding:6px;border:1px solid #777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-grid tr.selected td{outline:1px solid #b49b36;outline-offset:-1px}.schedule-grid .schedule-group{font-weight:bold;background:rgba(128,128,128,.12)}.schedule-grid :is(input,select){padding:4px;width:100%;min-width:0;box-sizing:border-box;text-align:center;height:28px;font-size:11px}.schedule-grid .schedule-name{display:flex;align-items:center;gap:4px}.schedule-grid .schedule-name input{text-align:left}.schedule-grid .schedule-name button{padding:2px 5px;min-width:18px;height:24px;flex:none}.schedule-grid :is(input,select):disabled{appearance:none;background:transparent;border-color:transparent;opacity:1;color:var(--text);pointer-events:none}.schedule-grid input:disabled::-webkit-calendar-picker-indicator{display:none}.chart-axis{position:sticky;top:0;height:48px;display:grid;z-index:2;background:var(--panel);border-bottom:1px solid #777;box-sizing:border-box}.chart-axis span{border-right:1px solid #777;font-size:9px;overflow:hidden;padding:12px 0}.chart-track{height:44px;position:relative;background-image:linear-gradient(to right,rgba(128,128,128,.22) 1px,transparent 1px);border-bottom:1px solid rgba(128,128,128,.35);box-sizing:border-box}.gantt-bar{position:absolute;top:14px;height:14px;background:#7b9fae}.gantt-bar span{position:absolute;left:100%;padding-left:4px;white-space:nowrap;font-size:10px;top:-1px}.gantt-bar.group{height:6px;top:18px;background:#94999d}.gantt-bar.milestone{width:10px!important;height:10px;transform:rotate(45deg);background:#c6ae47}.gantt-bar.milestone span{transform:rotate(-45deg);left:18px}.gantt-bar.critical{background:#c64747}.baseline-bar{position:absolute;top:34px;height:3px;background:#5b98cc}.baseline-indicator{color:#72b9ee}.schedule-context{position:fixed;z-index:5000;display:flex;flex-direction:column;width:205px;padding:8px;background:var(--panel);border:1px solid #888;border-radius:4px;box-shadow:0 4px 16px #0008}.schedule-context button{text-align:left;padding:6px 12px}.column-grip{position:absolute;right:0;top:0;height:100%;width:8px;cursor:col-resize;touch-action:none}.schedule-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#888}.schedule-month>div{background:var(--panel);padding:8px;min-height:100px}.schedule-workspace .chart-inner{min-height:100%}.schedule-workspace~dialog input[type=checkbox]{width:auto}
.schedule-status label,.schedule-tools label{flex-direction:row}.schedule-status input[role=switch],.schedule-tools input[role=switch]{appearance:none!important;position:relative;width:34px!important;min-width:34px;min-height:18px!important;height:18px;padding:0;border-radius:12px!important;background:#555;cursor:pointer}.schedule-status input[role=switch]:after,.schedule-tools input[role=switch]:after{content:"";display:block;position:absolute;width:12px;height:12px;border-radius:50%;background:#eee;top:2px;left:2px}.schedule-status input[role=switch]:checked,.schedule-tools input[role=switch]:checked{background:#9a8327}.schedule-status input[role=switch]:checked:after,.schedule-tools input[role=switch]:checked:after{left:18px}.schedule-grid :is(input,select){min-height:28px!important;line-height:16px}.schedule-grid .schedule-name button{min-height:24px!important}.schedule-grid th{padding:6px}.schedule-tools label{align-items:center}.schedule-tools label select{min-height:30px}.schedule-grid th:nth-child(2){position:sticky;top:0}

/* Theme parity: navigation is quiet; schedule section selection is explicit. */
html[data-theme=light] body:not(.signed-out) aside nav button:not([aria-current=page]){background:transparent;border-color:transparent;color:var(--text)}
.schedule-tabs{background:var(--band)}
html[data-theme=light] body:not(.signed-out) .schedule-tabs button:not([aria-pressed=true]){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-theme=light] body:not(.signed-out) .schedule-tabs button[aria-pressed=true]{background:var(--gold);color:#171717;border-color:var(--gold)}
html[data-theme=light] body:not(.signed-out) .schedule-tools button:not([aria-pressed=true]){background:transparent;color:var(--text);border-color:transparent}
html[data-theme=light] body:not(.signed-out) .schedule-tools button:hover{background:#eee7cf;border-color:#a48c3b}
.my-work-workspace{padding:0;border:0;background:transparent}.my-work-workspace .toolbar{align-items:end}.my-work-workspace .toolbar label:first-child{flex:1}.my-work-workspace table{min-width:1050px;table-layout:fixed}.my-work-workspace th:first-child{width:190px}.my-work-workspace th:nth-child(2){width:145px}.my-work-workspace th:nth-child(3){width:150px}.my-work-workspace th:nth-child(4){width:auto}.my-work-workspace th:nth-child(5){width:125px}.my-work-workspace th:nth-child(6){width:130px}.my-work-workspace th:nth-child(7){width:115px}.my-work-workspace td:nth-child(n+5){text-align:center}
.reports-workspace{padding:0;border:0;background:transparent}.report-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.report-choice{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.reports-workspace .detail-heading{margin-bottom:16px}.reports-workspace .toolbar{align-items:end}.reports-workspace table{table-layout:auto;min-width:900px}.reports-workspace .amount{text-align:right}.reports-workspace th{text-align:center}.reports-workspace th:first-child{text-align:left}.reports-workspace tr.subtotal{font-weight:bold;background:var(--band)}@media(max-width:850px){.report-catalog{grid-template-columns:1fr}}

.weekly-workspace{padding:0;border:0;background:transparent}.weekly-workspace .detail-heading{margin-bottom:16px}.weekly-workspace .setup-fields>label{min-width:0;display:flex;flex-direction:column;gap:6px}.weekly-workspace .setup-fields textarea{min-height:96px}.weekly-workspace label.check-option{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;margin:0}.weekly-workspace .check-option input{width:16px;height:16px;min-height:0;margin:0;flex:0 0 16px}.weekly-workspace .row-actions{margin-top:16px}.weekly-workspace .detail-heading .row-actions{margin:0}.weekly-workspace table th:nth-child(2){width:200px}.weekly-workspace table th:nth-child(3){width:100px}.weekly-workspace table th:last-child{width:120px}.weekly-workspace table td:not(:first-child){text-align:center}.reports-workspace td:not(.amount){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.company-settings-workspace{padding:0;border:0;background:transparent}.company-settings-workspace>.project-panel{margin-top:16px}.company-settings-workspace textarea{min-height:120px}.signer-signature{margin:16px 0}.signer-signature img{display:block;width:280px;max-height:100px;object-fit:contain;background:white;padding:8px;border:1px solid var(--line)}.signer-signature .row-actions{margin:8px 0}

.portal-workspace{padding:0;border:0;background:transparent}.portal-workspace>.project-panel{margin-top:16px}.portal-workspace .detail-heading{margin-bottom:16px}.portal-workspace table th:first-child{width:auto}.portal-workspace table th:last-child{width:330px}.portal-workspace .portal-response{border:1px solid var(--line);padding:6px 12px;white-space:pre-wrap;margin-bottom:16px}.portal-workspace textarea{min-height:120px}.portal-workspace form>button{margin-top:16px}

/* Action cells are controls, never clipped ledger text. Preserve real table cells. */
main table td.row-actions{display:table-cell!important;white-space:normal!important;overflow:visible;text-overflow:clip;vertical-align:middle;text-align:center}
main table td.row-actions>button{display:inline-block;white-space:nowrap;max-width:none;margin:4px}
main table:has(td.row-actions)>thead>tr>th:last-child{width:240px!important;text-align:center}
#client-billing-workspace>.project-panel,#client-billing-workspace>.estimate-totals{margin-bottom:16px}
#client-billing-workspace .project-panel>.actions{margin-top:16px;margin-bottom:16px}
#client-billing-workspace th{text-align:center;white-space:normal;text-overflow:clip}
#client-billing-workspace th:first-child{width:100px}
#client-billing-workspace td.center{text-align:center}
.badge:is([data-stage="Awaiting Execution"],[data-stage="Awaiting Clearance Review"]){background:#493b18;border-color:#ad8d2e;color:#ffe19a}
html[data-theme=light] .badge:is([data-stage="Awaiting Execution"],[data-stage="Awaiting Clearance Review"]){background:#fff2cf;border-color:#b99a4a;color:#70520b}

/* Approved neutral light theme — November 2, 2026. Dark theme and document styles unchanged. */
html[data-theme=light],html[data-theme=light] body{--bg:#ffffff;--panel:#f5f6f7;--band:#e9ecef;--text:#24282d;--line:#d0d4d9;color-scheme:light}
html[data-theme=light] body:not(.signed-out){--bg:#ffffff;--panel:#f5f6f7;--band:#e9ecef;--text:#24282d;--line:#d0d4d9;background:#fff;color:var(--text)}
html[data-theme=light] body:not(.signed-out) aside{background:#f5f6f7;border-color:#dce0e4}
html[data-theme=light] body:not(.signed-out) header{background:#f5f6f7;border-color:#dce0e4}
html[data-theme=light] body:not(.signed-out) .project-panel{background:var(--panel);border-color:#dce0e4}
html[data-theme=light] body:not(.signed-out) :is(input,select,textarea){background:#fff;color:#24282d;border-color:#c6cbd1}
html[data-theme=light] body:not(.signed-out) :is(th,td){border-color:#d0d4d9}
html[data-theme=light] body:not(.signed-out) th{background:var(--band);color:#505861}
html[data-theme=light] body:not(.signed-out) aside nav button{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:#343a41!important}
html[data-theme=light] body:not(.signed-out) aside nav button:hover{background:#e9ecef!important}
html[data-theme=light] body:not(.signed-out) aside nav button[aria-current=page]{background:#e5e8eb!important;border-color:#c7ccd1!important;box-shadow:inset 2px 0 #69737d!important;color:#20252a!important;font-weight:600}
html[data-theme=light] body:not(.signed-out) button:where(:not(.primary):not(#theme):not(#sidebar-toggle)){background:#fff;color:#343a41;border-color:#bfc6cd}
html[data-theme=light] body:not(.signed-out) button:where(:not(.primary):not(#theme):not(#sidebar-toggle)):hover{background:#e9ecef}
html[data-theme=light] body:not(.signed-out) button.primary{background:#e1e5e9;border-color:#aab3bc;color:#20252a;font-weight:600}
html[data-theme=light] :is(button,input,select,textarea):focus-visible{outline:2px solid #69737d;outline-offset:2px}
html[data-theme=light] .company-logo{filter:none}

/* Approved header order: account, theme, company settings. */
header>.actions{align-items:center;gap:12px;flex-wrap:nowrap}
#account-menu{position:relative;order:1}
#theme{order:2}
#company-settings-gear{order:3;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--text)!important;min-width:24px;min-height:24px;padding:2px!important;font-size:18px;line-height:1}
#account-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 0;white-space:nowrap}
#account-menu>summary::-webkit-details-marker{display:none}
#account-menu>summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.account-menu-items{position:absolute;right:0;top:calc(100% + 8px);z-index:1000;min-width:180px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 12px #0002;display:grid;gap:4px}
.account-menu-items>button{text-align:left;white-space:nowrap}
.signed-out #account-menu{display:none}

/* Single-action company registers keep space for their descriptive columns. */
main .my-work-workspace table:has(td.row-actions)>thead>tr>th:last-child{width:115px!important}
main .contacts-workspace table:has(td.row-actions)>thead>tr>th:last-child{width:90px!important}

/* Contact form parity: explicit compact switch, collapsed multi-role chooser, visible actions in both themes. */
.contact-dialog .contact-status{display:flex;align-items:center;gap:8px;margin:16px 0}.contact-status-title{margin-right:12px}
.contact-dialog .contact-status input[role=switch]{appearance:none;width:34px;min-width:34px;height:20px;min-height:20px;padding:0;border-radius:12px;background:#717780;position:relative;cursor:pointer;margin:0}
.contact-dialog .contact-status input[role=switch]:after{content:'';position:absolute;width:14px;height:14px;top:2px;left:2px;border-radius:50%;background:white}
.contact-dialog .contact-status input[role=switch]:checked{background:#9a8327}.contact-dialog .contact-status input[role=switch]:checked:after{left:16px}
.contact-role-field{display:flex;flex-direction:column;gap:6px;min-width:0}.contact-roles{position:relative;min-width:0}.contact-roles summary{display:block;cursor:pointer;padding:6px 28px 6px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:34px;box-sizing:border-box;position:relative}.contact-roles summary:after{content:'⌄';position:absolute;right:10px}.contact-role-options{position:absolute;top:100%;left:0;right:0;z-index:5;background:var(--panel);border:1px solid var(--line);padding:8px;box-shadow:0 4px 12px #0003;max-height:220px;overflow:auto}.contact-role-options label{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px;margin:0}.contact-role-options input{width:14px;min-height:14px;height:14px;margin:0}
.contact-dialog .actions button,.contact-dialog~dialog .actions button{background:#3c351d;color:#ffe18a;border:1px solid #a48c3b;padding:6px 12px;border-radius:4px}
html[data-theme=light] .contact-dialog .actions button,html[data-theme=light] .contact-dialog~dialog .actions button{background:#fff4ce;color:#604900;border-color:#a48c3b}
.contact-dialog .actions button:hover{filter:brightness(.94)}.contact-dialog :is(summary,input):focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.contacts-workspace .toolbar>button{flex:none;white-space:nowrap;align-self:flex-end;min-height:34px}.contacts-workspace .toolbar{flex-wrap:wrap}.contacts-workspace .toolbar label:first-child{min-width:200px}

/* Shared register toolbar contract: Projects, Contacts and My Work. */
body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) .toolbar{background:#282c30;padding:12px;margin-bottom:16px;gap:8px;align-items:flex-end}
html[data-theme=light] body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) .toolbar{background:#f5f6f7}
body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) .toolbar :is(input,select,button){height:34px;min-height:34px;padding:6px 12px;box-sizing:border-box}
body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) .toolbar label{font-size:12px;line-height:1.4;color:var(--text)}
body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) button.primary{background:#c8ab28;border-color:#a48c3b;color:#171717;font-weight:400}
body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) :is(.row-actions,.toolbar) button:not(.primary){background:#3c351d;border-color:#a48c3b;color:#ffe18a}
html[data-theme=light] body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) :is(.row-actions,.toolbar) button:not(.primary){background:#fff4ce;border-color:#a48c3b;color:#604900}

/* Owner reference supersedes filled-gold register actions: neutral fills in both themes. */
body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) :is(.toolbar,.row-actions) button:not(#theme),
body:not(.signed-out) .contact-dialog .actions button:not(#theme),
body:not(.signed-out) .contact-dialog~dialog .actions button:not(#theme){background:#302c1e;border:1px solid #a48c3b;color:#e8c84e;font-weight:400}
html[data-theme=light] body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) :is(.toolbar,.row-actions) button:not(#theme),
html[data-theme=light] body:not(.signed-out) .contact-dialog .actions button:not(#theme),
html[data-theme=light] body:not(.signed-out) .contact-dialog~dialog .actions button:not(#theme){background:#e9ecef;border-color:#aab3bc;color:#24282d;font-weight:400}
body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) :is(.toolbar,.row-actions) button:not(#theme):hover{background:#3c3622}
html[data-theme=light] body:not(.signed-out) :is(#projects,.contacts-workspace,.my-work-workspace) :is(.toolbar,.row-actions) button:not(#theme):hover{background:#dde2e6}

/* Project Overview uses the approved theme/action contract and preserves narrative text. */
.overview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.overview-cards .project-panel{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.overview-cards strong{font-size:20px;overflow-wrap:anywhere}.overview-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:16px}.overview-side{min-width:0}.overview-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.overview-narrative{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.overview-narrative p{white-space:pre-wrap;overflow-wrap:anywhere}.overview-switch-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.overview-switch-row label{display:flex;align-items:center;gap:8px;flex-direction:row;margin:0}.overview-switch-row input[role=switch]{appearance:none;width:34px;min-width:34px;height:20px;min-height:20px;padding:0;border-radius:12px;background:#717780;position:relative;cursor:pointer}.overview-switch-row input[role=switch]:after{content:'';position:absolute;width:14px;height:14px;top:2px;left:2px;border-radius:50%;background:white}.overview-switch-row input[role=switch]:checked{background:#9a8327}.overview-switch-row input[role=switch]:checked:after{left:16px}.overview-switch-row input:disabled{cursor:default;opacity:.65}#project-detail .detail-table th{width:180px}#project-detail .detail-table td{white-space:normal;overflow-wrap:anywhere}.overview-dialog{width:min(760px,90vw);max-height:88vh;overflow:auto}.overview-dialog textarea{min-height:90px}#project-detail button,.overview-dialog button{background:#302c1e!important;border:1px solid #a48c3b!important;color:#e8c84e!important;padding:6px 12px;border-radius:4px}html[data-theme=light] #project-detail button,html[data-theme=light] .overview-dialog button{background:#e9ecef!important;border-color:#aab3bc!important;color:#24282d!important}#project-detail button:hover,.overview-dialog button:hover{filter:brightness(.94)}@media(max-width:900px){.overview-columns{grid-template-columns:1fr}.overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

#project-detail>.project-panel{margin-top:16px}.overview-side>.project-panel+.project-panel{margin-top:16px}.overview-switch-row input[role=switch]{background:#717780!important;border:1px solid #717780!important}.overview-switch-row input[role=switch]:checked{background:#9a8327!important}.overview-switch-row input[role=switch]:after{display:block!important;content:''!important;background:#fff!important;transform:none!important}.overview-switch-row input[role=switch]:checked:after{left:16px!important}#project-detail .overview-columns{margin-bottom:16px}
