.directory-page .directory-navigation,.directory-page .directory-actions { display: none; }
.directory-page .main { min-width: 0; }
.directory-page .topbar { min-height: 64px; height: auto; flex-shrink: 0; flex-wrap: wrap; gap: 10px; }
.directory-page .mod-overview { height: auto; min-height: 124px; overflow: visible; flex-shrink: 0; }
.directory-page .client-filter-bar,.directory-page .focus-dropdowns { flex-wrap: wrap; gap: 8px; }
.directory-page .focus-search-box { min-width: 0; flex: 1 1 240px; }
.directory-list .table-wrapper { overflow-x: auto; }
.directory-list .data-table { min-width: 1100px; }
.directory-page .row-actions:focus-within { opacity: 1; }
.directory-page [tabindex="0"]:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.directory-page .client-drawer { height: 100dvh; }
.directory-page .client-drawer-body { min-height: 0; overflow-y: auto; }
.directory-page .modal { display: flex; flex-direction: column; max-height: calc(100dvh - 32px); overflow: hidden; }
.directory-page .modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.directory-page .modal-header,.directory-page .modal-footer { flex-shrink: 0; }
.directory-page .form-group { min-width: 0; }
.directory-detail .table-wrapper { max-width: 100%; overflow: auto; }
.directory-detail .data-table { min-width: 960px; }
@media (max-width:1100px) {
  .directory-page .sidebar { display: none; }
  .directory-page .directory-navigation { display: block; flex-shrink: 0; padding: 0 12px; background: #fff; border-bottom: 1px solid var(--border); }
  .directory-page .directory-navigation summary,.directory-page .directory-actions summary { min-height: 44px; align-content: center; cursor: pointer; }
  .directory-page .directory-navigation nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding-bottom: 12px; }
  .directory-page .directory-navigation :is(a,button) { display: flex; align-items: center; min-height: 44px; padding: 8px; color: var(--text); background: #fff; border: 1px solid var(--border); border-radius: 4px; font: inherit; overflow-wrap: anywhere; }
  .directory-page .directory-actions:not([hidden]) { display: block; position: relative; }
  .directory-page .directory-actions summary { padding: 0 12px; border: 1px solid var(--border); border-radius: 4px; }
  .directory-page .directory-action-items { position: absolute; right: 0; top: 100%; z-index: 200; display: grid; gap: 8px; width: 240px; padding: 10px; background: #fff; border: 1px solid var(--border); border-radius: 4px; box-shadow: 0 4px 12px #0002; }
  .directory-page .topbar { padding: 12px; overflow: visible; }
  .directory-page .topbar-title { min-width: 0; flex-wrap: wrap; }
  .directory-page .topbar-title h1 { white-space: normal; overflow-wrap: anywhere; }
  .directory-page .topbar-actions { max-width: 100%; flex-wrap: wrap; overflow: visible; }
  .directory-page :is(.btn,.action-btn,.view-btn,.focus-tab,.focus-select,.drawer-action-btn,.back-btn,.client-list-toggle button,.contractor-list-toggle button,.cd-project-badge) { min-height: 44px; }
  .directory-page :is(.action-btn,.view-btn) { min-width: 44px; }
  .directory-page .btn { white-space: normal; }
  .directory-page .mod-overview { margin: 12px; padding: 16px; flex-direction: column; align-items: stretch; gap: 12px; }
  .directory-page .mod-overview-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; flex: none; }
  .directory-page .mod-overview-metric { width: auto; min-width: 0; }
  .directory-page .mod-overview-metric strong { overflow-wrap: anywhere; }
  .directory-page .table-panel { flex: none; margin: 0 12px 12px; overflow: visible; }
  .directory-list .main { overflow-y: auto; }
  .directory-page .client-filter-bar { padding: 10px; }
  .directory-page .focus-tabs { width: 100%; flex: 1 1 100%; flex-wrap: wrap; overflow: visible; }
  .directory-page .focus-tab { padding: 8px 12px; }
  .directory-page .focus-search-box { flex-basis: 100%; }
  .directory-page .focus-search-box input { min-height: 44px; }
  .directory-page .focus-dropdowns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .directory-page .focus-select { min-width: 0; max-width: 100%; width: 100%; }
  .directory-page .view-toggle { display: flex; gap: 8px; flex-wrap: wrap; }
  .directory-page .view-toggle:has(#btnReport) { grid-column: 1/-1; order: 2; width: max-content; max-width: 100%; }
  .directory-list #reportView > div:first-child { flex-wrap: wrap; gap: 8px; padding: 12px; }
  .directory-list #reportView select { min-height: 44px; max-width: 100%; }
  .directory-list #reportSummary { flex: 1 1 100%; min-width: 0; margin-left: 0 !important; white-space: normal; overflow-wrap: anywhere; }
  .directory-list :is(.content-area,.table-wrapper) { overflow: visible; padding: 0; }
  .directory-list .data-table { display: block; min-width: 0; width: 100%; }
  .directory-list .data-table thead { display: none; }
  .directory-list .data-table tbody { display: block; }
  .directory-list .data-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 12px; padding: 12px; border-bottom: 1px solid var(--border); }
  .directory-list .data-table td { display: block; min-width: 0; max-width: none; border: 0; padding: 4px 0; text-align: left !important; white-space: normal; overflow-wrap: anywhere; }
  .directory-list .data-table td::before,.directory-detail .sc-item-cell::before { content: attr(data-label); display: block; margin-bottom: 5px; font-size: 10px; color: var(--text-muted); font-weight: 400; }
  .directory-list .data-table td:first-child,.directory-list .data-table td:nth-child(2),.directory-list .data-table td:last-child,.directory-list .data-table td[colspan] { grid-column: 1/-1; }
  .directory-list .data-table td[colspan]::before { content: none; }
  .directory-list .row-actions { opacity: 1; flex-wrap: wrap; gap: 8px; }
  .directory-list .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 12px; }
  .directory-list :is(.client-card,.contractor-card,.project-card) { min-width: 0; overflow-wrap: anywhere; }
  .directory-page :is(.client-table-info,.drawer-client-titleline,.drawer-client-hero > div,.project-drawer-hero > div,.drawer-figures > div,.drawer-activity-row > *) { min-width: 0; overflow-wrap: anywhere; }
  .directory-page :is(a[href^="mailto:"],a[href^="tel:"],.client-table-company,.drawer-client-name,.drawer-note) { overflow-wrap: anywhere; white-space: normal; }
  .directory-page :is(a[href^="mailto:"],a[href^="tel:"]) { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; }
  .directory-page .client-drawer { width: min(560px,100%); max-width: 100%; }
  .directory-page :is(.client-drawer-header,.client-drawer-body) { padding: 12px; }
  .directory-page .client-drawer-header > div { min-width: 0; overflow-wrap: anywhere; }
  .directory-page .drawer-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .directory-page .drawer-action-btn { min-width: 0; white-space: normal; }
  .directory-page .drawer-figures strong { overflow-wrap: anywhere; }
  .directory-page .modal-overlay { padding: 8px; }
  .directory-page .modal { max-width: 100%; max-height: calc(100dvh - 16px); }
  .directory-page :is(.modal-header,.modal-footer) { padding: 12px; gap: 8px; flex-wrap: wrap; }
  .directory-page .modal-body { padding: 12px; }
  .directory-page .modal-close { width: 44px; height: 44px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
  .directory-page .modal-overlay :is(input:not([type=hidden]):not([type=checkbox]),select) { min-height: 44px; max-width: 100%; }
  .directory-page .check-label { min-height: 44px; flex-wrap: wrap; }
  .directory-detail > .main > .content-area { padding: 12px; }
  .directory-detail :is(.cd-hero-top,.sc-header,.sc-action-center) { display: grid; grid-template-columns: minmax(0,1fr); }
  .directory-detail .cd-cmd { padding: 16px; }
  .directory-detail .cd-hero-right { text-align: left; min-width: 0; }
  .directory-detail :is(.cd-cmd-name,.cd-outstanding-val,.sc-name) { overflow-wrap: anywhere; }
  .directory-detail :is(.cd-meta-item,.sc-meta-item) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .directory-detail .cd-metrics-bar { position: static; }
  .directory-detail .cd-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .directory-detail .cd-metric { min-width: 0 !important; padding: 12px; }
  .directory-detail :is(.cd-metric-val,.cd-metric-lbl) { white-space: normal; overflow-wrap: anywhere; }
  .directory-detail :is(.sc-stats,.sc-action-metrics) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
  .directory-detail .sc-stat { min-width: 0; overflow-wrap: anywhere; }
  .directory-detail :is(.sc-panel-header,.sc-action-buttons,.offer-block-header,.sc-offer-total) { flex-wrap: wrap; }
  .directory-detail .offer-block-title { min-width: 0; overflow-wrap: anywhere; }
  .directory-detail .offer-block-body { min-width: 0; }
  .directory-detail .sc-item-row { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 8px; gap: 8px; }
  .directory-detail .sc-item-thead { display: none; }
  .directory-detail .sc-item-cell { min-width: 0; padding: 4px; white-space: normal; text-align: left !important; overflow-wrap: anywhere; }
  .directory-detail .sc-item-cell:nth-child(2) { grid-column: 1/-1; }
  .directory-detail .sc-item-cell:first-child { grid-column: 1/-1; }
}
@media (max-width:600px) {
  .directory-page .directory-navigation nav,.directory-page .mod-overview-metrics,.directory-detail .cd-metrics,.directory-detail .sc-stats,.directory-detail .sc-action-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .directory-page .form-grid,.directory-list .cards-grid { grid-template-columns: minmax(0,1fr); }
  .directory-page :is(input,select,textarea) { font-size: 16px; }
  .directory-page .label-with-check { flex-wrap: wrap; }
}
