/* Shared presentation only: no changes to visibility, permissions or data. */
[hidden]{display:none!important}
/* Calculator and time entry use the same spacing and field scale. */
#wallCalculatorView .wallCard,#wallCalculatorView .wallResults{border-radius:12px;box-shadow:0 3px 14px rgba(32,43,64,.025)}
#wallCalculatorView .wallCardHead{padding:22px;gap:16px;flex-wrap:wrap}
#wallCalculatorView .wallCardHead h2{font-size:20px;line-height:1.4}
#wallCalculatorView .wallRows{padding:4px 22px}
#wallCalculatorView .wallRow{grid-template-columns:minmax(0,1fr) 180px 40px;gap:14px}
#wallCalculatorView .wallRow label{min-width:0}
#wallCalculatorView .wallRow select,#wallCalculatorView .wallRow input{box-sizing:border-box;font-size:13px;min-width:0;height:44px}
#wallCalculatorView .wallM2 b{box-sizing:border-box;height:44px}
#wallCalculatorView .wallPricing{padding:20px 22px;gap:16px;background:#fafbfd}
#wallCalculatorView .wallPricing>label{flex:1 1 220px;min-width:0;font-size:10px;line-height:1.5}
#wallCalculatorView .wallPricing select{box-sizing:border-box;min-width:0;width:100%;min-height:42px;font-size:13px}
#wallCalculatorView .wallActions{padding:20px 22px;gap:16px}
#wallCalculatorView .wallActions small{font-size:12px;line-height:1.6;flex:1 1 280px}
#wallCalculatorView .wallSummary>div,#wallCalculatorView .wallRequested,#wallCalculatorView .wallBreakdown{padding:22px}
#wallCalculatorView .wallSummary strong{font-size:30px;font-variant-numeric:tabular-nums}
#wallCalculatorView .wallDetail summary{padding:8px 0;gap:14px;font-size:13px}
#wallCalculatorView .wallDetail summary>span:first-child{flex:1;min-width:0}
#wallCalculatorView .wallDetail summary strong{float:none;white-space:nowrap}
#wallCalculatorView .wallTable table{font-size:12px;min-width:620px}
#wallCalculatorView .wallTable th,#wallCalculatorView .wallTable td{padding:13px 12px;line-height:1.5}
#wallCalculatorView .wallTable th{background:#f0f3f8;color:#566277}
#wallCalculatorView .wallTable td:first-child{min-width:230px}
#wallCalculatorView .wallExportActions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px}
#wallCalculatorView .wallExportActions>div:nth-child(3),#wallCalculatorView .wallExportActions>div:nth-child(4){border-top:1px solid #e2e5ec;padding-top:20px}
#wallCalculatorView .wallOrderConfig{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#wallCalculatorView .wallOrderConfig select{height:42px;font-size:12px}
#hoursView .hoursEntry{padding:22px;gap:20px 16px;align-items:start}
#hoursView .hoursEntry label{font-size:11px;line-height:1.5;min-width:0}
#hoursView .hoursEntry label small{min-height:0}
#hoursView .hoursEntry input,#hoursView .hoursEntry select{box-sizing:border-box;height:44px;min-height:44px;font-size:13px}
#hoursView .hoursEntry button{min-width:130px;margin-top:4px}
#hoursView .hoursListFilters{padding:18px;background:#fff;border:1px solid #e2e5ec;border-radius:12px;gap:14px;margin:0 0 18px;grid-template-columns:repeat(4,minmax(0,1fr))}
#hoursView .hoursListFilters select{width:100%;min-width:0;box-sizing:border-box;height:42px;font-size:12px;border-color:#d8deea}
#hoursView .tableCard td:first-child{min-width:100px;white-space:nowrap}
#hoursView .tableCard td:nth-child(3),#hoursView .tableCard td:nth-child(4),#hoursView .tableCard td:nth-child(6),#hoursView .tableCard td:nth-child(8){min-width:170px}
@media(max-width:1000px){#hoursView .hoursListFilters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#wallCalculatorView .wallRow{grid-template-columns:minmax(0,1fr) 40px}#wallCalculatorView .wallRow>label:first-child{grid-column:1/-1}#wallCalculatorView .wallExportActions{grid-template-columns:1fr}#wallCalculatorView .wallExportActions>div:nth-child(4){border:0;padding-top:0}#wallCalculatorView .wallOrderConfig{grid-template-columns:1fr}#wallCalculatorView .wallExportButtons{flex-wrap:wrap}#wallCalculatorView .wallPricing,#wallCalculatorView .wallCardHead,#wallCalculatorView .wallActions,#hoursView .hoursEntry{padding:16px}#hoursView .hoursListFilters{grid-template-columns:1fr;padding:14px}}
.workspaceShell{background:#f5f6f8}
.workspaceMain{min-width:0}
.workspaceContent{box-sizing:border-box;width:100%;max-width:1600px;margin:0 auto;padding:36px clamp(20px,3vw,48px) 64px}
.workspaceContent .pageHead{align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.workspaceContent .pageHead>div:first-child{flex:1 1 340px;margin-right:auto}
.workspaceContent .pageHead h1{font-size:clamp(27px,2.5vw,36px);line-height:1.15;letter-spacing:-1px;margin:7px 0 10px}
.workspaceContent .pageHead p{font-size:13px;line-height:1.6;margin:0;color:#697386}
.workspaceContent .primaryAction,.workspaceContent .secondaryAction{min-height:40px;padding:10px 16px;font-size:12px;line-height:1.4;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:normal}
.workspaceContent .filterBar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:18px;background:#fff;border:1px solid #e2e5ec;border-radius:12px;margin-bottom:18px}
.workspaceContent .filterBar>label,.workspaceContent .filterBar>.materialTypeField{display:flex;flex-direction:column;gap:8px;flex:1 1 190px;min-width:160px;font-size:11px;font-weight:600;color:#5b667a}
.workspaceContent .filterBar>input,.workspaceContent .filterBar>select{flex:1 1 180px;min-width:140px;width:auto}
.workspaceContent .filterBar>button{flex:0 0 auto}
.workspaceContent .filterBar input,.workspaceContent .filterBar select,.workspaceContent .workForm input,.workspaceContent .workForm select,.workspaceContent .inlineForm input,.workspaceContent .inlineForm select{box-sizing:border-box;min-height:42px;width:100%;font-size:13px;border:1px solid #d8deea;border-radius:8px;background:#fff;color:#202b40;padding:9px 11px}
.workspaceContent .workForm label,.workspaceContent .inlineForm label{gap:8px;font-size:10px;line-height:1.5}
.workspaceContent .formCard{margin-bottom:18px;padding:22px;border-radius:12px;border-color:#e2e5ec;box-shadow:0 3px 14px rgba(32,43,64,.025)}
.workspaceContent .tableCard{border-radius:12px;border-color:#e2e5ec;overflow:auto;max-width:100%}
.workspaceContent .tableCard table{width:100%;border-collapse:collapse}
.workspaceContent .tableCard th{font-size:10px;line-height:1.5;letter-spacing:.45px;padding:15px 16px;background:#f0f3f8;color:#566277;white-space:nowrap}
.workspaceContent .tableCard td{font-size:12px;line-height:1.55;padding:14px 16px;vertical-align:top;min-width:90px;overflow-wrap:normal}
.workspaceContent .tableCard tbody tr:nth-child(even){background:#fafbfd}
.workspaceContent .tableCard tbody tr:hover{background:#f0f5fb}
.workspaceContent .tableCard td:nth-child(1),.workspaceContent .tableCard td:nth-child(5){min-width:160px}
.workspaceContent #purchaseTotals{font-size:14px;line-height:1.9;border-left:4px solid #60a8c7;background:#f8fbfe}
.workspaceContent #purchaseComparison{line-height:1.6;font-size:13px;overflow:auto}
.workspaceContent #purchaseComparison table{width:100%;min-width:580px}
.workspaceContent #purchaseComparison th,.workspaceContent #purchaseComparison td{padding:12px;text-align:left;border-bottom:1px solid #e2e5ec}
.workspaceContent input:focus-visible,.workspaceContent select:focus-visible,.workspaceContent textarea:focus-visible,.workspaceContent button:focus-visible,.workspaceContent summary:focus-visible{outline:3px solid rgba(96,168,199,.3);outline-offset:2px}
.workspaceHeader{gap:16px}.headerActions{flex-wrap:wrap;justify-content:flex-end}
.sidebar .menuGroup{margin-bottom:19px}.sidebar .menuGroup button{min-height:42px;height:auto;padding-top:10px;padding-bottom:10px}
.sidebar .menuGroup button span{line-height:1.4}.sidebar .selectedWork{line-height:1.5}
@media(max-width:900px){.workspaceContent{padding:26px 20px 48px}.workspaceContent .pageHead>div:first-child{flex-basis:100%}.workspaceContent .pageHead{justify-content:flex-start}.workspaceContent .filterBar{gap:12px}}
@media(max-width:560px){.workspaceContent{padding:22px 14px 40px}.workspaceContent .filterBar{padding:14px}.workspaceContent .filterBar>label,.workspaceContent .filterBar>.materialTypeField{flex-basis:100%;min-width:0}.workspaceContent .pageHead>button{flex:1 1 140px}.workspaceContent .formCard{padding:16px}.workspaceHeader{height:auto;min-height:70px;padding-top:10px;padding-bottom:10px}.headerActions{gap:7px}}
