/* All overrides require shell identity. No viewport/UA rule activates AIO. */
@media screen {
    html[data-client="aio"] {
        --aio-touch-size: 56px;
        --aio-ui-font: 20px;
    }
    html[data-client="aio"] :is(.btn, .mw-btn, .co-btn, .career-btn, .plan-btn) {
        min-height: var(--aio-touch-size);
        font-size: var(--aio-ui-font);
        touch-action: manipulation;
    }
    html[data-client="aio"] :is(.career-input, .career-select, .plan-input, .plan-select, .co-input, .co-select) {
        min-height: var(--aio-touch-size);
        font-size: var(--aio-ui-font);
    }
    html[data-client="aio"] :is(button, a, input, select, textarea):focus-visible {
        outline: 3px solid #0f9f8f;
        outline-offset: 3px;
    }

    /* 1080 × 1920 reference profile. CSS viewport may be smaller with OS scaling. */
    html[data-client="aio"][data-aio-layout="portrait-1080"] {
        --aio-ui-font: clamp(18px, 2.2vw, 24px);
        --aio-touch-size: clamp(52px, 6vw, 72px);
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .sidebar { display: none; }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .main-content { margin-left: 0; }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .top-navbar {
        min-height: 88px; height: 88px; padding: 16px 24px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .content-area {
        padding: 28px; gap: 24px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .mobile-category-nav {
        display: flex; position: sticky; top: 88px; z-index: 90;
        min-height: var(--aio-touch-size); gap: 8px; padding: 8px;
        background: #fff; border: 1px solid var(--divider); border-radius: 12px;
        overflow-x: auto;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .mobile-category-link {
        display: flex; flex: 1 0 auto; align-items: center; justify-content: center;
        min-height: var(--aio-touch-size); padding: 0 12px; gap: 6px;
        font-size: var(--aio-ui-font); text-decoration: none; color: var(--ink-700);
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .section {
        scroll-margin-top: 190px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .content-area .management-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .card-inner {
        min-height: 132px; padding: 20px; gap: 16px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .card-visual,
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .card-visual img {
        width: 48px; height: 48px; flex-basis: 48px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified :is(.navbar-title, .section-title) {
        font-size: clamp(24px, 3vw, 34px);
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified :is(.card-title, .card-name) {
        font-size: clamp(22px, 2.6vw, 30px);
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified :is(.card-desc, .card-description, .navbar-class-link) {
        font-size: var(--aio-ui-font); line-height: 1.6;
    }

    /* Multi-column workspaces become a readable vertical flow. Keep navigation
       visible: existing page menus retain home/back/logout access. */
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.aicv-body, .career-body, .list-body) {
        flex-direction: column;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.aicv-side, .career-right, .list-right-sidebar) {
        width: 100%; max-width: 100%; border-left: 0; border-top: 1px solid #e2e4e8;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.aicv-panel, .career-panel, .plan-shell) {
        max-width: 100%;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.career-grid, .green-grid, .green-fields, .goal-choice-grid, .overview-grid, .all-jobs-grid) {
        grid-template-columns: minmax(0, 1fr);
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.career-panel-desc, .career-label, .career-tip, .aicv-panel-desc, .aicv-label, .assessment-card-desc) {
        font-size: var(--aio-ui-font); line-height: 1.65;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.assessment-card-title, .list-header-title, .career-header-title) {
        font-size: clamp(22px, 2.6vw, 30px);
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.test-content, .cs-content) {
        max-width: 100%;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.test-question-text, .test-option-label, .test-intro) {
        font-size: var(--aio-ui-font); line-height: 1.65;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .test-option {
        min-height: var(--aio-touch-size); padding: 16px;
    }

    /* Enlarge editor chrome only. The A4 iframe, document fonts and export
       geometry intentionally do not inherit these UI sizes. */
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] {
        --left-sidebar-width: 88px;
        overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] .main-container {
        height: 100dvh; min-height: 0; overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] .left-sidebar {
        display: flex; position: fixed; left: 0; top: 0;
        width: var(--left-sidebar-width); height: 100dvh; min-height: 0;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] .work-area {
        display: block; height: 100dvh; min-height: 0; padding-top: 0;
        margin-left: var(--left-sidebar-width); overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] .editor-toolbar {
        display: flex !important; top: 0; left: var(--left-sidebar-width);
        width: calc(100vw - var(--left-sidebar-width));
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] .work-area > .content-area {
        display: grid; grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 3fr) minmax(0, 2fr);
        height: calc(100dvh - 52px); min-height: 0; margin-top: 52px;
        overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] .center-area {
        position: relative; grid-row: 1; grid-column: 1;
        height: 100%; min-height: 0; max-height: 100%; width: 100%; overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] .a4-preview-container {
        position: absolute !important; inset: 0 !important;
        width: 100% !important; height: 100% !important; min-height: 0 !important;
        padding: 20px !important;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] #rightPanel {
        /* Feature panels sometimes set fixed positioning inline on narrow viewports. */
        display: flex !important; position: relative !important; inset: auto !important;
        grid-row: 2; grid-column: 1;
        width: 100% !important; min-width: 0; max-width: none;
        height: 100% !important; min-height: 0; max-height: none;
        z-index: auto !important; padding-bottom: 20px;
        border-left: 0; border-top: 2px solid #dbe3ee;
        overflow: auto;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] #rightPanel .editor-content {
        min-height: 0; padding: 24px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body[data-aio-page="cv-editor"] :is(.mobile-top-navbar, .mobile-menu-btn, #modulePanelMobileBackdrop) {
        display: none !important;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .toolbar-btn {
        min-height: 44px; font-size: 18px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] #aioPrintConfirmModal {
        height: 100dvh; padding: clamp(8px, 1.5vw, 20px);
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] #aioPrintConfirmModal .aio-print-confirm-box {
        display: flex; flex-direction: column; gap: 12px;
        width: 100%; max-width: none; height: 100%; max-height: 100%; min-height: 0;
        padding: clamp(12px, 2vw, 24px); overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] #aioPrintConfirmTitle {
        flex: none; margin: 0; font-size: clamp(24px, 3vw, 34px);
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .aio-print-quota-text {
        flex: none; margin: 0; font-size: var(--aio-ui-font); line-height: 1.6;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .aio-print-preview-wrap {
        flex: 1 1 0; min-height: 0; height: auto; margin: 0;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] #aioPrintConfirmModal .unsaved-confirm-actions {
        flex: none; padding-top: 12px; gap: 16px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] #aioPrintConfirmModal .unsaved-confirm-btn {
        min-height: var(--aio-touch-size); min-width: 140px;
        font-size: var(--aio-ui-font);
    }

    /* Use the portrait screen for the session card; contain media inside it so
       camera/HR subjects retain their source aspect ratio without cropping. */
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-main {
        max-width: 100%; padding: 24px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] body.mw-interview-session {
        display: flex; flex-direction: column;
        height: 100dvh; min-height: 0; overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-interview-session .mw-header {
        flex: none; min-height: 64px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-interview-session .mw-main {
        flex: 1 1 0; min-height: 0; width: 100%; margin: 0;
        display: flex; align-items: center; justify-content: center;
        padding: clamp(12px, 2vw, 24px); overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.mw-ask-card, .mw-ans-card) {
        width: 100%; height: 100%; max-height: 100%; min-height: 0;
        margin: 0; padding: clamp(16px, 2.2vw, 28px); gap: 16px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-ask-media {
        flex: 1 1 0; height: auto; min-height: 0;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-ask-bottom {
        display: flex; flex-direction: column; flex: 0 1 auto;
        max-height: 35%; min-height: 0; overflow: hidden;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-ask-question-wrap {
        flex: 1 1 auto; min-height: 0; overflow: auto;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-ask-question-text {
        overflow: visible;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-ans-top {
        max-height: 28%; min-height: 0; overflow: auto;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-ans-main {
        display: flex; flex-direction: column; gap: 16px;
        flex: 1 1 0; height: auto; min-height: 0;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-camera-wrap {
        position: relative; inset: auto; flex: 1 1 0;
        width: 100%; min-height: 0;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.mw-camera-wrap video, .mw-ask-video, .mw-ask-image) {
        /* Camera video currently has inline object-fit:cover. */
        object-fit: contain !important; object-position: center;
        background: #000;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-ans-controls {
        position: relative; inset: auto; flex: none; flex-wrap: wrap;
        width: 100%; gap: 16px;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.mw-ans-controls-left, .mw-ans-controls-right) {
        margin: 0;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] .mw-ans-main :is(.mw-ans-uploading, #mw-err) {
        position: static; transform: none; flex: none; margin: 0; text-align: center;
    }
    html[data-client="aio"][data-aio-layout="portrait-1080"] :is(.mw-question-text, .mw-ask-question-text) {
        font-size: clamp(22px, 2.8vw, 32px); max-height: none; line-height: 1.6;
    }
    @media (max-width: 600px) {
        html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .content-area { padding: 16px; }
        html[data-client="aio"][data-aio-layout="portrait-1080"] .scdp-unified .content-area .management-grid {
            grid-template-columns: minmax(0, 1fr);
        }
    }
}
