/* Phone and tablet overrides, loaded after the page-specific design systems. */
@media screen and (max-width: 1180px) {
  body.authenticated-dashboard { display:block; }
  body.authenticated-dashboard .portal-sidebar { position:fixed; left:0; top:0; width:min(300px,calc(100vw - 64px)); height:100dvh; transform:translateX(-105%); transition:transform .2s ease; padding-top:76px; overscroll-behavior:contain; }
  body.portal-menu-open .portal-sidebar { transform:translateX(0); }
  body.portal-menu-open { overflow:hidden; }
  .portal-mobile-toggle { position:fixed; z-index:95; top:max(14px,env(safe-area-inset-top)); left:max(14px,env(safe-area-inset-left)); display:grid; width:44px; height:44px; min-height:44px; padding:11px; place-content:center; gap:4px; border-radius:12px; background:#fff; box-shadow:0 4px 18px #0002; }
  .portal-mobile-toggle span { display:block; width:20px; height:2px; background:#2d2a26; }
  .portal-sidebar-overlay { position:fixed; z-index:70; inset:0; display:block; visibility:hidden; opacity:0; border:0; background:#24201b66; }
  body.portal-menu-open .portal-sidebar-overlay { visibility:visible; opacity:1; }
  body.authenticated-dashboard .portal-dashboard-main { width:calc(100% - 40px) !important; max-width:1100px; min-width:0; margin-inline:auto; padding-top:78px !important; }
  body.authenticated-dashboard > .global-contact-footer { grid-column:auto; }
  body :is(.finance-two-column,.invoice-generator-layout,.score-workspace-grid,.score-rank-workspace,.website-admin-layout,.portal-overview-panels) { grid-template-columns:minmax(0,1fr); }
  body :is(.invoice-live-preview,.website-page-panel) { position:static; max-height:none; }
  body .debate-scorecard-grid { grid-template-columns:minmax(0,1fr); }
  body :is(main,section,form,fieldset,.surface,.score-view-panel,.finance-table-wrap,.website-editor-panel) { min-width:0; }
  body :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { min-width:0; max-width:100%; font-size:16px; }
  body.authenticated-dashboard :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px; }
  body :is(button,.button-link,.portal-sidebar a), body.authenticated-dashboard :is(button,.button-link) { min-height:44px; }
  body :is(.finance-actions,.account-dialog-actions,.collection-section-head,.score-session-toolbar,.report-controls,.gallery-admin-row,.website-editor-heading,.proof-preview-heading) { flex-wrap:wrap; gap:12px; }
  body :is(.finance-table-wrap,.collection-table-scroll,.debate-table-scroll,.event-calendar-scroll) { overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  body dialog { box-sizing:border-box; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; }
  body dialog :is(iframe,img) { max-width:100%; }
  body dialog iframe { height:60dvh; }
  body :is(.finance-tr,.gallery-admin-row,.portal-outstanding-item) { overflow-wrap:anywhere; }
  body .portal-sidebar-footer { padding-bottom:max(16px,env(safe-area-inset-bottom)); }
}
@media screen and (max-width:700px) {
  body.authenticated-dashboard .portal-dashboard-main { width:calc(100% - 24px) !important; }
  body :is(.form-row.two,.form-row.three,.debate-match-meta,.debate-team-components,.score-rank-workspace,#outgoing-form,#application-form,#schedule-form,.schedule-party-list,.website-page-list) { grid-template-columns:minmax(0,1fr); }
  body :is(.finance-form,.finance-table-wrap,.portal-overview-panel,.website-content-form,.gallery-admin,.debate-calculator-form) { padding:16px; }
  body :is(.finance-heading,.portal-overview-header,.portal-outstanding-heading,.collection-section-head,.website-editor-heading) { flex-direction:column; align-items:stretch; }
  body :is(.finance-stat-grid,.member-overview-grid,.portal-overview-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body :is(.finance-stat,.portal-overview-card) { padding:16px; }
  body :is(.finance-tabs,.income-view-switcher,.scoring-view-switcher,.tabs) { display:flex; flex-wrap:wrap; width:100%; gap:6px; }
  body :is(.finance-tabs,.income-view-switcher,.scoring-view-switcher,.tabs)>button { flex:1 1 110px; min-width:0; padding:10px; }
  body :is(.invoice-item-footer,.website-save-bar,.gallery-library-picker) { flex-wrap:wrap; gap:12px; }
  body :is(.collection-section-head>label,.report-controls label,.pi-register-tools label) { min-width:0; width:100%; max-width:none; }
  body .invoice-recipient-tools span { flex-basis:100%; }
  body :is(.invoice-recipients,.invoice-item-builder,.authorization-fields) { padding:12px; }
  body .invoice-preview-row { grid-template-columns:minmax(0,1fr) auto; gap:12px; overflow-wrap:anywhere; }
  body .invoice-live-preview { padding:16px; }
  body .account-editor-dialog .finance-form { padding:16px; }
  body .account-dialog-actions button { flex:1 1 120px; }
  body .event-calendar-toolbar { flex-wrap:wrap; gap:12px; }
  body .event-calendar-navigation { flex-wrap:wrap; }
  body .gallery-edit-photo { grid-template-columns:minmax(0,1fr); }
  body :is(.site-strip-inner,.site-strip nav) { flex-wrap:wrap; }
  body :is(.site-strip nav a,.public-anchor-nav a) { display:inline-flex; align-items:center; min-height:44px; }
  body :is(.global-contact-info,.gallery-photo-grid) { grid-template-columns:minmax(0,1fr); }
}
@media screen and (max-width:380px) {
  body :is(.finance-stat-grid,.member-overview-grid,.portal-overview-grid) { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { body.authenticated-dashboard .portal-sidebar { transition:none; } }
