.stage9b-message,.stage9b-empty,.stage9b-panel,.stage9b-next-step,.atc-final-note{min-width:0;box-sizing:border-box}
.stage9b-message{margin:12px 0;padding:11px 13px;border:1px solid var(--simh-border);border-radius:12px;background:var(--simh-surface);color:var(--simh-text-strong);font-size:.82rem;line-height:1.5}
.stage9b-message.is-success{border-color:#85d9b8;background:#e3f8ef;color:#095a45}.stage9b-message.is-error{border-color:#efaaaa;background:#fff0f0;color:#8d2020}.stage9b-message.is-warning{border-color:#eecb8b;background:#fff7e8;color:#76480f}
html[data-theme="dark"] .stage9b-message.is-success{background:#102f28;color:#b8f5dd;border-color:#246a56}html[data-theme="dark"] .stage9b-message.is-error{background:#34191d;color:#ffd1d7;border-color:#75404a}html[data-theme="dark"] .stage9b-message.is-warning{background:#332818;color:#ffe3ad;border-color:#70562a}
.stage9b-panel{margin-top:13px;padding:16px;border:1px solid var(--simh-border);border-radius:15px;background:var(--simh-surface);box-shadow:var(--simh-shadow-xs)}
.stage9b-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.stage9b-panel-head h2{margin:0;color:var(--simh-text-strong);font-size:1rem;line-height:1.25}.stage9b-panel-head p{margin:5px 0 0;color:var(--simh-text-muted);font-size:.78rem;line-height:1.5}.stage9b-panel-head .btn{flex:0 0 auto}
.stage9b-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stage9b-form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.stage9b-field{display:flex;min-width:0;flex-direction:column;gap:5px}.stage9b-field>span{color:var(--simh-text-strong);font-size:.7rem;font-weight:800}.stage9b-field small{color:var(--simh-text-muted);font-size:.66rem;line-height:1.4}.stage9b-field input,.stage9b-field select,.stage9b-field textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--simh-border);border-radius:10px;background:var(--simh-surface);color:var(--simh-text-strong);font-size:.78rem;padding:9px 10px;outline:none}.stage9b-field input:focus,.stage9b-field select:focus,.stage9b-field textarea:focus{border-color:var(--simh-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--simh-primary) 14%,transparent)}.stage9b-field input[readonly]{background:var(--simh-bg-soft);color:var(--simh-text-muted)}
.stage9b-input-unit{display:flex;align-items:center;min-width:0;border:1px solid var(--simh-border);border-radius:10px;background:var(--simh-surface);overflow:hidden}.stage9b-input-unit input{border:0!important;border-radius:0!important;box-shadow:none!important}.stage9b-input-unit em{flex:0 0 auto;padding:0 9px;color:var(--simh-text-muted);font-size:.72rem;font-style:normal;font-weight:800}
.stage9b-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.stage9b-toggle,.atc-warning-check,.atc-auto-credit{display:flex;min-width:0;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--simh-border);border-radius:11px;background:color-mix(in srgb,var(--simh-surface) 96%,var(--simh-bg) 4%);cursor:pointer}.stage9b-toggle input,.atc-warning-check input,.atc-auto-credit input{margin:2px 0 0;accent-color:var(--simh-primary)}.stage9b-toggle span,.atc-warning-check span,.atc-auto-credit span{display:flex;min-width:0;flex-direction:column;gap:2px}.stage9b-toggle strong,.atc-warning-check strong,.atc-auto-credit strong{color:var(--simh-text-strong);font-size:.73rem}.stage9b-toggle small,.atc-warning-check small,.atc-auto-credit small{color:var(--simh-text-muted);font-size:.65rem;line-height:1.35}.stage9b-toggle:has(input:checked),.atc-warning-check:has(input:checked),.atc-auto-credit:has(input:checked){border-color:color-mix(in srgb,var(--simh-primary) 55%,var(--simh-border));background:color-mix(in srgb,var(--simh-primary) 8%,var(--simh-surface))}
.stage9b-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--simh-border-soft)}
.stage9b-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}.stage9b-two-column>.stage9b-panel{height:calc(100% - 13px)}
.stage9b-empty{padding:16px;border:1px dashed var(--simh-border);border-radius:12px;background:var(--simh-bg-soft);text-align:center}.stage9b-empty strong{display:block;color:var(--simh-text-strong);font-size:.84rem}.stage9b-empty p{margin:5px 0 0;color:var(--simh-text-muted);font-size:.72rem;line-height:1.45}
.stage9b-next-step,.atc-final-note{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--simh-primary) 28%,var(--simh-border));border-radius:13px;background:color-mix(in srgb,var(--simh-primary) 6%,var(--simh-surface))}.stage9b-next-step strong,.atc-final-note strong{color:var(--simh-text-strong);font-size:.8rem}.stage9b-next-step p,.atc-final-note p{margin:4px 0 0;color:var(--simh-text-muted);font-size:.72rem;line-height:1.45}.stage9b-next-step>span,.atc-final-note>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:var(--simh-primary);color:#fff;font-size:.66rem;font-weight:850}
@media(max-width:1180px){.stage9b-form-grid,.stage9b-form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.stage9b-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.stage9b-panel{padding:13px;border-radius:13px}.stage9b-panel-head{align-items:stretch;flex-direction:column}.stage9b-panel-head .btn{width:100%}.stage9b-form-grid,.stage9b-form-grid.compact,.stage9b-toggle-grid,.stage9b-support-grid,.stage9b-two-column{grid-template-columns:1fr}.stage9b-two-column>.stage9b-panel{height:auto}.stage9b-next-step,.atc-final-note{align-items:flex-start;flex-direction:column}.stage9b-next-step>span,.atc-final-note>span{align-self:flex-start}}
@media(max-width:420px){.stage9b-panel{padding:11px}.stage9b-field input,.stage9b-field select,.stage9b-field textarea{font-size:16px}.stage9b-message{font-size:.76rem}}

/* 2026-08-08 Public Quick Buy final mobile shell containment.
   This file loads after every page stylesheet, so these rules are authoritative.
   Use the visual viewport itself as the width source; do not let an old grid,
   feedback layer, or hidden control shrink the application workspace. */
@media (max-width: 760px) {
  html,
  body.page-public_quick_buy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body.page-public_quick_buy .app-shell,
  body.page-public_quick_buy .app-main,
  body.page-public_quick_buy .content-area {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.page-public_quick_buy .content-area {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.page-public_quick_buy .page-title,
  body.page-public_quick_buy .pqb-settings-parent {
    display: block !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-public_quick_buy .pqb-settings-parent,
  body.page-public_quick_buy .pqb-settings-parent > *,
  body.page-public_quick_buy .pqb-settings-parent form,
  body.page-public_quick_buy .pqb-settings-parent section,
  body.page-public_quick_buy .pqb-settings-parent article,
  body.page-public_quick_buy .pqb-settings-parent div,
  body.page-public_quick_buy .pqb-settings-parent label {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-public_quick_buy .pqb-settings-parent > * {
    width: 100% !important;
  }

  body.page-public_quick_buy .pqb-settings-parent .phase9b-form-grid,
  body.page-public_quick_buy .pqb-settings-parent .phase9b-support-grid,
  body.page-public_quick_buy .pqb-settings-parent .pqb-default-gateways,
  body.page-public_quick_buy .pqb-settings-parent .pqb-family-network-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }

  body.page-public_quick_buy .pqb-settings-parent input,
  body.page-public_quick_buy .pqb-settings-parent select,
  body.page-public_quick_buy .pqb-settings-parent textarea,
  body.page-public_quick_buy .pqb-settings-parent button,
  body.page-public_quick_buy .pqb-settings-parent .btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* The Quick Buy settings page uses direct saves. A generic confirmation
     overlay must never participate in this page's layout or intercept clicks. */
  body.page-public_quick_buy .simh-action-confirm,
  body.page-public_quick_buy [data-action-confirm-overlay],
  body.page-public_quick_buy .action-confirm-overlay {
    max-width: 100vw !important;
    overflow: hidden !important;
  }
}

/* 2026-08-08 FINAL Public Quick Buy mobile shell correction.
   Keep this block last. It fixes the page shell itself rather than trying to
   resize individual cards. The topbar, account menu and fixed footer are also
   constrained to the viewport so they cannot create a hidden second column. */
@media (max-width: 900px) {
  html,
  body.page-public_quick_buy {
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
    overflow-x: hidden !important;
  }

  body.page-public_quick_buy .app-shell {
    display: block !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  body.page-public_quick_buy .app-main {
    position: relative !important;
    inset-inline: auto !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
    margin-inline: 0 !important;
    overflow-x: hidden !important;
  }

  body.page-public_quick_buy .content-area {
    position: relative !important;
    inline-size: 100% !important;
    max-inline-size: none !important;
    min-inline-size: 0 !important;
    margin-inline: 0 !important;
    padding-inline: 10px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.page-public_quick_buy .content-area > .page-title,
  body.page-public_quick_buy .pqb-settings-parent {
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-public_quick_buy .pqb-settings-parent {
    overflow: hidden !important;
  }

  /* Top-right three-dot control: keep the dots visible and the opened menu
     entirely inside the phone viewport. */
  body.page-public_quick_buy .topbar {
    left: 0 !important;
    right: 0 !important;
    inline-size: auto !important;
    max-inline-size: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  body.page-public_quick_buy .topbar-left {
    flex: 1 1 auto !important;
    min-inline-size: 0 !important;
  }
  body.page-public_quick_buy .top-actions {
    flex: 0 0 auto !important;
    min-inline-size: 0 !important;
    max-inline-size: 45vw !important;
  }
  body.page-public_quick_buy .account-menu-wrap {
    position: static !important;
    flex: 0 0 auto !important;
  }
  body.page-public_quick_buy .dots-btn {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    overflow: visible !important;
  }
  body.page-public_quick_buy .dots-btn span {
    display: block !important;
    inline-size: 4px !important;
    block-size: 4px !important;
    flex: 0 0 4px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
  }
  body.page-public_quick_buy .account-menu {
    position: fixed !important;
    top: calc(var(--simh-topbar-height, 64px) + 8px) !important;
    right: 8px !important;
    left: auto !important;
    inline-size: min(232px, calc(100vw - 16px)) !important;
    max-inline-size: calc(100vw - 16px) !important;
    min-inline-size: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* The footer must never contribute width to the document. */
  body.page-public_quick_buy .site-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    inline-size: auto !important;
    max-inline-size: none !important;
    min-inline-size: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  body.page-public_quick_buy .site-footer span {
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 760px) {
  body.page-public_quick_buy .top-status-pill {
    display: none !important;
  }
  body.page-public_quick_buy .top-actions {
    max-inline-size: 58px !important;
  }
  body.page-public_quick_buy .site-footer {
    justify-content: center !important;
    padding-inline: 10px !important;
    text-align: center !important;
  }
  body.page-public_quick_buy .site-footer span + span {
    display: none !important;
  }
}
