/* OpsHQ 3.26: shared primitives layered over established workspace behavior. */
:root{
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;
 --font-xs:12px;--font-sm:13px;--font-base:14px;--font-lg:18px;--font-xl:24px;--font-title:30px;
 --radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-pill:999px;
 --navy:#071a2d;--navy-hover:#193751;--gold:#b98335;--bg:#f3f6fa;--panel:#fff;--surface-subtle:#f7f9fc;--line:#dce3ec;--muted:#526277;--text:#182c42;
 --green:#186547;--red:#b12c3c;--blue:#285fa0;--warning:#885b13;--success-bg:#eaf6ef;--warning-bg:#fff5e2;--danger-bg:#fff0f1;
 --focus:#3975b6;--shadow:0 2px 8px #071a2d08;--shadow-popover:0 12px 32px #071a2d24;
 --control-height:44px;--compact-height:36px;--row-padding:12px;--content-width:1440px;--sidebar-width:224px;
}
body{color:var(--text);background:var(--bg);font-size:var(--font-base);line-height:1.5}
.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.sidebar{padding:var(--space-6) var(--space-3)}.sidebar .nav{gap:var(--space-1)}.nav a{border-radius:var(--radius-sm);min-height:var(--control-height);font-weight:600}
.topbar{box-shadow:none;gap:var(--space-3);border-color:var(--line)}.content{max-width:var(--content-width);padding:var(--space-8)}
.page-head,.modal-head,.section-title,.section-heading{gap:var(--space-4)}.page-head{margin-bottom:var(--space-6)}.page-head h2{font-size:var(--font-title);line-height:1.2;letter-spacing:-.02em}.page-head p,.modal-head small{max-width:72ch;color:var(--muted)}
.btn,.icon-btn,.close{font-family:inherit;font-size:var(--font-base);font-weight:650;min-height:var(--control-height);border-radius:var(--radius-sm);border:1px solid var(--line);box-shadow:none;transition:background-color .12s,border-color .12s}
.btn{padding:var(--space-2) var(--space-4);gap:var(--space-2);background:var(--panel);color:var(--navy)}.btn.primary{background:var(--navy);border-color:var(--navy);color:white}.btn.primary:hover{background:var(--navy-hover)}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--red);background:var(--danger-bg)}.btn.small{min-height:var(--compact-height);padding:var(--space-1) var(--space-3);font-size:var(--font-sm)}
.btn:disabled,.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn,.close{min-width:var(--control-height);display:inline-flex;align-items:center;justify-content:center}.ui-icon{width:var(--space-5);height:var(--space-5);flex-shrink:0}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px;box-shadow:none}
.field input:not([type=checkbox]):not([type=radio]),.field select,.search,.filter-control,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font:inherit;min-height:var(--control-height);padding:var(--space-2) var(--space-3);box-shadow:none}
.field{font-size:var(--font-sm);font-weight:600;gap:var(--space-2);min-width:0}.field small,.section-help{color:var(--muted);font-size:var(--font-xs);font-weight:400}.form-grid{gap:var(--space-4)}input[type=checkbox],input[type=radio]{accent-color:var(--navy)}textarea{resize:vertical}
.panel,.metric,.table-shell{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:var(--space-5)}.panel .panel,.panel .metric,.detail-section .panel{box-shadow:none;background:var(--surface-subtle)}.metric{padding:var(--space-4) var(--space-5)}.metric .value{font-size:var(--font-title);font-variant-numeric:tabular-nums}.metric .label{text-transform:none;font-weight:550}.grid{gap:var(--space-4)}
.table-shell{border-color:var(--line)}th,td{border-bottom:1px solid var(--line);padding:var(--row-padding) var(--space-4);font-size:var(--font-sm)}th{background:var(--surface-subtle);font-size:var(--font-xs);font-weight:650;letter-spacing:.035em}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-subtle)}td strong{font-weight:650}
.pill{font-size:var(--font-xs);font-weight:600;border-radius:var(--radius-pill)}.pill.green{color:var(--green);background:var(--success-bg)}.pill.red{color:var(--red);background:var(--danger-bg)}.pill.gold{color:var(--warning);background:var(--warning-bg)}
.filters,.actions{gap:var(--space-2)}.filter-chip,.filter-summary:not(:empty){border-radius:var(--radius-sm);background:var(--surface-subtle);padding:var(--space-2) var(--space-3);color:var(--muted)}details>summary{cursor:pointer;font-weight:600;padding:var(--space-2) 0}details[open]>summary{margin-bottom:var(--space-3)}
.empty,.empty-state{padding:var(--space-8);color:var(--muted)}.operational-workspace,.estimate-page{border-radius:var(--radius-lg);background:var(--panel)}.operational-workspace>.modal-body,.estimate-page>.modal-body{padding:var(--space-6)}.inventory-dialog .inventory-metrics{gap:var(--space-3)}.inventory-dialog .metric{box-shadow:none}.workshop-assets>article{border:1px solid var(--line);box-shadow:none;border-radius:var(--radius);padding:var(--space-4)}
.money-workspace-nav,.order-workspace-tabs,.inventory-workspace-tabs{gap:var(--space-2);border-bottom:1px solid var(--line);padding-bottom:var(--space-3)}.more-group{margin-bottom:var(--space-8)}.tool{box-shadow:none;text-align:left}.tool-icon{margin-bottom:var(--space-3)}.customer-timeline .row,.timeline-item{padding-block:var(--space-3)}
dialog{border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}.modal-body{padding:var(--space-6)}.modal-head{padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.notification-drawer{border-color:var(--line);box-shadow:var(--shadow-popover)}
/* Result-first estimation and reusable configuration. */
.estimator-settings-form{max-width:960px;display:grid;gap:var(--space-6)}.estimator-settings-form>section,.estimator-settings-form>details{padding-block:var(--space-4);border-bottom:1px solid var(--line)}.estimator-settings-form h3{font-size:var(--font-lg)}.reviewed-rule{display:flex;gap:var(--space-3);align-items:center}.construction-recommendation{padding:var(--space-4) 0;border-bottom:1px solid var(--line);margin-bottom:var(--space-5)}.construction-recommendation h4{margin:0}.construction-recommendation p{font-size:var(--font-lg);font-weight:650;margin:var(--space-2) 0}.material-change{margin-top:var(--space-3)}
.mr-bom-brief{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.mr-bom-brief>article{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle)}.mr-bom-brief>article>span{font-size:var(--font-xl);font-weight:700;display:block;margin-block:var(--space-2)}.mr-bom-brief small{display:block;color:var(--muted)}.mr-bom-brief dl{margin:var(--space-3) 0}.mr-bom-brief dd{margin:0 0 var(--space-2)}
.hardware-result{padding:var(--space-4) 0}.hardware-row{display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(120px,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.hardware-row span{text-transform:capitalize}.hardware-row small{color:var(--muted)}.hardware-row .btn{justify-self:end}.mr-notice{border-left:3px solid var(--gold);background:var(--warning-bg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}
.commercial-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-4);margin:var(--space-5) 0}.commercial-result article{padding:var(--space-4);background:var(--surface-subtle);border-radius:var(--radius)}.commercial-result small,.commercial-result strong{display:block}.commercial-result strong{font-size:var(--font-xl);margin-top:var(--space-2)}.commercial-result article[data-price-key="Recommended Selling Price"]{background:var(--navy);color:white}.adjust-pricing{border-top:1px solid var(--line);padding-top:var(--space-4);margin-top:var(--space-6)}.adjust-pricing>.estimate-lines-section{margin-top:var(--space-5)}.requirement-modified::after{content:'Modified from requirement';font-size:var(--font-xs);font-weight:400;color:var(--warning)}
.ui-help{position:relative;display:inline-flex;vertical-align:middle}.ui-help-button{font-size:var(--font-xs);min-height:24px;min-width:24px;width:24px;height:24px;border-radius:var(--radius-pill);color:var(--blue);background:var(--surface-subtle);padding:0}.ui-help-popover{position:absolute;z-index:70;top:100%;left:0;width:min(280px,70vw);padding:var(--space-3);background:var(--navy);color:white;border-radius:var(--radius-sm);box-shadow:var(--shadow-popover);font-size:var(--font-sm);font-weight:400;text-align:left}.ui-help-popover[hidden]{display:none}.ui-help-popover:focus{outline:0}
@media(max-width:1024px){.content{padding:var(--space-6)}.hardware-row{gap:var(--space-3)}}
@media(max-width:720px){.app-shell{display:block}.content{padding:var(--space-5) var(--space-4) calc(80px + env(safe-area-inset-bottom))}.page-head h2{font-size:var(--font-xl)}.page-head .actions{display:flex;flex-wrap:wrap}.form-grid,.estimate-dimensions,.commercial-result,.mr-bom-brief{grid-template-columns:1fr!important}.span-2{grid-column:1/-1}.btn.small{min-height:var(--control-height)}.ui-help-button{min-height:var(--control-height);min-width:var(--control-height)}.ui-help-popover{position:fixed;top:auto;left:var(--space-4);right:var(--space-4);bottom:90px;width:auto}.operational-workspace>.modal-body,.estimate-page>.modal-body,.modal-body{padding:var(--space-4)}.hardware-row{grid-template-columns:1fr auto;gap:var(--space-2)}.hardware-row small{grid-column:1}.hardware-row .btn{grid-column:2}.mr-bom-brief>article{padding:var(--space-4)}.commercial-result strong{font-size:var(--font-xl)}.form-submit-bar{gap:var(--space-2);flex-wrap:wrap}.form-submit-bar .btn.primary{flex:1}.estimator-settings-form{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.ui-help,.adjust-pricing>summary{display:none}}

.workspace-search-label{flex:1;min-width:180px;gap:var(--space-1)}.workspace-search-label>span{font-size:var(--font-xs);color:var(--text-muted)}.home-attention{border-left:3px solid var(--primary);display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.home-attention p{flex:1;margin:0}.home-attention h3{margin:0}.operational-workspace:has(.workshop-assets:empty){min-height:0}

@media(min-width:1025px){.commercial-result{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:721px) and (max-width:1024px){.commercial-result{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-attention{margin-bottom:var(--space-4)}

/* Shared compact choice controls retain native keyboard and focus behaviour. */
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;max-width:18px;padding:0;flex:none;vertical-align:middle}
.field:has(>input[type=checkbox]),.field:has(>input[type=radio]),.choice{display:flex;flex-direction:row;align-items:center;gap:10px;cursor:pointer}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
