/* Load after the existing tool styles. Keep these rules inside the four tools. */
body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel),
body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) * {
    box-sizing: border-box;
}

body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) :is(label, button, summary) {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}

body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) :is(input, select, textarea) {
    min-width: 0;
    max-width: 100%;
    font-weight: 400;
    border-radius: 6px !important;
}

body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) :is(button, label) > i {
    flex-shrink: 0;
}

body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) :is(button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid var(--desk-accent, #246b52);
    outline-offset: 2px;
}

body.workspace-next #slidesPanel :is(.slides-brief, .slides-start-side, .slides-options > label, .slides-editor-bar > label, .slide-edit-heading > div),
body.workspace-next #mode5Panel :is(.video-toolbox-form, .video-toolbox-preview, .video-tool-result-panel, .result-body, .video-form-grid > *) {
    min-width: 0;
}

body.workspace-next #slidesPanel .slide-edit-heading,
body.workspace-next #slidesPanel .slide-edit-heading > div,
body.workspace-next #mode3Panel .sw-tools,
body.workspace-next #mode5Panel .video-tool-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.workspace-next #mode5Panel :is(.result-header, .result-body, .voice-link-box, #voiceResultMeta) {
    overflow-wrap: anywhere;
}

body.workspace-next #mode5Panel #voiceAudioPlayer {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

body.workspace-next #documentWorkspace .prepared-download-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

body.workspace-next #documentWorkspace .prepared-download-card > * {
    min-width: 0;
}

body.workspace-next #documentWorkspace .prepared-download-card button {
    width: 100%;
    min-height: 44px;
}

body.workspace-next #slidesPanel .slide-navigation li small {
    flex: 0 0 20px;
    white-space: nowrap;
}

body.workspace-next #slidesPanel .slide-navigation li span {
    min-width: 0;
}

@media (max-width: 900px), (pointer: coarse) {
    body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) :is(button, summary, label.desk-button, .slides-file-button) {
        min-height: 44px;
        min-width: 44px;
        height: auto;
        line-height: 1.5;
        touch-action: manipulation;
    }

    body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) summary {
        padding-block: 12px;
    }

    /* Keep iOS from zooming a focused field; do not disable viewport zoom. */
    body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
        font-size: 16px !important;
        min-height: 44px;
        line-height: 1.5;
    }

    body.workspace-next :is(#documentWorkspace, #mode3Panel, #slidesPanel, #mode5Panel) input::file-selector-button {
        min-height: 44px;
        font: inherit;
    }

    body.workspace-next :is(#documentWorkspace, #mode3Panel) :is(.feature-model-check, .sw-check) {
        min-height: 44px;
        align-items: center;
    }

    body.workspace-next :is(#documentWorkspace, #slidesPanel) .desk-icon {
        width: 44px;
        flex: 0 0 44px;
    }

    body.workspace-next #mode3Panel #sw-grid :is(th, td, input) {
        height: 44px;
    }

    body.workspace-next #mode3Panel .sw-cell-editor {
        grid-template-columns: 48px 88px minmax(0, 1fr) 44px;
        gap: 6px;
    }
}

@media (max-width: 900px) {
    body.workspace-next #documentWorkspace {
        margin: 0;
        padding: 18px max(16px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    }

    body.workspace-next.tool-open :is(#mode3Panel, #slidesPanel, #mode5Panel) {
        width: 100% !important;
        min-width: 0;
        margin-inline: 0;
        padding: 18px max(16px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)) !important;
    }

    body.workspace-next :is(#mode3Panel, #slidesPanel, #mode5Panel) .back-btn {
        border-radius: 6px;
        box-shadow: none;
    }

    body.workspace-next #slidesPanel .panel-title h3,
    body.workspace-next #mode5Panel .video-agent-top h3 {
        font-size: 20px !important;
    }

    body.workspace-next #mode5Panel .video-agent-top {
        margin-bottom: 18px;
        padding-block: 12px !important;
    }

    body.workspace-next #documentWorkspace .doc-studio-layout,
    body.workspace-next #mode3Panel .sw-body,
    body.workspace-next #slidesPanel :is(.slides-start, .slides-edit-layout),
    body.workspace-next #mode5Panel .video-toolbox-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    body.workspace-next #documentWorkspace .doc-task-pane,
    body.workspace-next #mode3Panel .sw-task {
        border-right: 0;
        padding: 18px 0;
    }

    body.workspace-next #documentWorkspace .doc-canvas-pane,
    body.workspace-next #mode3Panel .sw-book {
        border-left: 0;
        border-top: 1px solid var(--desk-line);
        padding: 18px 0 0;
    }

    body.workspace-next #documentWorkspace .doc-studio-header {
        flex-wrap: wrap;
        gap: 12px;
        padding-bottom: 18px;
    }

    body.workspace-next #documentWorkspace #documentSessionState {
        width: 100%;
        margin: 0;
    }

    body.workspace-next #documentWorkspace :is(.doc-edit-paper, .doc-template-editor, #documentPreview) {
        padding: 18px 14px;
        min-width: 0;
    }

    body.workspace-next #documentWorkspace #documentTitle {
        font-size: 18px !important;
    }

    body.workspace-next #documentWorkspace .doc-canvas-footer {
        flex-wrap: wrap;
        overflow-wrap: anywhere;
    }

    body.workspace-next #mode3Panel .sw-sheet-label {
        flex: 1 1 160px;
        width: auto;
    }

    body.workspace-next #mode3Panel .sw-grid-scroll {
        height: 396px;
        max-height: 60dvh;
    }

    body.workspace-next #slidesPanel .slides-start-side {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        border-left: 0;
        border-top: 1px solid var(--desk-line);
        padding: 18px 0 0;
    }

    body.workspace-next #slidesPanel .slides-start-side > :is(h4, p, label[for=slidesDrafts]) {
        grid-column: 1 / -1;
        margin: 0;
    }

    body.workspace-next #slidesPanel .slides-start-side > .desk-button {
        margin: 0;
    }

    body.workspace-next #slidesPanel .slide-navigation ol {
        display: flex;
        gap: 8px;
        margin-bottom: 10px;
        overscroll-behavior-inline: contain;
    }

    body.workspace-next #slidesPanel .slide-navigation li {
        flex: 0 0 156px;
        min-width: 0;
    }

    body.workspace-next #slidesPanel .slide-navigation li button {
        min-width: 0;
    }

    body.workspace-next #slidesPanel .slide-navigation > .desk-button {
        width: 100%;
    }

    body.workspace-next #mode5Panel .video-toolbox-shell {
        gap: 24px;
    }

    body.workspace-next #mode5Panel .video-advanced-checks summary {
        display: list-item;
    }

    body.workspace-next #mode5Panel input[type=range] {
        padding-inline: 0;
        cursor: pointer;
    }
}

@media (max-width: 480px) {
    body.workspace-next #documentWorkspace .doc-editor-actions {
        width: 100%;
        gap: 8px;
    }

    body.workspace-next #documentWorkspace #documentExport {
        flex: 1 1 140px;
    }

    body.workspace-next #mode3Panel .sw-cell-editor {
        grid-template-columns: 48px minmax(0, 1fr) 44px;
    }

    body.workspace-next #mode3Panel #sw-value-type {
        grid-column: 2 / -1;
    }

    body.workspace-next #mode3Panel #sw-cell-value {
        grid-column: 1 / 3;
    }

    body.workspace-next #mode3Panel .sw-proposal-head > div {
        min-width: 0;
        flex-basis: 100%;
    }

    body.workspace-next #slidesPanel .slides-editor-bar > label:first-child {
        flex-basis: 100%;
        min-width: 0;
    }

    /* Keep the preview framed and scrollable, not an expanding mobile headline. */
    body.workspace-next #slidesPanel .slide-preview {
        height: 260px;
        min-height: 0;
        padding: 16px;
        overflow: auto;
        overscroll-behavior: contain;
    }

    body.workspace-next #slidesPanel .slide-preview h3 {
        font-size: 18px;
        margin-block: 16px;
    }

    body.workspace-next #slidesPanel .slide-points {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    body.workspace-next #slidesPanel .slide-points p {
        font-size: 13px;
    }

    body.workspace-next #mode5Panel .video-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.workspace-next #mode5Panel .video-form-grid .span-2,
    body.workspace-next #mode5Panel .video-form-grid label:has(textarea) {
        grid-column: 1 / -1;
    }

    body.workspace-next #mode5Panel .video-tool-actions > button {
        flex: 1 1 130px;
    }
}
