/* Shared responsive layout: document fits viewport; wide data tables scroll locally. */
.admin-content,.content-stack,.data-card,.project-overview,.department-card { min-width:0; }
img,video { max-width:100%; }
@media(max-width:1100px) {
 .admin-content .toolbar,.admin-content .projects-toolbar,.admin-content .project-overview-heading,.admin-content .data-card-header { flex-wrap:wrap; gap:10px; }
 .projects-directory .project-filter-form,.analytics-page .project-filter-form { display:flex; flex-wrap:wrap; gap:8px; min-width:0; width:100%; }
 .projects-directory .project-filter-form .form-control,.analytics-page .project-filter-form .form-control { width:auto; min-width:0; flex:1 1 145px; max-width:100%; }
 .projects-directory .project-filter-form input[type=search] { flex-basis:220px; }
 .project-list-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .table-responsive,.users-table-wrap,.aw-table-wrap,.hr-results-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
 .admin-content .project-overview-heading>div,.admin-content .toolbar>form { min-width:0; max-width:100%; }
}
@media(max-width:767px) {
 .admin-content { width:100%; box-sizing:border-box; padding:12px 10px 22px; }
 .admin-content .page-header { padding-inline-start:38px; gap:8px; flex-wrap:wrap; }
 .admin-content .page-header h1 { font-size:17px; }
 .admin-content .page-heading,.admin-content .screen-header-actions { min-width:0; max-width:100%; }
 .admin-content .user-chip { max-width:220px; }
 .admin-content .user-chip strong { overflow-wrap:anywhere; }
 .admin-content .data-card,.admin-content .project-overview { padding:14px; border-radius:14px; }
 .admin-content .toolbar { width:100%; }
 .project-actions { width:100%; justify-content:flex-start; }
 .project-overview-title { flex-wrap:wrap; gap:8px; }
 .project-overview-title h2 { font-size:18px; overflow-wrap:anywhere; }
 .project-overview-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .project-overview-facts>span { min-width:0; }
 .project-list-grid,.project-card-grid,.department-grid,.departments-grid,.project-departments-grid { grid-template-columns:minmax(0,1fr)!important; }
 .project-form,.template-edit-fields,.template-task-form { grid-template-columns:minmax(0,1fr); gap:10px; }
 .project-form>*,.template-task-form>*,.template-edit-fields>* { min-width:0; max-width:100%; }
 .project-form .project-form-wide { grid-column:1/-1; }
 .template-department-heading { flex-wrap:wrap; gap:8px; }
 .template-task-form .button { justify-self:start; }
 .task-owner-picker,.task-owner-dropdown { min-width:0; max-width:100%; }
 .admin-content .form-control,.admin-content input,.admin-content select,.admin-content textarea { max-width:100%; box-sizing:border-box; }
 .admin-content input[type=file] { width:100%; min-width:0; font-size:12px; }
 .task-attachment-upload { flex-wrap:wrap; }
 .task-attachment-upload .form-control { flex-basis:100%; }
 .project-share-options { inset-inline-start:auto; inset-inline-end:0; max-width:calc(100vw - 32px); }
 .modal-dialog,.project-modal-dialog,dialog.acq-dialog { width:calc(100% - 24px); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow-y:auto; box-sizing:border-box; }
 .modal-body,.modal-content { min-width:0; }
 .acq-toolbar,.acq-details-actions { flex-wrap:wrap; }
 .acq-toolbar>div { min-width:0; max-width:100%; }
 .acq-toolbar h2 { overflow-wrap:anywhere; font-size:18px; }
 .acq-top-actions { width:100%; justify-content:flex-start; }
 .acq-filters,.acq-summary,.acq-grid,.acq-info-grid { min-width:0; }
 .aw-overview-grid,.aw-overview-vertical,.aw-inspection-grid { grid-template-columns:minmax(0,1fr); }
 .aw-stage-strip { display:flex; overflow-x:auto; max-width:100%; }
 .aw-stage-strip>li { flex:0 0 110px; }
 .admin-content table { font-size:11px; }
 .content-background-actions .button,.hr-actions .button { white-space:normal; }
}
@media(max-width:420px) {
 .summary-grid,.hr-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }

 .page-header .screen-header-actions { gap:5px; }
 .page-header .user-chip { max-width:185px; }
}
@media(max-width:767px) { .login-scene .auth-card { width:100%; max-width:440px; box-sizing:border-box; padding:20px 16px; } .login-scene .auth-page { padding:14px; } .login-scene .auth-form input { min-width:0; max-width:100%; box-sizing:border-box; } }
@media(max-width:767px) { .auth-page { padding:14px; } .auth-page .auth-card { width:100%; max-width:440px; box-sizing:border-box; padding:20px 16px; } .auth-card input,.auth-card select { max-width:100%; min-width:0; box-sizing:border-box; } .acq-public .acq-form-shell { width:100%; max-width:100%; padding:10px; box-sizing:border-box; } .acq-public .acq-form-card { padding:16px 12px; } .acq-public .acq-form-grid { grid-template-columns:minmax(0,1fr); } .acq-public .acq-form-card input { max-width:100%; min-width:0; box-sizing:border-box; } }

@media(max-width:1100px) { .projects-directory .project-filter-form .project-status-multiselect { flex:1 1 145px; min-width:145px; max-width:100%; } .projects-directory .project-status-options { max-width:calc(100vw - 32px); } }

/* Balanced mobile dashboard header, filters and summary tiles. */
@media(max-width:767px) {
 .admin-content:has(.analytics-page)>.page-header { display:flex; flex-direction:column; align-items:stretch; gap:7px; padding:10px 12px; padding-inline-start:42px; margin-bottom:12px; }
 .admin-content:has(.analytics-page)>.page-header .page-heading { justify-content:flex-start; width:100%; }
 .admin-content:has(.analytics-page)>.page-header .mobile-menu-button { display:none; }
 .admin-content:has(.analytics-page)>.page-header .screen-header-actions { display:flex; justify-content:flex-start; flex-wrap:nowrap; width:100%; gap:6px; }
 .admin-content:has(.analytics-page)>.page-header .user-chip { max-width:none; min-width:0; flex:1; }
 .admin-content:has(.analytics-page)>.page-header .user-chip strong { white-space:normal; font-size:11px; }
 .admin-content .analytics-page { gap:10px; }
 .admin-content .analytics-page .projects-toolbar { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; align-items:center; margin:0; }
 .admin-content .analytics-page .project-filter-form { display:contents; }
 .admin-content .analytics-page .project-filter-form>.form-control { grid-column:1/-1; width:100%; min-width:0; height:37px; min-height:37px; font-size:11px; padding:6px 10px; box-sizing:border-box; margin:0; }
 .admin-content .analytics-page .project-filter-form>[name=project_type] { grid-column:1/4; }
 .admin-content .analytics-page .project-filter-form>.project-status-multiselect { grid-column:4/7; width:100%; min-width:0; margin:0; }
 .admin-content .analytics-page .project-status-multiselect>summary { min-height:37px; height:37px; box-sizing:border-box; padding:6px 10px; font-size:11px; }
 .admin-content .analytics-page .project-filter-form>[name=city] { grid-column:1/6; }
 .admin-content .analytics-page .project-filter-form>.button { grid-column:6; justify-self:end; }
 .admin-content .analytics-page [data-display-actions] { grid-column:1/-1; justify-content:flex-end; margin:0; gap:8px; }
 .analytics-page .premium-analytics .pa-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .analytics-page .premium-analytics .pa-kpi { min-height:58px; padding:8px; column-gap:5px; }
 .analytics-page .premium-analytics .pa-kpi-top>span { font-size:9px; line-height:1.5; }
 .analytics-page .premium-analytics .pa-kpi>strong { font-size:21px; }
 .analytics-page .premium-analytics .pa-kpi>small { font-size:8px; }
 .analytics-page .premium-analytics .pa-panel { border-radius:14px; padding:12px; }
 .analytics-page .premium-analytics .pa-radial { max-width:195px; margin-inline:auto; }
}

@media(max-width:767px) { .admin-content .analytics-page .projects-toolbar .project-filter-form input[type=search] { width:100%; max-width:none; justify-self:stretch; } .admin-content:has(.analytics-page)>.page-header .user-chip { flex:0 1 auto; max-width:calc(100% - 65px); } }

@media(max-width:767px) {
 .admin-content .analytics-page .projects-toolbar .project-filter-form>.form-control,
 .admin-content .analytics-page .projects-toolbar .project-filter-form>.project-status-multiselect { grid-column:auto / span 3; width:100%; min-width:0; max-width:100%; height:33px; min-height:33px; padding:4px 8px; font-size:10px; }
 .admin-content .analytics-page .projects-toolbar .project-filter-form>.project-status-multiselect { padding:0; height:auto; }
 .admin-content .analytics-page .projects-toolbar .project-status-multiselect>summary { height:33px; min-height:33px; padding:4px 8px; font-size:10px; }
 .admin-content .analytics-page .projects-toolbar .project-filter-form>.button { grid-column:auto / span 3; justify-self:end; }
}

@media(max-width:767px) {
 .admin-content .analytics-page .projects-toolbar .project-filter-form>.button { grid-column:6; grid-row:3; justify-self:end; }
 .admin-content .analytics-page .projects-toolbar [data-display-actions] { grid-column:4 / 6; grid-row:3; justify-content:flex-end; gap:6px!important; flex-wrap:nowrap!important; }
 .admin-content .analytics-page .projects-toolbar [data-display-actions] .button { flex-shrink:0; }
}

/* Project directory: compact two-column mobile controls. */
@media(max-width:767px) {
 .admin-content:has(.projects-directory)>.page-header { display:flex; flex-direction:column; align-items:stretch; gap:7px; padding:10px 12px; padding-inline-start:42px; margin-bottom:12px; }
 .admin-content:has(.projects-directory)>.page-header .page-heading { width:100%; justify-content:flex-start; }
 .admin-content:has(.projects-directory)>.page-header .mobile-menu-button { display:none; }
 .admin-content:has(.projects-directory)>.page-header .screen-header-actions { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:6px; width:100%; }
 .admin-content:has(.projects-directory)>.page-header .user-chip { flex:0 1 auto; min-width:0; max-width:calc(100% - 65px); }
 .admin-content .projects-directory { gap:10px; }
 .admin-content .projects-directory .projects-toolbar { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:8px; align-items:center; margin:0; }
 .admin-content .projects-directory .project-filter-form { display:contents; }
 .admin-content .projects-directory .projects-toolbar .project-filter-form>.form-control,
 .admin-content .projects-directory .projects-toolbar .project-status-multiselect { grid-column:span 6; width:100%; max-width:none; min-width:0; margin:0; height:34px; min-height:34px; padding:5px 8px; font-size:10px; box-sizing:border-box; }
 .admin-content .projects-directory .projects-toolbar .project-status-multiselect { padding:0; height:auto; }
 .admin-content .projects-directory .project-status-multiselect>summary { height:34px; min-height:34px; padding:5px 8px; font-size:10px; box-sizing:border-box; }
 .admin-content .projects-directory .project-filter-form>.button { grid-column:11/13; grid-row:3; justify-self:end; }
 .admin-content .projects-directory .projects-toolbar>.project-export-menu { grid-column:9/11; grid-row:3; justify-self:end; }
 .admin-content .projects-directory .projects-toolbar>a.button { grid-column:1/-1; justify-self:stretch; width:auto; min-height:34px; padding:6px 12px; font-size:11px; margin:0; }
 .admin-content .projects-directory .project-state-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0; }
 .admin-content .projects-directory .project-state-tabs button { justify-content:center; min-width:0; min-height:33px; padding:5px; font-size:10px; gap:5px; }
 .admin-content .projects-directory .department-empty { padding:18px 12px; font-size:11px; line-height:1.8; margin:0; }
}

@media(max-width:767px) { .admin-content .projects-directory .projects-toolbar .project-filter-form>[name=city] { grid-column:1/-1; grid-row:3; } .admin-content .projects-directory .project-filter-form>.button { grid-row:4; } .admin-content .projects-directory .projects-toolbar>.project-export-menu { grid-row:4; } .admin-content .projects-directory .projects-toolbar>a.button { grid-column:1/9; grid-row:4; justify-self:start; } }

/* Shared mobile rhythm for management, tasks, forms and acquisition screens. */
@media(max-width:767px) {
 .admin-content>.page-header { display:flex; flex-direction:column; align-items:stretch; gap:7px; padding:10px 12px; padding-inline-start:42px; margin-bottom:12px; }
 .admin-content>.page-header .page-heading { width:100%; justify-content:flex-start; }
 .admin-content>.page-header .mobile-menu-button { display:none; }
 .admin-content>.page-header .screen-header-actions { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:6px; width:100%; }
 .admin-content>.page-header .user-chip { flex:0 1 auto; min-width:0; max-width:calc(100% - 65px); }
 .admin-content .content-stack,.admin-content .hr-page { gap:12px; }
 .admin-content .data-card-header,.admin-content .attachments-heading,.admin-content .template-department-heading { flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:12px; }
 .admin-content h2 { font-size:18px; line-height:1.6; overflow-wrap:anywhere; }
 .admin-content .card.p-4 { padding:14px!important; }
 .admin-content .row { margin-inline:0; row-gap:10px; }
 .admin-content .row>[class*='col-'] { width:100%; max-width:100%; min-width:0; padding-inline:0; flex-basis:100%; }
 .admin-content .form-field { min-width:0; gap:5px; }
 .admin-content .form-field>label,.admin-content .form-label { font-size:11px; line-height:1.6; }
 .admin-content form .form-control { min-width:0; }
 .admin-content .table-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
 .admin-content .users-pagination { flex-wrap:wrap; gap:6px; font-size:11px; }
 .admin-content .users-toolbar,.admin-content .users-toolbar form { display:flex; flex-wrap:wrap; gap:7px; min-width:0; }
 .admin-content .users-toolbar input[type=search] { flex:1 1 180px; width:auto; }
 .admin-content .user-profile-page .user-permission-grid { grid-template-columns:minmax(0,1fr); }
 .admin-content .department-schedule .toolbar { gap:7px; flex-wrap:wrap; }
 .admin-content .department-schedule .department-owner-picker { flex-basis:100%; }
 .admin-content .department-schedule .toolbar input[type=date] { flex:1; width:auto; }
 .admin-content .template-task-form { padding:10px; border:1px solid #e0edf2; border-radius:11px; margin-block:8px; }
 .admin-content .template-task-form>.template-active-toggle { justify-self:start; }
 .admin-content .template-task-form>.button { justify-self:end; }
 .admin-content .acq-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
 .admin-content .acq-kpis article { padding:8px; gap:5px; min-width:0; }
 .admin-content .acq-kpis article>span { white-space:normal; font-size:9px; }
 .admin-content .acq-kpis article>strong { font-size:20px; }
 .admin-content .acq-filter { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
 .admin-content .acq-filter>* { min-width:0; width:100%; box-sizing:border-box; font-size:11px; }
 .admin-content .acq-filter>input[name=q] { grid-column:1/-1; }
 .admin-content .acq-list-grid,.admin-content .acq-contact-grid,.admin-content .acq-contact-fields { grid-template-columns:minmax(0,1fr); }
 .admin-content .acq-directory-tabs,.admin-content .aw-stage-tabs,.admin-content .hr-tabs { gap:6px; flex-wrap:wrap; }
 .admin-content .hr-tabs button { flex:1 1 110px; min-height:34px; padding:6px 8px; font-size:11px; }
 .admin-content .hr-actions { display:flex; flex-wrap:wrap; gap:7px; }
 .admin-content .hr-actions>form { flex:1 1 140px; min-width:0; flex-wrap:wrap; }
 .admin-content .hr-actions input { flex:1; min-width:0; }
 .admin-content .acq-section,.admin-content .aw-card { padding:12px; min-width:0; }
 .admin-content .aw-table-wrap,.admin-content .acq-contacts-table-wrap { max-width:100%; overflow-x:auto; }
 .user-management-dialog .user-management-tabs { position:sticky; top:0; z-index:1; background:#fff; padding-block:6px; }
 .user-management-dialog input,.user-management-dialog select { min-width:0; max-width:100%; }
 .project-notification-panel { position:fixed; inset-inline:12px; top:105px; width:auto; max-width:none; max-height:calc(100dvh - 125px); padding:12px; }
 .admin-content .account-edit-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-content .account-edit-actions .button { width:100%; white-space:normal; }
}

/* Accessible text contrast without changing the portal palette. */
.login-notifications-dialog p,.login-notifications-dialog small { color:#526b76; }
.acq-admin .aw-export-button { color:#08758b; }
.acq-admin .acq-kpis article>span { color:#506b79; }
.acq-admin .aw-stage-tabs a>b { color:#365565; }

@media(max-width:767px) {
 .admin-content :is(p,small,label,span,a,button,input,select,summary,td,th) { font-size:12px!important; }
 .admin-content strong>span,.admin-content h1>span,.admin-content h2>span,.admin-content h3>span { font-size:inherit!important; }
 .admin-content .pa-column-group>strong { font-size:12px!important; }
 .admin-content .pa-speed-caption { font-size:12px!important; line-height:1.7; }
 .admin-content .pa-kpi { min-height:70px; }
 .admin-content .pa-kpi-top>span { white-space:normal; }
}

@media(max-width:1100px) { .admin-content>.row { margin-inline:0; max-width:100%; } .admin-content>.row>[class*='col-'] { min-width:0; } }

@media(max-width:1100px) { .admin-content>.task-board-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; } .admin-content>.task-board-layout>[class*='col-'] { padding:0; width:100%; max-width:100%; margin:0; } .task-board-layout strong { overflow-wrap:anywhere; min-width:0; } .task-board-layout .d-flex { gap:6px; flex-wrap:wrap; } }
@media(max-width:600px) { .admin-content>.task-board-layout { grid-template-columns:minmax(0,1fr); } }
