/* FACT EDU OFFICE · Workbench UX 001 · v1.0.50.10
   Logged-in users get a full-width productivity workspace.
   Logged-out portal keeps the existing landing layout. */

@media (min-width: 901px) {
    .util-workbench-page {
        height: 100dvh;
        overflow: hidden;
        background: #f3f6fb;
    }

    .util-workbench-page .site-header .container {
        width: calc(100% - 28px);
        max-width: none;
    }

    .util-workbench-page .header-inner {
        min-height: 64px;
    }

    .util-workbench-page .main-nav a {
        padding-top: 22px;
        padding-bottom: 22px;
    }

    .util-workbench-page .main-nav a::after {
        bottom: 15px;
    }

    .util-workbench-page .util-hero,
    .util-workbench-page .site-footer {
        display: none;
    }

    .util-workbench-page main,
    .util-workbench-page .util-section,
    .util-workbench-page .util-section > .container,
    .util-workbench-page .util-shell {
        height: calc(100dvh - 64px);
        min-height: 0;
    }

    .util-workbench-page .util-section {
        padding: 0;
    }

    .util-workbench-page .util-section > .container {
        width: 100%;
        max-width: none;
        margin: 0;
    }

    .util-workbench-page .util-shell {
        grid-template-columns: 196px minmax(0, 1fr);
        overflow: hidden;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: #fff;
    }

    .util-workbench-page .util-sidebar {
        height: 100%;
        min-height: 0;
        overflow: hidden;
        padding: 18px 12px 14px;
        border-right: 1px solid #dfe7f2;
        background: linear-gradient(180deg, #f9fbff 0%, #f4f7fb 100%);
    }

    .util-workbench-page .util-sidebar-head {
        padding: 2px 7px 15px;
    }

    .util-workbench-page .util-sidebar-head > span {
        font-size: 8px;
        letter-spacing: .16em;
    }

    .util-workbench-page .util-sidebar-head strong {
        margin-top: 4px;
        font-size: 18px;
    }

    .util-workbench-page .util-sidebar-head small {
        margin-top: 3px;
        font-size: 9px;
    }

    .util-workbench-page .util-tabs {
        gap: 6px;
    }

    .util-workbench-page .util-tab {
        grid-template-columns: 36px minmax(0, 1fr) auto;
        min-height: 54px;
        gap: 9px;
        padding: 7px 9px;
        border-radius: 12px;
    }

    .util-workbench-page .util-tab-icon {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        font-size: 12px;
    }

    .util-workbench-page .util-tab-copy strong {
        font-size: 11px;
    }

    .util-workbench-page .util-tab-copy small {
        font-size: 7px;
    }

    .util-workbench-page .util-account-card {
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 10px;
        border-radius: 12px;
    }

    .util-workbench-page .util-account-card strong,
    .util-workbench-page .util-account-card small {
        max-width: 108px;
    }

    .util-workbench-page .util-workspace {
        min-width: 0;
        min-height: 0;
        height: 100%;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        padding: 0;
        background: #fff;
    }

    .util-workbench-page .util-workspace-top {
        flex: 0 0 36px;
        min-height: 36px;
        padding: 0 16px;
        border-bottom: 1px solid #e8edf4;
        background: #fbfcfe;
    }

    .util-workbench-page .util-breadcrumb {
        font-size: 9px;
    }

    .util-workbench-page .util-stage-badge {
        padding: 4px 8px;
        font-size: 7px;
    }

    .util-workbench-page .util-tool-intro {
        flex: 0 0 66px;
        min-height: 66px;
        gap: 12px;
        padding: 10px 16px;
        border-bottom: 1px solid #e8edf4;
        background: #fff;
    }

    .util-workbench-page .util-tool-icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        font-size: 16px;
    }

    .util-workbench-page .util-tool-intro p {
        margin-bottom: 2px;
        font-size: 8px;
        letter-spacing: .10em;
    }

    .util-workbench-page .util-tool-intro h2 {
        font-size: 20px;
        line-height: 1.1;
    }

    .util-workbench-page .util-tool-intro span {
        margin-top: 4px;
        font-size: 9px;
        line-height: 1.4;
    }

    .util-workbench-page .util-feature-row,
    .util-workbench-page .util-private-summary,
    .util-workbench-page .util-policy-strip {
        display: none;
    }

    .util-workbench-page .util-inline-alert {
        flex: 0 0 auto;
        margin: 8px 12px 0;
    }

    .util-workbench-page .util-hancom-app,
    .util-workbench-page .util-excel-app,
    .util-workbench-page .util-pdf-app {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .util-workbench-page .hancom-commandbar,
    .util-workbench-page .excel-commandbar,
    .util-workbench-page .pdf-commandbar {
        flex: 0 0 auto;
        padding: 8px 10px;
    }

    .util-workbench-page .hancom-commandbar button,
    .util-workbench-page .excel-commandbar button,
    .util-workbench-page .pdf-commandbar button {
        min-height: 34px;
        padding: 0 11px;
        border-radius: 8px;
        font-size: 9px;
    }

    .util-workbench-page .hancom-command-status,
    .util-workbench-page .excel-command-status,
    .util-workbench-page .pdf-command-status {
        font-size: 8px;
    }

    .util-workbench-page .hancom-workspace,
    .util-workbench-page .excel-workspace,
    .util-workbench-page .pdf-workspace {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 0;
        height: auto;
        grid-template-columns: 214px minmax(0, 1fr);
        overflow: hidden;
    }

    .util-workbench-page .hancom-side,
    .util-workbench-page .excel-side,
    .util-workbench-page .pdf-side {
        min-height: 0;
        overflow-y: auto;
        padding: 10px;
    }

    .util-workbench-page .hancom-side-card,
    .util-workbench-page .excel-side-card,
    .util-workbench-page .pdf-side-card {
        padding: 11px;
        border-radius: 11px;
        box-shadow: none;
    }

    .util-workbench-page .hancom-editor-panel,
    .util-workbench-page .excel-editor-panel,
    .util-workbench-page .pdf-editor-panel {
        min-width: 0;
        min-height: 0;
        overflow: hidden;
    }

    .util-workbench-page .hancom-toolbar,
    .util-workbench-page .excel-toolbar,
    .util-workbench-page .pdf-toolbar {
        flex: 0 0 auto;
        min-height: 46px;
        padding: 6px 9px;
    }

    .util-workbench-page .hancom-canvas,
    .util-workbench-page .excel-grid-wrap,
    .util-workbench-page .pdf-stage {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 0;
        overflow: auto;
    }

    .util-workbench-page .hancom-canvas {
        padding: 22px 28px 44px;
    }

    .util-workbench-page .hancom-paper[data-paper-width="fit"] {
        min-height: 100%;
    }

    .util-workbench-page .excel-grid-wrap {
        max-height: none;
        background: #f4f7f5;
    }

    .util-workbench-page .excel-grid {
        min-width: 100%;
    }

    .util-workbench-page .excel-grid thead th,
    .util-workbench-page .excel-grid td {
        min-width: 96px;
        width: 96px;
    }

    .util-workbench-page .pdf-organizer,
    .util-workbench-page .pdf-help,
    .util-workbench-page .excel-help {
        flex: 0 0 auto;
    }

    .util-workbench-page .pdf-stage {
        padding: 16px 20px 30px;
    }

    .util-workbench-page .pdf-viewer,
    .util-workbench-page .pdf-viewer[data-pdf-width="794"],
    .util-workbench-page .pdf-viewer[data-pdf-width="960"],
    .util-workbench-page .pdf-viewer[data-pdf-width="1080"],
    .util-workbench-page .pdf-viewer[data-pdf-width="1240"] {
        height: 100%;
        min-height: 100%;
    }
}

/* Wide workstation mode: let the editor own nearly all horizontal space. */
@media (min-width: 1440px) {
    .util-workbench-page .util-shell {
        grid-template-columns: 188px minmax(0, 1fr);
    }

    .util-workbench-page .hancom-workspace,
    .util-workbench-page .excel-workspace,
    .util-workbench-page .pdf-workspace {
        grid-template-columns: 206px minmax(0, 1fr);
    }
}

/* Mobile/tablet keeps the existing stacked portal/workspace behavior. */
@media (max-width: 900px) {
    .util-workbench-page {
        overflow: auto;
    }
}


/* FACT EDU 1.0.50.18 · shared save-state UX */
.util-workbench-page .hancom-command-status,
.util-workbench-page .excel-command-status,
.util-workbench-page .pdf-command-status {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border: 1px solid transparent;
    border-radius: 8px;
    outline: 0;
    transition: border-color .14s ease, background .14s ease, color .14s ease, box-shadow .14s ease;
}
.util-workbench-page .hancom-command-status.is-save-required,
.util-workbench-page .excel-command-status.is-save-required,
.util-workbench-page .pdf-command-status.is-save-required {
    border-color: #e23d3d !important;
    background: #fff4f4 !important;
    color: #bd2727 !important;
    box-shadow: 0 0 0 2px rgba(226,61,61,.11);
    cursor: pointer;
}
.util-workbench-page .hancom-command-status.is-save-required:hover,
.util-workbench-page .excel-command-status.is-save-required:hover,
.util-workbench-page .pdf-command-status.is-save-required:hover,
.util-workbench-page .hancom-command-status.is-save-required:focus-visible,
.util-workbench-page .excel-command-status.is-save-required:focus-visible,
.util-workbench-page .pdf-command-status.is-save-required:focus-visible {
    border-color: #c92525 !important;
    background: #ffeaea !important;
    box-shadow: 0 0 0 3px rgba(226,61,61,.16);
}
