/* Mobile UI v6 — focused Settings/editor cleanup from real iPhone screenshots. */
@media (max-width: 760px) {
  /* Shared modal geometry: never allow assignment-heavy editors to drift wider than viewport. */
  .settings-modal-backdrop {
    padding:0 !important;
    align-items:flex-end !important;
    overflow:hidden !important;
  }
  .settings-modal {
    width:100vw !important;
    max-width:100vw !important;
    height:min(88dvh, 760px) !important;
    max-height:88dvh !important;
    margin:0 !important;
    border-radius:18px 18px 0 0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  .settings-modal > header {
    height:52px !important;
    min-height:52px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
  }
  .settings-modal > header h3 {
    min-width:0 !important;
    max-width:calc(100vw - 74px) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:17px !important;
  }
  .settings-modal-body,
  .ui-modal-body {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:10px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
  }
  .settings-modal-body > *,
  .ui-modal-body > *,
  .settings-modal form,
  .settings-modal section,
  .settings-modal fieldset {
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Assignment surfaces: compact, bounded, and sane with 100+ selected items. */
  .group-assignment-stack { gap:8px !important; }
  .group-assignment-section {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #d9e2e8 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .group-assignment-section > header { padding:8px !important; }
  .group-assignment-heading h4 { font-size:13px !important; margin:0 !important; }
  .group-assignment-heading p { display:none !important; }
  .group-assignment-heading > span { font-size:9px !important; padding:3px 7px !important; }
  .group-assignment-tools {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:5px !important;
    margin-top:6px !important;
  }
  .group-assignment-tools label { min-width:0 !important; }
  .group-assignment-tools label > span { display:none !important; }
  .group-assignment-tools input { min-height:34px !important; height:34px !important; padding:5px 8px !important; font-size:11px !important; }
  .group-assignment-tools button { min-height:34px !important; padding:5px 9px !important; font-size:10px !important; white-space:nowrap; }

  .assignment-selected {
    margin:0 !important;
    padding:7px 8px !important;
    border-top:1px solid #e2e9ed !important;
    background:#f7f9fa !important;
  }
  .assignment-selected-heading { margin-bottom:5px !important; }
  .assignment-selected-heading strong { font-size:10px !important; }
  .assignment-selected-heading span { font-size:9px !important; }
  .assignment-selected-chips {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:4px !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .assignment-selected-chips button {
    min-height:28px !important;
    max-width:100% !important;
    padding:3px 6px !important;
    gap:4px !important;
    font-size:9px !important;
    border-radius:14px !important;
  }
  .assignment-selected-chips button > span:first-child {
    max-width:155px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .assignment-selected-toggle {
    width:100% !important;
    min-height:30px !important;
    margin-top:5px !important;
    padding:4px 8px !important;
    border:1px solid #cbd9e1 !important;
    border-radius:8px !important;
    background:#fff !important;
    color:#35566d !important;
    font-size:10px !important;
    font-weight:700 !important;
  }
  .assignment-picker {
    max-height:260px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:6px !important;
  }
  .assignment-row {
    min-height:42px !important;
    padding:5px 7px !important;
    gap:6px !important;
    border-radius:8px !important;
  }
  .assignment-row > span { min-width:0 !important; font-size:10px !important; line-height:1.2 !important; overflow-wrap:anywhere; }
  .assignment-row > button { flex:0 0 auto; min-height:30px !important; padding:4px 7px !important; font-size:9px !important; }

  /* Maps editor: force every nested picker and form field inside the sheet. */
  .map-edit-form,
  .map-edit-form .group-assignment-section,
  .map-edit-form .assignment-selected,
  .map-edit-form .assignment-picker { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .map-edit-form { gap:8px !important; }
  .map-edit-form > label { margin:0 !important; }
  .map-edit-form > label > input { min-height:38px !important; }
  .map-edit-form .feature-toggle { padding:7px 0 !important; }

  /* Group editor: compact switches + schedule; assignments remain below. */
  .group-edit-form { gap:8px !important; }
  .group-edit-form > label textarea { min-height:64px !important; max-height:90px !important; }
  .group-edit-form .feature-toggle-grid {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:4px 8px !important;
    padding:4px 0 !important;
  }
  .group-edit-form .feature-toggle {
    min-height:38px !important;
    padding:4px 0 !important;
  }
  .group-edit-form .feature-toggle p { display:none !important; }
  .group-edit-form .feature-toggle strong,
  .group-edit-form .feature-toggle label { font-size:11px !important; }
  .group-schedule-editor {
    margin:0 !important;
    padding:8px !important;
    border-radius:9px !important;
  }
  .group-schedule-editor > p { display:none !important; }
  .group-schedule-editor legend { font-size:12px !important; padding:0 5px !important; }
  .group-schedule-editor .office-hours-fields {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:5px !important;
  }
  .group-schedule-editor .office-hours-fields label { font-size:9px !important; }
  .group-schedule-editor .office-hours-fields label:nth-child(3) { grid-column:1 / -1; }
  .group-schedule-editor .office-hours-fields input {
    min-height:34px !important;
    height:34px !important;
    padding:4px 7px !important;
    font-size:11px !important;
  }
  .group-schedule-editor .office-hours-days {
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    gap:3px !important;
    margin-top:6px !important;
  }
  .group-schedule-editor .office-hours-days button {
    min-width:0 !important;
    min-height:30px !important;
    padding:3px 1px !important;
    font-size:9px !important;
    border-radius:7px !important;
  }

  /* Groups list: one scan row worth of metadata, not a mini form. */
  .settings-group-table tr {
    position:relative;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:3px 8px !important;
    min-height:74px !important;
    padding:8px 9px !important;
    margin-bottom:5px !important;
  }
  .settings-group-table td { padding:0 !important; border:0 !important; min-width:0 !important; }
  .settings-group-table td::before { display:none !important; }
  .settings-group-table td[data-label="Group"] { grid-column:1; }
  .settings-group-table td[data-label="Group"] strong { font-size:13px !important; }
  .settings-group-table td[data-label="Group"] .muted { display:block; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px !important; }
  .settings-group-table td[data-label="Users"],
  .settings-group-table td[data-label="Sites"],
  .settings-group-table td[data-label="Maps"],
  .settings-group-table td[data-label="Status"] {
    grid-row:2;
    display:inline-flex !important;
    align-items:center;
    width:max-content;
    font-size:9px !important;
    color:#6f7f8b;
  }
  .settings-group-table td[data-label="Users"]::after { content:' users'; }
  .settings-group-table td[data-label="Sites"]::after { content:' sites'; }
  .settings-group-table td[data-label="Maps"]::after { content:' maps'; }
  .settings-group-table td[data-label="Users"] { grid-column:1; }
  .settings-group-table td[data-label="Sites"] { grid-column:1; margin-left:48px; }
  .settings-group-table td[data-label="Maps"] { grid-column:1; margin-left:93px; }
  .settings-group-table td[data-label="Status"] { grid-column:1; margin-left:138px; }
  .settings-group-table td[data-label="Actions"] { grid-column:2; grid-row:1 / span 2; align-self:center; }
  .settings-group-table .mobile-card-actions { display:grid !important; grid-template-columns:1fr 1fr !important; gap:3px !important; width:108px; }
  .settings-group-table .mobile-card-actions button { min-height:29px !important; padding:3px 5px !important; font-size:8.5px !important; }
  .settings-group-table .mobile-card-actions > :first-child { grid-column:1 / -1; }

  /* Site settings list: raw coordinates never belong in scan mode. */
  .setup-site-list td[data-label="Latitude"],
  .setup-site-list td[data-label="Longitude"] { display:none !important; }
  .setup-site-list tr {
    min-height:78px !important;
    padding-bottom:8px !important;
  }

  /* Embedded notification policy: stack rules cleanly, smaller controls, sticky Done remains useful. */
  .group-notification-embedded { width:100% !important; max-width:100% !important; overflow-x:hidden !important; }
  .group-notification-intro { display:none !important; }
  .group-notification-section {
    margin:0 0 8px !important;
    padding:8px !important;
    border-radius:10px !important;
  }
  .group-notification-section > div:first-child h3 { font-size:14px !important; margin:0 0 2px !important; }
  .group-notification-section > div:first-child p { display:none !important; }
  .group-notification-user-list article { padding:7px !important; margin-bottom:5px !important; }
  .group-notification-user-list article > header strong { font-size:12px !important; }
  .group-notification-user-list article > header span { font-size:8.5px !important; }
  .notification-policy-rows { gap:0 !important; border:1px solid #dfe6ea !important; border-radius:8px !important; overflow:hidden; }
  .notification-policy-row {
    display:grid !important;
    grid-template-columns:minmax(88px,.8fr) minmax(0,1fr) !important;
    align-items:center !important;
    gap:4px 8px !important;
    min-height:46px !important;
    padding:6px 7px !important;
    border-bottom:1px solid #e4eaee !important;
  }
  .notification-policy-row:last-child { border-bottom:0 !important; }
  .notification-policy-row > strong { font-size:10px !important; line-height:1.15 !important; }
  .notification-policy-row > .muted { display:none !important; }
  .notification-policy-row.ai-rule-row { grid-template-columns:minmax(72px,.65fr) minmax(0,1fr) !important; }
  .ai-rule-options,
  .notification-delivery-options {
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    gap:5px 8px !important;
  }
  .notification-delivery-options { grid-column:2 !important; }
  .check-label { gap:4px !important; font-size:9.5px !important; white-space:nowrap; }
  .check-label input[type="checkbox"] { width:20px !important; height:20px !important; min-width:20px !important; }
  .ai-rule-options select { min-height:30px !important; height:30px !important; width:58px !important; padding:3px 5px !important; font-size:9px !important; }
  .group-notification-section button.primary-action { width:100% !important; min-height:34px !important; padding:5px 8px !important; font-size:10px !important; }
  .reminder-delay-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:5px !important; }
  .reminder-delay-grid input { min-height:34px !important; height:34px !important; }
  .shared-on-call-policy { margin:0 !important; }

  /* Keep form actions visible without stealing half the screen. */
  .settings-modal .modal-actions,
  .settings-modal .ui-modal-actions {
    min-height:48px !important;
    padding:6px 10px calc(6px + env(safe-area-inset-bottom)) !important;
    gap:5px !important;
  }
  .settings-modal .modal-actions button,
  .settings-modal .ui-modal-actions button { min-height:34px !important; padding:5px 9px !important; font-size:10px !important; }
}
