/* Records, forms and data views built from shared ADS tokens. */
.lozenge-row{display:flex;align-items:center;gap:var(--ds-space-075);flex-wrap:wrap;margin:var(--ds-space-100) 0 var(--ds-space-150)}
.record-link{display:block;color:var(--ds-text)}
.record-link:hover{color:var(--ds-text-brand);text-decoration:none}
.record-link strong,.record-link small{display:block}
.incident-row,.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-150);padding:var(--ds-space-150) 0;border-bottom:1px solid var(--ds-border);color:var(--ds-text);min-width:0}
.incident-row:last-child,.assignment-row:last-child{border-bottom:0}
.incident-row strong,.assignment-row strong{display:block;font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.incident-row small,.assignment-row small{display:block;margin-top:var(--ds-space-025)}
.assignment-row{flex-wrap:wrap}
.assignment-row .button-row{width:100%}
.resource-mini{padding:var(--ds-space-150) 0;border-top:1px solid var(--ds-border)}
.resource-mini strong,.resource-mini span{display:block;font:var(--ds-font-body)}
.resource-mini strong{font-weight:var(--ds-font-weight-medium)}
.resource-mini span{color:var(--ds-text-subtle)}
.quantity{font:var(--ds-font-metric-small);font-variant-numeric:tabular-nums}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{position:relative;margin-left:var(--ds-space-050);padding:0 0 var(--ds-space-250) var(--ds-space-250);border-left:2px solid var(--ds-border)}
.timeline li:before{content:"";position:absolute;left:-5px;top:3px;width:8px;height:8px;border:2px solid var(--ds-surface);border-radius:var(--ds-border-radius-circle);background:var(--ds-background-brand-bold);outline:1px solid var(--ds-border-selected)}
.timeline li:last-child{padding-bottom:0}
.timeline p{margin:var(--ds-space-050) 0 var(--ds-space-025);font:var(--ds-font-body);overflow-wrap:anywhere}
.timeline time,.timeline small{font:var(--ds-font-body-small);color:var(--ds-text-subtle)}
.detail-list{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--ds-space-100) var(--ds-space-150);margin:var(--ds-space-200) 0;font:var(--ds-font-body)}
.detail-list dt{color:var(--ds-text-subtle)}
.detail-list dd{margin:0;overflow-wrap:anywhere}
.action-section{margin-top:var(--ds-space-200);padding-top:var(--ds-space-200);border-top:1px solid var(--ds-border)}
.incident-admin{margin-top:var(--ds-space-250)}

/* Filters and tables. */
.filter-bar{display:flex;align-items:flex-end;gap:var(--ds-space-100);flex-wrap:wrap;margin-bottom:var(--ds-space-250);padding:var(--ds-space-150);border:1px solid var(--ds-border);border-radius:var(--ds-border-radius-100);background:var(--ds-background-subtle)}
.filter-bar label{display:flex;flex:1 1 160px;min-width:130px;flex-direction:column;gap:var(--ds-space-050);font:var(--ds-font-body);color:var(--ds-text-subtle)}
.filter-bar .search-field{flex:2 1 260px}
.filter-bar>a{padding:var(--ds-space-100) 0;font:var(--ds-font-body)}
.has-js .filter-apply{display:none}
.table-panel{padding:0;overflow:hidden}
.table-wrap{max-width:100%;overflow:auto}
table{width:100%;border-collapse:collapse;text-align:left;font:var(--ds-font-body)}
th{padding:var(--ds-space-150) var(--ds-space-200);background:var(--ds-background-subtle);color:var(--ds-text-subtle);font:var(--ds-font-body-small);font-weight:var(--ds-font-weight-medium);white-space:nowrap}
td{padding:var(--ds-space-150) var(--ds-space-200);border-top:1px solid var(--ds-border);vertical-align:middle;overflow-wrap:anywhere}
tbody tr:hover{background:var(--ds-background-neutral)}
td small,td strong{display:block}
.directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--ds-space-200)}
.directory-grid .panel{display:flex;flex-direction:column;align-items:flex-start}
.directory-grid .panel>.panel-heading{width:100%}
.directory-grid .panel>.button-row,.directory-grid .panel>.button.wide{margin-top:auto;padding-top:var(--ds-space-100)}
.report-list{display:grid;gap:var(--ds-space-200)}
.warning-card{border-left:3px solid var(--ds-border-warning)}
.warning-card.ended{border-left-color:var(--ds-border-bold)}
.occupancy-label{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-150);width:100%;margin-top:var(--ds-space-150)}
.occupancy-label strong{font:var(--ds-font-heading-medium)}
progress{width:100%;height:8px;margin:var(--ds-space-100) 0 var(--ds-space-200);border:0;border-radius:var(--ds-border-radius-circle);background:var(--ds-background-neutral);accent-color:var(--ds-border-success)}

/* Forms. */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-150)}
.form-map-layout{display:grid;grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);gap:var(--ds-space-250);align-items:start}
.form-map-layout .map-card{position:sticky;top:calc(var(--app-banner-height) + var(--app-topnav-height) + var(--ds-space-200))}
.form-panel h2:not(:first-child){margin-top:var(--ds-space-300);padding-top:var(--ds-space-300);border-top:1px solid var(--ds-border)}
.form-footer{margin-top:var(--ds-space-250);padding-top:var(--ds-space-200);border-top:1px solid var(--ds-border)}
.coordinate-details{margin:var(--ds-space-200) 0;padding-top:var(--ds-space-150);border-top:1px solid var(--ds-border)}
.coordinate-details summary,details.panel>summary{min-height:40px;cursor:pointer;font-weight:var(--ds-font-weight-semibold)}
.inline-action-error{grid-column:1/-1;margin:var(--ds-space-050) 0 0}

/* Account, login and receipts. */
.login-layout{display:grid;grid-template-columns:1fr minmax(340px,.8fr);gap:var(--ds-space-600);max-width:940px;margin:var(--ds-space-500) auto var(--ds-space-800);align-items:center}
.login-roles{margin-top:var(--ds-space-300)}
.login-roles>div{padding:var(--ds-space-150) 0;border-top:1px solid var(--ds-border)}
.login-roles strong,.login-roles span{display:block}
.login-roles span{color:var(--ds-text-subtle);font:var(--ds-font-body)}
.login-panel{padding:var(--ds-space-300);box-shadow:var(--ds-shadow-raised)}
.login-panel form{margin-top:var(--ds-space-250)}
.account-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:var(--ds-space-250)}
.account-summary,.account-security{min-width:0}
.account-avatar{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--ds-border-radius-circle);background:var(--ds-background-selected);color:var(--ds-icon-brand);margin-bottom:var(--ds-space-150)}
.account-facts{display:grid;gap:var(--ds-space-100)}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-150)}
.permission-section{padding:var(--ds-space-200);background:var(--ds-background-subtle)}
.error-panel,.receipt-panel{max-width:720px;margin:var(--ds-space-500) auto}
.receipt-symbol{width:52px;height:52px;display:grid;place-items:center;margin-bottom:var(--ds-space-200);border-radius:var(--ds-border-radius-circle);background:var(--ds-background-success);color:var(--ds-icon-success)}
.steps-list{padding-left:var(--ds-space-300);color:var(--ds-text-subtle);font:var(--ds-font-body)}
.steps-list li{padding:var(--ds-space-075) 0}
.prose{max-width:980px;margin:auto}
.prose h2{margin-top:var(--ds-space-400)}
.prose code{padding:var(--ds-space-025) var(--ds-space-050);border-radius:var(--ds-border-radius-050);background:var(--ds-background-neutral);font-family:var(--ds-font-family-mono)}
.pagination{display:flex;align-items:center;gap:var(--ds-space-100);flex-wrap:wrap;margin:var(--ds-space-200) 0;font:var(--ds-font-body)}
