/* HomeoApp only: preserve legacy DOM hooks, hide retired clinic controls. */
body.homeo-personal [data-section="appointments"],
body.homeo-personal [data-stat="appointments-month"],
body.homeo-personal .homeo-clinic-payments,
body.homeo-personal .settings-card-directory,
body.homeo-personal .settings-card-clinic > h3,
body.homeo-personal .settings-card-clinic > .setting-item,
body.homeo-personal #extensionAddonOption,
body.homeo-personal #extensionAddonWrap,
body.homeo-personal [onclick*="openManualAppointmentModal"],
body.homeo-personal [onclick*="openAddVisitModal"],
body.homeo-personal #manualAppointmentModal {display:none!important}
body.homeo-personal:not(.homeo-legacy-clinic) #appointments-section {display:none!important}
.homeo-archive-link {display:block;margin:20px 0;padding:12px;border:1px solid #dbe4dc;border-radius:8px;color:#244f3d;background:#f4f7f1;text-decoration:none;font-size:14px}
.homeo-retirement-note {padding:14px 18px;background:#f4f7f1;border:1px solid #dbe4dc;border-radius:8px;margin:0 0 20px;color:#244f3d}

/* Mobile conversation owns the visible viewport; only its history scrolls. */
@media (max-width: 768px) {
    /* Every chat layer stays inside the phone width, including long AI output. */
    body.homeo-personal #chat-section,
    body.homeo-personal #chat-section > .section-header,
    body.homeo-personal #chat-section > .search-bar,
    body.homeo-personal #chat-section .chat-container,
    body.homeo-personal #chatMessages,
    body.homeo-personal #chatMessages .message,
    body.homeo-personal #chatMessages .message-content,
    body.homeo-personal #chat-section .input-area,
    body.homeo-personal #chat-section .input-container {
        box-sizing: border-box;
        min-width: 0;
        max-width: 100%;
    }
    html.homeo-chat-open, body.homeo-personal.homeo-chat-open { overflow: hidden; overscroll-behavior: none; }
    .homeo-chat-open .pro-topbar { display: none !important; }
    body.homeo-personal #chat-section.active {
        position: fixed;
        top: var(--chat-viewport-top, 0px);
        left: 0;
        width: 100%;
        height: calc(var(--chat-viewport-height, 100dvh) - var(--chat-nav-height, 80px));
        min-height: 0;
        max-width: none;
        margin: 0;
        padding: 0;
        display: flex !important;
        flex-direction: column;
        overflow: hidden;
        background: white;
        z-index: 1400;
    }
    body.homeo-personal #chat-section > .section-header {
        flex: 0 0 auto; flex-direction: row; align-items: center;
        padding: 10px 12px; margin: 0; gap: 8px;
    }
    body.homeo-personal #chat-section .section-header h1 { font-size: 17px; line-height: 1.3; margin: 0; min-width: 0; }
    body.homeo-personal #chat-section .section-header .btn { font-size: 11px; padding: 6px; min-height: 44px; width: auto; }
    body.homeo-personal #chatBanner { display: none; }
    body.homeo-personal #liteCaseChatCounterWrap:empty { display: none; }
    body.homeo-personal #liteCaseChatCounterWrap { flex-shrink: 0; margin: 0 !important; font-size: 12px; }
    body.homeo-personal #chat-section > .search-bar { flex: 0 0 auto; padding: 6px 12px !important; margin: 0; border: 0; background: white !important; }
    body.homeo-personal #chat-section > .search-bar .input-container {
        padding: 0 8px; gap: 4px !important; border: 1px solid #e2e8f0;
        border-radius: 12px; max-width: none; min-width: 0; flex-direction: row;
    }
    body.homeo-personal #chatSearchInput { width: 0; min-width: 0; height: 44px; font-size: 16px !important; border: 0 !important; background: transparent; padding: 8px 4px !important; }
    body.homeo-personal #chat-section > .search-bar button { min-width: 44px; min-height: 44px; padding: 6px !important; }
    body.homeo-personal #chatSearchResults:empty { display: none; }
    body.homeo-personal #chat-section .chat-container {
        flex: 1 1 0; min-height: 0; height: auto; width: 100%; max-width: none;
        padding: 0; margin: 0; border: 0; border-radius: 0; transition: none;
    }
    body.homeo-personal #chatMessages {
        flex: 1 1 0; min-height: 0; height: auto; width: 100%;
        margin: 0; padding: 12px; border: 0; border-radius: 0;
        overflow-y: auto; overscroll-behavior-y: contain; transition: none;
    }
    body.homeo-personal #chatMessages .message { max-width: 100%; width: 100%; gap: 6px; margin-bottom: 12px; }
    body.homeo-personal #chatMessages .message-avatar { display: none; }
    body.homeo-personal #chatMessages .message-content {
        min-width: 0;
        max-width: 100%;
        padding: 10px 12px;
        overflow-wrap: anywhere;
        word-break: break-word;
        font-size: 16px;
    }
    body.homeo-personal #chatMessages .user-message .message-content { max-width: 88%; margin-left: auto; }
    body.homeo-personal #chatMessages .message-content p { font-size: 16px; line-height: 1.5; }
    body.homeo-personal #chatMessages pre,
    body.homeo-personal #chatMessages table { max-width: 100%; overflow-x: auto; }
    body.homeo-personal #chat-section .input-area { flex: 0 0 auto; padding: 8px 12px; margin: 0; background: white; }
    body.homeo-personal #chat-section .input-area .input-container { max-width: none; padding: 4px 6px 4px 12px; gap: 6px; border-width: 1px; border-radius: 24px; flex-direction: row; }
    body.homeo-personal #messageInput { min-width: 0; width: 0; min-height: 40px; max-height: min(96px, 22dvh); padding: 8px 0; font-size: 16px; line-height: 24px; overflow-y: auto; }
    body.homeo-personal #chat-section .input-info { margin: 2px 8px 0; font-size: 11px; line-height: 14px; }
    body.homeo-personal.homeo-chat-keyboard .pro-bottom-nav { display: none; }
    body.homeo-personal.homeo-chat-open:not(.homeo-chat-keyboard) .pro-bottom-nav { transform: none; }
    body.homeo-personal.homeo-chat-keyboard #chat-section .input-area { padding-bottom: 6px; }
}

@media (max-width: 768px) {
    body.homeo-personal #chat-section .send-btn { position: static; margin: 0; align-self: flex-end; }
}
@media (max-width: 768px) {
    body.homeo-personal #chat-section .section-header h1 { flex: 1; width: auto; text-align: left; padding: 0; }
    body.homeo-personal #createSessionSummaryBtn { flex: 0 0 44px; width: 44px !important; font-size: 0 !important; }
    body.homeo-personal #createSessionSummaryBtn i { font-size: 16px; }
    body.homeo-personal #chat-section .input-container { min-height: 0; }
    body.homeo-personal #messageInput, body.homeo-personal #chatSearchInput { margin: 0; }
}

/* HomeoApp settings: shrink cards to the viewport and scroll only wide tables. */
@media (max-width: 768px) {
    body.homeo-personal .pro-main {
        width: 100%;
        max-width: 100vw;
        min-width: 0;
        overflow-x: hidden;
    }

    body.homeo-personal #settings-section.active {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        padding: 16px !important;
        overflow-x: hidden;
    }

    body.homeo-personal #settings-section > .section-header,
    body.homeo-personal #settings-section .settings-content,
    body.homeo-personal #settings-section .settings-group,
    body.homeo-personal #settings-section .settings-card,
    body.homeo-personal #settings-section .setting-item,
    body.homeo-personal #settings-section .two-columns,
    body.homeo-personal #settings-section #extensionOptions {
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.homeo-personal #settings-section > .section-header {
        padding: 0 !important;
        margin: 0 0 20px !important;
    }

    body.homeo-personal #settings-section #knowledgeSourcesBtn {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal;
        overflow-wrap: anywhere;
        justify-content: center;
    }

    body.homeo-personal #settings-section input,
    body.homeo-personal #settings-section select,
    body.homeo-personal #settings-section textarea,
    body.homeo-personal #settings-section button {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
    }

    body.homeo-personal #settings-section #extensionOptions,
    body.homeo-personal #settings-section .two-columns {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.homeo-personal #settings-section .payment-history-box {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
