/* Only text consumes this scale. Mobile and print retain their existing sizes. */
:root { --intranet-font-scale: 1; }
.intranet-display-widget { display: none; }
@media screen {
    :where(body) { font-size: calc(1rem * var(--intranet-font-scale, 1)); }
    :is(.intranet-theme-document, .note-editable, .ql-editor, [contenteditable="true"]) { --intranet-font-scale: 1; }
    :where(html[data-display-desktop="true"]:is([data-font-size="small"], [data-font-size="large"]) :is(.note-editable, .ql-editor, [contenteditable="true"])) { font-size: 1rem; }
    html[data-display-desktop="true"][data-font-size="small"] { --intranet-font-scale: .9; }
    html[data-display-desktop="true"][data-font-size="large"] { --intranet-font-scale: 1.2; }
    html[data-display-desktop="true"][data-display-ready="true"] .intranet-display-widget { display: block; }
    html[data-display-desktop="true"][data-display-ready="true"] :is(.intranet-theme-control, .intranet-theme-standalone, .intranet-theme-menu) { display: none !important; }
    html[data-display-desktop="true"][data-display-ready="true"] .dev-inquiry-fab { right: 80px; }
    html[data-display-desktop="true"][data-display-ready="true"] body::after { content: ""; display: block; height: 88px; clear: both; }
    .intranet-display-trigger {
        position: fixed; right: 24px; bottom: 24px; z-index: 1039;
        display: flex; align-items: center; justify-content: center;
        width: 44px; height: 44px; padding: 10px; border-radius: 50%;
        border: 1px solid var(--intranet-border, #dfe3e8);
        background: var(--intranet-surface, #fff); color: var(--intranet-text-secondary, #4b5563);
        box-shadow: 0 4px 16px rgba(0,0,0,.1); cursor: pointer;
    }
    .intranet-display-trigger:hover { background: var(--intranet-surface-hover, #f3f4f6); }
    .intranet-display-trigger svg, .intranet-display-close svg { width: 22px; height: 22px; flex-shrink: 0; }
    .intranet-display-dialog {
        position: fixed; inset: auto 24px 80px auto; margin: 0;
        box-sizing: border-box; width: 340px; max-width: calc(100vw - 48px);
        max-height: calc(100dvh - 104px); overflow: auto; overscroll-behavior: contain;
        padding: 20px; border: 1px solid var(--intranet-border, #e5e7eb); border-radius: 20px;
        background: var(--intranet-surface, #fff); color: var(--intranet-text, #1a1a1a);
        font-size: calc(14px * var(--intranet-font-scale)); line-height: 1.5;
        box-shadow: 0 12px 40px rgba(0,0,0,.18);
    }
    .intranet-display-dialog::backdrop { background: rgba(0,0,0,.08); }
    .intranet-display-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
    .intranet-display-heading h2 { margin: 0; font-size: calc(18px * var(--intranet-font-scale)); font-weight: 700; line-height: 1.5; }
    .intranet-display-close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 12px; background: transparent; color: var(--intranet-text-muted, #6b7280); cursor: pointer; }
    .intranet-display-close:hover { background: var(--intranet-surface-hover, #f3f4f6); }
    .intranet-display-section { min-width: 0; margin: 0; padding: 0; border: 0; }
    .intranet-display-section + .intranet-display-section { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--intranet-border, #e5e7eb); }
    .intranet-display-section legend { float: none; width: auto; padding: 0; margin: 0 0 12px; font: inherit; font-weight: 600; }
    .intranet-display-choices { display: grid; gap: 10px; }
    .intranet-display-fonts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .intranet-display-themes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .intranet-display-choices button { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-width: 0; min-height: 100px; padding: 12px 6px; border: 1px solid var(--intranet-border, #e5e7eb); border-radius: 12px; background: transparent; color: inherit; font: inherit; line-height: 1.4; cursor: pointer; }
    .intranet-display-choices button:hover { background: var(--intranet-surface-subtle, #f8f9fb); }
    .intranet-display-choices button[aria-pressed="true"] { border-color: var(--intranet-primary-text, #3b6fd6); box-shadow: inset 0 0 0 1px var(--intranet-primary-text, #3b6fd6); color: var(--intranet-primary-text, #3b6fd6); font-weight: 600; }
    .intranet-display-choices button[aria-pressed="true"]::after { content: "✓"; position: absolute; top: -7px; right: -5px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--intranet-primary-text, #3b6fd6); color: var(--intranet-surface, #fff); font-size: 12px; }
    .intranet-font-preview { display: flex; align-items: center; justify-content: center; height: 36px; font-weight: 700; font-size: 16px; color: var(--intranet-text, #1a1a1a); }
    [data-intranet-font-control=""][value="small"] .intranet-font-preview { font-size: 14.4px; }
    [data-intranet-font-control=""][value="large"] .intranet-font-preview { font-size: 19.2px; }
    .intranet-theme-preview { display: flex; flex-direction: column; gap: 5px; width: 72px; padding: 12px; border-radius: 7px; border: 1px solid #e5e7eb; }
    .intranet-theme-preview-light { background: #fff; }
    .intranet-theme-preview-dark { background: #212126; border-color: #3b3c44; }
    .intranet-theme-preview i { display: block; height: 4px; border-radius: 3px; background: #4b5563; }
    .intranet-theme-preview i:first-child { background: #719ff2; }
    .intranet-theme-preview i:last-child { width: 60%; opacity: .6; }
    .intranet-theme-preview-dark i { background: #e5e7eb; }
    .intranet-display-widget button:focus-visible { outline: 2px solid var(--intranet-primary-text, #3b6fd6); outline-offset: 3px; }
}
/* Expanded text uses the existing table scroller instead of squeezing inputs. */
@media screen {
    html[data-display-desktop="true"][data-font-size="large"] .lines-table-wrapper .lines-table { min-width: calc(1050px * var(--intranet-font-scale)); }
    html[data-display-desktop="true"][data-font-size="large"] .lines-table-wrapper button { white-space: nowrap; }
}
@media print {
    :root { --intranet-font-scale: 1 !important; }
    .intranet-display-widget, .dev-inquiry-fab { display: none !important; }
}
