/* Shared intrinsic sizing and gutters. Wide data tables keep their own scroll area. */
*,*::before,*::after{box-sizing:border-box}
main,.main-area,.app-wrap,.bc-wrap,fieldset{min-inline-size:0}
:is(.panel,.card,.chart-card,.municipal-overview,.overview-copy,.page-title,.page-heading,.response-form,.finding,.workspace-badge,.profile-link)>*{min-inline-size:0}
:is(.cards,.metrics,.municipal-metrics,.chart-grid,.finding-grid,.dashboard-charts,.learning-grid)>*{min-inline-size:0;max-inline-size:100%}
:is(input,select,textarea,button){max-inline-size:100%}
:is(.panel,.card,.finding,.chart-card,.workspace-badge,.profile-link) :is(p,h1,h2,h3,h4,small,label,a){overflow-wrap:anywhere}
:is(.chart-canvas,.donut-canvas){max-inline-size:100%}
.chart-canvas canvas{max-inline-size:100%}
.audit-overview-content{padding:clamp(16px,2vw,28px)}
.audit-overview-content>:last-child{margin-block-end:0}
.session-identity{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px 28px;padding:16px 20px;margin-block:0 22px;border:1px solid var(--line,#cbd5e1);border-radius:12px;background:var(--panel,transparent);max-inline-size:100%}
.session-identity>div{min-inline-size:0;flex:1 1 220px}
.session-identity small{display:block;opacity:.75;font-size:11px;margin-block-end:4px}
.session-identity strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.session-identity .session-preview{font-size:12px;opacity:.8}
@media(max-width:700px){
 .page-title,.page-heading,.panel-heading,.view-bar{flex-wrap:wrap}
 .view-title{flex-shrink:1;min-inline-size:0}
 .role-switch,.action-row,.audit-selector{max-inline-size:100%;flex-wrap:wrap;gap:12px}
 .session-identity{gap:12px;padding:14px 16px}
 .session-identity>div{flex-basis:100%}
 .municipal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app-header{flex-wrap:wrap;gap:12px}
 .app-header nav{min-inline-size:0}
 .app-wrap{padding-inline:16px}
}
@media(max-width:380px){.municipal-metrics{grid-template-columns:minmax(0,1fr)}}
/* Customer branding is scoped by the request host; the central panel stays Siberkobi. */
.tenant-brand-logo{display:block;width:auto;max-width:100%;height:72px;object-fit:contain;background:#fff;padding:8px 12px;border-radius:12px}
.sidebar .brand:has(.tenant-brand-logo){display:flex;justify-content:center;letter-spacing:normal}
.sidebar .tenant-brand-logo{width:100%;height:84px}
.app-brand .tenant-brand-logo{height:56px;max-width:180px}
.brand-panel .tenant-brand-logo{height:96px;max-width:260px;margin-inline:auto}
@media(max-width:850px){.sidebar .brand:has(.tenant-brand-logo){width:150px}.sidebar .tenant-brand-logo{height:64px}}
.audit-selector>label{min-inline-size:0;max-inline-size:100%;flex:1 1 240px}
.audit-selector select{width:100%;min-inline-size:0;text-overflow:ellipsis}
/* Saved answers stay visibly separate from the editable form. */
.response-snapshot{margin-block-start:16px;padding-block-start:14px;border-top:1px solid var(--line);white-space:normal;max-width:62ch}
.response-snapshot>small,.response-history-count{font-size:11px;color:var(--muted);margin:0 0 8px;display:block}
.response-identity{display:flex;flex-direction:column;gap:3px;white-space:normal;margin-block:8px;color:var(--ink);line-height:1.6;min-width:0}
.response-identity strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}
.response-identity span,.response-identity time{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.response-saved-copy,.response-history{margin-block:12px 0;white-space:normal}
.response-saved-copy>summary,.response-history>summary{font-size:12px;color:var(--blue);cursor:pointer;padding:4px 0}
.response-text{white-space:normal;overflow-wrap:anywhere;line-height:1.7;margin:10px 0 0;font-size:12px}
.response-empty{font-size:11px;color:var(--muted)}
.response-history-list{padding:14px 0 4px;max-width:100%}
.response-timeline{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.response-timeline>li{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);white-space:normal;min-width:0}
.revision-heading,.response-history-pages{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.revision-heading>small,.response-history-pages{font-size:11px;color:var(--muted)}
.response-history-pages{margin-block-start:16px}
