.commercial-tools{background:#fff;border:1px solid #d6e3ed;border-radius:16px;padding:22px}.staff-tool-tabs{border:0;flex-wrap:wrap;gap:10px;margin-bottom:28px;padding:0;display:flex}.staff-tool-tabs button{color:#224e6a;background:#fff;border:1px solid #c7dbea;border-radius:8px;align-items:center;gap:9px;min-height:46px;padding:12px 18px;display:flex}.staff-tool-tabs button[aria-pressed=true]{color:#005d9b;background:#e8f4fb;border-color:#0076bc}.commercial-tools [hidden]{display:none}.staff-force{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:30px;display:grid}.staff-force-controls{flex-direction:column;align-items:stretch;gap:12px;display:flex}.staff-force-controls h2{margin:0;font-size:23px}.staff-force-controls p,.staff-force-controls small{color:#537085;font-size:13px;line-height:1.6}.staff-force-controls label{margin-top:10px;font-size:14px;font-weight:650}.staff-force-controls input:not([type=range]),.staff-force-controls select{color:#15394f;background:#fff;border:1px solid #c6d7e4;border-radius:7px;width:100%;min-height:46px;padding:10px 12px}.staff-force-controls input[type=range]{accent-color:#007bbb;width:100%;min-height:30px}.staff-force-controls .portal-primary{justify-content:center;margin-top:10px}.staff-force-report{background:#f4f9fc;border:1px solid #d5e4ed;border-radius:12px;padding:24px}.staff-force-brand{color:#456a84;border-bottom:1px solid #cbdfea;gap:10px;padding-bottom:16px;font-size:12px;display:grid}.staff-force-brand img{max-width:100%;height:auto}.staff-force-specs,.staff-force-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.staff-force-specs dt{color:#537085;font-size:12px}.staff-force-specs dd{margin:6px 0 16px;font-weight:650}.staff-force-results{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-force-results div{background:#fff;border:1px solid #d2e1eb;border-radius:8px;gap:8px;padding:18px;display:grid}.staff-force-results span,.staff-force-results small{color:#537085;font-size:13px}.staff-force-results strong{color:#005e95;font-size:clamp(18px,2vw,25px)}.staff-force-method{color:#48697f;margin-top:18px;font-size:12px;line-height:1.7}.staff-force-contact{color:#45677f;border-top:1px solid #cbdfea;gap:6px;margin-top:20px;padding-top:16px;font-size:11px;display:grid}.commercial-tools :focus-visible{outline-offset:3px;outline:3px solid #158acc}@media (max-width:900px){.staff-force{grid-template-columns:1fr}}@media (max-width:480px){.commercial-tools,.staff-force-report{padding:14px}.staff-tool-tabs button{justify-content:center;width:100%}.staff-force-results div{padding:12px}}
.portal-shell .portal-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.portal-shell a.portal-metric{display:block;min-width:0;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.portal-shell a.portal-metric:hover{border-color:#6b9cc8;box-shadow:0 5px 18px #164b7d12;transform:translateY(-2px)}
.portal-shell a.portal-metric:focus-visible{outline:3px solid #158acc;outline-offset:3px}
.portal-shell a.portal-metric>div{align-items:flex-start;line-height:1.5}
.portal-shell a.portal-metric>div span{min-height:3em}
.portal-shell a.portal-metric small{display:block;line-height:1.6}
.portal-shell .portal-event-history .portal-toolbar{flex-wrap:wrap}
.portal-shell .portal-event-total{margin:20px 0;font-size:14px;color:#607c96}
.portal-shell .portal-event-total strong{font-size:24px;color:#174567}
@media(max-width:1099px){.portal-shell .portal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.portal-shell .portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.portal-shell .portal-metrics{grid-template-columns:1fr}.portal-shell a.portal-metric>div span{min-height:0}.portal-shell a.portal-metric strong{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.portal-shell a.portal-metric{transition:none}.portal-shell a.portal-metric:hover{transform:none}}

/* Shared spacing for the existing commercial screens. Each panel keeps the
   same inner gutter, including standalone messages and history headings. */
.portal-shell .portal-panel:not(.accm,.accm *){--portal-gutter:24px;min-width:0}
.portal-shell .portal-panel-heading:not(.accm,.accm *){padding:22px var(--portal-gutter);gap:18px}
.portal-shell .portal-panel:not(.accm,.accm *)>p{margin:18px var(--portal-gutter);padding:0;line-height:1.65}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-help{color:#607b93;font-size:12px}
.portal-shell .portal-panel:not(.accm,.accm *)>:is(h2,h3){margin:20px var(--portal-gutter) 12px}
.portal-shell .portal-panel:not(.accm,.accm *)>output{margin:18px var(--portal-gutter);line-height:1.6}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-alert{margin:18px var(--portal-gutter);padding:16px 18px}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-empty{margin:0;padding:40px var(--portal-gutter)}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-secondary{margin:var(--portal-gutter) var(--portal-gutter) 12px}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-secondary+:is(h2,h3){margin-top:0}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-ai-status{margin:var(--portal-gutter);padding:18px 20px}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-checkbox{margin:20px var(--portal-gutter) 12px}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-section-save{margin:20px var(--portal-gutter) 0;padding:18px 0 22px;gap:12px}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-fields{padding:22px var(--portal-gutter);gap:20px}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-fields+.portal-section-save{margin-top:0}
.portal-shell .portal-callout:not(.accm,.accm *){margin-bottom:22px;line-height:1.65}

/* Labels sit above controls; search icons are the only fields with an inset. */
.portal-shell .portal-toolbar:not(.accm,.accm *){display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px 12px;padding:22px var(--portal-gutter,24px)}
.portal-shell .portal-toolbar:not(.accm,.accm *)>label,.portal-shell .portal-toolbar:not(.accm,.accm *) .portal-date-filter{display:flex;flex-direction:column;align-items:stretch;flex:1 1 190px;gap:8px;min-width:0;margin:0;color:#45617b;font-size:13px;font-weight:600;line-height:20px}
.portal-shell .portal-toolbar:not(.accm,.accm *)>label:has(input[type=search]){flex-basis:260px}
.portal-shell .portal-toolbar:not(.accm,.accm *)>label:has(input[type=date]){flex-basis:175px}
.portal-shell .portal-event-history:not(.accm,.accm *) .portal-toolbar>label:first-child{flex-grow:1.25;flex-basis:240px}
.portal-shell .portal-toolbar:not(.accm,.accm *) :is(input,select){box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;height:44px;min-height:44px;margin:0;padding:10px 12px;border:1px solid #d0ddea;border-radius:7px;background:#fff;color:#243e56;font-size:13px;font-weight:400;line-height:22px}
.portal-shell .portal-toolbar:not(.accm,.accm *)>select{flex:0 1 190px;align-self:flex-end}
.portal-shell .portal-toolbar:not(.accm,.accm *) label>svg{top:auto;bottom:13px;left:12px;width:18px;height:18px;pointer-events:none}
.portal-shell .portal-toolbar:not(.accm,.accm *) label:has(>svg)>input{padding-left:38px}
.portal-shell .portal-toolbar:not(.accm,.accm *)>:is(.portal-primary,.portal-secondary){box-sizing:border-box;flex:0 0 auto;align-self:flex-end;height:44px;min-height:44px;margin:0;padding:10px 16px;font-size:13px;line-height:22px}
.portal-shell .portal-fields:not(.accm,.accm *) :is(input:not([type=checkbox]):not([type=file]),select){box-sizing:border-box;height:44px;min-height:44px;padding:10px 12px;line-height:22px}
.portal-shell .portal-fields:not(.accm,.accm *) textarea{box-sizing:border-box;min-height:104px;padding:11px 12px;line-height:1.6}
.portal-shell :is(.portal-form-end,.portal-section-save,.portal-upload-bottom):not(.accm,.accm *)>:is(.portal-primary,.portal-secondary){box-sizing:border-box;min-height:44px;padding:10px 16px;line-height:22px}

/* Inset tables and counters use the same alignment as the filter labels. */
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-table-wrap{margin:20px var(--portal-gutter) 0;border:1px solid #e0e8f0;border-radius:8px;max-width:calc(100% - var(--portal-gutter)*2)}
.portal-shell .portal-table-wrap:not(.accm,.accm *)>table{min-width:560px}
.portal-shell .portal-table-wrap:not(.accm,.accm *) :is(th,td){padding:14px 16px;vertical-align:top;line-height:1.55}
.portal-shell .portal-table-wrap:not(.accm,.accm *) td{font-size:13px}
.portal-shell .portal-table-wrap:not(.accm,.accm *) tr:last-child td{border-bottom:0}
.portal-shell .portal-table-wrap:not(.accm,.accm *) td a.portal-secondary{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:40px;padding:8px 12px;font-size:12px;line-height:22px}
.portal-shell .portal-pagination:not(.accm,.accm *){gap:16px;flex-wrap:wrap;padding:20px var(--portal-gutter,24px)}
.portal-shell .portal-pagination:not(.accm,.accm *)>div{display:flex;align-items:center;gap:8px}
.portal-shell .portal-pagination:not(.accm,.accm *) button{min-width:36px;min-height:36px;padding:7px 10px;line-height:20px}
.portal-shell .portal-panel:not(.accm,.accm *)>.portal-event-total{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:22px var(--portal-gutter) 18px;line-height:1.5}
.portal-shell .portal-event-total:not(.accm,.accm *) strong{line-height:1.2}
.portal-shell .portal-event-history:not(.accm,.accm *) .portal-table :is(th,td):last-child{text-align:right}
.portal-shell .portal-export:not(.accm,.accm *){padding:18px var(--portal-gutter,24px);flex-wrap:wrap;gap:12px 18px}
.portal-shell .portal-upload-content:not(.accm,.accm *){padding:var(--portal-gutter,24px)}
@media(max-width:1000px){.portal-shell .portal-toolbar:not(.accm,.accm *)>label{flex-basis:210px}.portal-shell .portal-toolbar:not(.accm,.accm *)>label:has(input[type=date]){flex-basis:165px}.portal-shell .portal-toolbar:not(.accm,.accm *)>:is(.portal-primary,.portal-secondary){flex-grow:0}}
@media(max-width:760px){
 .portal-shell .portal-panel:not(.accm,.accm *){--portal-gutter:18px}
 .portal-shell .portal-panel-heading:not(.accm,.accm *){padding:20px var(--portal-gutter);flex-wrap:wrap;gap:12px}
 .portal-shell .portal-toolbar:not(.accm,.accm *){gap:16px 12px;padding:20px var(--portal-gutter)}
 .portal-shell .portal-toolbar:not(.accm,.accm *)>label,.portal-shell .portal-toolbar:not(.accm,.accm *) .portal-date-filter,.portal-shell .portal-event-history:not(.accm,.accm *) .portal-toolbar>label:first-child{flex:1 1 calc(50% - 12px)}
 .portal-shell .portal-toolbar:not(.accm,.accm *)>label:has(input[type=search]),.portal-shell .portal-event-history:not(.accm,.accm *) .portal-toolbar>label:first-child{flex-basis:100%}
 .portal-shell .portal-toolbar:not(.accm,.accm *)>select{flex:1 1 100%}
 .portal-shell .portal-toolbar:not(.accm,.accm *)>:is(.portal-primary,.portal-secondary){flex:1 1 calc(50% - 12px);white-space:normal}
 .portal-shell .portal-table-wrap:not(.accm,.accm *) :is(th,td){padding:12px 14px}
 .portal-shell .portal-pagination:not(.accm,.accm *){padding:18px var(--portal-gutter);gap:12px}
 .portal-shell .portal-panel:not(.accm,.accm *)>.portal-fields{padding:20px var(--portal-gutter);gap:18px}
 .portal-shell .portal-panel:not(.accm,.accm *)>.portal-ai-status{padding:16px}
 .portal-shell .portal-callout:not(.accm,.accm *){align-items:flex-start;flex-wrap:wrap;padding:16px 18px}
}
@media(max-width:460px){
 .portal-shell .portal-panel:not(.accm,.accm *){--portal-gutter:16px}
 .portal-shell .portal-toolbar:not(.accm,.accm *)>label,.portal-shell .portal-toolbar:not(.accm,.accm *) .portal-date-filter,.portal-shell .portal-toolbar:not(.accm,.accm *)>label:has(input[type=date]){flex-basis:100%}
 .portal-shell .portal-toolbar:not(.accm,.accm *)>:is(.portal-primary,.portal-secondary){padding-right:10px;padding-left:10px}
 .portal-shell .portal-pagination:not(.accm,.accm *)>span{flex-basis:100%}
 .portal-shell .portal-pagination:not(.accm,.accm *)>div{margin-left:auto}
}
