
:root{--bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#6b7280;--accent:#173b67;--gold:#c69a2d;--danger:#b42318;--ok:#177245;--warn:#a35d00;--line:#dde3ec}
#accountingHost .field{min-width:0}#accountingHost input,#accountingHost select{width:100%;min-width:0}#accountingHost form.grid{grid-template-columns:repeat(4,minmax(0,1fr))}#accountingHost .accounting-nav{display:flex;gap:8px;flex-wrap:wrap}#accountingHost .card>.grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}#accountingHost table{min-width:640px}@media(max-width:1050px){#accountingHost form.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#accountingHost form.grid,#accountingHost .card>.grid{grid-template-columns:minmax(0,1fr)}}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
header{background:linear-gradient(135deg,var(--accent),#0d2947);color:#fff;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.brand h1{margin:0;font-size:24px}.brand small{opacity:.8}.toolbar{display:flex;gap:8px;flex-wrap:wrap}
button,.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{background:var(--gold);color:#111}.secondary{background:#fff;color:var(--accent)}.ghost{background:#eef3f9;color:var(--accent)}.danger{background:#fde8e7;color:var(--danger)}
.container{max-width:1500px;margin:0 auto;padding:22px}.stats{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}.stat b{font-size:28px;display:block}.stat span{color:var(--muted);font-size:13px}
.tabs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.tab{background:#e8edf4;color:#334155}.tab.active{background:var(--accent);color:white}
.panel{display:none}.panel.active{display:block}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px}.card h3{margin-top:0}
form.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--muted);font-weight:700}.field input,.field select,.field textarea{border:1px solid #cfd7e3;border-radius:9px;padding:9px;font:inherit;background:#fff}.span2{grid-column:span 2}.span4{grid-column:span 4}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}th{color:#52606f;background:#f8fafc;position:sticky;top:0}.tablewrap{overflow:auto;max-height:470px;border:1px solid #edf0f4;border-radius:12px}
.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.b-ok{background:#e7f6ee;color:var(--ok)}.b-warn{background:#fff1dc;color:var(--warn)}.b-danger{background:#fde8e7;color:var(--danger)}.b-muted{background:#edf1f5;color:#55606d}.actions{display:flex;gap:5px;flex-wrap:wrap}.mini{padding:6px 8px;border-radius:8px;font-size:11px}
.empty{padding:22px;text-align:center;color:var(--muted)}.footer{color:var(--muted);font-size:12px;text-align:center;padding:20px}.notice{background:#fff8e8;border:1px solid #f1d691;padding:10px 12px;border-radius:10px;margin-bottom:14px}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}form.grid{grid-template-columns:repeat(2,1fr)}.span4{grid-column:span 2}.grid2{grid-template-columns:1fr}}@media(max-width:650px){.stats{grid-template-columns:1fr}form.grid{grid-template-columns:1fr}.span2,.span4{grid-column:span 1}.container{padding:12px}header{padding:18px}}

[hidden]{display:none!important}body{font-size:16px}.field label,table,.stat span{font-size:14px}.badge,.mini,.footer{font-size:13px}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #228aa6;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}.brand h1{font-size:23px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#0d2947 0%,#173b67 45%,#eef3f9 45%)}.auth-card{width:min(100%,490px);padding:32px;border-radius:18px;background:white;box-shadow:0 24px 80px #0d294733}.auth-card h1{font-size:26px;line-height:1.25}.auth-card form{display:grid;gap:16px}.auth-card .eyebrow{font-size:14px;color:#52606f;letter-spacing:.08em}.auth-card button{min-height:44px}.auth-card .field input{width:100%}.auth-card details{margin-top:18px}.auth-card p{line-height:1.5}.auth-card .primary{background:#173b67;color:white}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.filters .field{min-width:140px;flex:1}.filters .field:first-child{flex:2}.statusline{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px;color:#52606f}.statusline button{white-space:nowrap}.flash{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:50;padding:16px 22px;background:#173b67;color:white;border-radius:12px;max-width:90vw;box-shadow:0 8px 30px #0003}.flash.error{background:#9b241c}.account-bar{display:flex;align-items:center;gap:12px;margin-top:10px}.editor-label{background:#e8f1fb;border-left:4px solid #173b67;padding:12px;margin-bottom:12px}.notice{line-height:1.5}.footer{padding:18px}.auth-error{color:#a82017}.sync-warning{color:#a82017}.tabs{border-bottom:1px solid #dde3ec;padding-bottom:14px}.stat:first-child{border-top:4px solid #173b67}.stat{min-height:100px}.card h3{font-size:18px}.tablewrap{max-height:600px}.tablewrap td{max-width:340px;overflow-wrap:anywhere}summary{cursor:pointer;color:#173b67;font-weight:600}#gateMessage{white-space:pre-line}@media(max-width:650px){.auth-card{padding:22px}.auth-shell{padding:14px}.filters .field{min-width:100%}.statusline{align-items:start}.toolbar{width:100%}.brand h1{font-size:20px}}

.brand-logo{width:240px;max-width:100%;height:auto;background:#fff;border-radius:6px;padding:4px;margin-bottom:10px}.full-width{grid-column:1/-1}.invoice-lines{display:grid;gap:12px}.invoice-line{display:grid;grid-template-columns:2fr repeat(5,1fr) auto;gap:10px;border:1px solid #cbd5e1;border-radius:10px;padding:12px;min-width:0}.invoice-line label{font-size:14px;min-width:0}.invoice-line input,.invoice-line select{display:block;width:100%;min-width:0}.line-total{font-weight:700;color:#173b67}.debt-totals{display:flex;flex-wrap:wrap;gap:12px}.debt-totals>div{display:flex;flex-direction:column;padding:12px 18px;border:1px solid #dce4ee;border-left:3px solid #b28b48;border-radius:8px;min-width:150px}.invoice-dialog{width:min(900px,95vw);max-height:92vh;border:0;border-radius:14px;padding:24px;background:#eef3f9}.invoice-dialog::backdrop{background:#0d2947aa}.preview-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.invoice-paper{background:white;padding:30px;margin:16px 0;border-top:4px solid #b28b48}.invoice-logo{width:320px;max-width:100%;height:auto}.document-state{font-size:14px;color:#675126}.document-total{text-align:right;border-top:2px solid #173b67;padding-top:16px}.invoice-paper td,.invoice-paper div{overflow-wrap:anywhere}.invoice-paper table{min-width:650px}.stats{grid-template-columns:repeat(3,1fr)}#dashboardFilters{margin-top:0}#dashScope{width:100%;margin:0;font-size:14px}details.card>summary{padding-bottom:12px}@media(max-width:1000px){.invoice-line{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-line label:first-of-type{grid-column:1/-1}}@media(max-width:650px){.invoice-line{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:1fr 1fr}.invoice-paper{padding:14px}.invoice-dialog{padding:12px}.debt-totals>div{flex:1}.brand-logo{width:200px}}

.import-review{max-height:420px;overflow:auto}.import-review thead{position:sticky;top:0;background:#eef3f9}[data-columns]{margin:16px 0}[data-preview]{margin:16px 0}

/* Persistent navigation and explicit selection, keeping the adviser blue. */
.workspace-layout{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1800px;margin:0 auto;align-items:start}
.workspace-layout>.container{width:100%;min-width:0;margin:0;padding:22px}
.workspace-layout>.tabs{display:flex;flex-direction:column;flex-wrap:nowrap;position:sticky;top:16px;margin:22px 0 22px 18px;padding:12px;gap:7px;background:#fff;border:1px solid #cfdae8;border-radius:14px;max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 4px 16px #173b6708}
.tabs .tab{text-align:left;width:100%;min-height:46px;line-height:1.35;padding:12px 14px;border:1px solid transparent;border-left:4px solid transparent;background:#f2f5fa;color:#173b67;border-radius:8px;font-weight:600}
.tabs .tab.active,.tabs .tab[aria-pressed="true"]{background:#173b67;color:#fff;border-color:#173b67;border-left-color:#d8b55e;font-weight:750;box-shadow:0 3px 9px #173b6740}
#accountingHost .accounting-nav{margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #d8e1ed}
.accounting-nav button{border:1px solid #c7d5e5;min-height:44px;font-weight:600}
.accounting-nav button.active,.accounting-nav button[aria-pressed="true"]{background:#173b67;color:#fff;border-color:#173b67;box-shadow:inset 0 -3px #d8b55e,0 3px 8px #173b6726;font-weight:750}
button{transition:background-color .12s ease,box-shadow .12s ease,transform .12s ease}
button:not(:disabled):hover{box-shadow:0 3px 9px #173b672e;filter:brightness(.96)}
button:not(:disabled):active{transform:translateY(1px)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #3172ad;outline-offset:3px}
.field{min-width:0}.field input,.field select,.field textarea{min-width:0;max-width:100%}
.party-finder{grid-column:1/-1;position:relative;gap:8px;padding:14px;border:1px solid #c3d5e9;background:#f4f8fd;border-radius:10px}
.party-search-controls{display:flex;gap:10px;align-items:center}.party-search-controls input{flex:1}.party-search-controls button{flex-shrink:0}
.party-finder small{color:#455d77;font-size:14px;line-height:1.4}
.party-search-results{position:absolute;left:14px;right:14px;top:90px;z-index:8;background:#fff;border:1px solid #9eb6d2;border-radius:10px;box-shadow:0 12px 25px #173b6733;max-height:310px;overflow-y:auto;padding:6px}
.party-search-results [role="option"]{display:flex;align-items:start;justify-content:space-between;gap:16px;width:100%;text-align:left;padding:12px;border-radius:6px;background:#fff;color:#173b67;font-size:14px;line-height:1.45;border-bottom:1px solid #e5ecf4;overflow-wrap:anywhere}
.party-search-results [role="option"] span{white-space:nowrap;color:#526780;font-weight:500}
.party-search-results [role="option"][aria-selected="true"],.party-search-results [role="option"]:hover{background:#e4eefb;box-shadow:inset 3px 0 #173b67}
.automatic-line-concepts .invoice-line{grid-template-columns:repeat(5,minmax(0,1fr)) auto}
@media(max-width:1200px){.workspace-layout{grid-template-columns:200px minmax(0,1fr)}.workspace-layout>.container{padding:18px}.automatic-line-concepts .invoice-line{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-line{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-line label:first-of-type{grid-column:1/-1}}
@media(max-width:800px){.workspace-layout{grid-template-columns:minmax(0,1fr)}.workspace-layout>.tabs{position:static;margin:14px 12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.workspace-layout>.container{padding:14px}.tabs .tab{font-size:14px}.party-search-controls{flex-wrap:wrap}.party-search-controls input{flex-basis:100%}.party-search-results{position:static;max-height:280px}.party-search-results [role="option"]{flex-direction:column;gap:4px}.automatic-line-concepts .invoice-line{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Dashboard details keep a bounded size even for a full client portfolio. */
#dashboard .stats{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}.stat{min-width:0}.stat>b{overflow-wrap:anywhere}.stat-detail{height:132px;overflow:auto;margin-top:10px;font-size:14px;line-height:1.45;border-top:1px solid #e2e9f2}.stat-detail p{margin:8px 0}.stat-detail strong{font-size:inherit}.stat>span{display:block;overflow-wrap:anywhere}#sClientLabel{max-height:3em;overflow:auto}.dashboard-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-chart{min-width:0}.dashboard-chart .plot-wrap>svg{width:100%;max-height:180px}.chart-legend{list-style:none;margin:10px 0;padding:0;max-height:170px;overflow:auto}.chart-legend li{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:14px}.chart-legend strong{margin-left:auto;white-space:nowrap}.chart-dot{width:10px;height:10px;flex-shrink:0;border-radius:2px}.chart-color-0{fill:#1688b5;background:#1688b5}.chart-color-1{fill:#279eaa;background:#279eaa}.chart-color-2{fill:#7850a7;background:#7850a7}.chart-color-3{fill:#be8130;background:#be8130}.chart-total{font-weight:700}.dashboard-chart>p{font-size:14px;color:#526780}input[readonly]{background:#edf2f7;color:#465b72}
@media(max-width:1050px){#dashboard .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-charts{grid-template-columns:1fr}}@media(max-width:550px){#dashboard .stats{grid-template-columns:1fr}}

.payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.payment-summary>div{padding:14px;border:1px solid #cbd9e8;border-radius:10px;border-top:3px solid #173b67}.payment-summary strong,.payment-summary span{display:block;overflow-wrap:anywhere}.payment-summary strong{font-size:23px;margin-top:8px}.payment-summary span{font-size:14px}@media(max-width:900px){.payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact header is exclusive to the administrator. Client layout stays unchanged. */
.admin-layout>header{padding:14px 24px;gap:20px;align-items:center}
.admin-layout>header .brand{display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:20px;align-items:center}
.admin-layout>header .brand-logo{grid-column:1;grid-row:1/4;width:170px;margin:0;padding:3px}
.admin-layout>header .brand h1{grid-column:2;font-size:20px;margin:0 0 4px;line-height:1.3}
.admin-layout>header .brand>small{grid-column:2;font-size:13px}
.admin-layout>header .account-bar{grid-column:2;margin-top:5px;font-size:14px}
.admin-layout>header .toolbar>[onclick="exportBackup()"],.admin-layout>header .toolbar>label[for="importFile"],.admin-layout>header #changePassword{display:none}
.admin-layout .tab[data-tab="settings"]{margin-top:10px;border-top:1px solid #c7d5e5}
#settings .card{max-width:800px}#settings h3{margin-top:28px}#settings .actions{gap:12px}
@media(max-width:650px){.admin-layout>header{padding:12px 16px}.admin-layout>header .brand{grid-template-columns:110px minmax(0,1fr);column-gap:12px}.admin-layout>header .brand-logo{width:110px}.admin-layout>header .brand h1{font-size:17px}.admin-layout>header .toolbar{width:auto}}

.fiscal-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:16px 0}.fiscal-filters label{display:grid;gap:6px;font-size:14px}.fiscal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fiscal-metrics .card{display:flex;flex-direction:column;gap:8px}.fiscal-metrics strong{font-size:1.6rem}.fiscal-metrics span{font-size:14px}.fiscal-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:16px}.fiscal-models label{padding:12px;background:#f0f4f9;border-radius:8px}.fiscal-models input,.fiscal-check input{width:auto}.fiscal-models small{display:block;margin-left:24px}.fiscal-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.fiscal-months div{background:#f0f4f9;padding:12px;border-top:3px solid #1a3e66;border-radius:6px}.fiscal-months span{display:block;font-size:14px;margin-top:5px}.fiscal-warning{border-left:3px solid #c49b29;padding:8px 12px;background:#fff9eb}#fiscalHost summary{cursor:pointer;font-weight:600}#fiscalHost textarea{display:block;width:100%;min-height:70px}.fiscal-check{display:block;margin:18px 0}#fiscalHost td{vertical-align:top}#fiscalHost small{font-size:13px}#fiscalHost .actions{flex-wrap:wrap}@media(max-width:700px){.fiscal-metrics{grid-template-columns:1fr}.fiscal-months{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Persistent navigation control and readable glass surfaces. */
#workspace{background:radial-gradient(ellipse at top left,#dfebf5 0,transparent 60%),#f3f6fb;padding-bottom:64px}
.menu-toggle{position:fixed;left:18px;bottom:16px;z-index:90;background:#173b67;color:#fff;border:1px solid #aec1d9;box-shadow:0 4px 18px #173b6733;padding:12px 16px;min-height:44px;border-radius:12px;font-weight:700}
.menu-toggle:focus-visible{outline:3px solid #c79c2b;outline-offset:3px}
.workspace-layout.menu-collapsed{grid-template-columns:minmax(0,1fr)}
.workspace-layout>.tabs[hidden]{display:none!important}
.workspace-layout>.tabs{max-height:calc(100vh - 94px)}
#workspace .card,#workspace .stat,.workspace-layout>.tabs{background:rgba(255,255,255,.82);border:1px solid #cedbea;box-shadow:0 6px 24px #173b6709;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#workspace .b-danger{background:#fee2e2;color:#a51d24;border:1px solid #f4b8bc}
#workspace .b-warn{background:#fff0d8;color:#934800;border:1px solid #efc189}
#workspace .b-ok{background:#dcf4e6;color:#16613b;border:1px solid #9cd3b6}
#workspace .fiscal-warning{background:#fff0f0;border-left-color:#bb3038;color:#8b2028}
@media(prefers-reduced-transparency:reduce){#workspace .card,#workspace .stat,.workspace-layout>.tabs{background:#fff;backdrop-filter:none}}
@media print{.menu-toggle{display:none}}

.workspace-layout,.workspace-layout>.container{max-width:none;width:100%}.invoice-editor{width:min(1250px,96vw);max-height:92vh;overflow:auto;border:1px solid #cbd9e8;border-radius:16px;background:#eef3f9;padding:18px}.invoice-editor::backdrop{background:#102d4d99}.invoice-editor>#ac-editor-close{position:sticky;top:0;float:right;z-index:2}.badge{white-space:nowrap}#ac-new{margin:0 0 16px}#ac-content .filters input{display:block}#book-scope{font-size:14px;color:#526780}

.fiscal-dialog{width:min(1200px,96vw);max-height:92vh;overflow:auto;border:1px solid #cbd9e8;border-radius:16px;background:#eef3f9;padding:0 20px 20px;color:#173b67}.fiscal-dialog::backdrop{background:#102d4d99}.fiscal-dialog-header{position:sticky;top:0;z-index:3;background:#eef3f9;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0}.fiscal-dialog-header h2{margin:0;font-size:20px}.fiscal-dialog #fiscal-dialog-message{color:#a51d24}.fiscal-dialog #fiscal-dialog-message:empty{display:none}.fiscal-dialog .fiscal-filters{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.fiscal-dialog input[type="checkbox"]{width:auto}@media(max-width:600px){.fiscal-dialog{padding:0 12px 12px}.fiscal-dialog .fiscal-filters{grid-template-columns:1fr}}

.dialog-error-notice{position:sticky;top:0;z-index:20;background:#a51d24;color:white;border:2px solid #ffd0d3;border-radius:10px;padding:16px 20px;margin:0 0 16px;box-shadow:0 5px 18px #60101a33;font-weight:600;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.dialog-error-notice:focus{outline:3px solid #f3ae43;outline-offset:2px}

.vat-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#vat-summary-host>details{margin-top:18px}#vat-summary-host input{display:block;width:100%}@media(max-width:650px){.vat-summary-metrics{grid-template-columns:1fr}}

/* Shared readable typography and status hierarchy. */
body{font-family:'Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.5;color:#243449}
button,input,select,textarea{font-family:inherit;font-size:14px;line-height:1.4}
h1,h2,h3,summary{letter-spacing:-.015em}h2{font-size:23px}h3{font-size:18px}
table{font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
th{font-size:13px;font-weight:700;color:#34465e}td{padding:12px 10px}td b,td strong{font-weight:650}
.field label,.fiscal-filters label{font-size:14px;color:#40546c}
small,#fiscalHost small{font-size:13px;line-height:1.45}
.badge{display:inline-block;font-size:13px;font-weight:700;line-height:1.45;padding:4px 9px;border-radius:8px;white-space:normal;word-break:normal;overflow-wrap:normal;margin:2px 0;border:1px solid transparent;max-width:100%}
.badge.b-danger{color:#9f1927;background:#fff0f1;border-color:#edb0b7}
.badge.b-warn{color:#8a4300;background:#fff4e5;border-color:#e8bf87}
.badge.b-ok{color:#17613d;background:#eaf7ef;border-color:#9ecdb0}
.badge.b-muted{color:#48566a;background:#eff3f7;border-color:#d4dce5}
.badge.is-overdue,.overdue-date{color:#a51122;font-weight:800}
.badge.is-overdue{border-left:4px solid #bb2132}
tbody tr:hover{background:#edf4fb}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #337abc;outline-offset:3px}
@media(max-width:650px){input,select,textarea{font-size:16px}table{font-size:14px}}
@media print{.badge{background:white!important;color:#172333!important;border-color:#777!important}}

.followup-button{position:fixed;right:18px;bottom:18px;z-index:20;background:#173b67;color:white;box-shadow:0 3px 12px #173b6733}
#followup-dialog{width:min(760px,94vw);max-height:88vh;border:1px solid #cbd9e8;border-radius:16px;background:#f5f8fc;color:#243449;padding:20px}
#followup-dialog::backdrop{background:#102d4d99}#followup-dialog header{padding:12px;border-radius:10px}#followup-dialog label{display:block;margin-top:12px}
#followup-dialog input,#followup-dialog select{width:100%;padding:10px}
#followup-dialog article{background:white;border:1px solid #d8e2ef;border-radius:10px;padding:14px;margin:12px 0}#followup-dialog h3{margin:6px 0}
#workspace:not(.admin-layout) .followup-button,#workspace:not(.admin-layout) #followup-dashboard{display:none}

.workforce-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0}
.labor-toolbar{grid-template-columns:1.2fr 1.5fr 1fr auto;align-items:end}.labor-toolbar>button{min-height:44px;margin-bottom:0}.worker-finder{position:relative}.worker-results{position:absolute;top:100%;left:0;right:0;max-height:260px;overflow:auto;background:#fff;box-shadow:0 8px 22px #142e4b33;border:1px solid #a9b9cb;z-index:20;padding:8px}.worker-results button{display:block;width:100%;text-align:left;background:#fff;color:#193a60;padding:12px;border-bottom:1px solid #e0e7f0}.worker-results button:hover{background:#eaf1f9}.worker-identity{padding:16px 22px;margin-bottom:16px;background:#fff;border-left:4px solid #183b61;border-radius:8px}.worker-identity strong{font-size:20px;color:#173b67}.worker-identity p{margin:6px 0}.worker-profile{width:min(800px,95vw);background:#fff}.worker-profile .workforce-fields{grid-template-columns:1fr 1fr}.worker-profile details{margin:16px 0;padding:12px 0;border-top:1px solid #d5deea}.worker-profile summary{font-size:16px;font-weight:700;cursor:pointer}.worker-profile>form>label{display:flex;flex-direction:column;gap:6px}.worker-profile input,.worker-profile select{min-height:44px;font-size:16px}.worker-profile form>.actions{position:sticky;bottom:-20px;padding:16px;background:#fff;border-top:1px solid #d5deea}.day-identity{font-weight:700;padding:12px;background:#eaf1f9;border-radius:6px}#workforceHost button,#workforceHost label,#workforceHost summary{font-size:14px}#workforceHost .primary{background:#c49a30;color:#172c42}#workforceHost button:focus-visible,.workforce-editor :focus-visible{outline:3px solid #276eb4;outline-offset:3px}@media(max-width:850px){.labor-toolbar{grid-template-columns:1fr 1fr}}@media(max-width:550px){.labor-toolbar,.worker-profile .workforce-fields{grid-template-columns:1fr}}
.workforce-fields label{display:flex;flex-direction:column;gap:5px;font-weight:600;color:#344960}
.workforce-fields input,.workforce-fields select{width:100%;padding:10px;border:1px solid #c4d0df;border-radius:8px;background:white}
.workforce-editor{width:min(1050px,95vw);max-height:90vh;border:1px solid #b9cadc;border-radius:16px;padding:20px;background:#f4f7fb;color:#243449}
.workforce-editor::backdrop{background:#102d4d99}.workforce-editor header{position:sticky;top:-20px;background:#173b67;padding:14px;border-radius:10px;z-index:2}
.workforce-editor h2{font-size:20px;margin:0}.workforce-error{color:#a51122;font-weight:700}.workforce-error:empty{display:none}
.workforce-table{max-height:65vh;margin-top:18px}.workforce-table th:first-child,.workforce-table td:first-child{position:sticky;left:0;background:#f1f5fa;min-width:200px;z-index:1}.workforce-table th:first-child{z-index:3}
.workforce-table th{min-width:48px}.workforce-table td{white-space:nowrap}.loan-card{border-top:2px solid #b5c8dd;margin-top:20px;padding-top:12px}
#workforceHost .actions{gap:8px;margin:12px 0;flex-wrap:wrap}#loan-company{padding:10px;max-width:100%;margin:12px}
@media(max-width:600px){.workforce-fields{grid-template-columns:1fr}.workforce-editor{padding:12px}}

.daily-editor{width:min(1700px,98vw)}.daily-grid .tablewrap{max-height:52vh}.daily-grid input[type=number]{min-width:90px}.daily-grid input:not([type=checkbox]),.daily-grid select{min-width:110px;padding:8px}.daily-grid input[type=checkbox]{width:20px;height:20px}.daily-grid th:nth-child(2),.daily-grid td:nth-child(2){position:sticky;left:70px;min-width:220px;background:#f1f5fa;z-index:1}.daily-grid th:nth-child(2){z-index:3}.daily-grid th:first-child,.daily-grid td:first-child{min-width:70px;width:70px}.daily-editor form>.actions{position:sticky;bottom:-20px;padding:12px;background:#f4f7fb;z-index:4}
