:root {
    --bg: #f3f6f8;
    --surface: #ffffff;
    --surface-soft: #f7fafc;
    --sidebar: #34404b;
    --sidebar-hover: #3d4a56;
    --sidebar-active: #2f3a45;
    --line: #d9e2ea;
    --muted: #647482;
    --text: #17212b;
    --green: #2eba57;
    --green-dark: #159746;
    --blue: #2f75d6;
    --amber: #c17b13;
    --red: #cf3434;
    --shadow: 0 12px 32px rgba(23, 33, 43, 0.08);
}

.file-operation-dialog.database-delete-dialog {
    width: min(760px, calc(100vw - 32px));
    max-height: min(820px, calc(100dvh - 32px));
    grid-template-rows: auto auto minmax(0, 1fr);
}

.database-delete-dialog,
.database-delete-dialog * {
    box-sizing: border-box;
    min-width: 0;
}

.database-delete-form {
    display: grid;
    align-content: start;
    gap: 12px;
    overflow: auto;
    padding: 14px 18px 16px;
}

.database-delete-fields,
.database-delete-real-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 10px;
}

.database-delete-real-fields[hidden] {
    display: none;
}

.database-delete-mode-field {
    margin: 0;
    border: 0;
    padding: 0;
}

.database-delete-mode-field legend,
.database-delete-fields label,
.database-delete-real-fields label {
    margin-bottom: 5px;
    color: #5b6e79;
    font-size: 11px;
    font-weight: 700;
}

.database-delete-mode-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 36px;
}

.database-delete-mode-control label {
    margin: 0;
}

.database-delete-mode-control input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.database-delete-mode-control span {
    display: flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid #b8c5cd;
    background: #fff;
    color: #53646f;
    cursor: pointer;
    font-size: 12px;
}

.database-delete-mode-control label:first-child span {
    border-radius: 4px 0 0 4px;
}

.database-delete-mode-control label:last-child span {
    margin-left: -1px;
    border-radius: 0 4px 4px 0;
}

.database-delete-mode-control input:checked + span {
    position: relative;
    z-index: 1;
    border-color: #268353;
    background: #eaf6ef;
    color: #17643d;
    font-weight: 800;
}

.database-delete-mode-control label:last-child input:checked + span {
    border-color: #b64141;
    background: #fff0ef;
    color: #922f2f;
}

.database-delete-mode-control input:focus-visible + span {
    outline: 2px solid rgba(37, 121, 77, 0.24);
    outline-offset: 2px;
}

.database-delete-drop-field small {
    display: block;
    margin-top: 4px;
    color: #8a5c16;
    font-size: 10px;
    line-height: 1.35;
}

.database-delete-drop-field .checkbox-row {
    display: flex;
    min-height: 36px;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 12px;
    font-weight: 600;
}

.database-delete-drop-field .checkbox-row input {
    width: 16px;
    min-width: 16px;
    height: 16px;
    min-height: 16px;
    flex: 0 0 16px;
    margin: 0;
    padding: 0;
}

.database-delete-plan {
    display: grid;
    gap: 10px;
    border-block: 1px solid var(--line);
    padding-block: 12px;
}

.database-delete-plan > .empty {
    min-height: 64px;
}

.database-delete-plan-status {
    display: grid;
    gap: 2px;
    border-left: 3px solid #77909e;
    background: #f4f7f8;
    padding: 8px 10px;
}

.database-delete-plan-status[data-tone="ready"] {
    border-left-color: #258451;
    background: #ecf7f1;
}

.database-delete-plan-status[data-tone="blocked"] {
    border-left-color: #c14646;
    background: #fff1f0;
}

.database-delete-plan-status strong {
    font-size: 12px;
}

.database-delete-plan-status span {
    color: #5d6f79;
    font-size: 11px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.database-delete-plan-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid #e2e8eb;
    border-left: 1px solid #e2e8eb;
}

.database-delete-plan-summary > div {
    border-right: 1px solid #e2e8eb;
    border-bottom: 1px solid #e2e8eb;
    padding: 7px 9px;
}

.database-delete-plan-summary dt {
    color: #778791;
    font-size: 10px;
    font-weight: 700;
}

.database-delete-plan-summary dd {
    margin: 2px 0 0;
    overflow-wrap: anywhere;
    font-size: 12px;
    font-weight: 700;
}

.database-delete-retention-warning {
    display: grid;
    gap: 2px;
    border-left: 3px solid #d1942f;
    background: #fff8e8;
    padding: 8px 10px;
    color: #72500f;
}

.database-delete-retention-warning strong {
    font-size: 12px;
}

.database-delete-retention-warning span,
.database-delete-warning-list {
    font-size: 11px;
    line-height: 1.45;
}

.database-delete-warning-list {
    display: grid;
    gap: 4px;
    margin: 0;
    padding-left: 18px;
    color: #5c6c75;
}

.database-delete-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

@media (max-width: 680px) {
    .file-operation-dialog.database-delete-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
    }

    .database-delete-form {
        padding: 12px;
    }

    .database-delete-fields,
    .database-delete-real-fields,
    .database-delete-plan-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .database-delete-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .database-delete-actions button {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }

    .database-delete-actions button:only-child,
    .database-delete-actions .danger-btn:not([hidden]) {
        grid-column: 1 / -1;
    }
}

.file-view-switch {
    display: inline-grid;
    height: 34px;
    flex: 0 0 auto;
    grid-template-columns: repeat(2, 31px);
    overflow: hidden;
    border: 1px solid #c8d2d9;
    border-radius: 4px;
    background: #fff;
}

.file-view-switch .icon-btn {
    width: 31px;
    min-width: 31px;
    height: 32px;
    min-height: 32px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #5f707d;
    padding: 0;
}

.file-view-switch .icon-btn + .icon-btn {
    border-left: 1px solid #d5dde3;
}

.file-view-switch .icon-btn:hover,
.file-view-switch .icon-btn:focus-visible {
    background: #eef4f8;
    color: #245f8d;
}

.file-view-switch .icon-btn.active {
    background: #dfeef8;
    color: #1f6598;
}

.file-workbench.file-layout-grid {
    --file-grid-card-height: 136px;
    --file-grid-min-card-width: 150px;
}

.file-workbench.file-layout-grid.file-density-compact {
    --file-grid-card-height: 116px;
}

.file-workbench.file-layout-grid .file-table {
    display: block;
    width: 100% !important;
    min-width: 0;
    table-layout: auto;
}

.file-workbench.file-layout-grid .file-table colgroup {
    display: none;
}

.file-workbench.file-layout-grid .file-table thead {
    position: sticky;
    z-index: 4;
    top: 0;
    display: block;
    border-bottom: 1px solid #d6dfe5;
    background: #f5f8fa;
}

.file-workbench.file-layout-grid .file-table thead tr {
    display: flex;
    width: 100%;
    height: 42px;
    align-items: center;
}

.file-workbench.file-layout-grid .file-table thead th {
    position: static;
    width: auto !important;
    height: 42px;
    flex: 0 0 auto;
    align-items: center;
    border: 0;
    background: transparent;
    padding: 0 5px;
}

.file-workbench.file-layout-grid .file-table thead th[data-file-column="select"],
.file-workbench.file-layout-grid .file-table thead th[data-file-column="name"],
.file-workbench.file-layout-grid .file-table thead th[data-file-column="size"],
.file-workbench.file-layout-grid .file-table thead th[data-file-column="modified"] {
    display: flex !important;
}

.file-workbench.file-layout-grid .file-table thead th[data-file-column="select"] {
    width: 42px !important;
    justify-content: center;
}

.file-workbench.file-layout-grid .file-table thead th[data-file-column="permission"],
.file-workbench.file-layout-grid .file-table thead th[data-file-column="actions"] {
    display: none !important;
}

.file-workbench.file-layout-grid .file-table thead .file-column-resizer {
    display: none;
}

.file-workbench.file-layout-grid .file-table thead .file-sort-button {
    max-width: none;
    min-height: 30px;
    padding: 0 5px;
    font-size: 12px;
    white-space: nowrap;
}

.file-workbench.file-layout-grid .file-table thead .file-resizable-header {
    padding-right: 5px;
}

.file-workbench.file-layout-grid .file-table tbody {
    display: grid;
    width: 100%;
    min-height: 0;
    grid-template-columns: repeat(
        auto-fill,
        minmax(var(--file-grid-min-card-width), 1fr)
    );
    align-content: start;
    padding: 6px;
}

.file-workbench.file-layout-grid .file-table tbody tr[data-file-row] {
    position: relative;
    display: grid;
    height: var(--file-grid-card-height);
    min-width: 0;
    grid-template-areas:
        "select name actions"
        "size size size";
    grid-template-columns: 31px minmax(0, 1fr) 31px;
    grid-template-rows: minmax(0, 1fr) 28px;
    overflow: hidden;
    margin: 4px;
    border: 1px solid #d5dee5;
    border-radius: 6px;
    background: #fff;
}

.file-workbench.file-layout-grid .file-table tbody tr[data-file-row]:hover {
    border-color: #9db9ac;
    background: #f7fbf8;
}

.file-workbench.file-layout-grid .file-table tbody tr[data-file-row].selected,
.file-workbench.file-layout-grid .file-table tbody tr[data-file-row].selected:hover {
    border-color: #6ba0c8;
    background: #e8f3fb;
}

.file-workbench.file-layout-grid .file-table tbody tr[data-file-row]:focus-visible {
    border-color: #4385bb;
    box-shadow: 0 0 0 2px #4385bb;
}

.file-workbench.file-layout-grid .file-table tbody tr[data-file-row] > td {
    width: auto !important;
    height: auto;
    min-width: 0;
    border: 0;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0;
}

.file-workbench.file-layout-grid .file-table tbody .file-select-cell {
    z-index: 2;
    display: flex;
    grid-area: select;
    align-items: flex-start;
    justify-content: center;
    padding-top: 9px;
}

.file-workbench.file-layout-grid .file-table tbody .file-name-cell {
    display: block;
    grid-area: name;
}

.file-workbench.file-layout-grid .file-table tbody .file-entry-name {
    display: flex;
    width: 100%;
    height: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 2px 5px;
    text-align: center;
}

.file-workbench.file-layout-grid .file-table tbody .file-entry-glyph {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
}

.file-workbench.file-layout-grid .file-table tbody .file-entry-name span:last-child {
    display: -webkit-box;
    width: 100%;
    max-height: 32px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 16px;
    overflow-wrap: anywhere;
    text-overflow: ellipsis;
    white-space: normal;
}

.file-workbench.file-layout-grid .file-table tbody .file-size-cell {
    display: flex;
    grid-area: size;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-top: 1px solid #e3e9ed;
    background: rgba(245, 248, 250, 0.78) !important;
    padding: 3px 8px;
    color: #62727e;
    font-size: 11px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-workbench.file-layout-grid .file-table tbody .file-permission-cell,
.file-workbench.file-layout-grid .file-table tbody .file-modified-cell {
    display: none !important;
}

.file-workbench.file-layout-grid .file-table tbody .file-row-actions {
    position: static;
    z-index: 2;
    display: flex;
    grid-area: actions;
    align-items: flex-start;
    justify-content: center;
    padding-top: 6px;
}

.file-workbench.file-layout-grid .file-table tbody .file-row-action-group {
    overflow: visible;
}

.file-workbench.file-layout-grid .file-table tbody .file-row-quick-action,
.file-workbench.file-layout-grid .file-table tbody .file-row-action-group > .status {
    display: none !important;
}

.file-workbench.file-layout-grid .file-table tbody .file-more-button {
    width: 27px;
    min-width: 27px;
    height: 27px;
    min-height: 27px;
    background: rgba(255, 255, 255, 0.82);
}

.file-workbench.file-layout-grid.file-density-compact .file-table tbody .file-entry-name {
    gap: 4px;
    padding-top: 5px;
}

.file-workbench.file-layout-grid.file-density-compact .file-table tbody .file-entry-glyph {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}

.file-workbench.file-layout-grid .file-table tbody tr.inline-renaming {
    grid-template-areas:
        "name name name"
        "size size size";
}

.file-workbench.file-layout-grid .file-table tbody tr.inline-renaming .file-select-cell,
.file-workbench.file-layout-grid .file-table tbody tr.inline-renaming .file-row-actions {
    display: none;
}

.file-workbench.file-layout-grid .file-table tbody .file-inline-rename {
    width: 100%;
    height: 100%;
    grid-template-columns: minmax(0, 1fr) 28px 28px;
    align-content: center;
    gap: 4px;
    padding: 8px;
}

.file-workbench.file-layout-grid .file-table tbody .file-inline-rename .file-entry-glyph {
    display: none;
}

.file-workbench.file-layout-grid .file-table tbody tr.clipboard-copy {
    border-left: 3px solid #45a865;
}

.file-workbench.file-layout-grid .file-table tbody tr.clipboard-move {
    border-left: 3px solid #c18a22;
}

.file-workbench.file-layout-grid .file-table tbody tr.file-drop-target-copy,
.file-workbench.file-layout-grid .file-table tbody tr.file-drop-target-move,
.file-workbench.file-layout-grid .file-table tbody tr.file-drop-target-blocked {
    border-color: var(--file-drop-accent);
    box-shadow: inset 0 0 0 1px var(--file-drop-accent);
}

.file-workbench.file-layout-grid .file-table tbody .file-virtual-spacer {
    display: block;
    width: 100%;
    grid-column: 1 / -1;
    margin: 0;
    border: 0;
}

.file-workbench.file-layout-grid .file-table tbody .file-virtual-spacer td {
    display: block;
    width: 100%;
}

.file-workbench.file-layout-grid .file-table tbody .file-filter-empty {
    display: block;
    height: 92px;
    grid-column: 1 / -1;
}

.file-workbench.file-layout-grid .file-table tbody .file-filter-empty td {
    display: flex;
    height: 92px;
    align-items: center;
    justify-content: center;
}

@media (max-width: 980px) {
    .file-toolbar > .file-view-switch {
        display: none;
    }
}

@media (max-width: 680px) {
    .file-workbench.file-layout-grid .file-table thead th {
        padding: 0 2px;
    }

    .file-workbench.file-layout-grid .file-table thead .file-sort-button {
        gap: 2px;
        padding: 0 3px;
        font-size: 11px;
    }

    .file-workbench.file-layout-grid .file-table tbody {
        padding: 4px;
    }

    .file-workbench.file-layout-grid .file-table tbody tr[data-file-row] {
        margin: 4px;
    }
}

* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

body {
    margin: 0;
    min-width: 320px;
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    letter-spacing: 0;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    border: 0;
    cursor: pointer;
}

.ssl-primary-prerequisite {
    max-width: 720px;
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.ssl-primary-prerequisite b {
    color: #754f0d;
}

.ssl-primary-automatic-action {
    min-width: 188px;
}

.ssl-primary-action {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.ssl-primary-action > small,
.ssl-certificate-action-disabled-reason {
    max-width: 220px;
    overflow-wrap: anywhere;
    color: #80550f;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
}

.ssl-support-error {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid #d9ba7b;
    border-left: 3px solid #a96f16;
    border-radius: 6px;
    background: #fff9eb;
    padding: 10px 12px;
    color: #694a17;
}

.ssl-support-error > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.ssl-support-error strong,
.ssl-support-error span {
    overflow-wrap: anywhere;
}

.ssl-support-error span {
    font-size: 12px;
    line-height: 1.45;
}

.ssl-support-error button {
    min-width: 96px;
}

.ssl-advanced-details {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface);
}

.ssl-advanced-details > summary {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    list-style: none;
}

.ssl-advanced-details > summary::-webkit-details-marker {
    display: none;
}

.ssl-advanced-details > summary::after {
    content: "+";
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 20px;
    line-height: 1;
}

.ssl-advanced-details[open] > summary::after {
    content: "-";
}

.ssl-advanced-details > summary span {
    color: var(--text);
    font-weight: 700;
}

.ssl-advanced-details > summary small {
    margin-left: auto;
    color: var(--muted);
    text-align: right;
}

.ssl-advanced-details-body {
    display: grid;
    min-width: 0;
    gap: 14px;
    border-top: 1px solid var(--line);
    padding: 14px;
}

.ssl-issuance-primary,
.ssl-issuance-renewal,
.ssl-issuance-advanced {
    display: grid;
    min-width: 0;
}

@media (max-width: 980px) {
    .ssl-primary-strip {
        align-items: stretch;
        flex-direction: column;
    }

    .ssl-primary-strip .module-primary-state {
        justify-items: start;
        text-align: left;
    }

}

@media (max-width: 680px) {
    .ssl-advanced-details > summary {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ssl-advanced-details > summary small {
        width: calc(100% - 32px);
        margin-left: 0;
        text-align: left;
    }

    .ssl-support-error {
        grid-template-columns: minmax(0, 1fr);
    }

    .ssl-support-error button {
        width: 100%;
        min-width: 0;
    }
}

.app-shell {
    min-height: 100vh;
}

.boot-screen {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 24px;
    background: #e8eef3;
}

.auth-card {
    width: min(420px, 100%);
    padding: 32px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
}

.brand-mark {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
    place-items: center;
    border-radius: 8px;
    background: var(--green);
    color: #fff;
    font-weight: 800;
}

.auth-card h1 {
    margin: 0 0 8px;
    font-size: 26px;
}

.auth-card p {
    margin: 0 0 24px;
    color: var(--muted);
}

.form-grid {
    display: grid;
    gap: 14px;
}

.field {
    display: grid;
    gap: 7px;
}

.field label {
    color: #415060;
    font-size: 13px;
    font-weight: 700;
}

.field input,
.field select,
.field textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: var(--text);
    padding: 9px 11px;
    outline: none;
}

.field textarea {
    min-height: 110px;
    resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(47, 117, 214, 0.12);
}

.primary-btn,
.secondary-btn,
.danger-btn,
.icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    border-radius: 6px;
    padding: 0 14px;
    font-weight: 700;
    white-space: nowrap;
}

.primary-btn {
    background: var(--green);
    color: #fff;
}

.primary-btn:hover {
    background: var(--green-dark);
}

.secondary-btn {
    border: 1px solid var(--line);
    background: #fff;
    color: #263442;
}

.secondary-btn:hover {
    background: var(--surface-soft);
}

.primary-btn:disabled,
.secondary-btn:disabled,
.danger-btn:disabled,
.icon-btn:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.danger-btn {
    background: #fff1f1;
    color: var(--red);
}

.icon-btn {
    width: 36px;
    padding: 0;
    border: 1px solid var(--line);
    background: #fff;
    color: #263442;
}

.message {
    margin-top: 14px;
    color: var(--red);
    font-size: 13px;
    min-height: 18px;
}

.auth-card-mfa {
    width: min(440px, 100%);
}

.auth-mfa-account {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 10px 0;
    color: var(--muted);
    font-size: 12px;
}

.auth-mfa-account strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: 13px;
}

.auth-mfa-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.auth-mfa-actions button {
    min-width: 0;
}

.layout {
    display: grid;
    min-height: 100vh;
    grid-template-columns: 216px minmax(0, 1fr);
}

.sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    background: var(--sidebar);
    color: #e9f0f5;
    padding: 18px 12px;
}

.sidebar-header {
    display: block;
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 10px 22px;
}

.sidebar-brand .brand-mark {
    width: 42px;
    height: 42px;
    margin: 0;
}

.sidebar-brand strong {
    display: block;
    font-size: 18px;
}

.sidebar-brand span {
    display: block;
    color: #b9c4cc;
    font-size: 12px;
}

.nav-list {
    display: grid;
    gap: 6px;
}

.nav-item {
    display: grid;
    grid-template-columns: 30px 1fr;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 8px;
    background: transparent;
    color: #edf3f7;
    text-align: left;
}

.nav-item:hover {
    background: var(--sidebar-hover);
}

.nav-item.active {
    background: var(--sidebar-active);
}

.nav-icon {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    color: #d6e0e7;
}

.nav-icon-glyph {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    color: currentColor;
}

.nav-item:hover .nav-icon {
    border-color: rgba(255, 255, 255, 0.66);
    color: #fff;
}

.nav-item.active .nav-icon {
    border-color: var(--green);
    background: var(--green);
    color: #fff;
}

.nav-item.terminal-session-live .nav-icon {
    position: relative;
}

.nav-item.terminal-session-live .nav-icon::after {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 9px;
    height: 9px;
    border: 2px solid var(--sidebar);
    border-radius: 50%;
    background: #79e299;
    content: "";
}

.nav-phase {
    color: #afbac3;
    font-size: 11px;
}

.main {
    min-width: 0;
}

.mobile-navigation-toggle,
.mobile-navigation-close,
.mobile-navigation-backdrop,
.desktop-navigation-collapse {
    display: none;
}

@media (min-width: 981px) {
    .layout.desktop-navigation-collapsed {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .layout.desktop-navigation-collapsed .sidebar {
        padding-right: 8px;
        padding-left: 8px;
    }

    .layout.desktop-navigation-collapsed .sidebar-brand {
        justify-content: center;
        gap: 0;
        padding-right: 0;
        padding-left: 0;
    }

    .layout.desktop-navigation-collapsed .sidebar-brand > div:last-child,
    .layout.desktop-navigation-collapsed .nav-item > span:not(.nav-icon),
    .layout.desktop-navigation-collapsed .nav-phase,
    .layout.desktop-navigation-collapsed .desktop-navigation-collapse-label,
    .layout.desktop-navigation-collapsed .desktop-navigation-collapse-icon-expanded {
        display: none;
    }

    .layout.desktop-navigation-collapsed .nav-item {
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 0;
    }

    .desktop-navigation-collapse {
        display: grid;
        width: 100%;
        min-height: 38px;
        grid-template-columns: 30px minmax(0, 1fr);
        align-items: center;
        margin-top: 14px;
        border-radius: 6px;
        background: transparent;
        color: #d8e2e9;
        padding: 0 12px;
        text-align: left;
    }

    .desktop-navigation-collapse:hover,
    .desktop-navigation-collapse:focus-visible {
        background: var(--sidebar-hover);
        color: #fff;
    }

    .desktop-navigation-collapse-icon {
        display: grid;
        width: 24px;
        height: 24px;
        place-items: center;
    }

    .desktop-navigation-collapse-icon-collapsed {
        display: none;
    }

    .layout.desktop-navigation-collapsed .desktop-navigation-collapse {
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 0;
    }

    .layout.desktop-navigation-collapsed .desktop-navigation-collapse-icon-collapsed {
        display: grid;
    }

    .desktop-navigation-collapse-label {
        font-size: 13px;
    }
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 62px;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.94);
    padding: 0 24px;
    backdrop-filter: blur(10px);
}

.topbar-leading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.shell-module-notice-host {
    min-width: 0;
    border-bottom: 1px solid var(--line);
    background: #f8fafb;
}

.shell-module-notice-host[hidden] {
    display: none;
}

.shell-module-notice {
    display: grid;
    min-width: 0;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 8px 24px;
    color: #40515d;
}

.shell-module-notice.inventory-error {
    border-left: 3px solid #b36d16;
    background: #fff9ee;
}

.shell-module-notice.module-disabled {
    border-left: 3px solid #a73b32;
    background: #fff4f2;
}

.view[data-module-disabled-frozen] {
    pointer-events: none;
    opacity: 0.58;
}

.shell-module-notice.primary-blocked[data-boundary="permission"] {
    border-left: 3px solid #667d8b;
}

.shell-module-notice.primary-blocked[data-boundary="readiness"] {
    border-left: 3px solid #b36d16;
}

.shell-module-notice > div {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 8px;
}

.shell-module-notice strong,
.shell-module-notice span,
.shell-module-notice small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.shell-module-notice strong {
    color: #2f3e48;
    font-size: 12px;
}

.shell-module-notice span,
.shell-module-notice small {
    font-size: 11px;
    line-height: 1.4;
}

.shell-module-notice-boundary {
    flex: 0 0 auto;
    color: #687985;
    font-weight: 800;
}

.shell-module-notice small b {
    margin-right: 6px;
    color: #46606f;
}

.shell-module-notice button {
    min-height: 30px;
    gap: 5px;
    padding: 4px 9px;
}

.shell-module-notice-icon,
.shell-module-notice-action-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.page-title {
    min-width: 0;
}

.page-title h2 {
    margin: 0;
    font-size: 22px;
}

.page-title span {
    color: var(--muted);
    font-size: 13px;
}

.top-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.shell-action-button {
    gap: 6px;
}

.shell-action-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.shell-quick-navigation-trigger[aria-expanded="true"] {
    border-color: #78a6c8;
    background: #e8f3fa;
    color: #205e89;
}

.user-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: #2b3846;
    font-size: 13px;
    font-weight: 700;
}

.user-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.content {
    padding: 18px;
}

.layout.workspace-route-file .topbar,
.layout.workspace-route-terminal .topbar {
    min-height: 54px;
    padding-right: 18px;
    padding-left: 18px;
}

.layout.workspace-route-file .page-title h2,
.layout.workspace-route-terminal .page-title h2 {
    font-size: 19px;
}

.layout.workspace-route-file .page-title span,
.layout.workspace-route-terminal .page-title span {
    font-size: 12px;
}

.layout.workspace-route-file .content,
.layout.workspace-route-terminal .content {
    padding: 12px;
}

.view {
    display: grid;
    gap: 18px;
}

.layout.workspace-route-dashboard .view,
.layout.workspace-route-website .view,
.layout.workspace-route-database .view,
.layout.workspace-route-ssl .view,
.layout.workspace-route-schedule .view,
.layout.workspace-route-store .view,
.layout.workspace-route-service .view,
.layout.workspace-route-notification .view,
.layout.workspace-route-settings .view {
    grid-template-columns: minmax(0, 1fr);
}

.panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: 0 6px 18px rgba(23, 33, 43, 0.04);
}

.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 56px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
}

.panel-header h3 {
    margin: 0;
    font-size: 16px;
}

.panel-header p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.panel-body {
    padding: 16px;
}

.grid {
    display: grid;
    gap: 14px;
}

.grid.cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid.cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid.cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-workspace-bar,
.website-workspace-bar,
.database-workspace-bar,
.ssl-workspace-bar,
.schedule-workspace-bar,
.software-workspace-bar,
.service-workspace-bar,
.notification-workspace-bar,
.settings-workspace-bar {
    position: sticky;
    z-index: 1;
    top: 62px;
    display: flex;
    min-width: 0;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 4px 14px rgba(23, 33, 43, 0.06);
}

.dashboard-workspace-tabs,
.website-workspace-tabs,
.database-workspace-tabs,
.ssl-workspace-tabs,
.schedule-workspace-tabs,
.software-workspace-tabs,
.service-workspace-tabs,
.notification-workspace-tabs,
.settings-workspace-tabs {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: stretch;
    overflow-x: auto;
    scrollbar-width: thin;
}

.dashboard-workspace-tabs button,
.website-workspace-tabs button,
.database-workspace-tabs button,
.ssl-workspace-tabs button,
.schedule-workspace-tabs button,
.software-workspace-tabs button,
.service-workspace-tabs button,
.notification-workspace-tabs button,
.settings-workspace-tabs button {
    display: inline-flex;
    min-width: max-content;
    min-height: 44px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-right: 1px solid #e3e9ed;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    padding: 0 15px;
    color: #536571;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.dashboard-workspace-tabs button:hover,
.dashboard-workspace-tabs button:focus-visible,
.website-workspace-tabs button:hover,
.website-workspace-tabs button:focus-visible,
.database-workspace-tabs button:hover,
.database-workspace-tabs button:focus-visible,
.ssl-workspace-tabs button:hover,
.ssl-workspace-tabs button:focus-visible,
.schedule-workspace-tabs button:hover,
.schedule-workspace-tabs button:focus-visible,
.software-workspace-tabs button:hover,
.software-workspace-tabs button:focus-visible,
.service-workspace-tabs button:hover,
.service-workspace-tabs button:focus-visible,
.notification-workspace-tabs button:hover,
.notification-workspace-tabs button:focus-visible,
.settings-workspace-tabs button:hover,
.settings-workspace-tabs button:focus-visible {
    background: #f2f7f4;
    color: #1f6540;
}

.dashboard-workspace-tabs button:focus-visible,
.website-workspace-tabs button:focus-visible,
.database-workspace-tabs button:focus-visible,
.ssl-workspace-tabs button:focus-visible,
.schedule-workspace-tabs button:focus-visible,
.software-workspace-tabs button:focus-visible,
.service-workspace-tabs button:focus-visible,
.notification-workspace-tabs button:focus-visible,
.settings-workspace-tabs button:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid #3d7f5c;
    outline-offset: -2px;
}

.dashboard-workspace-tabs button[aria-selected="true"],
.website-workspace-tabs button[aria-selected="true"],
.database-workspace-tabs button[aria-selected="true"],
.ssl-workspace-tabs button[aria-selected="true"],
.schedule-workspace-tabs button[aria-selected="true"],
.software-workspace-tabs button[aria-selected="true"],
.service-workspace-tabs button[aria-selected="true"],
.notification-workspace-tabs button[aria-selected="true"],
.settings-workspace-tabs button[aria-selected="true"] {
    border-bottom-color: var(--green-dark);
    background: #eef7f1;
    color: #16643a;
}

.dashboard-workspace-tabs button small,
.website-workspace-tabs button small,
.database-workspace-tabs button small,
.ssl-workspace-tabs button small,
.schedule-workspace-tabs button small,
.software-workspace-tabs button small,
.service-workspace-tabs button small,
.notification-workspace-tabs button small,
.settings-workspace-tabs button small {
    border-left: 1px solid currentColor;
    padding-left: 7px;
    color: #768691;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}

.dashboard-workspace-tabs button[aria-selected="true"] small,
.website-workspace-tabs button[aria-selected="true"] small,
.database-workspace-tabs button[aria-selected="true"] small,
.ssl-workspace-tabs button[aria-selected="true"] small,
.schedule-workspace-tabs button[aria-selected="true"] small,
.software-workspace-tabs button[aria-selected="true"] small,
.service-workspace-tabs button[aria-selected="true"] small,
.notification-workspace-tabs button[aria-selected="true"] small,
.settings-workspace-tabs button[aria-selected="true"] small {
    color: #2b7750;
}

.dashboard-workspace-status,
.website-workspace-status,
.database-workspace-status,
.ssl-workspace-status,
.schedule-workspace-status,
.software-workspace-status,
.service-workspace-status,
.notification-workspace-status,
.settings-workspace-status {
    min-width: max-content;
    flex: 0 0 auto;
    padding-right: 14px;
    color: var(--muted);
    font-size: 11px;
}

.module-workspace-primary-action {
    min-width: max-content;
    min-height: 34px;
    flex: 0 0 auto;
    gap: 6px;
    margin-right: 8px;
    padding: 6px 11px;
    white-space: nowrap;
}

.module-primary-strip {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #cbd8d1;
    border-left: 3px solid var(--green-dark);
    border-radius: 6px;
    background: #f8fbf9;
    padding: 9px 10px;
}

.module-primary-actions {
    display: flex;
    min-width: 0;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
}

.module-primary-actions button {
    min-height: 36px;
    gap: 7px;
}

.module-primary-action-icon,
.wizard-submit-status-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.module-primary-state {
    display: grid;
    min-width: 0;
    justify-items: end;
    gap: 2px;
    color: #51636f;
    font-size: 11px;
    text-align: right;
}

.module-primary-state strong {
    color: #225b3d;
    font-size: 12px;
}

.module-primary-state.warn strong {
    color: #7a530e;
}

.module-primary-state span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.dashboard-workspace-panel,
.website-workspace-panel,
.database-workspace-panel,
.ssl-workspace-panel,
.schedule-workspace-panel,
.software-workspace-panel,
.service-workspace-panel,
.notification-workspace-panel,
.settings-workspace-panel {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
}

.layout.workspace-route-notification .content,
.layout.workspace-route-notification .view,
.notification-workspace-panel,
.notification-workspace-panel > .panel,
.notification-workspace-panel .panel-body,
.notification-workspace-panel .inline-form,
.notification-workspace-panel .field,
.notification-workspace-panel .table-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.layout.workspace-route-notification .content {
    overflow-x: clip;
}

.notification-workspace-panel .field > input,
.notification-workspace-panel .field > select,
.notification-workspace-panel .field > textarea {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.notification-workspace-panel .table-wrap {
    overflow-x: auto;
}

.notification-workspace-panel .row-actions {
    min-width: 0;
    flex-wrap: wrap;
}

.layout.workspace-route-dashboard .content {
    overflow-x: clip;
}

.layout.workspace-route-dashboard .view,
.dashboard-workspace-panel,
.dashboard-resource-band,
.dashboard-risk-summary,
.dashboard-quick-section {
    min-width: 0;
}

.layout.workspace-route-dashboard .grid,
.layout.workspace-route-dashboard .grid > .panel,
.layout.workspace-route-dashboard .panel-body,
.layout.workspace-route-dashboard .table-wrap {
    min-width: 0;
}

.dashboard-section-heading {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dashboard-section-heading h3 {
    margin: 0;
    font-size: 15px;
}

.dashboard-section-heading p {
    margin: 2px 0 0;
    color: var(--muted);
    font-size: 11px;
}

.dashboard-refresh-status {
    min-width: max-content;
    color: #50616d;
    font-size: 11px;
}

.dashboard-stale-sources {
    display: grid;
    gap: 7px;
    border-left: 3px solid var(--amber);
    background: #fff8e8;
    padding: 8px 10px;
}

.dashboard-stale-source {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(150px, 0.7fr) minmax(220px, 1.3fr) auto;
    align-items: center;
    gap: 8px 12px;
    color: #5d461d;
    font-size: 11px;
}

.dashboard-stale-source span,
.dashboard-stale-source small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.dashboard-stale-source small {
    color: #755a29;
}

.dashboard-stale-source button {
    min-width: 88px;
}

.dashboard-resource-band,
.dashboard-quick-section {
    display: grid;
    gap: 9px;
}

.dashboard-resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-resource-card {
    display: grid;
    min-width: 0;
    gap: 8px;
    border: 1px solid var(--line);
    border-top: 3px solid #5283b8;
    border-radius: 6px;
    background: var(--surface);
    padding: 12px 13px 10px;
    box-shadow: 0 3px 10px rgba(23, 33, 43, 0.04);
}

.dashboard-resource-card[data-tone="ok"] {
    border-top-color: #2d8b57;
}

.dashboard-resource-card[data-tone="warn"] {
    border-top-color: var(--amber);
}

.dashboard-resource-card[data-tone="bad"] {
    border-top-color: var(--red);
}

.dashboard-resource-card > header,
.dashboard-resource-card > footer,
.dashboard-resource-value {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dashboard-resource-card > header > span {
    color: #344751;
    font-size: 12px;
    font-weight: 800;
}

.dashboard-resource-card > header small {
    color: var(--muted);
    font-size: 10px;
}

.dashboard-resource-card[data-tone="warn"] > header small {
    color: #8b5a10;
}

.dashboard-resource-card[data-tone="bad"] > header small {
    color: #a92d2d;
}

.dashboard-resource-value strong {
    color: var(--text);
    font-size: 25px;
    line-height: 1;
}

.dashboard-resource-value span {
    color: var(--muted);
    font-size: 10px;
}

.dashboard-resource-card progress {
    width: 100%;
    height: 6px;
    overflow: hidden;
    border: 0;
    border-radius: 3px;
    background: #e8edf0;
}

.dashboard-resource-card progress::-webkit-progress-bar {
    background: #e8edf0;
}

.dashboard-resource-card progress::-webkit-progress-value {
    background: #5283b8;
}

.dashboard-resource-card[data-tone="ok"] progress::-webkit-progress-value {
    background: #2d8b57;
}

.dashboard-resource-card[data-tone="warn"] progress::-webkit-progress-value {
    background: var(--amber);
}

.dashboard-resource-card[data-tone="bad"] progress::-webkit-progress-value {
    background: var(--red);
}

.dashboard-resource-card progress::-moz-progress-bar {
    background: #5283b8;
}

.dashboard-resource-card[data-tone="ok"] progress::-moz-progress-bar {
    background: #2d8b57;
}

.dashboard-resource-card[data-tone="warn"] progress::-moz-progress-bar {
    background: var(--amber);
}

.dashboard-resource-card[data-tone="bad"] progress::-moz-progress-bar {
    background: var(--red);
}

.dashboard-resource-card > p {
    min-height: 16px;
    margin: 0;
    overflow: hidden;
    color: #536571;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-resource-card > footer {
    border-top: 1px solid #e8edf0;
    padding-top: 8px;
    color: var(--muted);
    font-size: 10px;
}

.dashboard-resource-card > footer b {
    color: #3a4c57;
}

.dashboard-risk-summary {
    display: grid;
    grid-template-columns: minmax(190px, 0.55fr) minmax(0, 1.45fr);
    gap: 16px;
}

.dashboard-risk-conclusion {
    display: grid;
    align-content: center;
    gap: 5px;
    border-left: 3px solid #2d8b57;
    background: #f2f8f5;
    padding: 12px 14px;
}

.dashboard-risk-conclusion[data-tone="warn"] {
    border-left-color: var(--amber);
    background: #fff8eb;
}

.dashboard-risk-conclusion[data-tone="unknown"] {
    border-left-color: #81909b;
    background: #f5f7f8;
}

.dashboard-risk-conclusion > span,
.dashboard-risk-conclusion > small {
    color: var(--muted);
    font-size: 10px;
}

.dashboard-risk-conclusion > strong {
    font-size: 14px;
    line-height: 1.35;
}

.dashboard-risk-list {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--line);
    border-radius: 6px;
}

.dashboard-risk-row {
    display: grid;
    min-width: 0;
    grid-template-columns: 4px minmax(0, 1fr) max-content 30px;
    align-items: center;
    gap: 9px;
    padding: 9px 10px;
    border-bottom: 1px solid var(--line);
}

.dashboard-risk-row:nth-child(odd) {
    border-right: 1px solid var(--line);
}

.dashboard-risk-row:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.dashboard-risk-indicator {
    width: 4px;
    height: 28px;
    border-radius: 2px;
    background: #2d8b57;
}

.dashboard-risk-row[data-tone="warn"] .dashboard-risk-indicator {
    background: var(--amber);
}

.dashboard-risk-row[data-tone="bad"] .dashboard-risk-indicator {
    background: var(--red);
}

.dashboard-risk-row > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.dashboard-risk-row > div strong,
.dashboard-risk-row > div small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-risk-row > div strong {
    font-size: 12px;
}

.dashboard-risk-row > div small {
    color: var(--muted);
    font-size: 10px;
}

.dashboard-risk-row > b {
    color: #40535f;
    font-size: 11px;
    white-space: nowrap;
}

.dashboard-risk-row > .icon-btn {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    padding: 0;
}

.dashboard-risk-arrow {
    width: 14px;
    height: 14px;
}

.dashboard-quick-links {
    display: grid;
    grid-template-columns: repeat(var(--dashboard-quick-columns, 6), minmax(0, 1fr));
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface);
}

.dashboard-quick-links button {
    display: grid;
    min-width: 0;
    min-height: 52px;
    grid-template-columns: 18px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 8px;
    border: 0;
    border-right: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    padding: 0 11px;
    color: #30434f;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}

.dashboard-quick-links button:last-child {
    border-right: 0;
}

.dashboard-quick-links button:hover,
.dashboard-quick-links button:focus-visible {
    background: #f2f7f4;
    color: #17643d;
}

.dashboard-quick-icon {
    width: 17px;
    height: 17px;
    color: #38765a;
}

.dashboard-quick-arrow {
    width: 13px;
    height: 13px;
    color: #8a99a3;
}

.module-capability-guide {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(116px, 0.36fr) minmax(280px, 1.4fr) auto;
    align-items: center;
    gap: 14px;
    border: 1px solid #cbd8d1;
    border-left: 4px solid #2e8556;
    border-radius: 6px;
    background: #f7faf8;
    padding: 10px 12px;
    box-shadow: 0 3px 10px rgb(23 33 43 / 4%);
}

.module-capability-state,
.module-capability-copy,
.module-capability-actions {
    min-width: 0;
}

.module-capability-state {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 5px;
}

.module-capability-state > span {
    color: #60717b;
    font-size: 10px;
    font-weight: 800;
}

.module-capability-state .status {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.module-capability-copy {
    display: grid;
    gap: 3px;
}

.module-capability-copy > strong {
    color: #24343e;
    font-size: 13px;
}

.module-capability-copy > span,
.module-capability-copy > small {
    overflow-wrap: anywhere;
    color: #596b76;
    font-size: 11px;
    line-height: 1.45;
}

.module-capability-copy > small {
    color: #334b5a;
}

.module-capability-copy > small b {
    margin-right: 7px;
    color: #197044;
    font-size: 10px;
}

.module-capability-boundaries {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 4px 12px;
    color: #596b76;
    font-size: 10px;
}

.module-capability-boundaries span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.module-capability-boundaries b {
    margin-right: 5px;
    color: #526875;
}

.module-capability-boundaries [data-boundary="readiness"] b {
    color: #936018;
}

.module-capability-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.module-capability-actions button,
.ssl-certificate-catalog-empty button,
.schedule-catalog-empty button,
.software-catalog-empty button,
.service-catalog-empty button {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
}

.module-capability-actions button:disabled {
    border-color: #d5dcdf;
    background: #edf0f1;
    color: #87939a;
    cursor: not-allowed;
}

.module-capability-action-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.ssl-certificate-catalog-empty,
.service-catalog-empty {
    display: grid;
    min-height: 160px;
    place-items: center;
    align-content: center;
    gap: 8px;
    padding: 18px;
    text-align: center;
}

.ssl-certificate-catalog-empty strong,
.service-catalog-empty strong {
    color: #30424d;
    font-size: 14px;
}

.ssl-certificate-catalog-empty > span,
.schedule-catalog-empty > span,
.service-catalog-empty > span {
    max-width: 520px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.dashboard-operation-result > summary,
.website-operation-result > summary,
.ssl-operation-result > summary,
.schedule-operation-result > summary,
.software-operation-result > summary,
.service-operation-result > summary,
.notification-operation-result > summary,
.settings-operation-result > summary {
    cursor: pointer;
    list-style: none;
}

.dashboard-operation-result > summary::-webkit-details-marker,
.website-operation-result > summary::-webkit-details-marker,
.ssl-operation-result > summary::-webkit-details-marker,
.schedule-operation-result > summary::-webkit-details-marker,
.software-operation-result > summary::-webkit-details-marker,
.service-operation-result > summary::-webkit-details-marker,
.notification-operation-result > summary::-webkit-details-marker,
.settings-operation-result > summary::-webkit-details-marker {
    display: none;
}

.dashboard-operation-result-icon,
.website-operation-result-icon,
.ssl-operation-result-icon,
.schedule-operation-result-icon,
.software-operation-result-icon,
.service-operation-result-icon,
.notification-operation-result-icon,
.settings-operation-result-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: #5f707c;
    transition: transform 160ms ease;
}

.dashboard-operation-result[open] .dashboard-operation-result-icon,
.website-operation-result[open] .website-operation-result-icon,
.ssl-operation-result[open] .ssl-operation-result-icon,
.schedule-operation-result[open] .schedule-operation-result-icon,
.software-operation-result[open] .software-operation-result-icon,
.service-operation-result[open] .service-operation-result-icon,
.notification-operation-result[open] .notification-operation-result-icon,
.settings-operation-result[open] .settings-operation-result-icon {
    transform: rotate(180deg);
}

.dashboard-operation-result .code-box,
.website-operation-result .code-box,
.ssl-operation-result .code-box,
.schedule-operation-result .code-box,
.software-operation-result .code-box,
.service-operation-result .code-box,
.notification-operation-result .code-box,
.settings-operation-result .code-box {
    max-height: min(46vh, 520px);
    margin: 0;
    overflow: auto;
}

.layout.workspace-route-settings .content,
.layout.workspace-route-settings .view,
.settings-workspace-panel,
.settings-snapshot-workspace,
.settings-snapshot-workspace * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.layout.workspace-route-settings .content {
    overflow-x: clip;
}

.settings-runtime-truth,
.settings-runtime-truth *,
.settings-state-error,
.settings-state-error * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.settings-runtime-truth {
    display: grid;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--surface);
}

.settings-runtime-heading {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
}

.settings-runtime-heading > div {
    display: grid;
    gap: 3px;
}

.settings-runtime-heading h3 {
    margin: 0;
    font-size: 16px;
    letter-spacing: 0;
}

.settings-runtime-heading span {
    color: var(--muted);
    font-size: 11px;
    overflow-wrap: anywhere;
}

.settings-runtime-refresh-icon {
    width: 16px;
    height: 16px;
}

.settings-runtime-next-step {
    display: grid;
    gap: 3px;
    border-left: 3px solid #778892;
    background: #f5f7f8;
    padding: 9px 12px;
}

.settings-runtime-next-step.ok {
    border-left-color: #31855a;
    background: #f2f8f4;
}

.settings-runtime-next-step.warn {
    border-left-color: #bc7b16;
    background: #fff8e9;
}

.settings-runtime-next-step.bad {
    border-left-color: #b6473e;
    background: #fff4f2;
}

.settings-runtime-next-step strong {
    color: #30424d;
    font-size: 13px;
}

.settings-runtime-next-step span {
    color: #596b76;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.settings-effect-list {
    display: grid;
    border-top: 1px solid var(--line);
}

.settings-effect-row {
    display: grid;
    grid-template-columns: minmax(132px, 0.6fr) minmax(150px, 0.8fr) minmax(170px, 0.9fr) minmax(126px, auto);
    align-items: center;
    gap: 8px 14px;
    border-bottom: 1px solid #e5eaed;
    padding: 11px 0;
}

.settings-effect-row:last-child {
    border-bottom: 0;
}

.settings-effect-field {
    color: #273b46;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.settings-effect-value {
    display: grid;
    gap: 3px;
}

.settings-effect-value span,
.settings-effect-details dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
}

.settings-effect-value b {
    color: #263b46;
    font-size: 12px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.settings-effect-row > .status {
    max-width: 100%;
    justify-self: start;
    white-space: normal;
}

.settings-effect-details {
    display: grid;
    grid-column: 2 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 18px;
    margin: 0;
    border-top: 1px solid #edf1f3;
    padding-top: 9px;
}

.settings-effect-details > div {
    display: grid;
    gap: 3px;
}

.settings-effect-details dd {
    max-width: 72ch;
    margin: 0;
    color: #4e626e;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.settings-field-effect {
    display: grid;
    gap: 2px;
    min-height: 34px;
    color: #5c6e79;
    line-height: 1.4;
}

.settings-field-effect b {
    color: #3e545f;
    font-size: 10px;
}

.settings-field-effect span {
    overflow-wrap: anywhere;
}

.settings-field-effect[data-effect-status="OVERRIDDEN"] b {
    color: #a43e36;
}

.settings-field-effect[data-effect-status="RESTART_REQUIRED"] b,
.settings-field-effect[data-effect-status="UNOBSERVABLE"] b {
    color: #8a5b12;
}

.settings-desired-form[aria-busy="true"] {
    cursor: progress;
}

.settings-state-error {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border: 1px solid #e1b3ad;
    border-left: 3px solid #b6473e;
    border-radius: 6px;
    background: #fff7f5;
    padding: 14px;
}

.settings-state-error-icon {
    width: 22px;
    height: 22px;
    color: #a43e36;
}

.settings-state-error > div {
    display: grid;
    gap: 3px;
}

.settings-state-error strong {
    color: #71332e;
    font-size: 14px;
}

.settings-state-error span {
    color: #7a504c;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

@media (max-width: 768px) {
    .settings-effect-row {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
    }

    .settings-effect-value {
        grid-column: auto;
    }

    .settings-effect-details {
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .settings-state-error {
        grid-template-columns: 24px minmax(0, 1fr);
    }

    .settings-state-error > button {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 390px) {
    .settings-runtime-heading {
        align-items: flex-start;
    }

    .settings-effect-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .settings-effect-row > .status,
    .settings-effect-details,
    .settings-effect-value {
        grid-column: 1;
    }

    .settings-effect-details {
        padding-top: 8px;
    }

    .settings-state-error {
        grid-template-columns: minmax(0, 1fr);
    }

    .settings-state-error-icon,
    .settings-state-error > button {
        grid-column: 1;
    }

    .settings-state-error > button {
        width: 100%;
        justify-self: stretch;
    }
}

.mfa-security,
.mfa-security * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.mfa-security-body {
    display: grid;
    gap: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.mfa-status-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 14px 0;
}

.mfa-status-facts > div {
    display: grid;
    gap: 5px;
    border-right: 1px solid var(--line);
    padding: 0 14px;
}

.mfa-status-facts > div:first-child {
    padding-left: 0;
}

.mfa-status-facts > div:last-child {
    border-right: 0;
    padding-right: 0;
}

.mfa-status-facts dt,
.mfa-action-copy span,
.mfa-enrollment-data span {
    color: var(--muted);
    font-size: 12px;
}

.mfa-status-facts dd {
    margin: 0;
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
}

.mfa-action-stack {
    display: grid;
}

.mfa-action-section {
    display: grid;
    grid-template-columns: minmax(180px, 0.7fr) minmax(320px, 1.3fr);
    align-items: end;
    gap: 18px;
    border-top: 1px solid var(--line);
    padding: 14px 0;
}

.mfa-action-copy {
    display: grid;
    align-self: center;
    gap: 4px;
}

.mfa-action-copy strong {
    font-size: 14px;
}

.mfa-inline-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) max-content;
    align-items: end;
    gap: 10px;
}

.mfa-inline-form button {
    min-width: 132px;
}

.mfa-danger-section {
    background: #fffafa;
}

.mfa-enrollment-panel {
    display: grid;
    gap: 14px;
    border-top: 1px solid #b9d6c4;
    border-bottom: 1px solid #b9d6c4;
    background: #f3faf5;
    padding: 14px;
}

.mfa-enrollment-panel[hidden],
.mfa-recovery-panel[hidden],
.mfa-action-stack[hidden],
.mfa-action-section[hidden] {
    display: none;
}

.mfa-enrollment-data {
    display: grid;
    gap: 10px;
}

.mfa-enrollment-data > div {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
}

.mfa-enrollment-data code {
    display: block;
    overflow-wrap: anywhere;
    color: #173e2b;
    font-size: 12px;
    line-height: 1.6;
    user-select: all;
}

.mfa-recovery-panel {
    display: grid;
    gap: 14px;
    border-top: 2px solid #c58a19;
    border-bottom: 1px solid #e4c98f;
    background: #fff9e8;
    padding: 16px;
}

.mfa-recovery-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.mfa-recovery-heading h4 {
    margin: 0;
    font-size: 15px;
}

.mfa-recovery-heading p {
    margin: 4px 0 0;
    color: #72571e;
    font-size: 12px;
}

.mfa-recovery-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 22px;
    margin: 0;
    padding-left: 24px;
}

.mfa-recovery-list li {
    padding-left: 4px;
}

.mfa-recovery-list code {
    display: block;
    overflow-wrap: anywhere;
    color: #2d3032;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.55;
    user-select: all;
}

.mfa-recovery-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.mfa-security-message {
    margin: 0;
    padding: 12px 0;
}

@media (max-width: 768px) {
    .mfa-status-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 0;
    }

    .mfa-status-facts > div:nth-child(2) {
        border-right: 0;
        padding-right: 0;
    }

    .mfa-status-facts > div:nth-child(3) {
        padding-left: 0;
    }

    .mfa-action-section {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: 10px;
    }
}

@media (max-width: 520px) {
    .auth-mfa-actions,
    .mfa-inline-form,
    .mfa-recovery-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .mfa-inline-form button,
    .mfa-recovery-actions button {
        width: 100%;
    }

    .mfa-enrollment-data > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .mfa-recovery-heading {
        align-items: flex-start;
    }

    .mfa-recovery-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 390px) {
    .layout.workspace-route-notification .content {
        padding-right: 8px;
        padding-left: 8px;
    }

    .notification-workspace-panel .panel-header,
    .notification-operation-result > summary {
        min-width: 0;
        padding-right: 12px;
        padding-left: 12px;
    }

    .notification-workspace-panel .panel-header > div,
    .notification-operation-result > summary > div {
        min-width: 0;
    }

    .notification-workspace-panel .panel-header h3,
    .notification-workspace-panel .panel-header p,
    .notification-operation-result > summary h3,
    .notification-operation-result > summary p {
        overflow-wrap: anywhere;
    }

    .notification-workspace-panel .panel-body {
        padding: 12px;
    }

    .notification-workspace-panel .inline-form button,
    .notification-list-toolbar > button {
        min-width: 0;
        max-width: 100%;
        white-space: normal;
    }

    .notification-list-toolbar .notification-page-summary {
        width: 100%;
        flex: 1 0 100%;
        overflow-wrap: anywhere;
    }
}

.settings-snapshot-workspace {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--surface);
}

.settings-snapshot-heading,
.settings-snapshot-subheading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.settings-snapshot-heading {
    min-height: 58px;
    padding: 10px 0;
}

.settings-snapshot-heading h3,
.settings-snapshot-subheading h4,
.settings-snapshot-compare h5,
.settings-snapshot-changes h5 {
    margin: 0;
    letter-spacing: 0;
}

.settings-snapshot-heading h3 {
    font-size: 16px;
}

.settings-snapshot-heading > div > span,
.settings-snapshot-subheading > div > span {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
    overflow-wrap: anywhere;
}

.settings-snapshot-create {
    display: grid;
    width: min(440px, 100%);
    grid-template-columns: minmax(160px, 1fr) auto;
    gap: 8px;
}

.settings-snapshot-create input,
.settings-snapshot-create button {
    min-height: 38px;
}

.settings-snapshot-create button,
.settings-snapshot-confirm-actions button,
.settings-snapshot-row-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.settings-snapshot-message {
    min-height: 28px;
    border-top: 1px solid #edf1f3;
    padding: 6px 0;
    color: var(--muted);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.settings-snapshot-message.ok {
    color: #236a43;
}

.settings-snapshot-message.bad {
    color: #a53730;
}

.settings-snapshot-history {
    min-width: 0;
}

.settings-snapshot-table-wrap {
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}

.settings-snapshot-table {
    width: 100%;
    min-width: 650px;
    table-layout: fixed;
}

.settings-snapshot-table th:first-child,
.settings-snapshot-table td:first-child {
    width: 26%;
}

.settings-snapshot-table th:nth-child(2),
.settings-snapshot-table td:nth-child(2) {
    width: 12%;
}

.settings-snapshot-table th:last-child,
.settings-snapshot-table td:last-child {
    width: 260px;
}

.settings-snapshot-table td,
.settings-snapshot-table td strong,
.settings-snapshot-table td time {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.settings-snapshot-row-actions {
    flex-wrap: wrap;
}

.settings-snapshot-empty {
    min-height: 54px;
    padding: 16px 0;
    color: var(--muted);
    font-size: 13px;
}

.settings-snapshot-detail,
.settings-snapshot-delete-confirmation,
.settings-snapshot-confirmation,
.settings-snapshot-result {
    display: grid;
    gap: 14px;
    border-top: 1px solid var(--line);
    padding: 16px 0;
}

.settings-snapshot-detail:focus-visible,
.settings-snapshot-delete-confirmation:focus-visible,
.settings-snapshot-confirmation:focus-visible,
.settings-snapshot-result:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.settings-snapshot-subheading h4 {
    font-size: 14px;
}

.settings-snapshot-subheading > dl,
.settings-snapshot-delete-facts,
.settings-snapshot-result-facts {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 20px;
    margin: 0;
}

.settings-snapshot-subheading > dl > div,
.settings-snapshot-delete-facts > div,
.settings-snapshot-result-facts > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px;
}

.settings-snapshot-subheading dt,
.settings-snapshot-delete-facts dt,
.settings-snapshot-result-facts dt,
.settings-snapshot-facts dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.settings-snapshot-subheading dd,
.settings-snapshot-delete-facts dd,
.settings-snapshot-result-facts dd,
.settings-snapshot-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.settings-snapshot-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid #edf1f3;
}

.settings-snapshot-facts > div {
    display: grid;
    gap: 4px;
    border-bottom: 1px solid #edf1f3;
    padding: 9px 10px 9px 0;
}

.settings-snapshot-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.settings-snapshot-compare h5,
.settings-snapshot-changes h5 {
    margin-bottom: 8px;
    font-size: 12px;
}

.settings-snapshot-change-list {
    display: grid;
    border-top: 1px solid #edf1f3;
}

.settings-snapshot-change {
    display: grid;
    min-height: 48px;
    grid-template-columns: minmax(130px, 0.7fr) minmax(220px, 1.6fr) auto;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #edf1f3;
    padding: 7px 0;
}

.settings-snapshot-change > strong,
.settings-snapshot-change-values > span {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.settings-snapshot-change-values {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
}

.settings-snapshot-change-icon {
    width: 16px;
    height: 16px;
    color: var(--muted);
}

.settings-snapshot-confirm-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.settings-snapshot-confirm-check {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.settings-snapshot-confirm-check span {
    overflow-wrap: anywhere;
}

.settings-snapshot-confirm-check input {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}

.settings-reset-review {
    display: grid;
    gap: 10px;
    border: 1px solid #e5c46b;
    border-radius: 6px;
    background: #fffaf0;
    padding: 12px;
}

.auth-admin-confirmation-field {
    border-left: 3px solid #d09a36;
    background: #fffaf0;
    padding: 7px 9px;
}

.auth-admin-confirmation-field label {
    color: #6d4d16;
}

.file-operation-dialog.auth-session-revoke-dialog {
    width: min(480px, calc(100vw - 32px));
    max-height: min(460px, calc(100dvh - 32px));
    grid-template-rows: auto auto minmax(0, 1fr);
}

.auth-session-revoke-dialog,
.auth-session-revoke-dialog * {
    box-sizing: border-box;
    min-width: 0;
}

.auth-session-revoke-form {
    display: grid;
    align-content: start;
    gap: 14px;
    overflow: auto;
    padding: 16px 18px 18px;
}

.auth-session-revoke-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.auth-session-revoke-close-icon {
    width: 16px;
    height: 16px;
}

.settings-reset-review:focus-visible {
    outline: 2px solid #b7791f;
    outline-offset: 2px;
}

.settings-reset-review-header,
.settings-reset-confirm,
.settings-reset-review-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.settings-reset-review-header {
    justify-content: space-between;
}

.settings-reset-review-header > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.settings-reset-review-header span,
.settings-reset-confirm {
    color: var(--muted);
    font-size: 12px;
}

.settings-reset-review-changes {
    max-height: 260px;
    overflow: auto;
    border-block: 1px solid #eadfbf;
}

.settings-reset-confirm {
    margin-right: auto;
    color: var(--text);
}

.settings-reset-confirm input {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}

.settings-reset-review-actions {
    justify-content: flex-end;
}

.settings-snapshot-confirm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 768px) {
    .settings-snapshot-heading,
    .settings-snapshot-subheading {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-snapshot-create {
        width: 100%;
    }

    .settings-snapshot-subheading > dl,
    .settings-snapshot-delete-facts,
    .settings-snapshot-result-facts {
        justify-content: flex-start;
    }

    .settings-snapshot-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .settings-snapshot-compare {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .settings-snapshot-change {
        grid-template-columns: minmax(110px, 0.6fr) minmax(180px, 1.4fr);
    }

    .settings-snapshot-change > .status {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 520px) {
    .settings-snapshot-create {
        grid-template-columns: minmax(0, 1fr);
    }

    .settings-snapshot-create button {
        width: 100%;
    }

    .settings-snapshot-table-wrap {
        overflow-x: visible;
    }

    .settings-snapshot-table,
    .settings-snapshot-table tbody,
    .settings-snapshot-table tr,
    .settings-snapshot-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .settings-snapshot-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .settings-snapshot-table tr {
        border-bottom: 1px solid var(--line);
        padding: 7px 0;
    }

    .settings-snapshot-table td,
    .settings-snapshot-table td:first-child,
    .settings-snapshot-table td:nth-child(2),
    .settings-snapshot-table td:last-child {
        display: grid;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 8px;
        border: 0;
        padding: 5px 0;
    }

    .settings-snapshot-table td::before {
        color: var(--muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 800;
    }

    .settings-snapshot-table td:first-child > strong {
        display: block;
        min-width: 0;
        max-width: 100%;
        justify-self: stretch;
        overflow-wrap: anywhere;
        word-break: keep-all;
    }

    .settings-snapshot-row-actions,
    .settings-snapshot-confirm-actions {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .settings-snapshot-row-actions button,
    .settings-snapshot-confirm-actions button {
        min-width: 0;
        white-space: normal;
    }

    .settings-snapshot-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .settings-snapshot-delete-facts {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .settings-snapshot-change {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .settings-snapshot-change > .status {
        grid-column: 1;
    }

    .settings-snapshot-change-values {
        grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr);
    }

    .settings-snapshot-confirm-form {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-reset-review-header,
    .settings-reset-review-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-reset-review-header > .status,
    .settings-reset-review-actions button {
        width: 100%;
        justify-content: center;
    }

    .file-operation-dialog.auth-session-revoke-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
    }

    .auth-session-revoke-form {
        padding: 12px;
    }

    .auth-session-revoke-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .auth-session-revoke-actions button {
        width: 100%;
        justify-content: center;
    }
}

.website-sites-toolbar {
    display: flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--line);
    background: #f8faf9;
    padding: 6px 8px 6px 12px;
}

.layout.workspace-route-website .content,
.layout.workspace-route-website .view,
.website-workspace-panel,
.website-sites-table-panel,
.website-sites-table-panel > .panel,
.layout.workspace-route-database .content,
.layout.workspace-route-database .view,
.database-workspace-panel,
.database-catalog-table-panel,
.database-catalog-table-panel > .panel,
.layout.workspace-route-ssl .content,
.layout.workspace-route-ssl .view,
.ssl-workspace-panel,
.ssl-workspace-panel > .panel,
.ssl-workspace-panel .panel-body,
.ssl-workspace-panel .table-wrap {
    min-width: 0;
    max-width: 100%;
}

.layout.workspace-route-website .content {
    overflow-x: clip;
}

.layout.workspace-route-database .content {
    overflow-x: clip;
}

.layout.workspace-route-ssl .content {
    overflow-x: clip;
}

.layout.workspace-route-ssl .table-wrap {
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}

.ssl-certificate-add-workflow,
.ssl-certificate-add-panel,
.ssl-certificate-add-panel form {
    min-width: 0;
    max-width: 100%;
}

.ssl-certificate-add-workflow {
    display: grid;
    gap: 16px;
}

.ssl-certificate-add-mode {
    display: inline-grid;
    width: min(100%, 480px);
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #b9c8d2;
    border-radius: 6px;
    background: #f3f6f7;
}

.ssl-certificate-add-mode button {
    min-width: 0;
    min-height: 38px;
    border: 0;
    border-right: 1px solid #d7e0e5;
    border-radius: 0;
    background: transparent;
    padding: 7px 12px;
    color: #53636e;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
    white-space: normal;
}

.ssl-certificate-add-mode button:last-child {
    border-right: 0;
}

.ssl-certificate-add-mode button:hover {
    background: #eaf1f4;
    color: #263d4a;
}

.ssl-certificate-add-mode button[aria-pressed="true"] {
    background: #ffffff;
    color: #145b38;
    box-shadow: inset 0 -3px 0 #287a4c;
}

.ssl-certificate-add-mode button[data-ssl-certificate-add-mode="automatic"] {
    color: #205f3d;
    font-weight: 800;
}

.ssl-certificate-add-mode button[data-ssl-certificate-add-mode="import"] {
    font-weight: 650;
}

.ssl-certificate-add-mode button:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid #3d7f5c;
    outline-offset: -2px;
}

.ssl-certificate-add-panel[hidden] {
    display: none;
}

.ssl-certificate-add-description {
    margin: 0 0 12px;
    color: var(--muted);
    font-size: 12px;
}

.ssl-certificate-add-form {
    display: grid;
    min-width: 0;
    gap: 16px;
}

.ssl-certificate-add-steps {
    display: grid;
    width: min(100%, 680px);
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ssl-certificate-add-steps[data-mode="automatic"] {
    width: 100%;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ssl-certificate-add-steps[data-mode="automatic"] li {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 5px;
    font-size: 11px;
}

.ssl-certificate-add-steps[data-mode="automatic"] li > span {
    width: 22px;
    height: 22px;
}

.ssl-guided-environment,
.ssl-guided-stage-state {
    display: grid;
    min-width: 0;
    gap: 10px;
    margin-top: 14px;
    border-left: 3px solid #2d7a4e;
    background: #f2f8f4;
    padding: 11px 12px;
}

.ssl-guided-recovery-notice {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-left: 3px solid #2d7a4e;
    background: #f2f8f4;
    padding: 11px 12px;
}

.ssl-guided-recovery-notice[data-state="unknown"] {
    border-left-color: var(--red);
    background: #fff2f1;
}

.ssl-guided-recovery-notice[data-state="verification"],
.ssl-guided-stage-state[data-state="verification"] {
    border-left-color: #34779b;
    background: #f1f7fa;
}

.ssl-guided-recovery-notice > div {
    min-width: 0;
}

.ssl-guided-recovery-notice strong,
.ssl-guided-recovery-notice span {
    display: block;
    overflow-wrap: anywhere;
}

.ssl-guided-recovery-notice span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
}

.ssl-guided-challenge-state {
    display: grid;
    min-width: 0;
    gap: 4px;
    border-left: 3px solid var(--amber);
    background: #fffdf4;
    padding: 9px 10px;
}

.ssl-guided-challenge-state[data-state="complete"] {
    border-left-color: #2d7a4e;
    background: #edf7f0;
}

.ssl-guided-challenge-state[data-state="blocked"] {
    border-left-color: var(--red);
    background: #fff2f1;
}

.ssl-guided-challenge-state strong,
.ssl-guided-challenge-state span {
    overflow-wrap: anywhere;
}

.ssl-guided-challenge-state span {
    color: var(--muted);
    font-size: 11px;
}

.http01-public-verification-guide {
    display: grid;
    min-width: 0;
    gap: 7px;
    border-left: 3px solid #34779b;
    background: #f1f7fa;
    padding: 11px 12px;
    overflow-wrap: anywhere;
}

.http01-public-verification-guide strong {
    color: var(--text);
}

.http01-public-verification-guide ol {
    display: grid;
    min-width: 0;
    gap: 4px;
    margin: 0;
    padding-left: 20px;
}

.http01-public-verification-guide p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

@media (max-width: 680px) {
    .http01-public-verification-guide {
        padding: 10px;
    }

    .http01-public-verification-guide ol {
        padding-left: 18px;
    }
}

.ssl-certificate-add-workflow button[data-action-state="loading"] {
    cursor: progress;
}

.ssl-certificate-add-workflow button[data-action-state="success"] {
    border-color: #2d7a4e;
}

.ssl-certificate-add-workflow button[data-action-state="error"] {
    border-color: var(--red);
}

.ssl-guided-environment[data-state="blocked"],
.ssl-guided-stage-state[data-state="blocked"] {
    border-left-color: var(--red);
    background: #fff2f1;
}

.ssl-guided-environment[data-state="loading"],
.ssl-guided-stage-state[data-state="pending"] {
    border-left-color: var(--amber);
    background: #fff8e8;
}

.ssl-guided-environment-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ssl-guided-environment-heading > div,
.ssl-guided-stage-state {
    min-width: 0;
}

.ssl-guided-environment-heading strong,
.ssl-guided-environment-heading small,
.ssl-guided-stage-state > strong,
.ssl-guided-stage-state > span,
.ssl-guided-stage-state > small {
    display: block;
    overflow-wrap: anywhere;
}

.ssl-guided-environment-heading small,
.ssl-guided-stage-state > span,
.ssl-guided-stage-state > small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
}

.ssl-guided-environment ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ssl-guided-environment li {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(150px, 0.7fr) minmax(220px, 1.3fr);
    gap: 8px 14px;
    border-top: 1px solid rgba(145, 54, 45, 0.16);
    padding-top: 7px;
    font-size: 12px;
}

.ssl-guided-environment li span,
.ssl-guided-environment p {
    margin: 0;
    color: #586871;
    overflow-wrap: anywhere;
}

.ssl-guided-stage-state .field {
    max-width: 420px;
}

.ssl-certificate-add-steps li {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    color: #71808a;
    font-size: 12px;
}

.ssl-certificate-add-steps li:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 11px;
    right: 8px;
    left: 32px;
    height: 2px;
    background: #d8e0e5;
}

.ssl-certificate-add-steps li > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid #b8c4cb;
    border-radius: 50%;
    background: #ffffff;
    color: #5d6d77;
    font-size: 11px;
    font-weight: 800;
}

.ssl-certificate-add-steps li > strong {
    position: relative;
    z-index: 1;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    padding-right: 8px;
    background: #ffffff;
    overflow-wrap: anywhere;
}

.ssl-certificate-add-steps li[data-state="current"] {
    color: #174b32;
}

.ssl-certificate-add-steps li[data-state="current"] > span {
    border-color: #287a4c;
    background: #287a4c;
    color: #ffffff;
}

.ssl-certificate-add-steps li[data-state="complete"] {
    color: #355f49;
}

.ssl-certificate-add-steps li[data-state="complete"] > span {
    border-color: #5b896d;
    background: #e9f4ed;
    color: #245c3d;
}

.ssl-certificate-add-steps li[data-state="complete"]::after {
    background: #8db39a;
}

.ssl-certificate-add-step-panel {
    min-width: 0;
    min-height: 178px;
    padding: 2px 0;
}

#ssl-certificate-add-import-panel .ssl-certificate-add-step-panel {
    min-height: 340px;
}

.ssl-certificate-add-step-panel[hidden] {
    display: none;
}

.ssl-certificate-add-step-panel h4 {
    margin: 0 0 14px;
    color: #263d4a;
    font-size: 15px;
    line-height: 1.4;
}

.ssl-certificate-add-step-panel h4:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 4px;
}

.ssl-certificate-add-fields,
.ssl-certificate-add-chain-field {
    min-width: 0;
    max-width: 100%;
}

.ssl-certificate-add-chain-field {
    margin-top: 12px;
}

.ssl-certificate-add-review {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    margin: 0;
}

.ssl-certificate-add-review > div {
    display: grid;
    min-width: 0;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    border-bottom: 1px solid #e2e8eb;
    padding: 10px 0;
}

.ssl-certificate-add-review dt {
    color: #6a7881;
    font-size: 12px;
}

.ssl-certificate-add-review dd {
    min-width: 0;
    margin: 0;
    color: #263d4a;
    font-size: 13px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.ssl-certificate-add-boundary {
    margin: 14px 0 0;
    border-left: 3px solid #b7791f;
    background: #fff8e8;
    padding: 9px 11px;
    color: #664a1b;
    font-size: 12px;
    line-height: 1.6;
}

.ssl-certificate-add-navigation {
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    border-top: 1px solid #e1e7ea;
    padding-top: 14px;
}

.ssl-certificate-add-navigation-spacer {
    flex: 1 1 auto;
}

.ssl-certificate-add-navigation button {
    display: inline-flex;
    min-width: 104px;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.ssl-certificate-add-navigation-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.ssl-website-certificate-prefill {
    display: grid;
    min-width: 0;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px 10px;
    margin-bottom: 12px;
    border-left: 3px solid #2d7a4e;
    background: #f2f8f4;
    padding: 9px 10px;
    color: #40554a;
    font-size: 12px;
    line-height: 1.5;
}

.ssl-website-certificate-prefill > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ssl-website-certificate-prefill strong {
    display: block;
    color: #174d32;
    font-size: 13px;
}

.ssl-website-certificate-prefill small {
    display: block;
    color: #62756a;
}

.ssl-website-certificate-prefill-icon {
    width: 16px;
    height: 16px;
    margin-top: 2px;
}

.ssl-website-certificate-context-actions {
    display: flex;
    min-width: 0;
    align-self: center;
    justify-content: flex-end;
    gap: 8px;
}

.ssl-website-certificate-prefill .secondary-btn {
    min-width: 0;
    align-self: center;
    white-space: nowrap;
}

.ssl-website-certificate-prefill-action-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.database-workspace-panel {
    padding-top: 10px;
}

.layout.workspace-route-database .content {
    overflow-x: clip;
}

.database-primary-strip {
    min-height: 52px;
}

.database-primary-heading,
.database-truth-heading {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.database-primary-heading strong,
.database-truth-heading strong {
    color: var(--text);
    font-size: 14px;
}

.database-primary-heading span,
.database-truth-heading span {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.4;
}

.database-primary-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.database-primary-actions button {
    white-space: nowrap;
}

.database-truth-strip {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(180px, 0.65fr) minmax(0, 2.35fr);
    align-items: stretch;
    border: 1px solid var(--line);
    background: #fff;
}

.database-truth-heading {
    align-content: center;
    border-right: 1px solid var(--line);
    background: #f4f7f5;
    padding: 10px 12px;
}

.database-truth-facts {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.database-truth-facts > div {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: 3px;
    border-left: 1px solid var(--line);
    padding: 9px 10px;
}

.database-truth-facts > div:first-child {
    border-left: 0;
}

.database-truth-facts dt,
.database-truth-facts small {
    color: var(--muted);
    font-size: 10px;
}

.database-truth-facts dt {
    font-weight: 800;
}

.database-truth-facts dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #273b47;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45;
}

.database-truth-facts dd .status {
    margin-right: 3px;
}

.database-one-step-primary {
    min-width: 0;
    scroll-margin-top: 126px;
    border: 1px solid #bdccd5;
    border-left: 3px solid var(--green-dark);
    background: var(--surface);
    padding: 14px 16px 12px;
}

.database-one-step-header,
.database-one-step-dialog-header,
.database-one-step-review-heading,
.database-one-step-lifecycle-heading,
.database-one-step-dialog-actions,
.database-one-step-submit {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.database-one-step-header {
    margin-bottom: 12px;
}

.database-one-step-header h2,
.database-one-step-dialog-header h3 {
    margin: 0;
    color: var(--text);
    letter-spacing: 0;
}

.database-one-step-header h2 {
    font-size: 18px;
}

.database-one-step-header p,
.database-one-step-dialog-header p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.database-one-step-form {
    display: grid;
    min-width: 0;
    gap: 12px;
}

.database-one-step-readiness {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 4px 10px;
    margin: 0 0 12px;
    border: 1px solid #d8b364;
    border-left: 3px solid var(--amber);
    background: #fff8e8;
    padding: 9px 10px;
    color: #69490e;
    font-size: 12px;
    line-height: 1.45;
}

.database-one-step-readiness span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.database-one-step-form .field {
    min-width: 0;
    gap: 3px;
}

.database-one-step-form .field label {
    font-size: 11px;
}

.database-one-step-form input,
.database-one-step-form select {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.database-one-step-progress {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.database-one-step-progress li {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    color: #71808a;
    font-size: 12px;
}

.database-one-step-progress li:not(:last-child)::after {
    position: absolute;
    z-index: 0;
    top: 11px;
    right: 8px;
    left: 32px;
    height: 2px;
    background: #d8e0e5;
    content: "";
}

.database-one-step-progress li > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid #b8c4cb;
    border-radius: 50%;
    background: var(--surface);
    color: #5d6d77;
    font-size: 11px;
    font-weight: 800;
}

.database-one-step-progress li > strong {
    position: relative;
    z-index: 1;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    padding-right: 8px;
    background: var(--surface);
    overflow-wrap: anywhere;
}

.database-one-step-progress li[data-state="current"] {
    color: #174b32;
}

.database-one-step-progress li[data-state="current"] > span {
    border-color: #287a4c;
    background: #287a4c;
    color: #fff;
}

.database-one-step-progress li[data-state="complete"] {
    color: #355f49;
}

.database-one-step-progress li[data-state="complete"] > span {
    border-color: #5b896d;
    background: #e9f4ed;
    color: #245c3d;
}

.database-one-step-progress li[data-state="complete"]::after {
    background: #8db39a;
}

.database-one-step-panel {
    min-width: 0;
    min-height: 124px;
}

.database-one-step-panel[hidden] {
    display: none;
}

.database-one-step-panel h3 {
    margin: 0 0 10px;
    color: #263d4a;
    font-size: 15px;
    line-height: 1.4;
}

.database-one-step-panel h3:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 4px;
}

.database-one-step-fields {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 10px;
}

.database-one-step-management-fields {
    grid-template-columns: minmax(150px, 1.2fr) minmax(92px, 0.55fr) repeat(2, minmax(130px, 1fr));
}

.database-one-step-boundary {
    margin-top: 12px;
    border-left: 3px solid #c17b13;
    background: #fff9eb;
    padding: 8px 10px;
    color: #62430e;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.database-one-step-boundary p {
    margin: 3px 0 0;
    line-height: 1.5;
}

.database-one-step-submit {
    flex-wrap: wrap;
    justify-content: flex-end;
    border-top: 1px solid #e4eaee;
    padding-top: 10px;
}

.database-one-step-submit .message {
    min-width: 0;
    flex: 1 1 220px;
    margin: 0;
}

.database-one-step-form small.warn {
    color: #8a5e13;
    font-weight: 700;
}

.database-one-step-fix-blocker {
    display: inline-flex;
    min-width: max-content;
    align-items: center;
    gap: 6px;
    border-color: #d7ad55;
    background: #fff8e7;
    color: #745315;
}

.database-one-step-fix-blocker[hidden] {
    display: none;
}

.database-one-step-actions-spacer {
    min-width: 0;
    flex: 1 1 auto;
}

.database-one-step-submit button {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
}

.database-one-step-submit .primary-btn,
.database-one-step-dialog-actions .primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.database-one-step-button-icon,
.database-one-step-dialog-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.database-advanced-controls {
    min-width: 0;
    border-block: 1px solid var(--line);
    background: #f8faf9;
}

.database-advanced-controls > summary {
    min-height: 42px;
    cursor: pointer;
    padding: 12px 14px;
    color: #4d5f6b;
    font-size: 13px;
    font-weight: 700;
}

.database-advanced-controls > .grid {
    padding: 0 12px 12px;
}

.database-advanced-content {
    display: grid;
    min-width: 0;
    gap: 10px;
    padding: 0 12px 12px;
}

.database-advanced-content > .grid {
    min-width: 0;
}

.database-result-disclosure {
    margin-top: 10px;
}

.database-task-workflow {
    min-width: 0;
    scroll-margin-top: 122px;
    border: 1px solid #cbd7de;
    border-left: 3px solid #286c49;
    border-radius: 6px;
    background: #f8fafb;
}

.database-task-workflow-header {
    display: flex;
    min-width: 0;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #dce4e8;
    padding: 12px 14px;
}

.database-task-workflow-header > div,
.database-task-card-header > div {
    min-width: 0;
}

.database-task-workflow-header span {
    color: #647580;
    font-size: 10px;
    font-weight: 800;
}

.database-task-workflow-header h2 {
    margin-top: 2px;
    font-size: 17px;
}

.database-task-workflow-header p {
    max-width: 440px;
    margin: 0;
    color: #536671;
    font-size: 12px;
    text-align: right;
}

.database-task-grid {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.database-task-card {
    display: flex;
    min-width: 0;
    min-height: 390px;
    flex-direction: column;
    scroll-margin-top: 122px;
    background: #fff;
    padding: 13px;
}

.database-task-card + .database-task-card {
    border-left: 1px solid #dce4e8;
}

.database-task-card[data-state="blocked"] {
    background: #fafbfc;
}

.database-task-card-header {
    display: grid;
    min-width: 0;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
    gap: 9px;
    margin-bottom: 11px;
}

.database-task-number {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid #7f9b8b;
    border-radius: 50%;
    background: #eef6f1;
    color: #1d633f;
    font-size: 12px;
    font-weight: 800;
}

.database-task-card-header h3 {
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
}

.database-task-card-header p {
    margin: 2px 0 0;
    color: #697983;
    font-size: 11px;
    line-height: 1.4;
}

.database-task-summary {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 12px;
    border-top: 1px solid #e2e8eb;
    border-bottom: 1px solid #e2e8eb;
}

.database-task-summary > div {
    min-width: 0;
    padding: 7px 5px;
}

.database-task-summary > div:nth-child(even):not(.database-task-summary-wide) {
    border-left: 1px solid #e2e8eb;
}

.database-task-summary-wide {
    grid-column: 1 / -1;
    border-top: 1px solid #e2e8eb;
}

.database-task-summary dt {
    margin-bottom: 3px;
    color: #73828b;
    font-size: 9px;
    font-weight: 800;
}

.database-task-summary dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #334750;
    font-size: 11px;
    line-height: 1.45;
}

.database-task-form {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 9px;
}

.database-task-form .field {
    min-width: 0;
}

.database-task-form select,
.database-task-form input {
    width: 100%;
    min-width: 0;
}

.database-task-submit {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    justify-content: center;
    margin-top: auto;
    padding-right: 9px;
    padding-left: 9px;
    white-space: normal;
}

.database-task-submit span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.database-task-button-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.database-task-submit[aria-busy="true"] .database-task-button-icon {
    animation: database-task-busy-spin 800ms linear infinite;
}

@keyframes database-task-busy-spin {
    to { transform: rotate(360deg); }
}

.database-task-compress {
    min-height: 32px;
    align-items: center;
}

.database-task-blocker {
    margin: 0;
    border-left: 3px solid #c08b25;
    background: #fff7e8;
    padding: 7px 8px;
    color: #78530d;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.database-task-message {
    min-height: 17px;
    overflow-wrap: anywhere;
    font-size: 11px;
}

.database-backup-lifecycle-notice {
    display: grid;
    min-width: 0;
    gap: 2px;
    margin-bottom: 10px;
    border-left: 3px solid #28764d;
    background: #edf7f1;
    padding: 9px 11px;
    color: #24523a;
    font-size: 12px;
    line-height: 1.45;
}

.database-backup-lifecycle-notice.bad {
    border-left-color: #b24848;
    background: #fff1f1;
    color: #7d3030;
}

.database-backup-lifecycle-notice span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.database-task-diagnostics {
    margin-top: 2px;
    border-top: 1px solid #e2e8eb;
    padding-top: 7px;
}

.database-task-diagnostics > summary {
    color: #647580;
    font-size: 10px;
    font-weight: 700;
}

.database-task-diagnostic-fields {
    display: grid;
    min-width: 0;
    gap: 8px;
    padding-top: 9px;
}

.database-task-diagnostic-fields .secondary-btn {
    width: 100%;
    min-width: 0;
    white-space: normal;
}

.database-inspector-task-entry p {
    margin: 0 0 10px;
    color: #536671;
    font-size: 11px;
    line-height: 1.5;
}

.database-inspector-task-entry .primary-btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    white-space: normal;
}

@media (max-width: 1100px) {
    .database-task-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .database-task-card {
        min-height: 370px;
    }

    .database-task-card:nth-child(3) {
        border-left: 0;
    }

    .database-task-card:nth-child(n + 3) {
        border-top: 1px solid #dce4e8;
    }
}

@media (max-width: 600px) {
    .database-task-workflow-header {
        display: grid;
        align-items: start;
        gap: 5px;
    }

    .database-task-workflow-header p {
        max-width: none;
        text-align: left;
    }

    .database-task-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .database-task-card {
        min-height: 0;
    }

    .database-task-card + .database-task-card,
    .database-task-card:nth-child(3) {
        border-top: 1px solid #dce4e8;
        border-left: 0;
    }
}

@media (max-width: 390px) {
    .database-task-workflow-header,
    .database-task-card {
        padding-right: 10px;
        padding-left: 10px;
    }

    .database-task-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .database-task-summary > div,
    .database-task-summary-wide {
        grid-column: 1;
    }

    .database-task-summary > div:nth-child(even):not(.database-task-summary-wide) {
        border-top: 1px solid #e2e8eb;
        border-left: 0;
    }
}

.database-one-step-dialog {
    width: min(720px, calc(100vw - 32px));
    max-width: 720px;
    max-height: min(760px, calc(100dvh - 32px));
    overflow: hidden;
    border: 1px solid #aebdc7;
    border-radius: 8px;
    background: var(--surface);
    padding: 0;
    color: var(--text);
    box-shadow: 0 24px 64px rgba(18, 30, 40, 0.24);
}

.database-one-step-dialog::backdrop {
    background: rgba(18, 30, 40, 0.48);
}

.database-one-step-dialog-header {
    min-height: 58px;
    border-bottom: 1px solid var(--line);
    padding: 12px 14px 12px 18px;
}

.database-one-step-dialog-header h3 {
    font-size: 16px;
}

.database-one-step-dialog-body {
    display: grid;
    max-height: calc(100dvh - 92px);
    overflow-y: auto;
    gap: 14px;
    padding: 16px 18px 18px;
}

.database-one-step-review-heading,
.database-one-step-lifecycle-heading {
    justify-content: flex-start;
    border-bottom: 1px solid #e4eaee;
    padding-bottom: 10px;
    color: var(--muted);
    font-size: 12px;
}

.database-one-step-lifecycle-heading strong {
    color: var(--text);
    font-size: 14px;
}

.database-one-step-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    border: 1px solid var(--line);
}

.database-one-step-review-grid > div {
    min-width: 0;
    border-bottom: 1px solid #e4eaee;
    padding: 9px 11px;
}

.database-one-step-review-grid > div:nth-child(odd) {
    border-right: 1px solid #e4eaee;
}

.database-one-step-review-grid > div:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.database-one-step-review-grid dt {
    margin-bottom: 3px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
}

.database-one-step-review-grid dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 13px;
}

.database-one-step-review-grid.compact dd {
    font-size: 12px;
}

.database-one-step-blocker,
.database-one-step-lifecycle-message {
    margin: 8px 0 0;
    border-left: 3px solid var(--amber);
    background: #fff8e8;
    padding: 8px 10px;
    color: #72500f;
    font-size: 12px;
}

.database-one-step-apply-form {
    display: grid;
    gap: 12px;
    border-top: 1px solid var(--line);
    padding-top: 14px;
}

.database-one-step-panel-password {
    max-width: 360px;
}

.database-one-step-retry-secrets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.database-one-step-retry-secrets[hidden],
.database-one-step-inspection[hidden] {
    display: none;
}

.database-one-step-inspection {
    align-items: flex-start;
    border: 1px solid #d8b364;
    background: #fff8e8;
    padding: 9px 10px;
    color: #69490e;
    font-size: 12px;
}

.database-one-step-session-note {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.database-one-step-dialog-actions {
    justify-content: flex-end;
    border-top: 1px solid #e4eaee;
    padding-top: 12px;
}

@media (max-width: 980px) and (min-width: 681px) {
    .database-one-step-fields,
    .database-one-step-management-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.website-sites-table-panel,
.database-catalog-table-panel {
    display: grid;
    gap: 8px;
}

.database-catalog-filters {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(200px, 1.6fr) repeat(2, minmax(126px, 0.7fr)) auto minmax(106px, auto);
    align-items: end;
    gap: 8px;
    border: 1px solid var(--line);
    background: #f8faf9;
    padding: 8px;
}

.database-catalog-more-filters {
    min-width: 0;
    align-self: stretch;
    border-left: 1px solid var(--line);
    padding-left: 8px;
}

.database-catalog-more-filters > summary {
    display: flex;
    min-height: 34px;
    align-items: center;
    cursor: pointer;
    color: #465b51;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.database-catalog-more-filter-fields {
    display: grid;
    min-width: 260px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 0 2px;
}

.database-catalog-filters .field {
    min-width: 0;
    gap: 3px;
}

.database-catalog-filters label {
    font-size: 10px;
}

.database-catalog-filters input,
.database-catalog-filters select {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.database-catalog-filter-actions,
.database-catalog-pagination {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
}

.database-catalog-filter-actions button {
    min-height: 34px;
    gap: 6px;
    white-space: nowrap;
}

.database-catalog-pagination {
    justify-content: flex-end;
    color: #52635a;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.database-catalog-pagination > span {
    white-space: nowrap;
}

.database-catalog-pagination .icon-btn {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
}

.database-catalog-table-panel .table-wrap {
    overscroll-behavior-inline: contain;
}

.database-catalog-table-panel .database-catalog-table {
    min-width: 1240px;
}

.database-catalog-layout,
.database-catalog-layout > .panel,
.database-catalog-layout > .panel > .panel-body,
.database-catalog-inspector,
.database-catalog-inspector * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.database-catalog-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

.database-catalog-name {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
    color: #1d4f36;
    font-weight: 800;
}

.database-directory-state {
    min-width: 88px;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    border-left: 3px solid currentColor;
    border-radius: 6px;
    padding: 4px 7px;
    line-height: 1.2;
    white-space: normal;
}

.database-directory-state small,
.database-directory-state strong {
    display: block;
    letter-spacing: 0;
}

.database-directory-state small {
    opacity: 0.72;
    font-size: 9px;
    font-weight: 700;
}

.database-directory-state strong {
    font-size: 12px;
    overflow-wrap: anywhere;
}

.database-directory-state[data-state-kind="management"] {
    border-left-color: #536f9f;
}

.database-directory-state[data-state-kind="observation"] {
    border-left-color: #9a641d;
}

.database-catalog-actions-cell .row-actions {
    flex-wrap: nowrap;
}

.database-catalog-actions-cell .row-action-icon,
.schedule-database-backup-import-icon,
.schedule-database-backup-cancel-icon {
    width: 14px;
    min-width: 14px;
    height: 14px;
}

.database-catalog-actions-cell [data-action="database-schedule-backup"] {
    gap: 5px;
    border-color: #9abbaa;
    color: #175b38;
}

@media (min-width: 901px) {
    .database-catalog-name-heading,
    .database-catalog-name-cell,
    .database-catalog-actions-heading,
    .database-catalog-actions-cell {
        position: sticky;
        z-index: 1;
        background: #fff;
    }

    .database-catalog-name-heading,
    .database-catalog-name-cell {
        left: 0;
    }

    .database-catalog-actions-heading,
    .database-catalog-actions-cell {
        right: 0;
    }

    .database-catalog-name-heading,
    .database-catalog-actions-heading {
        z-index: 2;
        background: var(--surface-soft);
    }
}

.database-catalog-actions-cell [data-action="database-detail"][aria-pressed="true"] {
    border-color: #8dbba1;
    background: #eef7f1;
    color: #175b38;
}

.database-catalog-inspector {
    position: static;
    min-height: 410px;
    scroll-margin-top: 76px;
    overflow: hidden;
    border-top: 1px solid var(--line);
    background: #f7f9fa;
}

.database-catalog-inspector[hidden] {
    display: none;
}

.database-inspector-header {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 10px 12px 10px 14px;
}

.database-inspector-header > div,
.database-inspector-identity > div {
    min-width: 0;
}

.database-inspector-header span,
.database-inspector-identity > div > span {
    display: block;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.database-inspector-header h4,
.database-inspector-identity h5,
.database-inspector-section h5 {
    margin: 2px 0 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.35;
}

.database-inspector-header h4:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.database-inspector-close-icon {
    width: 17px;
    height: 17px;
}

.database-inspector-content {
    display: grid;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.database-inspector-summary,
.database-inspector-section {
    padding: 14px;
}

.database-inspector-summary {
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.database-inspector-section + .database-inspector-section {
    border-top: 1px solid var(--line);
}

.database-inspector-identity {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.database-inspector-identity > .status {
    flex: 0 0 auto;
}

.database-inspector-request-state {
    display: grid;
    gap: 2px;
    margin-top: 10px;
    border-left: 3px solid #a6b1b8;
    padding: 7px 9px;
    color: #52636e;
    font-size: 11px;
    line-height: 1.45;
}

.database-inspector-request-state strong,
.database-inspector-request-state span {
    overflow-wrap: anywhere;
}

.database-inspector-request-state.stale {
    border-left-color: #bd8326;
    background: #fff8e8;
    color: #765017;
}

.database-inspector-request-state.error {
    border-left-color: var(--red);
    background: #fff1f1;
    color: #842727;
}

.database-inspector-request-state.ready {
    border-left-color: var(--green-dark);
    background: #edf7f0;
    color: #23603d;
}

.database-inspector-section {
    display: grid;
    gap: 9px;
}

.database-inspector-section > h5 {
    margin: 0;
    color: #31434f;
}

.database-inspector-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--line);
}

.database-inspector-field {
    display: grid;
    min-height: 58px;
    align-content: start;
    gap: 4px;
    background: #fff;
    padding: 9px 10px;
}

.database-inspector-field-wide {
    grid-column: 1 / -1;
}

.database-inspector-field dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.database-inspector-field dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #263744;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
}

.database-inspector-related-empty,
.database-inspector-empty {
    display: grid;
    min-height: 72px;
    place-items: center;
    border: 1px dashed var(--line);
    border-radius: 6px;
    background: #fff;
    padding: 12px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

.database-inspector-empty {
    min-height: 260px;
    margin: 14px;
}

@media (min-width: 1181px) {
    .database-catalog-layout.inspector-open {
        grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.72fr);
    }

    .database-catalog-inspector {
        position: sticky;
        top: 126px;
        max-height: calc(100vh - 150px);
        border-top: 0;
        border-left: 1px solid var(--line);
    }

    .database-inspector-content {
        max-height: calc(100vh - 209px);
    }
}

@media (max-width: 900px) {
    .database-catalog-table-panel .database-catalog-table-wrap {
        overflow: visible;
    }

    .database-catalog-table-panel .database-catalog-table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .database-catalog-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .database-catalog-table tbody {
        display: grid;
        gap: 8px;
    }

    .database-catalog-table .database-catalog-row {
        display: grid;
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border: 1px solid var(--line);
        border-radius: 6px;
        background: #fff;
        padding: 7px;
    }

    .database-catalog-table .database-catalog-row > td {
        display: block;
        position: static;
        min-width: 0;
        border: 0;
        padding: 6px;
        overflow-wrap: anywhere;
    }

    .database-catalog-table .database-catalog-row > td::before {
        display: block;
        margin-bottom: 3px;
        color: var(--muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.2;
    }

    .database-catalog-name-cell,
    .database-catalog-created-cell,
    .database-catalog-actions-cell {
        grid-column: 1 / -1;
    }

    .database-catalog-name {
        font-size: 14px;
        line-height: 1.4;
    }

    .database-catalog-actions-cell {
        margin-top: 2px;
        border-top: 1px solid #e3e9ec !important;
        padding-top: 9px !important;
    }

    .database-catalog-actions-cell .row-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .database-catalog-actions-cell .small-btn {
        min-width: 0;
        min-height: 40px;
        white-space: normal;
    }
}

.database-catalog-empty {
    min-height: 112px;
}

.database-catalog-empty strong,
.database-catalog-empty span {
    display: block;
}

.database-catalog-empty strong {
    margin-bottom: 3px;
    color: var(--text);
}

.database-catalog-empty .secondary-btn {
    margin-top: 10px;
}

.database-backup-import-form {
    grid-template-columns: minmax(180px, 0.7fr) minmax(260px, 1.6fr) auto;
}

.database-backup-import-path {
    min-width: 0;
}

.database-schedule-list {
    display: grid;
    min-width: 0;
    border: 1px solid var(--line);
}

.database-schedule-item {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(220px, 1fr) minmax(100px, 0.35fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
}

.database-schedule-item + .database-schedule-item {
    border-top: 1px solid var(--line);
}

.database-schedule-identity {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.database-schedule-identity strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #204f37;
}

.database-schedule-identity span,
.database-schedule-item > span:not(.status) {
    color: var(--muted);
    font-size: 11px;
}

.database-schedule-item .secondary-btn {
    min-width: 0;
    gap: 6px;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .database-truth-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .database-truth-heading {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .database-truth-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .database-truth-facts > div:nth-child(3) {
        border-left: 0;
    }

    .database-truth-facts > div:nth-child(n + 3) {
        border-top: 1px solid var(--line);
    }
}

@media (max-width: 900px) {
    .database-primary-strip {
        align-items: flex-start;
    }

    .database-primary-actions {
        display: grid;
        width: min(100%, 390px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .database-primary-actions button {
        width: 100%;
        min-width: 0;
        justify-content: center;
        white-space: normal;
    }

    .database-backup-import-form {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    .database-primary-strip {
        display: grid;
    }

    .database-primary-actions {
        width: 100%;
    }

    .database-primary-actions button:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .database-catalog-more-filters {
        grid-column: 1 / -1;
        border-top: 1px solid var(--line);
        border-left: 0;
        padding-top: 4px;
        padding-left: 0;
    }

    .database-catalog-more-filter-fields {
        min-width: 0;
    }

    .database-advanced-content {
        padding-right: 6px;
        padding-left: 6px;
    }

    .database-schedule-item {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .database-schedule-identity {
        grid-column: 1 / -1;
    }

    .database-schedule-item .secondary-btn {
        grid-column: 1 / -1;
        width: 100%;
        justify-content: center;
        white-space: normal;
    }
}

@media (max-width: 390px) {
    .database-primary-actions,
    .database-catalog-more-filter-fields {
        grid-template-columns: minmax(0, 1fr);
    }
}

.software-catalog-table-panel {
    display: grid;
    min-width: 0;
    gap: 8px;
}

.software-workspace-panel,
.software-workspace-panel > .panel,
.software-workspace-panel .panel-body,
.software-workspace-panel .table-wrap {
    min-width: 0;
    max-width: 100%;
}

.software-catalog-filters {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(128px, 0.75fr)) auto;
    align-items: end;
    gap: 8px;
    border-bottom: 1px solid var(--line);
    background: #f8faf9;
    padding: 8px;
}

.software-catalog-filters .field {
    min-width: 0;
    gap: 3px;
}

.software-catalog-filters label {
    font-size: 10px;
}

.software-catalog-filters input,
.software-catalog-filters select {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.software-catalog-filter-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
}

.software-catalog-filter-actions button {
    min-height: 34px;
    gap: 6px;
}

.software-command-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.software-catalog-table-panel .table-wrap {
    width: 100%;
    max-width: 100%;
    overscroll-behavior-inline: contain;
}

.software-catalog-table-panel table {
    min-width: 980px;
}

.software-catalog-name {
    color: #20313d;
    font-weight: 800;
}

.software-provider-note {
    display: block;
    margin-top: 4px;
    color: #536873;
    line-height: 1.45;
}

.software-catalog-row-actions,
.software-catalog-primary-actions {
    display: flex;
    min-width: max-content;
    align-items: flex-start;
    gap: 5px;
}

.software-catalog-primary-actions .small-btn {
    white-space: nowrap;
}

.software-catalog-primary-actions .small-btn.primary {
    border-color: #9bc8aa;
    background: #edf8f1;
    color: #17643a;
}

.software-catalog-overflow {
    position: relative;
    flex: 0 0 auto;
}

.software-catalog-overflow > summary {
    width: 32px;
    min-width: 32px;
    min-height: 30px;
    list-style: none;
}

.software-catalog-overflow > summary::-webkit-details-marker {
    display: none;
}

.software-catalog-overflow > summary:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.software-catalog-overflow[open] > summary {
    border-color: #2f7651;
    background: #eaf5ee;
    color: #195f3b;
}

.software-catalog-overflow-icon {
    width: 17px;
    height: 17px;
}

.software-catalog-overflow-menu {
    display: grid;
    width: 156px;
    margin-top: 4px;
    border: 1px solid #cbd6dc;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 24px rgb(23 33 43 / 16%);
    padding: 4px;
}

.software-catalog-overflow-action {
    min-height: 34px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #263442;
    padding: 0 9px;
    text-align: left;
}

.software-catalog-overflow-action:hover,
.software-catalog-overflow-action:focus-visible {
    outline: 0;
    background: #eef7f1;
    color: #17643a;
}

.software-catalog-empty {
    display: grid;
    min-height: 128px;
    align-content: center;
    justify-items: center;
    gap: 5px;
    padding: 20px;
    text-align: center;
}

.software-catalog-empty strong {
    color: #344651;
    font-size: 14px;
}

.software-catalog-empty span {
    max-width: 440px;
    color: var(--muted);
    line-height: 1.5;
}

.software-apply-form {
    grid-template-columns: repeat(5, minmax(128px, 1fr));
}

.software-apply-form > .field {
    min-width: 0;
}

.software-apply-actions {
    display: flex;
    min-width: 0;
    grid-column: 1 / -1;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.software-apply-actions button {
    min-width: 0;
    gap: 6px;
}

.software-preflight-command span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.software-preflight-result {
    display: grid;
    min-width: 0;
    max-width: 100%;
    gap: 0;
}

.software-operation-result .code-box {
    max-width: 100%;
    box-sizing: border-box;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.software-preflight-banner {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 14px;
    border-left: 4px solid #ad791f;
    border-radius: 6px;
    background: #fff8e8;
    padding: 14px 16px;
}

.software-preflight-banner.ok {
    border-left-color: var(--green-dark);
    background: #eef8f1;
}

.software-preflight-banner.bad {
    border-left-color: var(--red);
    background: #fff3f3;
}

.software-preflight-banner > .status {
    justify-self: end;
    white-space: nowrap;
}

.software-preflight-banner > p {
    min-width: 0;
    grid-column: 1 / -1;
    margin: 0;
    color: #536571;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.software-preflight-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
}

.software-preflight-title-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: #476051;
}

.software-preflight-title > div {
    display: flex;
    min-width: 0;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 8px;
}

.software-preflight-title span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.software-preflight-title strong {
    min-width: 0;
    color: #263442;
    font-size: 15px;
    overflow-wrap: anywhere;
}

.software-preflight-facts {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 14px 0 0;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.software-preflight-facts > div {
    min-width: 0;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 10px 12px;
}

.software-preflight-facts dt {
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
}

.software-preflight-facts dd {
    min-width: 0;
    margin: 0;
    color: #263442;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.software-preflight-fingerprint {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: inherit;
    font-size: 11px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.software-preflight-reconfirm {
    min-width: 0;
    margin-top: 10px;
    border-left: 3px solid #ad791f;
    background: #fff8e8;
    padding: 9px 11px;
    color: #805914;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.software-preflight-section {
    min-width: 0;
    border-top: 1px solid var(--line);
    padding-top: 14px;
    margin-top: 14px;
}

.software-preflight-section h4 {
    margin: 0 0 8px;
    color: #344651;
    font-size: 13px;
}

.software-preflight-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.software-preflight-table {
    min-width: 720px;
}

.software-preflight-table th,
.software-preflight-table td {
    padding: 9px 10px;
    font-size: 12px;
}

.software-preflight-empty {
    border-radius: 6px;
    background: #f4f7f8;
    padding: 14px;
    color: #536571;
    font-size: 12px;
    line-height: 1.5;
}

.software-preflight-empty.warn {
    background: #fff8e8;
    color: #805914;
}

.software-preflight-empty.bad {
    background: #fff3f3;
    color: var(--red);
}

.software-preflight-issues {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.software-preflight-issue {
    min-width: 0;
    border-bottom: 1px solid var(--line);
    border-left: 3px solid #aab7bf;
    padding: 8px 10px;
}

.software-preflight-issue.warn {
    border-left-color: #ad791f;
    background: #fffbf1;
}

.software-preflight-issue.bad {
    border-left-color: var(--red);
    background: #fff5f5;
}

.software-preflight-issue-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 9px;
}

.software-preflight-issue-heading strong,
.software-preflight-issue-heading > span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.software-preflight-issue-heading strong {
    color: #344651;
    font-size: 12px;
}

.software-preflight-issue-heading > span:last-child {
    color: var(--muted);
    font-size: 11px;
}

.software-preflight-issue p {
    margin: 7px 0 0;
    color: #536571;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.website-catalog-filters {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(180px, 1.4fr) repeat(4, minmax(108px, 0.75fr)) auto;
    align-items: end;
    gap: 8px;
    border: 1px solid var(--line);
    background: #f8faf9;
    padding: 8px;
}

.website-catalog-filters .field {
    min-width: 0;
    gap: 3px;
}

.website-catalog-filters label {
    font-size: 10px;
}

.website-catalog-filters input,
.website-catalog-filters select {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.website-catalog-filter-actions,
.website-catalog-pagination {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
}

.website-catalog-filter-actions button {
    min-height: 34px;
    gap: 6px;
    white-space: nowrap;
}

.website-catalog-pagination {
    justify-content: flex-end;
    color: #52635a;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.website-catalog-pagination > span {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: center;
}

.website-catalog-pagination .icon-btn {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
}

.website-deployment-health-summary {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    border-block: 1px solid var(--line);
    background: #f8faf9;
    padding: 8px 10px;
    color: #52635a;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.website-deployment-health-summary strong {
    color: #172d21;
    font-size: 12px;
}

.website-deployment-health-empty {
    min-height: 112px;
}

.website-sites-summary,
.website-sites-primary-actions {
    display: flex;
    min-width: 0;
    align-items: center;
}

.website-sites-summary {
    flex: 1 1 auto;
    overflow-x: auto;
    scrollbar-width: thin;
}

.website-sites-summary > span {
    display: inline-flex;
    min-width: max-content;
    align-items: baseline;
    gap: 4px;
    border-right: 1px solid #dce4e0;
    color: #607069;
    padding: 2px 12px;
    font-size: 11px;
}

.website-sites-summary > span:first-child {
    padding-left: 0;
}

.website-sites-summary > span:last-child {
    border-right: 0;
}

.website-sites-summary strong {
    color: #1e4733;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.website-sites-primary-actions {
    flex: 0 0 auto;
    gap: 6px;
}

.website-sites-primary-actions button {
    gap: 7px;
}

.website-command-icon,
.database-command-icon,
.database-backup-download-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.website-resource-dialog {
    width: min(720px, calc(100vw - 32px));
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.website-resource-dialog.website-update-dialog {
    width: min(820px, calc(100vw - 32px));
}

.website-resource-form {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
    overflow-y: auto;
    padding: 16px 18px;
}

#websiteForm {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    scroll-padding-block: 12px 72px;
}

.website-create-progress {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-create-progress li {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    color: #71808a;
    font-size: 12px;
}

.website-create-progress li:not(:last-child)::after {
    position: absolute;
    z-index: 0;
    top: 11px;
    right: 8px;
    left: 32px;
    height: 2px;
    background: #d8e0e5;
    content: "";
}

.website-create-progress li > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid #b8c4cb;
    border-radius: 50%;
    background: #fff;
    color: #5d6d77;
    font-size: 11px;
    font-weight: 800;
}

.website-create-progress li > strong {
    position: relative;
    z-index: 1;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    padding-right: 8px;
    background: #fff;
    overflow-wrap: anywhere;
}

.website-create-progress li[data-state="current"] {
    color: #174b32;
}

.website-create-progress li[data-state="current"] > span {
    border-color: #287a4c;
    background: #287a4c;
    color: #fff;
}

.website-create-progress li[data-state="complete"] {
    color: #355f49;
}

.website-create-progress li[data-state="complete"] > span {
    border-color: #5b896d;
    background: #e9f4ed;
    color: #245c3d;
}

.website-create-progress li[data-state="complete"]::after {
    background: #8db39a;
}

.website-create-step-panel {
    min-width: 0;
    min-height: 190px;
}

.website-create-step-panel[hidden] {
    display: none;
}

.website-create-step-panel h3 {
    margin: 0 0 12px;
    color: #263d4a;
    font-size: 15px;
    line-height: 1.4;
}

.website-create-step-panel h3:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 4px;
}

.website-create-step-fields {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
}

.website-create-step-fields .website-reverse-proxy-target-control,
.website-create-step-fields .website-php-fpm-target-control {
    grid-column: 1 / -1;
}

.website-create-confirmation dl {
    display: grid;
    min-width: 0;
    margin: 0;
    border-top: 1px solid var(--line);
}

.website-create-confirmation dl > div {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(92px, 0.3fr) minmax(0, 1fr);
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding: 9px 2px;
}

.website-create-confirmation dt {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.website-create-confirmation dd {
    min-width: 0;
    margin: 0;
    color: var(--text);
    font-weight: 700;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.website-create-boundary {
    margin-top: 14px;
    border-left: 3px solid #c17b13;
    background: #fff9eb;
    padding: 9px 11px;
    color: #62430e;
    overflow-wrap: anywhere;
}

.website-create-boundary p {
    margin: 3px 0 0;
    line-height: 1.5;
}

.website-resource-form .field {
    min-width: 0;
}

.website-resource-form .website-aliases-field {
    min-height: 66px;
    max-height: 132px;
    resize: vertical;
    line-height: 1.45;
}

.website-resource-form .website-reverse-proxy-target-control,
.website-resource-form .website-php-fpm-target-control {
    grid-column: 1 / -1;
}

.website-resource-form .website-https-policy-field,
.website-update-deployment-notice {
    grid-column: 1 / -1;
}

.website-https-policy-field {
    display: grid;
    gap: 7px;
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.website-https-policy-field-label {
    color: var(--text);
    font-size: 12px;
    font-weight: 700;
}

.website-https-policy-toggle {
    position: relative;
    display: grid;
    min-height: 48px;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.website-https-policy-toggle input {
    position: absolute;
    top: 50%;
    left: 0;
    width: 42px;
    height: 24px;
    margin: 0;
    opacity: 0;
    transform: translateY(-50%);
}

.website-https-policy-switch {
    position: relative;
    width: 42px;
    height: 24px;
    border: 1px solid #91a0a9;
    border-radius: 12px;
    background: #c8d0d5;
    transition: background-color 0.16s ease, border-color 0.16s ease;
}

.website-https-policy-switch::after {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(27, 43, 35, 0.28);
    content: "";
    transition: transform 0.16s ease;
}

.website-https-policy-toggle input:checked + .website-https-policy-switch {
    border-color: #236d43;
    background: #2d7a4e;
}

.website-https-policy-toggle input:checked + .website-https-policy-switch::after {
    transform: translateX(18px);
}

.website-https-policy-toggle input:focus-visible + .website-https-policy-switch {
    outline: 2px solid #246b47;
    outline-offset: 2px;
}

.website-https-policy-field.disabled .website-https-policy-toggle {
    cursor: not-allowed;
}

.website-https-policy-toggle input:disabled + .website-https-policy-switch {
    border-color: #c4ccd1;
    background: #e1e6e9;
}

.website-https-policy-toggle-copy {
    display: grid;
    gap: 2px;
}

.website-https-policy-toggle-copy strong {
    color: #263d4a;
    font-size: 12px;
}

.website-https-policy-toggle-copy span,
.website-https-policy-reason {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.website-https-policy-field.disabled .website-https-policy-toggle-copy,
.website-https-policy-field.disabled .website-https-policy-toggle-copy strong {
    color: #87939a;
}

.website-https-policy-field.disabled .website-https-policy-reason {
    color: #8a5c10;
    font-weight: 700;
}

.website-update-deployment-notice {
    display: grid;
    gap: 3px;
    border-left: 3px solid #c17b13;
    background: #fff9eb;
    padding: 9px 11px;
    color: #67480f;
    font-size: 11px;
    line-height: 1.5;
}

.website-update-deployment-notice span {
    overflow-wrap: anywhere;
}

.website-target-examples {
    color: var(--muted);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.website-upstream-target-guidance,
.website-upstream-target-state {
    min-width: 0;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.website-upstream-target-guidance {
    color: var(--muted);
}

.website-upstream-target-state {
    color: var(--amber);
    font-weight: 700;
}

.website-reverse-proxy-target-control input[aria-invalid="true"] {
    border-color: var(--red);
}

.website-resource-dialog-actions {
    display: flex;
    min-width: 0;
    grid-column: 1 / -1;
    justify-content: flex-end;
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.website-create-wizard-actions {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.website-create-wizard-actions button {
    min-width: 0;
    gap: 7px;
}

.wizard-submit-status {
    display: flex;
    min-width: 220px;
    flex: 1 1 280px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-left: 3px solid #c27a16;
    background: #fff8e8;
    padding: 7px 9px;
    color: #67480f;
    font-size: 11px;
}

.wizard-submit-status[hidden] {
    display: none;
}

.wizard-submit-status.ready {
    border-left-color: #2d7a4e;
    background: #eef8f2;
    color: #205f3c;
}

.wizard-submit-status > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.wizard-submit-status strong {
    display: block;
    margin-bottom: 1px;
    font-size: 12px;
}

.wizard-submit-status .small-btn {
    display: inline-flex;
    min-width: max-content;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
}

.website-create-wizard-actions-spacer {
    min-width: 0;
    flex: 1 1 auto;
}

.website-resource-dialog-message {
    min-height: 38px;
    border-top: 1px solid var(--line);
    background: #f8faf9;
    padding: 9px 18px;
}

.file-path-recovery-notice {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-left: 3px solid #c27a16;
    background: #fff8e8;
    padding: 9px 10px;
}

.file-path-recovery-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
    color: #6f521d;
    font-size: 11px;
}

.file-path-recovery-copy strong,
.file-path-recovery-copy span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.file-path-recovery-copy strong {
    color: #583d0d;
    font-size: 12px;
}

.file-path-recovery-actions {
    display: flex;
    min-width: 0;
    flex: 0 1 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.file-path-recovery-actions button {
    min-height: 34px;
    gap: 6px;
}

.website-domain-cell {
    display: grid;
    min-width: 170px;
    max-width: 320px;
    gap: 3px;
}

.website-domain-cell strong,
.website-domain-aliases {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-sites-table-panel .table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.website-sites-table-panel table {
    min-width: 1140px;
}

.website-sites-table-panel th {
    white-space: nowrap;
}

.website-sites-table-panel th:last-child,
.website-sites-table-panel td:last-child {
    position: sticky;
    right: 0;
    z-index: 1;
    background: #ffffff;
    box-shadow: -5px 0 8px rgba(29, 44, 37, 0.08);
}

.website-sites-table-panel th:last-child {
    z-index: 2;
    background: #f8faf9;
}

.website-sites-table-panel td:last-child:has(
    .website-row-menu-trigger[aria-expanded="true"]
) {
    z-index: 3;
}

.website-row-action-cell {
    display: flex;
    min-width: max-content;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.website-row-actions-desktop {
    flex-wrap: nowrap;
}

.website-row-menu {
    display: none;
}

.website-row-menu-trigger {
    display: flex;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
}

.website-row-menu-trigger[aria-expanded="true"] {
    border-color: #2f7651;
    background: #eaf5ee;
    color: #195f3b;
}

.website-row-menu-trigger-icon {
    width: 18px;
    height: 18px;
}

.website-row-menu[hidden] {
    display: none;
}

.website-row-menu:not([hidden]) {
    position: fixed;
    z-index: 1300;
    inset: auto 16px 16px auto;
    display: grid;
    width: min(360px, calc(100vw - 32px));
    max-height: min(520px, calc(100dvh - 32px));
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #aebdc8;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(20, 35, 45, 0.28);
}

.website-row-menu-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding: 12px 14px 10px;
}

.website-row-menu-heading {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.website-row-menu-heading strong {
    min-width: 0;
    overflow: hidden;
    color: #172d21;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-row-menu-heading span {
    color: var(--muted);
    font-size: 11px;
}

.website-row-menu-close {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
}

.website-row-menu-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    overflow-y: auto;
    padding: 7px;
}

.website-row-menu-actions button {
    display: flex;
    min-width: 0;
    min-height: 42px;
    align-items: center;
    gap: 9px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--text);
    padding: 8px 10px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
}

.website-row-menu-actions button:hover,
.website-row-menu-actions button:focus-visible {
    outline: none;
    background: #eef6f1;
    color: #195f3b;
}

.website-row-menu-actions .file-command-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: #60756a;
}

.website-row-menu-actions .file-command-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-row-menu-actions button.danger {
    color: var(--red);
}

.website-row-menu-actions button.danger .file-command-icon {
    color: var(--red);
}

.website-row-menu-actions button.danger:hover,
.website-row-menu-actions button.danger:focus-visible {
    background: #fff0f0;
    color: #9e2525;
}

.website-domain-cell strong {
    color: #172d21;
    font-size: 13px;
}

.website-domain-aliases {
    color: #687a70;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.website-deployment-health-empty {
    display: grid;
    min-height: 150px;
    place-items: center;
    align-content: center;
    gap: 7px;
    padding: 18px;
    text-align: center;
}

.website-deployment-health-empty strong {
    color: #30424d;
    font-size: 14px;
}

.website-deployment-health-empty > span {
    max-width: 520px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.website-deployment-health-empty > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin-top: 3px;
}

.website-detail-dialog,
.website-detail-dialog * {
    min-width: 0;
    box-sizing: border-box;
}

.website-detail-dialog {
    width: min(980px, calc(100vw - 32px));
    max-height: min(820px, calc(100dvh - 32px));
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.website-detail-header > div:first-child {
    display: grid;
    gap: 2px;
}

.website-detail-header > div:first-child > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-detail-header strong {
    width: max-content;
    max-width: 100%;
    font-size: 15px;
}

.website-detail-header strong:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.website-detail-content {
    min-height: 420px;
    overflow: hidden;
}

.website-detail-loading,
.website-detail-error {
    display: grid;
    min-height: 420px;
    place-items: center;
    align-content: center;
    gap: 8px;
    padding: 24px;
    color: var(--muted);
    text-align: center;
}

.website-detail-error strong {
    color: var(--red);
    font-size: 15px;
}

.website-detail-error button,
.website-detail-inline-state button {
    justify-self: start;
    margin-top: 4px;
}

.website-detail-titlebar {
    display: flex;
    min-height: 62px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid var(--line);
    background: #f8faf9;
    padding: 9px 16px;
}

.website-detail-titlebar > div:first-child {
    display: grid;
    gap: 2px;
}

.website-detail-titlebar > div:first-child strong {
    color: #172d21;
    font-size: 17px;
    overflow-wrap: anywhere;
}

.website-detail-titlebar > div:first-child span {
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
    overflow-wrap: anywhere;
}

.website-detail-titlebar > div:last-child {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.website-detail-workspace {
    display: grid;
    height: min(610px, calc(100dvh - 174px));
    min-height: 358px;
    grid-template-columns: 164px minmax(0, 1fr);
}

.website-detail-tabs {
    display: grid;
    align-content: start;
    gap: 3px;
    border-right: 1px solid var(--line);
    background: #f7f9fa;
    padding: 10px 7px;
}

.website-detail-tabs button {
    display: flex;
    width: 100%;
    min-height: 40px;
    align-items: center;
    gap: 9px;
    border: 0;
    border-left: 3px solid transparent;
    border-radius: 3px;
    background: transparent;
    padding: 8px 10px;
    color: #52636e;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}

.website-detail-tabs button:hover,
.website-detail-tabs button:focus-visible {
    background: #edf4f0;
    color: #205f3c;
}

.website-detail-tabs button:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: -2px;
}

.website-detail-tabs button[aria-selected="true"] {
    border-left-color: var(--green-dark);
    background: #e9f4ed;
    color: #155d37;
}

.website-detail-tabs .file-command-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.website-detail-panels {
    overflow-y: auto;
    overscroll-behavior: contain;
}

.website-detail-panels > section {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 18px 20px 24px;
}

.website-detail-panels > section[hidden] {
    display: none;
}

.website-detail-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 11px;
}

.website-detail-section-heading.compact {
    margin-top: 3px;
    padding-bottom: 8px;
}

.website-detail-section-heading h3 {
    margin: 0;
    color: #263d4a;
    font-size: 15px;
}

.website-detail-section-heading p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.website-detail-deployment-state {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-left: 4px solid #aa761c;
    background: #fffaf0;
    padding: 11px 12px;
}

.website-detail-deployment-state.ok {
    border-left-color: #2d7a4e;
    background: #f1f8f4;
}

.website-detail-deployment-state > div {
    display: grid;
    gap: 2px;
}

.website-detail-deployment-state > div span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-detail-deployment-state > div strong {
    color: #293f4b;
    font-size: 15px;
}

.website-detail-deployment-state > .status {
    max-width: 62%;
    white-space: normal;
    text-align: right;
}

.website-detail-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    gap: 0 22px;
}

.website-detail-facts.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.website-detail-facts > div {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 9px;
    border-bottom: 1px solid #edf1f3;
    padding: 9px 0;
}

.website-detail-facts dt,
.website-detail-audit-list dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.website-detail-facts dd,
.website-detail-audit-list dd {
    margin: 0;
    color: #2a3c47;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.website-detail-facts dd.mono {
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
}

.website-detail-actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 7px;
}

.website-detail-actions button,
.website-detail-section-heading button {
    min-height: 36px;
    gap: 7px;
}

.website-https-policy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border-left: 4px solid #687984;
    background: #f5f7f8;
    padding: 11px 12px;
}

.website-https-policy.forced {
    border-left-color: #2d7a4e;
    background: #f1f8f4;
}

.website-https-policy.optional {
    border-left-color: #34779b;
    background: #f1f7fa;
}

.website-https-policy-copy {
    display: grid;
    gap: 3px;
}

.website-https-policy-copy > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-https-policy-copy > strong {
    color: #263d4a;
    font-size: 15px;
}

.website-https-policy-copy > p {
    margin: 0;
    color: #536875;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.website-https-policy > button {
    min-height: 36px;
    gap: 7px;
}

.website-ssl-workspace {
    display: grid;
    min-width: 0;
    gap: 13px;
}

.website-https-next-action {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border-left: 4px solid #34779b;
    background: #f1f7fa;
    padding: 11px 12px;
}

.website-https-next-action[data-state="uninitialized"] {
    border-left-color: #34779b;
    background: #f1f7fa;
}

.website-https-next-action[data-state="complete"],
.website-https-next-action[data-state="success"] {
    border-left-color: #2d7a4e;
    background: #f1f8f4;
}

.website-https-next-action[data-state="working"],
.website-https-next-action[data-state="unknown"] {
    border-left-color: #c18a22;
    background: #fff8e9;
}

.website-https-next-action[data-state="blocked"],
.website-https-next-action[data-state="error"],
.website-https-next-action[data-state="conflict"] {
    border-left-color: #bd4b4b;
    background: #fff3f3;
}

.website-https-next-action-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.website-https-next-action-copy > span,
.website-https-next-action-password > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-https-next-action-copy > strong {
    color: #263d4a;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.website-https-next-action-copy > p {
    margin: 0;
    color: #536875;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.website-https-next-action-controls {
    display: flex;
    min-width: 0;
    align-items: end;
    gap: 8px;
}

.website-https-next-action-controls > button {
    min-width: 154px;
    min-height: 38px;
    justify-content: center;
    gap: 7px;
    white-space: normal;
}

.website-https-next-action-password {
    display: grid;
    width: 178px;
    min-width: 0;
    gap: 4px;
}

.website-https-next-action-password input {
    width: 100%;
    min-height: 36px;
}

.website-ssl-advanced-details {
    border-top: 1px solid #e4eaed;
    padding-top: 8px;
}

.website-ssl-advanced-details > summary {
    display: flex;
    width: max-content;
    max-width: 100%;
    align-items: center;
    gap: 7px;
    color: #536875;
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
    list-style: none;
}

.website-ssl-advanced-details > summary::-webkit-details-marker {
    display: none;
}

.website-ssl-advanced-details > summary::after {
    content: "+";
    color: var(--muted);
    font-size: 14px;
}

.website-ssl-advanced-details[open] > summary::after {
    content: "−";
}

.website-ssl-advanced-details > div {
    margin-top: 9px;
}

.website-ssl-domain-scope {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.website-ssl-domain-scope > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-ssl-domain-scope ul {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-ssl-domain-scope li {
    display: flex;
    min-width: 0;
    max-width: 100%;
    align-items: center;
    gap: 6px;
    border: 1px solid #d7e0e4;
    border-radius: 3px;
    background: #f7f9fa;
    padding: 5px 7px;
}

.website-ssl-domain-scope li[data-covered="true"] {
    border-color: #b9dfc6;
    background: #eff9f2;
}

.website-ssl-domain-scope li strong {
    flex: 0 0 auto;
    color: #60727d;
    font-size: 9px;
}

.website-ssl-domain-scope li code {
    min-width: 0;
    color: #263d4a;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.website-ssl-journey {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-ssl-journey li {
    display: grid;
    min-width: 0;
    min-height: 54px;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    border-top: 2px solid #cbd5da;
    background: #f7f9fa;
    padding: 7px;
    color: #60727d;
}

.website-ssl-journey li > span {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1px solid #bdc9cf;
    border-radius: 50%;
    background: #fff;
    font-size: 10px;
}

.website-ssl-journey li > strong {
    min-width: 0;
    font-size: 10px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.website-ssl-journey li[data-state="complete"] {
    border-top-color: #2d8b57;
    background: #f0f8f3;
    color: #176d3b;
}

.website-ssl-journey li[data-state="pending"],
.website-ssl-journey li[data-state="running"] {
    border-top-color: #c18a22;
    background: #fff8e9;
    color: #80550c;
}

.website-ssl-journey li[data-state="verification"] {
    border-top-color: #34779b;
    background: #f1f7fa;
    color: #315f77;
}

.website-ssl-journey li[data-state="blocked"] {
    border-top-color: #bd4b4b;
    background: #fff3f3;
    color: #943a3a;
}

.website-orchestration-degraded {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
    border-left: 4px solid #c18a22;
    background: #fff8e9;
    padding: 9px 12px;
    color: #80550c;
    overflow-wrap: anywhere;
}

.website-orchestration-degraded strong {
    font-size: 12px;
}

.website-orchestration-degraded span {
    color: #6c5a39;
    font-size: 11px;
    line-height: 1.45;
}

.website-ssl-orchestration {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(92px, .7fr) minmax(72px, .45fr) minmax(150px, 1fr) minmax(220px, 1.45fr);
    gap: 1px;
    border: 1px solid #d4dee3;
    background: #d4dee3;
}

.website-ssl-orchestration > div {
    display: grid;
    min-width: 0;
    gap: 3px;
    background: #f7f9fa;
    padding: 9px 10px;
}

.website-ssl-orchestration > div > span,
.website-ssl-orchestration[data-state] > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-ssl-orchestration > div > strong {
    min-width: 0;
    color: #263d4a;
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.website-ssl-orchestration code {
    font-size: 11px;
}

.website-ssl-orchestration[data-state="verification"] {
    border-color: #b9d3df;
    background: #b9d3df;
}

.website-ssl-orchestration-note {
    grid-column: 1 / -1;
    margin: 0;
    background: #f1f7fa;
    color: #3f6173;
    padding: 9px 10px;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.website-ssl-orchestration[data-state="empty"],
.website-ssl-orchestration[data-state="error"] {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    border-left: 4px solid #8a9aa3;
    background: #f4f7f8;
    padding: 10px 12px;
}

.website-ssl-orchestration[data-state="error"] {
    border-left-color: #bd4b4b;
    background: #fff3f3;
}

.website-ssl-orchestration[data-state] > strong {
    color: #263d4a;
    font-size: 12px;
}

.website-ssl-next-step {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border-left: 4px solid #c18a22;
    background: #fff8e9;
    padding: 11px 12px;
}

.website-ssl-next-step[data-state="ready"] {
    border-left-color: #2d8b57;
    background: #f0f8f3;
}

.website-ssl-next-step[data-state="blocked"] {
    border-left-color: #bd4b4b;
    background: #fff3f3;
}

.website-ssl-next-step[data-state="verification"] {
    border-left-color: #34779b;
    background: #f1f7fa;
}

.website-ssl-next-step > div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.website-ssl-next-step > div > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-ssl-next-step > div > strong {
    color: #263d4a;
    font-size: 14px;
}

.website-ssl-next-step p {
    margin: 0;
    color: #536875;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.website-ssl-next-step > button {
    min-width: 154px;
    min-height: 38px;
    justify-content: center;
    gap: 7px;
}

.website-ssl-secondary-actions {
    margin-top: 1px;
}

.ssl-deployment-summary {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr);
    align-items: center;
    gap: 12px;
    border-left: 3px solid #34779b;
    background: #f1f7fa;
    padding: 11px 13px;
}

.ssl-deployment-summary > div {
    display: grid;
    gap: 2px;
}

.ssl-deployment-summary span,
.ssl-deployment-summary p {
    color: var(--muted);
    font-size: 11px;
}

.ssl-deployment-summary strong {
    color: #263d4a;
    font-size: 13px;
}

.ssl-deployment-summary p {
    margin: 0;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.website-detail-note,
.website-detail-precondition,
.website-detail-inline-state {
    color: #536875;
    font-size: 11px;
    line-height: 1.55;
}

.website-detail-note,
.website-detail-precondition {
    margin: 0;
    border-left: 3px solid #9babb4;
    background: #f6f8f9;
    padding: 8px 10px;
}

.website-detail-precondition {
    border-left-color: #c17b13;
    background: #fff9eb;
    color: #67480f;
}

.website-detail-inline-state {
    display: grid;
    gap: 2px;
    border-left: 3px solid #8a9aa5;
    background: #f6f8f9;
    padding: 9px 10px;
}

.website-detail-inline-state.warn {
    border-left-color: #c17b13;
    background: #fff9eb;
    color: #67480f;
}

.website-detail-preview {
    min-height: 74px;
    border: 1px solid var(--line);
    background: #f8faf9;
    padding: 11px;
}

.website-detail-preview > span {
    color: var(--muted);
    font-size: 11px;
}

.website-detail-preview .code-box {
    max-height: 300px;
    margin: 10px 0 0;
    overflow: auto;
}

.website-detail-audit-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-detail-audit-list > li {
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff;
    padding: 10px 12px;
}

.website-detail-audit-list > li > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.website-detail-audit-list > li > dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 7px 0 0;
    gap: 4px 16px;
}

.website-detail-audit-list dl > div {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 6px;
}

.website-detail-status {
    min-height: 38px;
    border-top: 1px solid var(--line);
    background: #f8faf9;
    padding: 9px 16px;
    color: #52635a;
    font-size: 11px;
}

.website-local-reachability-dialog,
.website-local-reachability-dialog * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.website-local-reachability-dialog {
    width: min(820px, calc(100vw - 32px));
    max-height: min(720px, calc(100dvh - 32px));
    grid-template-rows: auto minmax(0, 1fr);
}

.website-local-reachability-header {
    min-height: 62px;
}

.website-local-reachability-header > div:first-child {
    display: grid;
    gap: 2px;
}

.website-local-reachability-header > div:first-child > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.website-local-reachability-header strong {
    color: var(--text);
    font-size: 16px;
    letter-spacing: 0;
}

.website-local-reachability-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
}

.website-local-reachability-actions .icon-btn {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
}

.website-local-reachability-action-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}

.website-local-reachability-content {
    display: grid;
    align-content: start;
    gap: 12px;
    overflow-y: auto;
    padding: 16px 18px 18px;
}

.website-local-reachability-summary {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.4fr);
    gap: 14px 20px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 13px;
}

.website-local-reachability-summary > div > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-local-reachability-summary h4 {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    color: #173e2a;
    font-size: 18px;
    letter-spacing: 0;
}

.website-local-reachability-summary dl {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(140px, 0.8fr);
    gap: 10px 16px;
    margin: 0;
}

.website-local-reachability-summary dl > div {
    min-width: 0;
}

.website-local-reachability-summary dt,
.website-local-reachability-protocol dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-local-reachability-summary dd,
.website-local-reachability-protocol dd {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.website-local-reachability-request-state {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: 5px 10px;
    border-left: 3px solid #809188;
    background: #f2f5f3;
    padding: 9px 11px;
    color: #43544b;
    font-size: 12px;
    line-height: 1.45;
}

.website-local-reachability-request-state.loading,
.website-local-reachability-request-state.warn {
    border-left-color: var(--amber);
    background: #fff8e8;
    color: #6d4d12;
}

.website-local-reachability-request-state.error,
.website-local-reachability-request-state.bad {
    border-left-color: var(--red);
    background: #fff0f0;
    color: #842f2f;
}

.website-local-reachability-request-state.ok {
    border-left-color: var(--green-dark);
    background: #edf8f1;
    color: #245c3c;
}

.website-local-reachability-request-state strong,
.website-local-reachability-request-state span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.website-local-reachability-protocols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.website-local-reachability-protocol {
    display: grid;
    min-height: 214px;
    grid-template-rows: auto auto minmax(46px, auto);
    align-content: start;
    border: 1px solid #c7d2cc;
    border-top: 3px solid #809188;
    background: #fff;
}

.website-local-reachability-protocol.ok {
    border-top-color: var(--green-dark);
}

.website-local-reachability-protocol.warn,
.website-local-reachability-protocol.loading {
    border-top-color: var(--amber);
}

.website-local-reachability-protocol.bad,
.website-local-reachability-protocol.invalid {
    border-top-color: var(--red);
}

.website-local-reachability-protocol > header {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 4px;
    border-bottom: 1px solid #e1e7e4;
    padding: 9px 11px;
}

.website-local-reachability-protocol > header strong {
    color: #173e2a;
    font-size: 15px;
}

.website-local-reachability-protocol > header > span:not(.status) {
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
}

.website-local-reachability-protocol > header .status {
    flex: 0 0 auto;
    margin-left: auto;
    white-space: nowrap;
}

.website-local-reachability-protocol dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.website-local-reachability-protocol dl > div {
    min-height: 58px;
    border-bottom: 1px solid #e6ebe8;
    padding: 9px 11px;
}

.website-local-reachability-protocol dl > div:nth-child(odd) {
    border-right: 1px solid #e6ebe8;
}

.website-local-reachability-protocol > p {
    min-height: 46px;
    margin: 0;
    overflow-wrap: anywhere;
    padding: 10px 11px 12px;
    color: #52635a;
    font-size: 11px;
    line-height: 1.5;
}

.website-local-reachability-protocol.loading {
    background: #fbfcfb;
}

.website-local-reachability-protocol.loading dd,
.website-local-reachability-protocol.loading p {
    color: #7b8982;
}

.website-local-reachability-empty {
    grid-column: 1 / -1;
    min-height: 214px;
    display: grid;
    place-items: center;
    border: 1px dashed #bdc9c2;
    padding: 24px;
    color: var(--muted);
    text-align: center;
    font-size: 12px;
}

.website-row-actions-desktop [data-action="website-local-reachability"] .file-command-label,
.website-row-actions-desktop [data-action="website-ssl-certificate-prefill"] .file-command-label {
    white-space: nowrap;
}

.website-row-actions-desktop [data-action="website-local-reachability"] .file-command-icon,
.website-row-actions-desktop [data-action="website-ssl-certificate-prefill"] .file-command-icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

@media (max-width: 680px) {
    .file-operation-dialog.website-local-reachability-dialog {
        inset: 0;
        width: 100vw;
        height: 100dvh;
        max-width: none;
        max-height: none;
        margin: 0;
        border: 0;
        border-radius: 0;
    }

    .website-local-reachability-header {
        min-height: 58px;
        padding-left: 14px;
    }

    .website-local-reachability-content {
        gap: 10px;
        padding: 13px 12px calc(18px + env(safe-area-inset-bottom));
    }

    .website-local-reachability-summary,
    .website-local-reachability-summary dl,
    .website-local-reachability-protocols {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-local-reachability-summary {
        gap: 10px;
    }

    .website-local-reachability-summary dl {
        gap: 8px;
    }

    .website-local-reachability-request-state {
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
    }

    .website-local-reachability-protocol {
        min-height: 206px;
    }

    .website-local-reachability-empty {
        min-height: 206px;
    }
}

.database-backup-row-actions {
    align-items: center;
}

.database-backup-download {
    width: 32px;
    min-width: 32px;
    height: 30px;
    min-height: 30px;
    padding: 0;
}

.database-backup-download[aria-busy="true"] {
    color: #27764a;
    opacity: 0.7;
}

.service-operation-result .code-box {
    max-height: min(32vh, 300px);
}

.metric {
    min-height: 94px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface-soft);
}

.metric span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.metric strong {
    display: block;
    margin-top: 10px;
    font-size: 24px;
}

.metric small {
    display: block;
    margin-top: 6px;
    color: var(--muted);
}

.toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.notification-list-toolbar {
    margin-bottom: 12px;
}

.notification-page-summary {
    color: var(--muted);
    font-size: 12px;
}

.inline-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr)) auto;
    gap: 10px;
    align-items: end;
}

.inline-form.three {
    grid-template-columns: repeat(3, minmax(140px, 1fr)) auto;
}

.inline-form.two {
    grid-template-columns: repeat(2, minmax(140px, 1fr)) auto;
}

@media (min-width: 981px) {
    .grid.cols-2 > .panel,
    .grid.cols-2 > .panel > .panel-body {
        min-width: 0;
    }

    .grid.cols-2 .inline-form {
        grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    }

    .grid.cols-2 .inline-form.three {
        grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    }

    .grid.cols-2 .inline-form.two {
        grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    }
}

.service-mode-field {
    min-width: 0;
    margin: 0;
    border: 0;
    padding: 0;
}

.service-mode-field legend {
    margin-bottom: 7px;
    color: #415060;
    font-size: 13px;
    font-weight: 700;
}

.service-mode-control {
    display: grid;
    min-width: 0;
    min-height: 42px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #f5f7f9;
}

.service-mode-control label {
    position: relative;
    display: grid;
    min-width: 0;
    cursor: pointer;
    place-items: stretch;
}

.service-mode-control label + label {
    border-left: 1px solid var(--line);
}

.service-mode-control input {
    position: absolute;
    width: 1px;
    min-height: 0;
    height: 1px;
    overflow: hidden;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.service-mode-control span {
    display: flex;
    min-width: 0;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    color: #596a77;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.service-mode-control input:checked + span {
    background: #eaf5ed;
    color: #19613a;
    box-shadow: inset 0 -2px 0 #2c7a4b;
}

.service-mode-control input[value="APPLY"]:checked + span {
    background: #fff3dc;
    color: #85520b;
    box-shadow: inset 0 -2px 0 #c47b13;
}

.service-mode-control input:focus-visible + span {
    outline: 2px solid #3d7f5c;
    outline-offset: -2px;
}

.service-mode-control input:disabled + span {
    cursor: not-allowed;
    color: #9aa6ae;
}

.schedule-template-picker {
    grid-template-columns: minmax(220px, 420px) auto;
    justify-content: start;
    margin-top: 12px;
}

.schedule-parameter-editor {
    display: grid;
    grid-column: 1 / -1;
    min-width: 0;
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.schedule-database-backup-import {
    display: flex;
    grid-column: 1 / -1;
    min-width: 0;
    align-items: flex-start;
    gap: 8px;
    border-left: 3px solid #2d7a4e;
    background: #f2f8f4;
    padding: 9px 10px;
    color: #40554a;
    font-size: 12px;
    line-height: 1.5;
}

.schedule-database-backup-import > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.schedule-database-backup-import strong {
    display: block;
    color: #174d32;
    font-size: 13px;
}

.schedule-database-backup-import-icon {
    flex: 0 0 14px;
    margin-top: 2px;
}

.schedule-task-execution-notice-host:empty {
    display: none;
}

.schedule-task-truth-notice {
    display: grid;
    min-width: 0;
    gap: 3px;
    border-left: 3px solid #b13a3a;
    background: #fff5f3;
    padding: 9px 10px;
    color: #5d4140;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.schedule-task-truth-notice strong {
    color: #862d2d;
    font-size: 13px;
}

.schedule-parameter-header,
.schedule-parameter-actions {
    display: flex;
    min-width: 0;
    align-items: center;
}

.schedule-parameter-header {
    justify-content: space-between;
    gap: 12px;
}

.schedule-parameter-header h4 {
    margin: 0;
    font-size: 14px;
}

.schedule-parameter-actions {
    gap: 8px;
}

.schedule-parameter-mode {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(86px, 1fr));
    overflow: hidden;
    border: 1px solid #c8d2d9;
    border-radius: 6px;
    background: #f3f6f7;
}

.schedule-parameter-mode button {
    min-height: 34px;
    border: 0;
    border-right: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    color: #53636e;
    font-size: 12px;
    font-weight: 750;
}

.schedule-parameter-mode button:last-child {
    border-right: 0;
}

.schedule-parameter-mode button[aria-pressed="true"] {
    background: #ffffff;
    color: #145b38;
    box-shadow: inset 0 -2px 0 #287a4c;
}

.schedule-parameter-mode button:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid #3d7f5c;
    outline-offset: -2px;
}

.schedule-parameter-form,
.schedule-retry-settings,
.schedule-parameter-json {
    min-width: 0;
}

.schedule-parameter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.schedule-parameter-wide {
    grid-column: span 2;
}

.schedule-parameter-empty {
    grid-column: 1 / -1;
    min-height: 40px;
    display: flex;
    align-items: center;
    color: var(--muted);
    font-size: 13px;
}

.schedule-retry-settings {
    margin-top: 12px;
    border-top: 1px solid var(--line);
}

.schedule-retry-settings summary {
    min-height: 40px;
    display: flex;
    align-items: center;
    color: #40515d;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}

.schedule-retry-settings[open] summary {
    margin-bottom: 10px;
}

.schedule-parameter-preserved {
    display: block;
    margin-top: 8px;
    color: #85520b;
}

.schedule-parameter-json textarea {
    width: 100%;
    min-height: 180px;
    resize: vertical;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    line-height: 1.55;
}

.schedule-parameter-json .field-error {
    color: var(--red);
}

.schedule-form-actions,
.schedule-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.schedule-form-actions {
    align-self: end;
}

.schedule-detail-actions {
    margin-bottom: 12px;
}

.schedule-catalog-layout,
.schedule-catalog-layout *,
.schedule-catalog-main,
.schedule-inspector {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.schedule-catalog-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 0;
}

.schedule-catalog-main {
    display: grid;
    gap: 12px;
}

.schedule-catalog-filters {
    display: grid;
    grid-template-columns: minmax(160px, 1.4fr) repeat(3, minmax(0, 0.8fr)) auto;
    align-items: end;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #f7f9fa;
    padding: 9px;
}

.schedule-catalog-filters .field,
.schedule-catalog-filters input,
.schedule-catalog-filters select {
    min-width: 0;
    width: 100%;
}

.schedule-catalog-filter-actions,
.schedule-inspector-actions,
.schedule-row-actions,
.schedule-row-primary-actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.schedule-catalog-filter-actions button,
.schedule-inspector-actions button {
    min-height: 38px;
}

.schedule-catalog-filter-actions button,
.schedule-catalog-filter-actions button > span,
.schedule-inspector-actions button {
    min-width: 0;
}

.schedule-command-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.schedule-catalog-summary {
    display: flex;
    min-height: 24px;
    align-items: center;
    justify-content: flex-end;
    color: #536571;
    font-size: 12px;
}

.schedule-catalog-table-wrap {
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.schedule-catalog-table {
    width: 100%;
    min-width: 1080px;
}

.schedule-catalog-table th,
.schedule-catalog-table td {
    padding: 8px 9px;
    vertical-align: top;
}

.schedule-catalog-table th {
    white-space: nowrap;
}

.schedule-catalog-table code,
.schedule-catalog-name {
    overflow-wrap: anywhere;
}

.schedule-catalog-name {
    display: block;
    color: #1d4f36;
    font-size: 13px;
}

.schedule-row-actions {
    min-width: 180px;
    align-items: flex-start;
}

.schedule-row-primary-actions {
    flex-wrap: nowrap;
}

.schedule-row-menu {
    min-width: 36px;
}

.schedule-row-menu > summary {
    display: flex;
    width: 34px;
    min-width: 34px;
    height: 32px;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    list-style: none;
}

.schedule-row-menu > summary::-webkit-details-marker {
    display: none;
}

.schedule-row-menu > summary:focus-visible,
.schedule-row-menu[open] > summary {
    border-color: #2f7651;
    outline: none;
    background: #eaf5ee;
    color: #195f3b;
}

.schedule-row-menu-icon {
    width: 17px;
    height: 17px;
}

.schedule-row-menu-items {
    display: grid;
    width: min(260px, 100%);
    min-width: 220px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    margin-top: 6px;
    border: 1px solid #b8c4cc;
    border-radius: 6px;
    background: #fff;
    padding: 5px;
    box-shadow: 0 8px 18px rgba(20, 35, 45, 0.12);
}

.schedule-row-menu:not([open]) .schedule-row-menu-items {
    display: none;
}

.schedule-row-menu-items button {
    display: flex;
    min-width: 0;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--text);
    padding: 7px 8px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
}

.schedule-row-menu-items button:hover,
.schedule-row-menu-items button:focus-visible {
    outline: none;
    background: #eef6f1;
    color: #195f3b;
}

.schedule-row-menu-items .file-command-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: #60756a;
}

.schedule-row-menu-items .file-command-label {
    min-width: 0;
    overflow-wrap: anywhere;
}

.schedule-row-menu-items button.danger {
    border-top: 1px solid #f0caca;
    color: var(--red);
}

.schedule-row-menu-items button.danger .file-command-icon {
    color: var(--red);
}

.schedule-row-menu-items button.danger:hover,
.schedule-row-menu-items button.danger:focus-visible {
    background: #fff0f0;
    color: #9e2525;
}

.schedule-catalog-empty {
    display: grid;
    min-height: 170px;
    place-items: center;
    align-content: center;
    gap: 10px;
}

.schedule-inspector {
    overflow: hidden;
    border-top: 1px solid var(--line);
    background: #f7f9fa;
    scroll-margin-top: 116px;
}

.schedule-inspector[hidden] {
    display: none;
}

.schedule-inspector-header {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 10px 12px 10px 14px;
}

.schedule-inspector-header > div,
.schedule-inspector-identity > div {
    min-width: 0;
}

.schedule-inspector-header span,
.schedule-inspector-identity > div > span {
    display: block;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.schedule-inspector-header h4,
.schedule-inspector-identity h5,
.schedule-inspector-section h5 {
    margin: 2px 0 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.35;
}

.schedule-inspector-header h4:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.schedule-inspector-close-icon {
    width: 17px;
    height: 17px;
}

.schedule-inspector-content {
    display: grid;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.schedule-inspector-summary,
.schedule-inspector-section,
.schedule-inspector-request-state {
    padding: 14px;
}

.schedule-inspector-summary {
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.schedule-inspector-identity {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.schedule-inspector-identity > .status {
    flex: 0 0 auto;
}

.schedule-inspector-section {
    display: grid;
    gap: 9px;
}

.schedule-inspector-section + .schedule-inspector-section {
    border-top: 1px solid var(--line);
}

.schedule-inspector-section > h5 {
    margin: 0;
    color: #31434f;
}

.schedule-inspector-fields,
.schedule-inspector-parameters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--line);
}

.schedule-inspector-field,
.schedule-inspector-parameters > div {
    display: grid;
    min-height: 58px;
    align-content: start;
    gap: 4px;
    background: #fff;
    padding: 9px 10px;
}

.schedule-inspector-field-wide {
    grid-column: 1 / -1;
}

.schedule-inspector-parameters > div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.schedule-inspector-field dt,
.schedule-inspector-parameters dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.schedule-inspector-field dd,
.schedule-inspector-parameters dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #263744;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
}

.schedule-inspector-request-state {
    display: grid;
    min-height: 180px;
    align-content: center;
    gap: 7px;
    color: #52636e;
    text-align: center;
}

.schedule-inspector-request-state.loading {
    color: #3f6852;
}

.schedule-inspector-request-state.error {
    border-left: 3px solid var(--red);
    background: #fff3f3;
    color: #842727;
}

.schedule-inspector-request-state button {
    justify-self: center;
    margin-top: 4px;
}

.schedule-inspector-parameter-empty,
.schedule-inspector-hidden-parameters {
    color: var(--muted);
    font-size: 11px;
}

.schedule-inspector-parameter-empty {
    border: 1px dashed var(--line);
    border-radius: 6px;
    background: #fff;
    padding: 12px;
    text-align: center;
}

.schedule-inspector-actions {
    border-top: 1px solid var(--line);
    background: #fff;
    padding: 10px 12px;
}

@media (min-width: 1360px) {
    .schedule-catalog-layout.inspector-open {
        grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.72fr);
    }

    .schedule-catalog-layout.inspector-open .schedule-catalog-table {
        min-width: 720px;
    }

    .schedule-catalog-layout.inspector-open .schedule-catalog-table th:nth-child(4),
    .schedule-catalog-layout.inspector-open .schedule-catalog-table td:nth-child(4),
    .schedule-catalog-layout.inspector-open .schedule-catalog-table th:nth-child(7),
    .schedule-catalog-layout.inspector-open .schedule-catalog-table td:nth-child(7) {
        display: none;
    }

    .schedule-inspector {
        position: sticky;
        top: 126px;
        max-height: calc(100vh - 150px);
        border-top: 0;
        border-left: 1px solid var(--line);
    }

    .schedule-inspector-content {
        max-height: calc(100vh - 278px);
    }
}

@media (max-width: 1359px) {
    .schedule-catalog-layout.inspector-open .schedule-inspector {
        order: -1;
        margin-bottom: 12px;
        border: 1px solid var(--line);
        border-radius: 6px;
    }
}

@media (max-width: 900px) {
    .schedule-catalog-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .schedule-catalog-query,
    .schedule-catalog-filter-actions {
        grid-column: 1 / -1;
    }

    .schedule-catalog-filter-actions button {
        flex: 1 1 0;
    }

    .schedule-catalog-table-wrap {
        overflow-x: visible;
    }

    .schedule-catalog-table,
    .schedule-catalog-table tbody,
    .schedule-catalog-table tr,
    .schedule-catalog-table td {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .schedule-catalog-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .schedule-catalog-table tbody {
        display: grid;
        gap: 9px;
    }

    .schedule-catalog-table tr {
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius: 6px;
        background: #fff;
        box-shadow: 0 3px 10px rgba(23, 33, 43, 0.04);
    }

    .schedule-catalog-table td {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 10px;
        border-bottom: 1px solid #edf1f3;
        padding: 8px 10px;
        overflow-wrap: anywhere;
    }

    .schedule-catalog-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: 10px;
        font-weight: 800;
    }

    .schedule-catalog-table td[data-label="操作"] {
        grid-template-columns: minmax(0, 1fr);
    }

    .schedule-catalog-table td:first-child {
        background: #f7faf8;
        padding-top: 11px;
        padding-bottom: 11px;
    }

    .schedule-catalog-table td:last-child {
        border-bottom: 0;
    }

    .schedule-row-actions {
        width: 100%;
        min-width: 0;
    }

    .schedule-row-menu[open] {
        width: 100%;
        min-width: 100%;
        flex: 1 0 100%;
    }

    .schedule-row-menu-items {
        width: 100%;
        min-width: 0;
    }

    .schedule-inspector-content {
        max-height: none;
    }
}

@media (max-width: 520px) {
    .schedule-catalog-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .schedule-catalog-query,
    .schedule-catalog-filter-actions {
        grid-column: auto;
    }

    .schedule-catalog-filter-actions {
        align-items: stretch;
    }

    .schedule-row-menu-items,
    .schedule-inspector-fields,
    .schedule-inspector-parameters {
        grid-template-columns: minmax(0, 1fr);
    }

    .schedule-inspector-field-wide {
        grid-column: auto;
    }

    .schedule-inspector-parameters > div:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .schedule-inspector-actions button {
        flex: 1 1 140px;
    }
}

.row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.schedule-run-status,
.schedule-run-task-ids {
    display: grid;
    gap: 6px;
    align-items: start;
}

.schedule-run-status {
    min-width: 190px;
}

.schedule-run-status .status {
    justify-self: start;
}

.schedule-run-child-pending {
    max-width: 220px;
    color: var(--amber);
    font-size: 12px;
    line-height: 1.5;
}

.schedule-run-task-ids {
    min-width: 250px;
}

.schedule-run-task-ids span {
    overflow-wrap: anywhere;
}

.schedule-run-task-ids strong {
    display: block;
    margin-bottom: 2px;
    color: var(--muted);
    font-size: 11px;
}

.task-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.service-operation-lifecycle {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.service-operation-lifecycle > .status,
.service-operation-lifecycle > .secondary-btn {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}

.service-operation-lifecycle > .secondary-btn {
    min-height: 36px;
    padding-top: 7px;
    padding-bottom: 7px;
}

.service-boot-workspace,
.service-boot-workspace *,
.service-boot-content,
.service-boot-table-wrap {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.service-boot-workspace {
    border: 1px solid var(--line);
    background: #fff;
}

.service-boot-header {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid var(--line);
    padding: 11px 14px 11px 16px;
}

.service-boot-header > div {
    min-width: 0;
}

.service-boot-header h3 {
    margin: 0;
    font-size: 16px;
}

.service-boot-header p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.service-boot-header .icon-btn {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    height: 36px;
    min-height: 36px;
    flex: 0 0 36px;
    padding: 0;
}

.service-boot-refresh-icon {
    width: 17px;
    height: 17px;
}

.service-boot-header .icon-btn[aria-busy="true"] .service-boot-refresh-icon {
    opacity: 0.62;
}

.service-boot-content {
    display: grid;
    gap: 12px;
    padding: 14px 16px 16px;
}

.service-boot-request-state {
    display: grid;
    min-height: 148px;
    align-content: center;
    gap: 5px;
    border-left: 3px solid #8c9aa4;
    background: #f7f9fa;
    padding: 16px;
    color: #536571;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.service-boot-request-state.loading {
    border-left-color: #b37a16;
    background: #fff9ed;
    color: #765017;
}

.service-boot-request-state.error {
    border-left-color: var(--red);
    background: #fff5f5;
    color: #8a2626;
}

.service-boot-summary {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    border: 1px solid var(--line);
    background: #f7f9fa;
}

.service-boot-summary > div {
    display: grid;
    min-width: 118px;
    grid-template-columns: auto auto;
    align-items: baseline;
    gap: 8px;
    border-right: 1px solid var(--line);
    padding: 8px 12px;
}

.service-boot-summary > div:last-child {
    border-right: 0;
}

.service-boot-summary dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.service-boot-summary dd {
    margin: 0;
    color: #263744;
    font-size: 16px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.service-boot-summary [data-state="enabled"] dd {
    color: #246640;
}

.service-boot-summary [data-state="disabled"] dd {
    color: #a23b35;
}

.service-boot-summary [data-state="unknown"] dd {
    color: #94651c;
}

.service-boot-table {
    width: 100%;
    min-width: 820px;
    table-layout: fixed;
}

.service-boot-table th:nth-child(1) {
    width: 17%;
}

.service-boot-table th:nth-child(2) {
    width: 13%;
}

.service-boot-table th:nth-child(3) {
    width: 18%;
}

.service-boot-table th:nth-child(4) {
    width: 27%;
}

.service-boot-table th:nth-child(5) {
    width: 25%;
}

.service-boot-table td {
    vertical-align: middle;
}

.service-boot-name,
.service-boot-message,
.service-boot-table time {
    display: block;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.service-boot-name {
    color: #1d4f36;
}

.service-boot-message,
.service-boot-table time,
.service-boot-read-only {
    color: #596a76;
    font-size: 12px;
    line-height: 1.45;
}

.service-boot-actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.service-boot-actions .small-btn {
    min-width: 0;
    min-height: 34px;
    padding: 6px 9px;
    white-space: normal;
}

.service-boot-empty {
    min-height: 148px;
    display: grid;
    place-items: center;
    border: 1px dashed var(--line);
    color: var(--muted);
    text-align: center;
}

.service-health-layout,
.service-health-list,
.service-health-inspector,
.service-health-inspector * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.service-workspace-panel > .panel,
.service-workspace-panel > .panel > .panel-body {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.service-health-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 0;
}

.service-health-layout.inspector-open {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.8fr);
}

.service-health-layout .table-wrap {
    width: 100%;
    max-width: 100%;
}

.service-inspector-trigger {
    display: inline-flex;
    min-width: 0;
    max-width: 100%;
    min-height: 34px;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    border: 1px solid transparent;
    border-radius: 5px;
    background: transparent;
    padding: 4px 7px;
    color: #17603a;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
}

.service-inspector-trigger span {
    min-width: 0;
    overflow: hidden;
    overflow-wrap: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.service-inspector-trigger small {
    flex: 0 0 auto;
    border-left: 1px solid #b8cec1;
    padding-left: 7px;
    color: #5f7568;
    font-size: 10px;
    font-weight: 700;
}

.service-inspector-trigger:hover,
.service-inspector-trigger:focus-visible,
.service-inspector-trigger[aria-pressed="true"] {
    border-color: #b9d8c6;
    background: #eef7f1;
    color: #104e30;
}

.service-inspector-trigger:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 1px;
}

.service-inspector-trigger-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.service-inspector-trigger[aria-pressed="true"] .service-inspector-trigger-icon {
    transform: rotate(90deg);
}

.service-health-inspector {
    position: sticky;
    top: 126px;
    min-height: 430px;
    max-height: calc(100vh - 150px);
    overflow: hidden;
    border-left: 1px solid var(--line);
    background: #f8fafb;
}

.service-health-inspector[hidden] {
    display: none;
}

.service-health-inspector-header {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 10px 12px 10px 14px;
}

.service-health-inspector-header > div,
.service-inspector-section-heading > div {
    min-width: 0;
}

.service-health-inspector-header > div:first-child {
    flex: 1 1 auto;
}

.service-health-inspector-actions {
    display: flex;
    min-width: 72px;
    max-width: none;
    flex: 0 0 72px;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.service-health-inspector-actions .icon-btn {
    width: 33px;
    min-width: 33px;
    max-width: 33px;
    height: 33px;
    min-height: 33px;
    flex: 0 0 33px;
    padding: 0;
}

.service-health-inspector-header span,
.service-inspector-section-heading > div > span {
    display: block;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.service-health-inspector-header h4,
.service-inspector-section-heading h5 {
    margin: 2px 0 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.3;
}

.service-health-inspector-header h4:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.service-inspector-refresh-icon,
.service-inspector-close-icon {
    width: 17px;
    height: 17px;
}

.service-health-inspector-actions .icon-btn[aria-busy="true"]
        .service-inspector-refresh-icon {
    opacity: 0.68;
}

.service-health-inspector-content {
    display: grid;
    max-height: calc(100vh - 209px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.service-inspector-summary,
.service-inspector-diagnostics,
.service-inspector-diagnostics-state {
    padding: 14px;
}

.service-inspector-summary {
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.service-inspector-section-heading {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.service-inspector-section-heading.compact {
    align-items: center;
}

.service-inspector-section-heading.compact h5 {
    margin: 0;
}

.service-inspector-message {
    min-height: 38px;
    margin: 11px 0 0;
    overflow-wrap: anywhere;
    color: #334451;
    font-size: 12px;
    line-height: 1.55;
}

.service-inspector-request-state {
    margin-top: 9px;
    border-left: 3px solid #9aa8b2;
    padding: 5px 8px;
    color: #596a76;
    font-size: 11px;
    line-height: 1.45;
}

.service-inspector-request-state.loading {
    border-left-color: #c58b2c;
    background: #fff8e9;
    color: #765017;
}

.service-inspector-request-state.error {
    border-left-color: var(--red);
    background: #fff1f1;
    color: #8a2626;
}

.service-inspector-request-state.ready {
    border-left-color: var(--green-dark);
    background: #eef7f1;
    color: #23603d;
}

.service-inspector-diagnostics-state {
    display: grid;
    min-height: 150px;
    align-content: center;
    gap: 6px;
    border-left: 3px solid #c58b2c;
    color: #596a76;
}

.service-inspector-diagnostics-state strong,
.service-inspector-diagnostics-state span {
    overflow-wrap: anywhere;
}

.service-inspector-diagnostics-state.error {
    border-left-color: var(--red);
    background: #fff5f5;
    color: #8a2626;
}

.service-inspector-diagnostics-state.permission {
    background: #fff9ed;
    color: #765017;
}

.service-inspector-diagnostics {
    display: grid;
    gap: 13px;
}

.service-inspector-fields {
    display: grid;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
}

.service-inspector-field {
    display: grid;
    min-height: 57px;
    grid-template-columns: minmax(82px, 0.8fr) minmax(0, 1.2fr);
    gap: 10px;
    align-items: start;
    border-bottom: 1px solid var(--line);
    padding: 10px;
}

.service-inspector-field:last-child {
    border-bottom: 0;
}

.service-inspector-field dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

.service-inspector-field dd {
    display: grid;
    min-width: 0;
    gap: 3px;
    margin: 0;
    text-align: right;
}

.service-inspector-field dd strong,
.service-inspector-field-reason {
    overflow-wrap: anywhere;
}

.service-inspector-field dd strong {
    color: #263744;
    font-size: 12px;
}

.service-inspector-availability {
    color: #687985;
    font-size: 10px;
    font-weight: 800;
}

.service-inspector-field[data-state="field-unavailable"] .service-inspector-availability,
.service-inspector-logs[data-state="field-unavailable"] .service-inspector-availability {
    color: #94651c;
}

.service-inspector-field-reason {
    display: block;
    color: #765017;
    font-size: 10px;
    line-height: 1.45;
}

.service-inspector-logs {
    display: grid;
    gap: 8px;
    min-height: 150px;
}

.service-inspector-logs pre {
    min-height: 130px;
    max-height: 260px;
    overflow: auto;
    margin: 0;
    border-radius: 6px;
    background: #17212b;
    padding: 11px;
    color: #dce9f2;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
    word-break: break-word;
}

.service-inspector-logs pre:focus-visible {
    outline: 2px solid #68a782;
    outline-offset: 2px;
}

.service-inspector-empty {
    display: grid;
    min-height: 130px;
    place-items: center;
    border: 1px dashed var(--line);
    border-radius: 6px;
    background: #fff;
    padding: 14px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

@media (max-width: 1100px) {
    .service-health-layout,
    .service-health-layout.inspector-open {
        grid-template-columns: minmax(0, 1fr);
    }

    .service-health-inspector {
        position: static;
        min-height: 400px;
        max-height: none;
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .service-health-inspector-content {
        max-height: none;
    }

    .service-inspector-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-inspector-field:nth-last-child(2) {
        border-bottom: 0;
    }
}

@media (max-width: 900px) {
    .service-health-list .table-wrap {
        overflow: visible;
    }

    .service-health-list table {
        display: block;
        min-width: 0;
    }

    .service-health-list thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .service-health-list tbody {
        display: grid;
        gap: 9px;
    }

    .service-health-list tbody tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 9px 12px;
        border: 1px solid var(--line);
        border-radius: 6px;
        background: #fff;
        padding: 10px;
    }

    .service-health-list tbody td {
        min-width: 0;
        border: 0;
        padding: 0;
    }

    .service-health-list tbody td:nth-child(1),
    .service-health-list tbody td:nth-child(2) {
        align-self: center;
    }

    .service-health-list tbody td:nth-child(2) {
        justify-self: end;
    }

    .service-health-list tbody td:nth-child(3),
    .service-health-list tbody td:nth-child(4) {
        grid-column: 1 / -1;
    }

    .service-health-list tbody td:nth-child(3) {
        color: var(--muted);
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

    .service-health-list tbody td:nth-child(4) {
        border-top: 1px solid var(--line);
        padding-top: 9px;
    }

    .service-health-list .row-actions {
        width: 100%;
    }
}

@media (max-width: 680px) {
    .layout.workspace-route-service .content,
    .layout.workspace-route-service .view,
    .service-workspace-panel,
    .service-boot-workspace,
    .service-boot-content,
    .service-boot-table-wrap {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .service-boot-header {
        gap: 8px;
        padding: 10px 11px 10px 12px;
    }

    .service-boot-header h3 {
        font-size: 14px;
    }

    .service-boot-content {
        gap: 10px;
        overflow-x: hidden;
        padding: 10px;
    }

    .service-boot-summary {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .service-boot-summary > div {
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
        padding: 7px 8px;
    }

    .service-boot-summary dt {
        font-size: 10px;
    }

    .service-boot-summary dd {
        font-size: 15px;
    }

    .service-boot-table-wrap {
        overflow: visible;
    }

    .service-boot-table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .service-boot-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .service-boot-table tbody {
        display: grid;
        gap: 9px;
    }

    .service-boot-table tbody tr {
        display: grid;
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 0 10px;
        border: 1px solid var(--line);
        border-radius: 6px;
        background: #fff;
        padding: 9px 10px;
    }

    .service-boot-table tbody td {
        display: grid;
        min-width: 0;
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 7px;
        align-items: start;
        border: 0;
        padding: 6px 0;
        overflow-wrap: anywhere;
    }

    .service-boot-table tbody td::before {
        color: var(--muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 800;
    }

    .service-boot-table tbody td:nth-child(1),
    .service-boot-table tbody td:nth-child(4),
    .service-boot-table tbody td:nth-child(5) {
        grid-column: 1 / -1;
    }

    .service-boot-table tbody td:nth-child(1) {
        border-bottom: 1px solid var(--line);
    }

    .service-boot-table tbody td:nth-child(2),
    .service-boot-table tbody td:nth-child(3) {
        grid-template-columns: minmax(0, 1fr);
    }

    .service-boot-table tbody td:nth-child(5) {
        border-top: 1px solid var(--line);
        padding-top: 9px;
    }

    .service-boot-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-boot-actions .small-btn {
        width: 100%;
        max-width: 100%;
    }

    .service-health-inspector {
        min-height: 360px;
    }

    .service-inspector-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .service-inspector-field:nth-last-child(2) {
        border-bottom: 1px solid var(--line);
    }

    .service-inspector-summary,
    .service-inspector-diagnostics,
    .service-inspector-diagnostics-state {
        padding: 12px;
    }

    .service-health-inspector-header {
        gap: 8px;
        padding-right: 10px;
        padding-left: 12px;
    }
}

.small-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    border-radius: 6px;
    padding: 0 10px;
    border: 1px solid var(--line);
    background: #fff;
    color: #263442;
    font-size: 12px;
    font-weight: 800;
}

.small-btn:hover {
    background: var(--surface-soft);
}

.small-btn.danger {
    background: #fff7f7;
    color: var(--red);
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 680px;
}

th,
td {
    border-bottom: 1px solid var(--line);
    padding: 11px 10px;
    text-align: left;
    vertical-align: middle;
    font-size: 13px;
}

th {
    color: #42505d;
    background: var(--surface-soft);
    font-weight: 800;
}

td {
    color: #243240;
}

tr:last-child td {
    border-bottom: 0;
}

.status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 999px;
    padding: 0 9px;
    background: #e8eef3;
    color: #465767;
    font-size: 12px;
    font-weight: 800;
}

.status.ok {
    background: #e5f7eb;
    color: var(--green-dark);
}

.status.warn {
    background: #fff2db;
    color: var(--amber);
}

.status.bad {
    background: #fff1f1;
    color: var(--red);
}

.empty {
    padding: 18px;
    border: 1px dashed var(--line);
    border-radius: 8px;
    color: var(--muted);
    background: var(--surface-soft);
}

.code-box {
    max-height: 360px;
    overflow: auto;
    margin: 0;
    padding: 14px;
    border-radius: 8px;
    background: #17212b;
    color: #dce9f2;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
    line-height: 1.6;
}

.split {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 18px;
}

.path-bar {
    display: flex;
    gap: 10px;
}

.path-bar input {
    flex: 1;
}

.notice {
    border-left: 4px solid var(--blue);
    padding: 12px 14px;
    background: #eef5ff;
    color: #28415f;
    border-radius: 6px;
    font-size: 13px;
}

.loading {
    color: var(--muted);
}

.hidden {
    display: none !important;
}

.file-workbench,
.terminal-workbench {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface);
}

.file-workbench {
    position: relative;
    --file-row-height: 46px;
    --file-row-padding: 7px;
}

.file-directory-tabbar {
    display: grid;
    min-width: 0;
    min-height: 39px;
    grid-template-columns: minmax(0, 1fr) 34px 34px;
    align-items: end;
    gap: 6px;
    overflow: hidden;
    border-bottom: 1px solid #cfd9e1;
    background: #eef2f5;
    padding: 6px 9px 0;
}

.file-directory-tabs {
    display: flex;
    min-width: 0;
    gap: 4px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

.file-directory-tab {
    display: grid;
    height: 32px;
    min-width: 132px;
    flex: 0 0 176px;
    grid-template-columns: minmax(0, 1fr) 28px;
    align-items: center;
    overflow: hidden;
    border: 1px solid #c6d1d9;
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
    background: #e3e9ee;
    color: #41515f;
}

.file-directory-tab.active {
    border-color: #aebdc8;
    background: #ffffff;
    color: #173f5d;
    box-shadow: inset 0 3px 0 var(--green);
}

.file-directory-tab.dragging {
    opacity: 0.5;
}

.file-directory-tab.drop-before {
    box-shadow: inset 3px 0 0 var(--green);
}

.file-directory-tab.drop-after {
    box-shadow: inset -3px 0 0 var(--green);
}

.file-directory-tab.active.drop-before {
    box-shadow: inset 0 3px 0 var(--green), inset 3px 0 0 var(--green);
}

.file-directory-tab.active.drop-after {
    box-shadow: inset 0 3px 0 var(--green), inset -3px 0 0 var(--green);
}

.file-directory-tab-main,
.file-directory-tab-close {
    height: 31px;
    min-width: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
}

.file-directory-tab-main {
    display: flex;
    align-items: center;
    gap: 7px;
    overflow: hidden;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    white-space: nowrap;
}

.file-directory-tab-main[draggable="true"] {
    cursor: grab;
}

.file-directory-tab.dragging .file-directory-tab-main {
    cursor: grabbing;
}

.file-directory-tab-main > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-directory-tab-main:hover,
.file-directory-tab-close:hover:not(:disabled) {
    background: rgb(56 93 119 / 8%);
}

.file-directory-tab-main:focus-visible,
.file-directory-tab-close:focus-visible,
.file-directory-tab-overview:focus-visible,
.file-directory-tab-new:focus-visible {
    position: relative;
    z-index: 2;
    outline: 2px solid #4388bd;
    outline-offset: -2px;
}

.file-directory-tab-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
    color: #c27b00;
}

.file-directory-tab-close {
    display: grid;
    place-items: center;
    padding: 0;
    color: #667785;
}

.file-directory-tab-close:disabled {
    opacity: 0.28;
}

.file-directory-tab-close-icon {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
}

.file-directory-tab-overview,
.file-directory-tab-new {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    margin-bottom: 0;
    border-color: #c6d1d9;
    border-bottom-color: #aebdc8;
    border-radius: 4px 4px 0 0;
    background: #f8fafb;
}

.file-directory-tab-overview[aria-expanded="true"] {
    border-color: #8fa8ba;
    background: #e2edf4;
    color: #245f87;
}

.file-directory-tab-overview-icon,
.file-directory-tab-new-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.file-terminal-toggle.active,
.file-terminal-toggle[aria-pressed="true"] {
    border-color: #5791ba;
    background: #e4f1f8;
    color: #245f87;
}

.file-workbench.file-terminal-open .file-workspace {
    height: calc(100vh - 241px - var(--file-terminal-height, 320px));
    min-height: 220px;
}

.file-workbench.file-terminal-open.has-clipboard .file-workspace {
    height: calc(100vh - 285px - var(--file-terminal-height, 320px));
    min-height: 220px;
}

.file-terminal-backdrop {
    display: none;
}

.file-terminal-drawer {
    position: relative;
    z-index: 8;
    display: grid;
    height: var(--file-terminal-height, 320px);
    min-width: 0;
    min-height: 0;
    grid-template-rows: 43px minmax(0, 1fr);
    overflow: hidden;
    border-top: 1px solid #34434f;
    background: #101820;
}

.file-terminal-resizer {
    position: absolute;
    z-index: 20;
    top: 0;
    right: 0;
    left: 0;
    height: 9px;
    border: 0;
    outline: none;
    cursor: row-resize;
    touch-action: none;
}

.file-terminal-resizer::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    background: #435462;
    content: "";
}

.file-terminal-resizer:hover::before,
.file-terminal-resizer:focus-visible::before,
.file-terminal-resizer.active::before {
    height: 3px;
    background: #5b9dde;
}

body.file-terminal-resizing,
body.file-terminal-resizing * {
    cursor: row-resize !important;
    user-select: none !important;
}

.file-terminal-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #2a3742;
    background: #17222c;
    padding: 5px 8px 4px 12px;
}

.file-terminal-identity,
.file-terminal-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
}

.file-terminal-identity > div {
    min-width: 0;
}

.file-terminal-identity strong,
.file-terminal-identity > div > span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-terminal-identity strong {
    color: #e5eef4;
    font-size: 12px;
}

.file-terminal-identity > div > span {
    max-width: min(42vw, 640px);
    margin-top: 1px;
    color: #8ea1ae;
    font: 9px/1.25 "SFMono-Regular", Consolas, monospace;
}

.file-terminal-title-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: #79e299;
}

.file-terminal-identity > .status {
    flex: 0 0 auto;
    font-size: 9px;
}

.file-terminal-actions {
    flex: 0 0 auto;
    gap: 4px;
}

.file-terminal-actions .icon-btn {
    width: 31px;
    min-width: 31px;
    height: 31px;
    min-height: 31px;
    border-color: #435462;
    background: #1d2a34;
    color: #dce7ee;
}

.file-terminal-actions .icon-btn:hover:not(:disabled) {
    background: #263641;
}

.file-terminal-content {
    display: grid;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.file-terminal-content > .terminal-interactive-workspace,
.file-terminal-content .terminal-console-pane {
    width: 100%;
    height: 100%;
    min-height: 0;
}

.file-terminal-content > .terminal-interactive-workspace,
.file-terminal-content > .terminal-interactive-workspace.terminal-utility-open {
    grid-template-columns: minmax(0, 1fr);
}

.file-terminal-content .terminal-session-utility,
.file-terminal-content .terminal-session-utility-panel,
.file-terminal-content .terminal-session-utility-backdrop {
    display: none !important;
}

.file-terminal-state {
    display: grid;
    min-width: 0;
    min-height: 0;
    place-content: center;
    justify-items: center;
    gap: 8px;
    color: #d6e4ed;
    padding: 24px;
    text-align: center;
}

.file-terminal-state-icon {
    width: 30px;
    height: 30px;
    color: #f6c177;
}

.file-terminal-state strong {
    font-size: 13px;
}

.file-terminal-state span:last-child {
    max-width: 560px;
    color: #91a4b1;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.file-workbench.file-density-compact {
    --file-row-height: 36px;
    --file-row-padding: 2px;
}

.workbench-toolbar,
.workbench-subtoolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    border-bottom: 1px solid var(--line);
    padding: 10px 12px;
}

.file-toolbar {
    container-name: file-navigation;
    container-type: inline-size;
}

.workbench-subtoolbar {
    min-height: 50px;
    background: var(--surface-soft);
}

.file-toolbar-stack {
    display: grid;
    min-width: 0;
}

.file-toolbar-stack > .workbench-subtoolbar,
.file-toolbar-stack > .file-selection-bar {
    grid-area: 1 / 1;
}

.file-selection-bar {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 1px solid #b9d6ec;
    background: #edf6fc;
    padding: 7px 12px;
}

.file-selection-bar,
.file-workbench.has-selection .workbench-subtoolbar {
    visibility: hidden;
    pointer-events: none;
}

.file-workbench.has-selection .file-selection-bar {
    visibility: visible;
    pointer-events: auto;
}

.file-selection-summary {
    display: flex;
    max-width: 100%;
    min-width: 0;
    align-items: baseline;
    gap: 10px;
}

.file-selection-summary strong {
    flex: 0 0 auto;
    color: #214f76;
    font-size: 13px;
    white-space: nowrap;
}

.file-selection-summary > span {
    min-width: 0;
    overflow: hidden;
    flex: 1;
    color: #5c7182;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-selection-actions,
.file-command-group {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
}

.file-command-group {
    flex: 0 0 auto;
    margin-left: auto;
}

.file-workbench.search-open .workbench-search,
.file-workbench.search-open .workbench-subtoolbar > .compact-toggle,
.file-workbench.recycle-open .workbench-search,
.file-workbench.recycle-open .workbench-subtoolbar > .compact-toggle {
    display: none;
}

[data-action="file-search-open"][aria-pressed="true"],
[data-action="file-recycle-open"][aria-pressed="true"] {
    border-color: #6da0c5;
    background: #e4f1f8;
    color: #245f87;
}

.file-recycle-command {
    position: relative;
}

.file-command-count {
    display: inline-flex;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #dce9f1;
    color: #315f7c;
    padding: 0 5px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}

.file-selection-actions {
    flex: 0 0 auto;
}

.file-selection-actions > [hidden] {
    display: none;
}

.file-menu-trigger {
    white-space: nowrap;
}

.file-menu-trigger[aria-expanded="true"] {
    border-color: #8ab4d4;
    background: #eaf4fb;
    color: #205b86;
}

.file-menu-caret {
    margin-left: 5px;
    color: #74818c;
    font-size: 10px;
}

.file-clipboard-bar {
    display: flex;
    min-width: 0;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #bdd3c4;
    background: #f1f8f3;
    padding: 6px 12px;
}

.file-clipboard-bar[data-file-clipboard-mode="MOVE"] {
    border-bottom-color: #e0cc9e;
    background: #fff8e9;
}

.file-clipboard-source {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    padding: 4px 6px;
    text-align: left;
}

.file-clipboard-source:hover,
.file-clipboard-source:focus-visible,
.file-clipboard-source[aria-expanded="true"] {
    background: rgb(34 116 67 / 9%);
}

.file-clipboard-bar[data-file-clipboard-mode="MOVE"] .file-clipboard-source:hover,
.file-clipboard-bar[data-file-clipboard-mode="MOVE"] .file-clipboard-source:focus-visible,
.file-clipboard-bar[data-file-clipboard-mode="MOVE"] .file-clipboard-source[aria-expanded="true"] {
    background: rgb(145 103 19 / 10%);
}

.file-clipboard-mode-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    color: #287443;
}

.file-clipboard-bar[data-file-clipboard-mode="MOVE"] .file-clipboard-mode-icon {
    color: #916713;
}

.file-clipboard-source strong {
    flex: 0 0 auto;
    color: #287443;
    font-size: 12px;
}

.file-clipboard-bar[data-file-clipboard-mode="MOVE"] .file-clipboard-source strong {
    color: #916713;
}

.file-clipboard-source span,
.file-clipboard-target {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-clipboard-source span {
    max-width: min(300px, 28vw);
    color: #263640;
    font-weight: 700;
}

.file-clipboard-target {
    min-width: 0;
    color: #62717b;
    font-size: 12px;
}

.toolbar-spacer {
    flex: 1;
}

.file-location-control {
    position: relative;
    display: grid;
    flex: 1;
    min-width: 180px;
    min-height: 36px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #fff;
}

.file-location-control.path-suggestions-open {
    z-index: 40;
    overflow: visible;
}

.file-location-control:focus-within {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(47, 117, 214, 0.1);
}

.file-breadcrumbs,
.file-path-editor {
    grid-area: 1 / 1;
}

.file-breadcrumbs {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    overflow-x: auto;
    padding: 2px 0 2px 5px;
    cursor: text;
    scrollbar-width: thin;
    white-space: nowrap;
}

.file-breadcrumb {
    min-height: 30px;
    border-radius: 4px;
    background: transparent;
    color: #2c5d92;
    padding: 0 6px;
    font-size: 13px;
    font-weight: 700;
}

.file-breadcrumb:hover {
    background: #edf4fb;
}

.file-breadcrumb[aria-current="page"] {
    background: #edf4fb;
    color: #174f7d;
    cursor: text;
}

.file-breadcrumb-root {
    display: inline-flex;
    min-width: 0;
    align-items: stretch;
    border-radius: 4px;
}

.file-breadcrumb-root .file-breadcrumb {
    border-radius: 4px 0 0 4px;
    padding-right: 3px;
}

.file-breadcrumb-menu-trigger {
    display: inline-flex;
    width: 24px;
    min-width: 24px;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 0 4px 4px 0;
    background: transparent;
    color: #54718a;
    padding: 0;
}

.file-breadcrumb-root:hover,
.file-breadcrumb-root:focus-within,
.file-breadcrumb-menu-trigger[aria-expanded="true"] {
    background: #edf4fb;
}

.file-breadcrumb-menu-icon {
    width: 13px;
    height: 13px;
}

.file-breadcrumb-separator {
    color: #99a6b2;
    font-size: 12px;
}

.file-path-edit-trigger {
    position: sticky;
    right: 0;
    display: inline-flex;
    min-width: 34px;
    min-height: 30px;
    flex: 1 0 34px;
    align-items: center;
    justify-content: flex-end;
    background: #fff;
    color: #627482;
    padding: 0 8px;
    cursor: text;
}

.file-path-edit-trigger:hover {
    color: #205b86;
}

.file-path-edit-trigger:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: -2px;
}

.file-path-edit-trigger .file-control-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.file-path-editor {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px 34px;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    align-items: stretch;
    gap: 0;
}

.file-path-editor[hidden],
.file-breadcrumbs[hidden] {
    display: none;
}

.file-toolbar > .icon-btn.active {
    border-color: #8ab4d4;
    background: #eaf4fb;
    color: #205b86;
}

.file-toolbar > .file-locations-toggle {
    width: auto;
    min-width: 36px;
    gap: 6px;
    padding: 0 9px;
}

.file-locations-toggle-label {
    font-size: 12px;
    font-weight: 700;
}

.file-toolbar > .file-navigation-labelled-command {
    width: 36px;
    min-width: 36px;
    gap: 0;
    padding: 0;
}

.file-navigation-command-label {
    display: none;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

@container file-navigation (min-width: 1120px) {
    .file-toolbar > .file-navigation-labelled-command {
        width: auto;
        gap: 6px;
        padding: 0 9px;
    }

    .file-navigation-command-label {
        display: inline;
    }
}

.file-toolbar > .file-favorite-toggle.active {
    border-color: #d6b66f;
    background: #fff8e5;
    color: #93640c;
}

.file-path-editor input,
.workbench-search input {
    min-width: 0;
    min-height: 36px;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #fff;
    color: var(--text);
    padding: 7px 10px;
    outline: none;
}

.file-path-editor input {
    width: 100%;
    min-height: 34px;
    border: 0;
    border-radius: 0;
    padding: 6px 10px;
}

.file-path-editor .icon-btn {
    width: 34px;
    min-width: 34px;
    min-height: 34px;
    border-width: 0 0 0 1px;
    border-radius: 0;
}

.file-path-editor .icon-btn:hover {
    background: var(--surface-soft);
}

.file-path-editor .file-path-submit {
    color: #205b86;
}

.file-path-editor input:focus,
.workbench-search input:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(47, 117, 214, 0.1);
}

.file-location-control .file-path-editor input:focus {
    box-shadow: none;
}

.path-suggestion-list {
    position: absolute;
    z-index: 80;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    max-height: min(300px, calc(100dvh - 132px));
    overflow: auto;
    border: 1px solid #b9c7d1;
    border-radius: 5px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(28, 47, 60, 0.18);
    padding: 4px;
}

.path-suggestion-list[hidden] {
    display: none;
}

.path-suggestion-option {
    display: grid;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #293b47;
    padding: 5px 8px;
    text-align: left;
}

.path-suggestion-option:hover,
.path-suggestion-option[aria-selected="true"] {
    background: #e8f2f8;
    color: #174f75;
}

.path-suggestion-icon {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
}

.path-suggestion-copy {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.path-suggestion-copy strong,
.path-suggestion-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.path-suggestion-copy strong {
    font-size: 12px;
}

.path-suggestion-copy span,
.path-suggestion-option small {
    color: #6e7e89;
    font-size: 10px;
}

.path-suggestion-copy span {
    font-family: "SFMono-Regular", Consolas, monospace;
}

.path-suggestion-option small {
    white-space: nowrap;
}

.workbench-search {
    display: flex;
    flex: 1 1 220px;
    align-items: center;
    width: auto;
    min-width: 160px;
    max-width: 320px;
    min-height: 36px;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #fff;
    color: var(--muted);
    padding-left: 0;
    overflow: hidden;
}

.workbench-search input {
    min-width: 0;
    flex: 1 1 auto;
    width: 100%;
    border: 0;
    box-shadow: none;
    padding-left: 10px;
    padding-right: 4px;
}

.workbench-search input:focus {
    box-shadow: none;
}

.workbench-search:focus-within {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(47, 117, 214, 0.1);
}

.file-filter-count {
    flex: 0 0 auto;
    border-radius: 3px;
    background: #edf2f5;
    color: #5d6d79;
    padding: 2px 5px;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    line-height: 18px;
    white-space: nowrap;
}

.file-filter-clear {
    display: inline-grid;
    width: 26px;
    min-width: 26px;
    height: 26px;
    min-height: 26px;
    flex: 0 0 26px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #657580;
    padding: 0;
    place-items: center;
}

.file-filter-clear:hover,
.file-filter-clear:focus-visible {
    background: #e7eef2;
    color: #243746;
}

.file-filter-clear:focus-visible {
    outline: 2px solid #4385bb;
    outline-offset: 1px;
}

.file-filter-clear-icon {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
}

.file-filter-search {
    display: inline-grid;
    width: 36px;
    min-width: 36px;
    min-height: 34px;
    align-self: stretch;
    flex: 0 0 36px;
    border: 0;
    border-left: 1px solid #2865a3;
    border-radius: 0 4px 4px 0;
    background: #2f75b5;
    color: #fff;
    padding: 0;
    place-items: center;
}

.file-filter-search:hover,
.file-filter-search:focus-visible {
    background: #225f98;
    color: #fff;
}

.file-filter-search:focus-visible {
    outline: 2px solid #173f65;
    outline-offset: -3px;
}

.file-filter-search-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
}

.file-filter-count[hidden],
.file-filter-clear[hidden] {
    display: none;
}

.compact-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    color: #42505d;
    font-size: 12px;
    white-space: nowrap;
}

.compact-toggle input {
    width: 16px;
    height: 16px;
    accent-color: var(--green);
}

.ssl-renewal-policy {
    position: relative;
    display: inline-flex;
    min-width: 100px;
    min-height: 30px;
    align-items: flex-start;
    gap: 7px;
    color: #42505d;
    cursor: pointer;
}

.ssl-renewal-policy-input {
    position: absolute;
    width: 36px;
    height: 22px;
    margin: 0;
    opacity: 0;
}

.ssl-renewal-policy-track {
    display: inline-flex;
    width: 36px;
    height: 20px;
    flex: 0 0 36px;
    align-items: center;
    border: 1px solid #9aa8b3;
    border-radius: 10px;
    background: #dfe6eb;
    padding: 2px;
    margin-top: 1px;
    transition: background-color 140ms ease, border-color 140ms ease;
}

.ssl-renewal-policy-track > span {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgb(23 33 43 / 28%);
    transform: translateX(0);
    transition: transform 140ms ease;
}

.ssl-renewal-policy-input:checked + .ssl-renewal-policy-track {
    border-color: var(--green-dark);
    background: var(--green);
}

.ssl-renewal-policy-input:checked + .ssl-renewal-policy-track > span {
    transform: translateX(16px);
}

.ssl-renewal-policy-input:focus-visible + .ssl-renewal-policy-track {
    outline: 2px solid #205e89;
    outline-offset: 2px;
}

.ssl-renewal-policy-input:disabled ~ * {
    cursor: not-allowed;
}

.ssl-renewal-policy-input:disabled + .ssl-renewal-policy-track {
    opacity: 0.62;
}

.ssl-renewal-policy[data-state="pending"] .ssl-renewal-policy-track,
.ssl-renewal-policy[data-state="pending"] .ssl-renewal-policy-label {
    opacity: 0.7;
}

.ssl-renewal-policy-label {
    max-width: 150px;
    overflow-wrap: anywhere;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.ssl-certificate-catalog-layout,
.ssl-certificate-catalog-layout > .panel,
.ssl-certificate-catalog-layout > .panel > .panel-body,
.ssl-certificate-inspector,
.ssl-certificate-inspector * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ssl-certificate-catalog-layout {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

.ssl-certificate-catalog-table-wrap {
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.ssl-certificate-catalog-table {
    width: 100%;
    min-width: 1040px;
    font-size: 11px;
}

.ssl-certificate-catalog-table th,
.ssl-certificate-catalog-table td {
    padding: 8px 9px;
    vertical-align: top;
}

.ssl-certificate-domain,
.ssl-certificate-expiry-cell {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ssl-certificate-domain {
    display: block;
    color: #1d4f36;
    font-size: 12px;
    line-height: 1.35;
}

.ssl-certificate-domain-meta,
.ssl-certificate-usage-cell small,
.ssl-certificate-deployment-cell small {
    display: block;
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.35;
}

.ssl-certificate-usage-count {
    display: block;
    color: #31434f;
    font-size: 11px;
}

.ssl-certificate-deployment-state {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 10px;
    font-weight: 800;
}

.ssl-certificate-deployment-state.ready {
    background: #e7f4eb;
    color: #17633b;
}

.ssl-certificate-deployment-state.blocked {
    background: #fff2dc;
    color: #80550f;
}

.ssl-certificate-deployment-state.unknown {
    background: #eef1f3;
    color: #52616b;
}

.ssl-certificate-catalog-actions {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.ssl-certificate-catalog-primary-actions {
    display: grid;
    min-width: 0;
    flex: 1 1 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
}

.ssl-certificate-catalog-primary-actions .small-btn {
    min-width: 0;
    min-height: 28px;
    justify-content: center;
    padding: 4px 7px;
    font-size: 10px;
    white-space: normal;
}

.ssl-certificate-catalog-primary-actions .small-btn:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.ssl-certificate-catalog-primary-actions .ssl-certificate-action-disabled-reason {
    grid-column: 1 / -1;
}

.ssl-certificate-catalog-actions [data-action="ssl-detail"][aria-pressed="true"] {
    border-color: #8dbba1;
    background: #eef7f1;
    color: #175b38;
}

.ssl-certificate-catalog-overflow {
    position: relative;
    flex: 0 0 auto;
}

.ssl-certificate-catalog-overflow > summary {
    width: 30px;
    min-width: 30px;
    min-height: 28px;
    list-style: none;
}

.ssl-certificate-catalog-overflow > summary::-webkit-details-marker {
    display: none;
}

.ssl-certificate-catalog-overflow > summary:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.ssl-certificate-catalog-overflow[open] > summary {
    border-color: #2f7651;
    background: #eaf5ee;
    color: #195f3b;
}

.ssl-certificate-catalog-overflow-icon {
    width: 16px;
    height: 16px;
}

.ssl-certificate-catalog-overflow-menu {
    display: grid;
    width: 170px;
    margin-top: 4px;
    border: 1px solid #cbd6dc;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 24px rgb(23 33 43 / 16%);
    padding: 4px;
}

.ssl-certificate-catalog-overflow-action {
    min-height: 34px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    padding: 6px 8px;
    color: #263442;
    font-size: 11px;
    font-weight: 750;
    text-align: left;
}

.ssl-certificate-catalog-overflow-action:hover,
.ssl-certificate-catalog-overflow-action:focus-visible {
    outline: 0;
    background: #eef7f1;
    color: #17643a;
}

.ssl-certificate-catalog-overflow-action.danger {
    color: var(--red);
}

.ssl-certificate-catalog-overflow-action:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.ssl-certificate-catalog-overflow-menu .ssl-certificate-action-disabled-reason {
    display: block;
    max-width: none;
    padding: 0 8px 6px;
}

.ssl-activation-status-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    align-items: start;
}

.ssl-activation-status-actions .ssl-certificate-action-disabled-reason {
    grid-column: 1 / -1;
    max-width: 320px;
}

.ssl-remote-deployment-result {
    display: grid;
    gap: 2px;
    margin-top: 7px;
    border-left: 3px solid #b27a20;
    background: #fff8e8;
    padding: 7px 8px;
    color: #70501b;
    font-size: 10px;
    line-height: 1.4;
}

.ssl-remote-deployment-result[hidden] {
    display: none;
}

.ssl-remote-deployment-result[data-state="loading"] {
    border-left-color: #4b7a9a;
    background: #eef6fb;
    color: #315c78;
}

.ssl-remote-deployment-result[data-state="error"],
.ssl-remote-deployment-result[data-tone="bad"] {
    border-left-color: var(--red);
    background: #fff0f0;
    color: #842727;
}

.ssl-remote-deployment-result[data-tone="ok"] {
    border-left-color: var(--green-dark);
    background: #eaf6ee;
    color: #1d603b;
}

.ssl-remote-deployment-result strong,
.ssl-remote-deployment-result span {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (min-width: 901px) {
    .ssl-certificate-domain-heading,
    .ssl-certificate-domain-cell,
    .ssl-certificate-actions-heading,
    .ssl-certificate-actions-cell {
        position: sticky;
        z-index: 1;
        background: #fff;
    }

    .ssl-certificate-domain-heading,
    .ssl-certificate-domain-cell {
        left: 0;
        width: 180px;
        min-width: 180px;
        max-width: 180px;
    }

    .ssl-certificate-actions-heading,
    .ssl-certificate-actions-cell {
        right: 0;
        width: 360px;
        min-width: 360px;
        max-width: 360px;
        box-shadow: -1px 0 0 var(--line);
    }

    .ssl-certificate-domain-heading,
    .ssl-certificate-actions-heading {
        z-index: 2;
        background: var(--surface-soft);
    }
}

.ssl-certificate-inspector {
    position: static;
    min-height: 420px;
    scroll-margin-top: 126px;
    overflow: hidden;
    border-top: 1px solid var(--line);
    background: #f7f9fa;
}

.ssl-certificate-inspector[hidden] {
    display: none;
}

.ssl-certificate-inspector-header {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 10px 12px 10px 14px;
}

.ssl-certificate-inspector-header > div,
.ssl-certificate-inspector-identity > div {
    min-width: 0;
}

.ssl-certificate-inspector-header span,
.ssl-certificate-inspector-identity > div > span {
    display: block;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ssl-certificate-inspector-header h4,
.ssl-certificate-inspector-identity h5,
.ssl-certificate-inspector-section h5 {
    margin: 2px 0 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.35;
}

.ssl-certificate-inspector-header h4:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.ssl-certificate-inspector-close-icon {
    width: 17px;
    height: 17px;
}

.ssl-certificate-inspector-content {
    display: grid;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.ssl-certificate-inspector-summary,
.ssl-certificate-inspector-section {
    padding: 14px;
}

.ssl-certificate-inspector-summary {
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.ssl-certificate-inspector-section {
    display: grid;
    gap: 9px;
}

.ssl-certificate-inspector-section + .ssl-certificate-inspector-section {
    border-top: 1px solid var(--line);
}

.ssl-certificate-inspector-section > h5 {
    margin: 0;
    color: #31434f;
}

.ssl-certificate-inspector-identity {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.ssl-certificate-inspector-identity > .status {
    flex: 0 0 auto;
}

.ssl-certificate-inspector-request-state {
    display: grid;
    gap: 2px;
    margin-top: 10px;
    border-left: 3px solid #a6b1b8;
    padding: 7px 9px;
    color: #52636e;
    font-size: 11px;
    line-height: 1.45;
}

.ssl-certificate-inspector-request-state strong,
.ssl-certificate-inspector-request-state span {
    overflow-wrap: anywhere;
}

.ssl-certificate-inspector-request-state.stale {
    border-left-color: #bd8326;
    background: #fff8e8;
    color: #765017;
}

.ssl-certificate-inspector-request-state.error {
    border-left-color: var(--red);
    background: #fff1f1;
    color: #842727;
}

.ssl-certificate-inspector-request-state.ready {
    border-left-color: var(--green-dark);
    background: #edf7f0;
    color: #23603d;
}

.ssl-certificate-inspector-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 10px;
}

.ssl-certificate-inspector-action {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 4px;
}

.ssl-certificate-inspector-action .ssl-certificate-action-disabled-reason {
    max-width: none;
}

.ssl-certificate-inspector-actions button {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    justify-content: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

.ssl-certificate-inspector-actions button[data-action-state="loading"] {
    cursor: progress;
    opacity: 0.72;
}

.ssl-certificate-inspector-actions button[data-action-state="success"] {
    border-color: #2d7a4e;
}

.ssl-certificate-inspector-actions button[data-action-state="error"] {
    border-color: var(--red);
}

.ssl-certificate-inspector-action-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.ssl-certificate-inspector-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--line);
}

.ssl-certificate-inspector-field {
    display: grid;
    min-height: 58px;
    align-content: start;
    gap: 4px;
    background: #fff;
    padding: 9px 10px;
}

.ssl-certificate-inspector-field-wide {
    grid-column: 1 / -1;
}

.ssl-certificate-inspector-field dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.ssl-certificate-inspector-field dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
    color: #263744;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
}

.ssl-certificate-inspector-empty {
    display: grid;
    min-height: 260px;
    place-items: center;
    margin: 14px;
    border: 1px dashed var(--line);
    border-radius: 6px;
    background: #fff;
    padding: 12px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

.ssl-certificate-inspector-advanced {
    border-top: 1px solid var(--line);
    padding: 12px 14px 14px;
}

.ssl-certificate-inspector-advanced > summary {
    min-height: 34px;
    cursor: pointer;
    color: #40525e;
    font-size: 12px;
    font-weight: 800;
}

@media (min-width: 1180px) {
    .ssl-certificate-catalog-layout.inspector-open {
        grid-template-columns: minmax(0, 1.7fr) minmax(340px, 0.75fr);
    }

    .ssl-certificate-catalog-layout.inspector-open .ssl-certificate-catalog-table {
        min-width: 760px;
    }

    .ssl-certificate-catalog-layout.inspector-open :is(
        .ssl-certificate-renewal-heading,
        .ssl-certificate-renewal-cell,
        .ssl-certificate-usage-heading,
        .ssl-certificate-usage-cell,
        .ssl-certificate-deployment-heading,
        .ssl-certificate-deployment-cell
    ) {
        display: none;
    }

    .ssl-certificate-catalog-layout.inspector-open :is(
        .ssl-certificate-domain-heading,
        .ssl-certificate-domain-cell
    ) {
        width: 150px;
        min-width: 150px;
        max-width: 150px;
    }

    .ssl-certificate-catalog-layout.inspector-open :is(
        .ssl-certificate-actions-heading,
        .ssl-certificate-actions-cell
    ) {
        width: 300px;
        min-width: 300px;
        max-width: 300px;
    }

    .ssl-certificate-inspector {
        position: sticky;
        top: 126px;
        max-height: calc(100vh - 150px);
        border-top: 0;
        border-left: 1px solid var(--line);
    }

    .ssl-certificate-inspector-content {
        max-height: calc(100vh - 209px);
    }
}

@media (max-width: 900px) {
    .layout.workspace-route-ssl .ssl-certificate-catalog-table-wrap {
        overflow: visible;
    }

    .ssl-certificate-catalog-table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .ssl-certificate-catalog-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .ssl-certificate-catalog-table tbody {
        display: grid;
        gap: 8px;
    }

    .ssl-certificate-catalog-table .ssl-certificate-card {
        display: grid;
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border: 1px solid var(--line);
        border-radius: 6px;
        background: #fff;
        padding: 7px;
    }

    .ssl-certificate-catalog-table .ssl-certificate-card > td {
        display: block;
        position: static;
        width: auto;
        min-width: 0;
        max-width: 100%;
        border: 0;
        box-shadow: none;
        padding: 6px;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .ssl-certificate-catalog-table .ssl-certificate-card > td::before {
        display: block;
        margin-bottom: 3px;
        color: var(--muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.2;
    }

    .ssl-certificate-domain-cell,
    .ssl-certificate-actions-cell {
        grid-column: 1 / -1;
    }

    .ssl-certificate-domain {
        font-size: 14px;
    }

    .ssl-certificate-actions-cell {
        margin-top: 2px;
        border-top: 1px solid #e3e9ec !important;
        padding-top: 9px !important;
    }

    .ssl-certificate-catalog-actions {
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 40px;
        gap: 6px;
    }

    .ssl-certificate-catalog-primary-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .ssl-certificate-catalog-primary-actions .small-btn {
        min-width: 0;
        min-height: 40px;
        justify-content: center;
        white-space: normal;
    }

    .ssl-certificate-catalog-overflow > summary {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    .ssl-certificate-catalog-overflow-menu {
        position: fixed;
        z-index: 20;
        inset: auto 8px 8px auto;
        width: min(240px, calc(100vw - 16px));
        max-height: calc(100dvh - 16px);
        margin-top: 0;
        overflow-y: auto;
    }

    .ssl-certificate-catalog-overflow-action {
        min-height: 40px;
    }

    .ssl-certificate-inspector {
        scroll-margin-top: 112px;
    }
}

@media (max-width: 560px) {
    .ssl-certificate-catalog-table .ssl-certificate-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .ssl-certificate-domain-cell,
    .ssl-certificate-actions-cell {
        grid-column: auto;
    }

    .ssl-certificate-inspector-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ssl-certificate-inspector-field-wide {
        grid-column: 1 / -1;
    }

    .ssl-certificate-inspector-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ssl-certificate-inspector-action:last-child {
        grid-column: 1 / -1;
    }

    .ssl-certificate-actions-cell {
        grid-column: 1 / -1;
    }
}

/* Website workspace refinements: daily actions, dense scanning, and recovery states. */
.website-sites-toolbar {
    min-height: 50px;
    background: #ffffff;
}

.website-sites-summary > span.attention strong {
    color: #a34d19;
}

.website-sites-primary-actions {
    justify-content: flex-end;
}

.website-catalog-refresh-status {
    max-width: 190px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
    text-align: right;
    overflow-wrap: anywhere;
}

.website-catalog-refresh-status:empty {
    display: none;
}

.website-catalog-refresh {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
}

.website-catalog-refresh[aria-busy="true"] .website-command-icon {
    animation: website-catalog-refresh-spin 800ms linear infinite;
}

@keyframes website-catalog-refresh-spin {
    to { transform: rotate(360deg); }
}

.website-catalog-filters {
    grid-template-columns: minmax(240px, 1fr) minmax(120px, 160px) auto auto;
}

.website-catalog-filter-actions {
    justify-content: flex-end;
}

.website-sites-table-panel th,
.website-sites-table-panel td {
    padding-top: 8px;
    padding-bottom: 8px;
}

.website-domain-manage {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    padding: 2px 3px 2px 0;
    color: #172d21;
    text-align: left;
}

.website-domain-manage:hover,
.website-domain-manage:focus-visible {
    background: #edf6f1;
    color: #155d37;
}

.website-domain-manage:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 1px;
}

.website-domain-manage strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-domain-manage-icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.website-create-quick-form.was-validated input:invalid,
.website-create-quick-form.was-validated select:invalid,
.website-create-quick-form [aria-invalid="true"] {
    border-color: var(--red);
    background: #fffafa;
}

.website-create-quick-form[aria-busy="true"] {
    cursor: progress;
}

.website-load-error {
    display: grid;
    min-height: 260px;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border: 1px solid #dfc08c;
    border-left: 4px solid #b36a19;
    background: #fffaf0;
    padding: 24px;
}

.website-load-error-icon {
    width: 28px;
    height: 28px;
    color: #9a5d18;
}

.website-load-error > div {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.website-load-error strong {
    color: #523a16;
    font-size: 15px;
}

.website-load-error span {
    color: #765b31;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

@media (max-width: 980px) {
    .website-catalog-filters {
        grid-template-columns: minmax(200px, 1fr) minmax(120px, 160px) auto;
    }

    .website-catalog-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .website-sites-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
        padding: 7px;
    }

    .website-sites-summary {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .website-sites-summary > span,
    .website-sites-summary > span:first-child {
        min-width: 0;
        justify-content: center;
        padding: 3px 4px;
        text-align: center;
        white-space: normal;
    }

    .website-sites-primary-actions {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        width: 100%;
    }

    .website-sites-primary-actions .website-create-primary,
    .website-sites-primary-actions > .status {
        width: 100%;
        justify-content: center;
    }

    .website-catalog-refresh-status {
        grid-column: 1 / -1;
        grid-row: 2;
        max-width: none;
        text-align: left;
    }

    .website-catalog-filters {
        grid-template-columns: minmax(0, 1fr) minmax(104px, 0.42fr);
    }

    .website-catalog-more-filters,
    .website-catalog-filter-actions {
        grid-column: 1 / -1;
    }

    .website-catalog-filter-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-catalog-filter-actions button {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .website-domain-manage {
        min-height: 34px;
    }

    .website-load-error {
        min-height: 220px;
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
        padding: 18px;
    }

    .website-load-error button {
        width: 100%;
        justify-content: center;
    }
}

/* Website console: daily management stays dense; maintenance remains secondary. */
.layout.workspace-route-website .view {
    gap: 10px;
}

.website-daily-navigation {
    overflow: visible;
    box-shadow: none;
}

.website-daily-tab {
    flex: 0 0 auto;
}

.website-daily-tab button {
    min-width: 104px;
}

.website-advanced-maintenance {
    position: relative;
    margin-left: auto;
}

.website-advanced-maintenance > summary,
.website-catalog-more-filters > summary {
    display: flex;
    min-width: max-content;
    min-height: 34px;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    list-style: none;
    color: #52636e;
    font-size: 12px;
    font-weight: 700;
}

.website-advanced-maintenance > summary {
    padding: 0 10px;
}

.website-advanced-maintenance > summary::-webkit-details-marker,
.website-catalog-more-filters > summary::-webkit-details-marker {
    display: none;
}

.website-advanced-maintenance > summary:hover,
.website-advanced-maintenance > summary:focus-visible,
.website-catalog-more-filters > summary:hover,
.website-catalog-more-filters > summary:focus-visible {
    color: #195f3b;
}

.website-advanced-maintenance > summary:focus-visible,
.website-catalog-more-filters > summary:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.website-advanced-tabs {
    position: absolute;
    z-index: 12;
    top: calc(100% + 6px);
    right: 0;
    display: flex;
    min-width: 420px;
    overflow: hidden;
    border: 1px solid #b9c7bf;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(25, 43, 34, 0.16);
}

.website-advanced-tabs button {
    min-height: 42px;
    flex: 1 1 0;
    border: 0;
    border-right: 1px solid var(--line);
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: #fff;
    padding: 0 12px;
    color: #536571;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.website-advanced-tabs button:last-child {
    border-right: 0;
}

.website-advanced-tabs button[aria-selected="true"] {
    border-bottom-color: var(--green-dark);
    background: #eef7f1;
    color: #16643a;
}

.website-workspace-status {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

.website-sites-table-panel {
    display: grid;
    gap: 0;
}

.website-catalog-filters {
    grid-template-columns: minmax(240px, 1fr) minmax(120px, 160px) auto auto;
    border-bottom: 0;
    background: #fff;
    padding: 8px 10px;
}

.website-catalog-more-filters {
    position: relative;
    align-self: end;
}

.website-catalog-more-filters > summary {
    min-height: 34px;
    justify-content: center;
    border: 1px solid #bdc9c3;
    border-radius: 4px;
    background: #fff;
    padding: 5px 10px;
}

.website-catalog-more-filters > div {
    position: absolute;
    z-index: 10;
    top: calc(100% + 5px);
    right: 0;
    display: grid;
    width: min(520px, calc(100vw - 48px));
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    border: 1px solid #b9c7bf;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(25, 43, 34, 0.14);
    padding: 10px;
}

.website-catalog-filter-actions {
    flex-wrap: nowrap;
}

.website-catalog-filter-actions .website-create-primary {
    margin-left: 4px;
}

.website-sites-table-panel > .panel {
    border-radius: 0;
    box-shadow: none;
}

.website-sites-table-panel > .panel .panel-header {
    min-height: 44px;
    padding: 9px 12px;
}

.website-sites-table-panel > .panel .panel-header h3 {
    font-size: 14px;
}

.website-sites-table-panel > .panel .panel-body {
    padding: 0;
}

.website-sites-table-panel table {
    min-width: 980px;
}

.website-sites-table-panel th,
.website-sites-table-panel td {
    padding-top: 9px;
    padding-bottom: 9px;
}

.website-site-status-stack {
    display: flex;
    min-width: 174px;
    flex-wrap: wrap;
    gap: 4px;
}

.website-site-status-stack .status {
    white-space: nowrap;
}

.website-row-actions-desktop {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
}

.website-row-actions-desktop .small-btn {
    min-width: 64px;
    min-height: 32px;
    justify-content: center;
    gap: 5px;
    padding-right: 7px;
    padding-left: 7px;
    white-space: nowrap;
}

.website-row-menu-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.website-row-menu-group {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 2px;
}

.website-row-menu-group > strong {
    padding: 5px 9px 3px;
    color: #7a8981;
    font-size: 10px;
}

.website-row-menu-group:last-child {
    grid-column: 1 / -1;
    border-top: 1px solid var(--line);
    padding-top: 4px;
}

.website-row-menu-group:last-child button {
    max-width: calc(50% - 4px);
}

.website-catalog-pagination {
    min-height: 42px;
    border: 1px solid var(--line);
    border-top: 0;
    background: #fff;
    padding: 5px 9px;
}

.website-advanced-output {
    margin-top: 4px;
}

.website-detail-dialog {
    width: min(1180px, calc(100vw - 32px));
    max-height: calc(100dvh - 24px);
}

.website-detail-content {
    display: grid;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
}

.website-detail-workspace {
    height: auto;
    min-height: 0;
    grid-template-columns: 190px minmax(0, 1fr);
}

.website-detail-tabs {
    position: sticky;
    top: 0;
    overflow-y: auto;
}

.website-detail-panels {
    min-height: 0;
    overflow-y: auto;
}

.website-create-quick-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.website-setup-flow {
    margin-bottom: 14px;
}

.website-setup-flow-detail {
    margin-bottom: 0;
}

.website-setup-card {
    display: grid;
    gap: 14px;
    border: 1px solid #b8d8c3;
    border-left: 4px solid var(--green);
    border-radius: 6px;
    background: #fff;
    padding: 16px 18px;
    box-shadow: 0 8px 24px rgba(26, 56, 43, 0.07);
}

.website-setup-flow-detail .website-setup-card {
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.website-setup-header,
.website-setup-actions,
.website-setup-status,
.website-setup-reachability {
    display: flex;
    align-items: center;
}

.website-setup-header {
    justify-content: space-between;
    gap: 16px;
}

.website-setup-header > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.website-setup-header span {
    color: var(--muted);
    font-size: 11px;
}

.website-setup-header h3 {
    margin: 0;
    overflow-wrap: anywhere;
    color: #213641;
    font-size: 18px;
}

.website-setup-progress {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
}

.website-setup-flow-detail .website-setup-progress {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.website-setup-flow-detail .website-setup-progress.rollback {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.website-setup-operation-switcher {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
    border: 1px solid #d9e1dd;
    border-radius: 5px;
    background: #f1f5f3;
    padding: 3px;
}

.website-setup-operation-switcher button {
    min-width: 0;
    min-height: 36px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    padding: 7px 10px;
    color: #52636e;
    font-size: 12px;
    font-weight: 750;
}

.website-setup-operation-switcher button[aria-pressed="true"] {
    background: #fff;
    color: #155d37;
    box-shadow: 0 1px 2px rgba(27, 55, 41, 0.14);
}

.website-setup-operation-switcher button:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: -2px;
}

.website-setup-operation-switcher button:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

.website-setup-progress li {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    color: var(--muted);
}

.website-setup-progress li:not(:last-child)::after {
    position: absolute;
    z-index: 0;
    top: 15px;
    right: 8px;
    left: 38px;
    height: 2px;
    background: var(--line);
    content: "";
}

.website-setup-progress li > span,
.website-setup-progress li > strong {
    position: relative;
    z-index: 1;
}

.website-setup-progress li > span {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border: 1px solid #b9c8d0;
    border-radius: 50%;
    background: #fff;
    font-size: 12px;
}

.website-setup-progress li > strong {
    max-width: calc(100% - 46px);
    background: #fff;
    padding-right: 8px;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.website-setup-progress li[data-state="current"] {
    color: #9b6400;
}

.website-setup-progress li[data-state="current"] > span {
    border-color: #d39a31;
    background: #fff5df;
}

.website-setup-progress li[data-state="complete"] {
    color: #187a3f;
}

.website-setup-progress li[data-state="complete"] > span {
    border-color: #38a765;
    background: #eaf8ef;
}

.website-setup-progress li[data-state="complete"]::after {
    background: #75c692;
}

.website-setup-status,
.website-setup-reachability {
    min-width: 0;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid #e0e8ec;
    border-radius: 4px;
    background: #f7fafb;
    padding: 10px 12px;
}

.website-setup-status span,
.website-setup-reachability span {
    min-width: 0;
    color: #526773;
    font-size: 12px;
    text-align: right;
}

.website-setup-status.ok,
.website-setup-reachability.ok {
    border-color: #b9dfc6;
    background: #eff9f2;
}

.website-setup-status.warn,
.website-setup-reachability.warn {
    border-color: #ecd39d;
    background: #fff8e9;
}

.website-setup-status.bad,
.website-setup-reachability.bad {
    border-color: #efc4c4;
    background: #fff3f3;
}

.website-setup-facts {
    display: grid;
    margin: 0;
    overflow: hidden;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--line);
    border-radius: 4px;
}

.website-setup-facts > div {
    display: grid;
    min-width: 0;
    gap: 3px;
    border-bottom: 1px solid var(--line);
    padding: 9px 11px;
}

.website-setup-facts > div:nth-child(odd) {
    border-right: 1px solid var(--line);
}

.website-setup-facts > div:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.website-setup-facts dt {
    color: var(--muted);
    font-size: 11px;
}

.website-setup-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: #263d4a;
    font-size: 12px;
}

.website-setup-facts dd.ok {
    color: #187a3f;
}

.website-setup-facts dd.bad {
    color: var(--danger);
}

.website-setup-facts dd.warn {
    color: #9b6400;
}

.website-setup-rollback-selection {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(100px, 0.28fr) minmax(0, 1fr);
    align-items: center;
    gap: 8px 12px;
}

.website-setup-rollback-selection label {
    color: #40545f;
    font-size: 12px;
    font-weight: 750;
}

.website-setup-rollback-selection select {
    width: 100%;
    min-width: 0;
    min-height: 38px;
}

.website-setup-apply {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(180px, 0.75fr) minmax(220px, 1fr) auto;
    align-items: end;
    gap: 10px;
}

.website-setup-apply .field {
    min-width: 0;
}

.website-setup-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.website-setup-actions button,
.website-setup-apply button {
    min-height: 38px;
    white-space: nowrap;
}

.website-nginx-advanced-tools {
    min-width: 0;
    border-top: 1px solid var(--line);
    padding-top: 4px;
}

.website-nginx-advanced-tools > summary {
    display: flex;
    width: max-content;
    max-width: 100%;
    min-height: 36px;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    list-style: none;
    color: #52636e;
    font-size: 12px;
    font-weight: 700;
}

.website-nginx-advanced-tools > summary::-webkit-details-marker {
    display: none;
}

.website-nginx-advanced-tools > summary:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 2px;
}

.website-nginx-advanced-tools > summary .file-command-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
}

.website-nginx-advanced-tools-body {
    display: grid;
    min-width: 0;
    gap: 10px;
    border-left: 3px solid #8797a1;
    background: #f7f9fa;
    padding: 10px 11px 12px;
}

.website-nginx-advanced-tools-body > p {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.website-nginx-advanced-tools .website-detail-preview {
    max-width: 100%;
    background: #fff;
    overflow: hidden;
}

.website-create-quick-heading {
    display: grid;
    gap: 2px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 9px;
}

.website-create-quick-heading strong {
    color: #263d4a;
    font-size: 14px;
}

.website-create-quick-heading span {
    color: var(--muted);
    font-size: 11px;
}

.website-create-quick-fields {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
}

.website-create-quick-fields .website-reverse-proxy-target-control,
.website-create-quick-fields .website-php-fpm-target-control {
    grid-column: 1 / -1;
}

.website-create-quick-actions {
    align-items: center;
    gap: 8px;
}

.website-create-quick-actions .website-create-blocker {
    min-width: 0;
    flex: 1 1 260px;
}

.website-create-quick-actions button {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 980px) {
    .website-catalog-filters {
        grid-template-columns: minmax(180px, 1fr) minmax(120px, 0.45fr) auto;
    }

    .website-catalog-filter-actions {
        grid-column: 1 / -1;
    }

    .website-detail-dialog {
        width: calc(100vw - 24px);
    }
}

@media (max-width: 680px) {
    .website-daily-navigation {
        position: static;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 42px;
    }

    .website-daily-tab button {
        min-width: 88px;
        min-height: 40px;
        padding: 0 10px;
    }

    .website-advanced-tabs {
        position: absolute;
        top: calc(100% + 4px);
        right: 0;
        width: min(360px, calc(100vw - 16px));
        min-width: 0;
        overflow-x: auto;
    }

    .website-advanced-tabs button {
        min-width: max-content;
        padding: 0 10px;
    }

    .website-catalog-filters {
        grid-template-columns: minmax(0, 1fr) minmax(104px, 0.45fr);
        gap: 6px;
    }

    .website-catalog-query {
        grid-column: 1;
    }

    .website-catalog-more-filters {
        grid-column: 1 / -1;
    }

    .website-catalog-more-filters > summary {
        justify-content: flex-start;
    }

    .website-catalog-more-filters > div {
        position: static;
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        margin-top: 6px;
        box-shadow: none;
    }

    .website-catalog-filter-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .website-catalog-filter-actions button {
        min-width: 0;
        justify-content: center;
        white-space: normal;
    }

    .website-sites-table-panel .table-wrap {
        overflow-x: visible;
    }

    .website-sites-table-panel table {
        min-width: 0;
    }

    .website-sites-table-panel tbody > tr {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1),
    .website-sites-table-panel tbody > tr > td:nth-child(2),
    .website-sites-table-panel tbody > tr > td:nth-child(4),
    .website-sites-table-panel tbody > tr > td:nth-child(5) {
        grid-column: 1 / -1;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1)::before { content: "域名"; }
    .website-sites-table-panel tbody > tr > td:nth-child(2)::before { content: "状态"; }
    .website-sites-table-panel tbody > tr > td:nth-child(3)::before { content: "类型"; }
    .website-sites-table-panel tbody > tr > td:nth-child(4)::before { content: "根目录"; }
    .website-sites-table-panel tbody > tr > td:nth-child(5)::before { content: "操作"; }

    .website-site-status-stack {
        min-width: 0;
    }

    .website-row-actions-desktop {
        display: flex;
        flex: 1 1 auto;
    }

    .website-row-actions-desktop .small-btn {
        min-width: 0;
        flex: 1 1 0;
        justify-content: center;
    }

    .website-row-menu-trigger {
        width: 38px;
        min-width: 38px;
    }

    .website-row-menu-trigger::after {
        content: none;
    }

    .website-row-menu-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-row-menu-group:last-child {
        grid-column: 1;
    }

    .website-row-menu-group:last-child button {
        max-width: 100%;
    }

    .website-detail-workspace {
        height: calc(100dvh - 158px);
        min-height: 0;
    }

    .website-detail-tabs {
        position: static;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .website-create-quick-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-setup-card {
        padding: 13px;
    }

    .website-setup-progress li {
        display: grid;
        justify-items: start;
        gap: 5px;
    }

    .website-setup-progress li:not(:last-child)::after {
        top: 15px;
        right: 4px;
        left: 34px;
    }

    .website-setup-progress li > strong {
        max-width: 100%;
        padding-right: 4px;
        font-size: 11px;
    }

    .website-setup-status,
    .website-setup-reachability {
        display: grid;
        gap: 4px;
    }

    .website-setup-status span,
    .website-setup-reachability span {
        text-align: left;
    }

    .website-setup-facts,
    .website-setup-apply {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-setup-rollback-selection {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }

    .website-setup-facts > div,
    .website-setup-facts > div:nth-child(odd),
    .website-setup-facts > div:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .website-setup-facts > div:last-child {
        border-bottom: 0;
    }

    .website-setup-actions,
    .website-setup-actions button,
    .website-setup-apply button {
        width: 100%;
    }

    .website-nginx-advanced-tools .website-detail-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-nginx-advanced-tools .website-detail-actions button {
        width: 100%;
        white-space: normal;
    }

    .website-create-quick-fields .website-reverse-proxy-target-control,
    .website-create-quick-fields .website-php-fpm-target-control {
        grid-column: 1;
    }

    .website-create-quick-actions {
        position: sticky;
        bottom: 0;
        display: grid;
        grid-template-columns: minmax(0, 0.6fr) minmax(0, 1fr);
        background: #fff;
        padding-bottom: 2px;
    }

    .website-create-quick-actions .website-create-blocker {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .website-create-quick-actions button {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }
}

@media (max-width: 390px) {
    .website-setup-operation-switcher button {
        padding-right: 6px;
        padding-left: 6px;
        white-space: normal;
    }

    .website-setup-progress li > span {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
    }

    .website-setup-progress li:not(:last-child)::after {
        top: 13px;
        left: 30px;
    }

    .website-setup-progress li > strong {
        font-size: 10px;
        line-height: 1.35;
    }

    .website-setup-progress.rollback li > strong {
        font-size: 9px;
        overflow-wrap: anywhere;
    }

    .website-nginx-advanced-tools .website-detail-actions {
        grid-template-columns: minmax(0, 1fr);
    }
}

.file-workspace {
    position: relative;
    display: grid;
    height: calc(100vh - 241px);
    min-height: 520px;
    grid-template-columns: minmax(0, 1fr);
}

.file-workbench.locations-open .file-workspace {
    grid-template-columns: var(--file-locations-width, 244px) minmax(0, 1fr);
}

.file-workbench.has-clipboard .file-workspace {
    height: calc(100vh - 285px);
    min-height: 430px;
}

@media (min-width: 981px) {
    .file-workbench.single-directory-tab .file-workspace {
        height: calc(100vh - 202px);
    }

    .file-workbench.single-directory-tab.has-clipboard .file-workspace {
        height: calc(100vh - 246px);
    }

    .file-workbench.single-directory-tab.file-terminal-open .file-workspace {
        height: calc(100vh - 202px - var(--file-terminal-height, 320px));
    }

    .file-workbench.single-directory-tab.file-terminal-open.has-clipboard .file-workspace {
        height: calc(100vh - 246px - var(--file-terminal-height, 320px));
    }
}

.file-workbench.inspector-open .file-workspace {
    grid-template-columns: minmax(420px, 1.7fr) var(--file-inspector-width, minmax(340px, 0.9fr));
}

.file-workbench.locations-open.inspector-open .file-workspace {
    grid-template-columns: var(--file-locations-width, 244px) minmax(420px, 1.7fr) var(--file-inspector-width, minmax(340px, 0.9fr));
}

.file-workbench.search-open.inspector-open .file-workspace {
    grid-template-columns: minmax(0, 1fr);
}

.file-workbench.recycle-open.inspector-open .file-workspace {
    grid-template-columns: minmax(0, 1fr);
}

.file-workbench.search-open.locations-open.inspector-open .file-workspace,
.file-workbench.recycle-open.locations-open.inspector-open .file-workspace {
    grid-template-columns: var(--file-locations-width, 244px) minmax(0, 1fr);
}

.file-workbench.search-open.inspector-open .file-inspector,
.file-workbench.recycle-open.inspector-open .file-inspector {
    display: none;
}

.file-locations-pane {
    display: none;
    position: relative;
    min-width: 0;
    min-height: 0;
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden;
    border-right: 1px solid var(--line);
    background: #f7f9fa;
}

.file-workbench.locations-open .file-locations-pane {
    display: grid;
}

.file-locations-content {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
}

.file-pane-resizer {
    position: absolute;
    z-index: 5;
    top: 0;
    bottom: 0;
    width: 10px;
    border-radius: 2px;
    cursor: col-resize;
    touch-action: none;
}

.file-pane-resizer-locations {
    right: 0;
}

.file-pane-resizer-inspector {
    left: 0;
}

.file-pane-resizer::before {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 4px;
    width: 2px;
    border-radius: 2px;
    background: #9eacb6;
    content: "";
    opacity: 0;
}

.file-pane-resizer:hover::before,
.file-pane-resizer:focus-visible::before,
.file-pane-resizer.active::before {
    background: #4385bb;
    opacity: 1;
}

.file-pane-resizer:focus-visible {
    outline: 2px solid #4385bb;
    outline-offset: -2px;
}

body.file-pane-resizing,
body.file-pane-resizing * {
    cursor: col-resize !important;
    user-select: none !important;
}

.file-locations-header {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
    padding: 6px 10px 6px 14px;
}

.file-locations-header strong {
    color: #2d3c47;
    font-size: 12px;
}

.file-locations-header-actions {
    display: flex;
    align-items: center;
    gap: 2px;
}

.file-locations-header-actions .icon-btn {
    width: 30px;
    min-width: 30px;
    height: 30px;
}

.file-locations-list {
    min-height: 0;
    overflow-y: auto;
    padding: 8px 0 14px;
}

.file-location-group + .file-location-group {
    margin-top: 12px;
    border-top: 1px solid #e3e8eb;
    padding-top: 10px;
}

.file-location-group h3 {
    margin: 0;
    padding: 3px 14px 6px;
    color: #75818a;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.file-location-group h3 span {
    color: #9aa4ab;
    font-weight: 700;
}

.file-location-empty {
    padding: 8px 14px 10px;
    color: #87929a;
    font-size: 11px;
}

.file-tree {
    min-width: 0;
}

.file-tree-node {
    min-width: 0;
}

.file-tree-row {
    display: grid;
    min-width: 0;
    min-height: 34px;
    grid-template-columns: 24px minmax(0, 1fr) 28px;
    align-items: center;
    padding: 1px 8px 1px calc(6px + var(--file-tree-indent, 0px));
}

.file-tree-row:hover {
    background: #edf3f6;
}

.file-tree-node.active > .file-tree-row {
    box-shadow: inset 3px 0 0 #34845a;
    background: #e8f3ed;
}

.file-tree-toggle {
    display: grid;
    width: 24px;
    height: 28px;
    place-items: center;
    border: 0;
    border-radius: 3px;
    background: transparent;
    padding: 0;
    color: #65747e;
    font-size: 17px;
    line-height: 1;
}

.file-tree-toggle:hover:not(:disabled) {
    background: #dfe8ed;
    color: #253640;
}

.file-tree-toggle:disabled {
    opacity: 0;
    cursor: default;
}

.file-entry-icon.file-tree-toggle-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.file-tree-open {
    display: flex;
    min-width: 0;
    min-height: 30px;
    align-items: center;
    gap: 7px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    padding: 3px 5px;
    color: #2d3b45;
    text-align: left;
}

.file-tree-open:focus-visible {
    outline: 2px solid #4d8a67;
    outline-offset: -2px;
    background: #e8f3ed;
}

.file-entry-icon.file-tree-folder {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    color: #a87316;
}

.file-tree-label {
    min-width: 0;
    overflow: hidden;
    font-size: 12px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-tree-node.active > .file-tree-row .file-tree-folder,
.file-tree-node.active > .file-tree-row .file-tree-label {
    color: #1e6540;
}

.file-tree-status {
    display: block;
    width: 100%;
    min-height: 26px;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 5px 10px 5px calc(34px + var(--file-tree-indent, 0px));
    color: #7c8891;
    font-size: 10px;
    line-height: 1.4;
    text-align: left;
}

.file-tree-status.retry {
    color: #a45238;
    cursor: pointer;
}

.file-tree-status.retry:hover {
    background: #fff0ea;
    color: #833b27;
}

.file-location-item {
    display: grid;
    width: 100%;
    min-height: 44px;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    border-radius: 0;
    background: transparent;
    padding: 5px 12px;
    text-align: left;
}

.file-location-item:hover {
    background: #edf3f6;
}

.file-location-item.active {
    box-shadow: inset 3px 0 0 #34845a;
    background: #e8f3ed;
    color: #1e6540;
}

.file-entry-icon.file-location-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    justify-self: center;
    color: #70808b;
}

.file-location-item.active .file-location-icon {
    color: #2e8156;
}

.file-location-copy {
    display: block;
    min-width: 0;
}

.file-location-copy strong,
.file-location-copy span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-location-copy strong {
    color: #2d3b45;
    font-size: 12px;
}

.file-location-copy span {
    margin-top: 2px;
    color: #7c8891;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 9px;
}

.file-location-item.active .file-location-copy strong {
    color: #1e6540;
}

.file-location-row {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 32px;
    align-items: center;
}

.file-location-row:hover {
    background: #edf3f6;
}

.file-location-row.active {
    box-shadow: inset 3px 0 0 #34845a;
    background: #e8f3ed;
}

.file-location-row .file-location-item {
    min-width: 0;
    padding-right: 4px;
}

.file-location-row .file-location-item:hover,
.file-location-row.active .file-location-item {
    box-shadow: none;
    background: transparent;
}

.file-favorite-row {
    grid-template-columns: minmax(0, 1fr) 32px 32px;
}

.file-favorite-row .file-location-icon {
    color: #a27218;
}

.file-location-more,
.file-favorite-remove {
    width: 28px;
    min-width: 28px;
    min-height: 28px;
    height: 28px;
    border-color: transparent;
    background: transparent;
    color: #74818a;
    opacity: 0;
}

.file-tree-row:hover .file-location-more,
.file-tree-row:focus-within .file-location-more,
.file-location-row:hover .file-location-more,
.file-location-row:focus-within .file-location-more,
.file-location-more[aria-expanded="true"],
.file-favorite-row:hover .file-favorite-remove,
.file-favorite-row:focus-within .file-favorite-remove {
    opacity: 1;
}

.file-location-more:hover {
    border-color: #cfd9df;
    background: #fff;
    color: #245d43;
}

.file-favorite-remove:hover {
    border-color: #d5dde2;
    background: #fff;
    color: #a34635;
}

@media (hover: none), (pointer: coarse) {
    .file-location-more,
    .file-favorite-remove {
        opacity: 1;
    }
}

.file-locations-pane.file-internal-drag-active .file-tree-open,
.file-locations-pane.file-internal-drag-active .file-location-item,
.file-toolbar.file-internal-drag-active .file-directory-drop-target {
    cursor: move;
}

.file-tree-open.file-drop-target-copy,
.file-location-item.file-drop-target-copy,
.file-directory-drop-target.file-drop-target-copy {
    --file-location-drop-accent: #3c8b5e;
    box-shadow: inset 0 0 0 2px var(--file-location-drop-accent);
    background: #e5f5ea;
    color: #1e6540;
    cursor: copy;
}

.file-tree-open.file-drop-target-move,
.file-location-item.file-drop-target-move,
.file-directory-drop-target.file-drop-target-move {
    --file-location-drop-accent: #b48220;
    box-shadow: inset 0 0 0 2px var(--file-location-drop-accent);
    background: #fff2d7;
    color: #6c4d0f;
    cursor: move;
}

.file-tree-open.file-drop-target-blocked,
.file-location-item.file-drop-target-blocked,
.file-directory-drop-target.file-drop-target-blocked {
    --file-location-drop-accent: #c95050;
    box-shadow: inset 0 0 0 2px var(--file-location-drop-accent);
    background: #fff0f0;
    color: #8f3030;
    cursor: not-allowed;
}

.file-tree-open.file-drop-expand-pending {
    outline: 1px dashed var(--file-location-drop-accent, #3c8b5e);
    outline-offset: -5px;
}

.file-tree-open.file-drop-target-copy .file-tree-folder,
.file-tree-open.file-drop-target-copy .file-tree-label,
.file-location-item.file-drop-target-copy .file-location-icon,
.file-location-item.file-drop-target-copy .file-location-copy strong,
.file-tree-open.file-drop-target-move .file-tree-folder,
.file-tree-open.file-drop-target-move .file-tree-label,
.file-location-item.file-drop-target-move .file-location-icon,
.file-location-item.file-drop-target-move .file-location-copy strong,
.file-tree-open.file-drop-target-blocked .file-tree-folder,
.file-tree-open.file-drop-target-blocked .file-tree-label,
.file-location-item.file-drop-target-blocked .file-location-icon,
.file-location-item.file-drop-target-blocked .file-location-copy strong,
.file-directory-drop-target.file-drop-target-copy,
.file-directory-drop-target.file-drop-target-move,
.file-directory-drop-target.file-drop-target-blocked {
    color: inherit;
}

.file-browser-pane {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 0;
    container-name: file-browser;
    container-type: inline-size;
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.file-browser-pane > .file-inline-create-bar {
    grid-row: 1;
    grid-column: 1;
}

.file-browser-pane > .file-table-wrap,
.file-browser-pane > .file-search-workspace,
.file-browser-pane > .file-recycle-workspace,
.file-browser-pane > .file-empty {
    grid-row: 2;
    grid-column: 1;
}

.file-browser-pane > .workbench-footer {
    grid-row: 3;
    grid-column: 1;
}

.file-browser-pane.file-search-open > .file-table-wrap,
.file-browser-pane.file-search-open > .file-empty {
    display: none;
}

.file-browser-pane.file-recycle-open > .file-table-wrap,
.file-browser-pane.file-recycle-open > .file-empty,
.file-browser-pane.file-recycle-open > .file-inline-create-bar,
.file-browser-pane.file-recycle-open > .workbench-footer {
    display: none;
}

.file-inline-create-bar[hidden] {
    display: none;
}

.file-inline-create-bar {
    min-width: 0;
    border-bottom: 1px solid #b9d6ec;
    background: #eef7fc;
    padding: 7px 12px;
}

.file-inline-create {
    display: grid;
    min-width: 0;
    grid-template-columns: 22px auto minmax(160px, 520px) 28px 28px;
    align-items: center;
    justify-content: start;
    gap: 6px;
}

.file-inline-create strong {
    color: #245776;
    font-size: 12px;
    white-space: nowrap;
}

.file-inline-create input {
    width: 100%;
    min-width: 0;
    height: 30px;
    border-color: #4385bb;
    border-radius: 4px;
    padding: 4px 7px;
    color: #183f62;
    font-weight: 700;
}

.file-inline-create input:focus {
    border-color: #2f76ad;
    box-shadow: 0 0 0 2px rgba(47, 118, 173, 0.16);
    outline: none;
}

.file-inline-create input:invalid {
    border-color: #c95050;
}

.file-inline-create .icon-btn {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    font-size: 15px;
}

.file-inline-create-confirm {
    border-color: #87b799;
    color: #266b40;
}

.file-inline-create-cancel {
    border-color: #c7d0d7;
    color: #61707c;
}

.file-drop-overlay {
    position: absolute;
    z-index: 4;
    inset: 12px;
    display: grid;
    align-content: center;
    justify-items: center;
    overflow: hidden;
    border: 2px dashed #3c8b5e;
    border-radius: 6px;
    background: rgba(247, 252, 249, 0.97);
    color: #205e3b;
    padding: 24px;
    pointer-events: none;
    text-align: center;
}

.file-drop-overlay[hidden] {
    display: none;
}

.file-drop-overlay strong {
    font-size: 16px;
}

.file-drop-overlay span {
    max-width: 100%;
    margin-top: 8px;
    overflow: hidden;
    color: #62766a;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-workbench.inspector-open .file-browser-pane {
    border-right: 1px solid var(--line);
}

.file-table-wrap {
    min-width: 0;
    min-height: 0;
    overflow: auto;
}

.file-table {
    min-width: 760px;
}

.file-table.file-columns-sized {
    min-width: 100%;
    table-layout: fixed;
}

@container file-browser (max-width: 920px) {
    .file-table [data-file-column="permission"] {
        display: none;
    }

    .file-table.file-columns-sized {
        width: 100% !important;
    }
}

@container file-browser (max-width: 760px) {
    .file-table {
        min-width: 600px;
    }

    .file-table [data-file-column="modified"] {
        display: none;
    }
}

.file-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    height: 42px;
    background: #f5f8fa;
}

.file-table .file-resizable-header {
    padding-right: 12px;
}

.file-table.file-columns-sized td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-table.file-columns-sized th {
    white-space: nowrap;
}

.file-resizable-header .file-sort-button {
    max-width: calc(100% - 2px);
    overflow: hidden;
}

.file-column-resizer {
    position: absolute;
    z-index: 3;
    top: 0;
    right: -5px;
    width: 10px;
    height: 100%;
    border-radius: 2px;
    cursor: col-resize;
    touch-action: none;
}

.file-column-resizer::before {
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 4px;
    width: 2px;
    border-radius: 2px;
    background: #aebbc5;
    content: "";
    opacity: 0;
}

.file-column-resizer:hover::before,
.file-column-resizer:focus-visible::before,
.file-column-resizer.active::before {
    background: #4385bb;
    opacity: 1;
}

.file-column-resizer:focus-visible {
    outline: 2px solid #4385bb;
    outline-offset: -2px;
}

body.file-column-resizing,
body.file-column-resizing * {
    cursor: col-resize !important;
    user-select: none !important;
}

.file-table td {
    height: var(--file-row-height);
    padding-top: var(--file-row-padding);
    padding-bottom: var(--file-row-padding);
}

.file-table tbody tr[data-file-row] {
    height: var(--file-row-height);
    cursor: default;
}

.file-table tbody tr[data-file-row][draggable="true"] {
    cursor: grab;
}

.file-table tbody tr[data-file-row][draggable="true"]:active {
    cursor: grabbing;
}

.file-table tbody tr[data-file-row]:hover {
    background: #f7fbf8;
}

.file-table tbody tr.selected,
.file-table tbody tr.selected:hover {
    background: #e8f3fb;
}

.file-table tbody tr.typeahead-match .file-entry-name span:last-child {
    text-decoration: underline;
    text-decoration-color: #2f76ad;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.file-table tbody tr.inline-renaming,
.file-table tbody tr.inline-renaming:hover {
    background: #e7f2fa;
}

.file-table tbody tr.clipboard-copy td:first-child {
    box-shadow: inset 3px 0 0 #45a865;
}

.file-table tbody tr.clipboard-move td:first-child {
    box-shadow: inset 3px 0 0 #c18a22;
}

.file-table tbody tr.clipboard-move .file-entry-name {
    opacity: 0.58;
}

.file-table tbody tr.file-drag-source {
    opacity: 0.58;
}

.file-table tbody tr.file-drop-target-copy,
.file-table tbody tr.file-drop-target-copy:hover {
    --file-drop-accent: #3c8b5e;
    background: #e5f5ea;
}

.file-table tbody tr.file-drop-target-move,
.file-table tbody tr.file-drop-target-move:hover {
    --file-drop-accent: #b48220;
    background: #fff2d7;
}

.file-table tbody tr.file-drop-target-blocked,
.file-table tbody tr.file-drop-target-blocked:hover {
    --file-drop-accent: #c95050;
    background: #fff0f0;
}

.file-table tbody tr.file-drop-target-copy td,
.file-table tbody tr.file-drop-target-move td,
.file-table tbody tr.file-drop-target-blocked td {
    box-shadow: inset 0 2px 0 var(--file-drop-accent), inset 0 -2px 0 var(--file-drop-accent);
}

.file-table tbody tr.file-drop-target-copy td:first-child,
.file-table tbody tr.file-drop-target-move td:first-child,
.file-table tbody tr.file-drop-target-blocked td:first-child {
    box-shadow: inset 2px 0 0 var(--file-drop-accent), inset 0 2px 0 var(--file-drop-accent), inset 0 -2px 0 var(--file-drop-accent);
}

.file-table tbody tr.file-drop-target-copy td:last-child,
.file-table tbody tr.file-drop-target-move td:last-child,
.file-table tbody tr.file-drop-target-blocked td:last-child {
    box-shadow: inset -2px 0 0 var(--file-drop-accent), inset 0 2px 0 var(--file-drop-accent), inset 0 -2px 0 var(--file-drop-accent);
}

.file-table tbody tr:focus {
    outline: none;
}

.file-table tbody tr:focus-visible {
    box-shadow: inset 0 0 0 2px #4385bb;
}

.file-table .file-virtual-spacer,
.file-table .file-virtual-spacer:hover {
    background: transparent;
    pointer-events: none;
}

.file-table .file-virtual-spacer td {
    border: 0;
    padding: 0;
}

.file-table .file-filter-empty td {
    height: 92px;
    color: var(--muted);
    text-align: center;
}

.file-select-cell {
    width: 42px;
    text-align: center;
}

.file-select-cell input {
    width: 16px;
    height: 16px;
    accent-color: var(--blue);
}

.file-sort-button {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 5px;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    padding: 0 4px;
    font: inherit;
    font-weight: 800;
}

.file-sort-button:hover,
.file-sort-button.active {
    background: #e7eef4;
    color: #244f75;
}

.file-sort-button span {
    display: inline-block;
    width: 10px;
}

.file-entry-name {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    gap: 8px;
    border-radius: 4px;
    background: transparent;
    color: #1d4f7d;
    padding: 4px 5px;
    font-weight: 700;
    text-align: left;
}

.file-entry-name span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-entry-name:hover {
    background: #edf4fb;
}

.file-name-cell {
    min-width: 0;
}

.file-entry-identity {
    min-width: 0;
}

.file-entry-mobile-meta {
    display: none;
}

.file-inline-rename {
    display: grid;
    width: min(100%, 620px);
    min-width: 0;
    grid-template-columns: 22px minmax(96px, 1fr) 28px 28px;
    align-items: center;
    gap: 6px;
}

.file-inline-rename input {
    width: 100%;
    min-width: 0;
    height: 30px;
    border-color: #4385bb;
    border-radius: 4px;
    padding: 4px 7px;
    color: #183f62;
    font-weight: 700;
}

.file-inline-rename input:focus {
    border-color: #2f76ad;
    box-shadow: 0 0 0 2px rgba(47, 118, 173, 0.16);
    outline: none;
}

.file-inline-rename input:invalid {
    border-color: #c95050;
}

.file-inline-rename .icon-btn {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    font-size: 15px;
}

.file-inline-rename-confirm {
    border-color: #87b799;
    color: #266b40;
}

.file-inline-rename-cancel {
    border-color: #c7d0d7;
    color: #61707c;
}

.file-entry-icon {
    --file-entry-icon: url("icons/lucide/file.svg");
    display: inline-block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background-color: currentColor;
    -webkit-mask-image: var(--file-entry-icon);
    mask-image: var(--file-entry-icon);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    vertical-align: middle;
}

.file-entry-icon-file {
    --file-entry-icon: url("icons/lucide/file.svg");
    color: #6c7d89;
}

.file-entry-icon-folder {
    --file-entry-icon: url("icons/lucide/folder.svg");
    color: #b27a15;
}

.file-entry-icon-folder-open {
    --file-entry-icon: url("icons/lucide/folder-open.svg");
    color: #b27a15;
}

.file-entry-icon-code {
    --file-entry-icon: url("icons/lucide/file-code.svg");
    color: #326f9f;
}

.file-entry-icon-image {
    --file-entry-icon: url("icons/lucide/file-image.svg");
    color: #2d7b70;
}

.file-entry-icon-archive {
    --file-entry-icon: url("icons/lucide/file-archive.svg");
    color: #a86424;
}

.file-entry-icon-json {
    --file-entry-icon: url("icons/lucide/file-json.svg");
    color: #92720f;
}

.file-entry-icon-text {
    --file-entry-icon: url("icons/lucide/file-text.svg");
    color: #647683;
}

.file-entry-icon-database {
    --file-entry-icon: url("icons/lucide/database.svg");
    color: #74588a;
}

.file-entry-icon-history {
    --file-entry-icon: url("icons/lucide/history.svg");
}

.file-entry-icon-chevron-down {
    --file-entry-icon: url("icons/lucide/chevron-down.svg");
}

.file-entry-icon-chevron-right {
    --file-entry-icon: url("icons/lucide/chevron-right.svg");
}

.file-entry-icon-check {
    --file-entry-icon: url("icons/lucide/check.svg");
}

.file-entry-icon-x {
    --file-entry-icon: url("icons/lucide/x.svg");
}

.file-entry-icon-ellipsis {
    --file-entry-icon: url("icons/lucide/ellipsis.svg");
}

.file-entry-icon-arrow-down {
    --file-entry-icon: url("icons/lucide/arrow-down.svg");
}

.file-entry-icon-arrow-left {
    --file-entry-icon: url("icons/lucide/arrow-left.svg");
}

.file-entry-icon-arrow-right {
    --file-entry-icon: url("icons/lucide/arrow-right.svg");
}

.file-entry-icon-arrow-up {
    --file-entry-icon: url("icons/lucide/arrow-up.svg");
}

.file-entry-icon-clipboard-paste {
    --file-entry-icon: url("icons/lucide/clipboard-paste.svg");
}

.file-entry-icon-copy {
    --file-entry-icon: url("icons/lucide/copy.svg");
}

.file-entry-icon-download {
    --file-entry-icon: url("icons/lucide/download.svg");
}

.file-entry-icon-external-link {
    --file-entry-icon: url("icons/lucide/external-link.svg");
}

.file-entry-icon-eye {
    --file-entry-icon: url("icons/lucide/eye.svg");
}

.file-entry-icon-file-plus {
    --file-entry-icon: url("icons/lucide/file-plus.svg");
}

.file-entry-icon-folder-plus {
    --file-entry-icon: url("icons/lucide/folder-plus.svg");
}

.file-entry-icon-info {
    --file-entry-icon: url("icons/lucide/info.svg");
}

.file-entry-icon-columns-2 {
    --file-entry-icon: url("icons/lucide/columns-2.svg");
}

.file-entry-icon-layout-grid {
    --file-entry-icon: url("icons/lucide/layout-grid.svg");
}

.file-entry-icon-list {
    --file-entry-icon: url("icons/lucide/list.svg");
}

.file-entry-icon-list-checks {
    --file-entry-icon: url("icons/lucide/list-checks.svg");
}

.file-entry-icon-list-ordered {
    --file-entry-icon: url("icons/lucide/list-ordered.svg");
}

.file-entry-icon-maximize-2 {
    --file-entry-icon: url("icons/lucide/maximize-2.svg");
}

.file-entry-icon-minimize-2 {
    --file-entry-icon: url("icons/lucide/minimize-2.svg");
}

.file-entry-icon-minus {
    --file-entry-icon: url("icons/lucide/minus.svg");
}

.file-entry-icon-move {
    --file-entry-icon: url("icons/lucide/move.svg");
}

.file-entry-icon-package-open {
    --file-entry-icon: url("icons/lucide/package-open.svg");
}

.file-entry-icon-panel-left {
    --file-entry-icon: url("icons/lucide/panel-left.svg");
}

.file-entry-icon-panel-left-close {
    --file-entry-icon: url("icons/lucide/panel-left-close.svg");
}

.file-entry-icon-pencil {
    --file-entry-icon: url("icons/lucide/pencil.svg");
}

.file-entry-icon-plus {
    --file-entry-icon: url("icons/lucide/plus.svg");
}

.file-entry-icon-power {
    --file-entry-icon: url("icons/lucide/power.svg");
}

.file-entry-icon-refresh-cw {
    --file-entry-icon: url("icons/lucide/refresh-cw.svg");
}

.file-entry-icon-rotate-ccw {
    --file-entry-icon: url("icons/lucide/rotate-ccw.svg");
}

.file-entry-icon-rotate-cw {
    --file-entry-icon: url("icons/lucide/rotate-cw.svg");
}

.file-entry-icon-scissors {
    --file-entry-icon: url("icons/lucide/scissors.svg");
}

.file-entry-icon-search {
    --file-entry-icon: url("icons/lucide/search.svg");
}

.file-entry-icon-settings {
    --file-entry-icon: url("icons/lucide/settings.svg");
}

.file-entry-icon-star {
    --file-entry-icon: url("icons/lucide/star.svg");
}

.file-entry-icon-shield-check {
    --file-entry-icon: url("icons/lucide/shield-check.svg");
}

.file-entry-icon-terminal {
    --file-entry-icon: url("icons/lucide/terminal.svg");
}

.file-entry-icon-trash-2 {
    --file-entry-icon: url("icons/lucide/trash-2.svg");
}

.file-entry-icon-upload {
    --file-entry-icon: url("icons/lucide/upload.svg");
}

.file-entry-icon-zoom-in {
    --file-entry-icon: url("icons/lucide/zoom-in.svg");
}

.file-entry-icon-zoom-out {
    --file-entry-icon: url("icons/lucide/zoom-out.svg");
}

.file-entry-glyph {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
}

.file-control-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.file-command-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    color: currentColor;
}

.file-command-icon.file-control-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.file-command-button,
.file-row-quick-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.file-command-label {
    min-width: 0;
}

.file-filter-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    color: #73828e;
}

.file-menu-caret-icon {
    width: 12px;
    height: 12px;
    flex-basis: 12px;
    margin-left: 1px;
    color: #74818c;
}

.file-sort-marker {
    display: inline-flex;
    width: 12px;
    height: 12px;
    align-items: center;
    justify-content: center;
}

.file-sort-icon {
    width: 12px;
    height: 12px;
    flex-basis: 12px;
}

.file-permission {
    font-family: "SFMono-Regular", Consolas, monospace;
    color: #536576;
    font-size: 12px;
}

.file-entry-attributes {
    display: grid;
    min-width: 0;
    align-content: center;
    justify-items: start;
    gap: 0;
    line-height: 1;
}

.file-row-quick-action.file-permission-control {
    min-width: 0;
    min-height: 18px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #1f6598;
    padding: 0 3px;
    font-size: 12px;
    line-height: 18px;
    text-align: left;
}

.file-row-quick-action.file-permission-control:hover,
.file-row-quick-action.file-permission-control:focus-visible {
    background: #e8f2f9;
    color: #174f78;
}

.file-entry-owner {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #7a8791;
    font-size: 10px;
    line-height: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-row-actions {
    position: sticky;
    right: 0;
    z-index: 1;
    background: #fff;
    box-shadow: -1px 0 0 #e2e8ed;
    white-space: nowrap;
}

.file-table th.file-row-actions {
    z-index: 2;
    background: #f5f8fa;
}

.file-table tbody tr[data-file-row]:hover > .file-row-actions {
    background: #f7fbf8;
}

.file-table tbody tr.selected > .file-row-actions,
.file-table tbody tr.selected:hover > .file-row-actions {
    background: #e8f3fb;
}

.file-table tbody tr.inline-renaming > .file-row-actions,
.file-table tbody tr.inline-renaming:hover > .file-row-actions {
    background: #e7f2fa;
}

.file-table tbody tr.file-drop-target-copy > .file-row-actions,
.file-table tbody tr.file-drop-target-copy:hover > .file-row-actions {
    background: #e5f5ea;
}

.file-table tbody tr.file-drop-target-move > .file-row-actions,
.file-table tbody tr.file-drop-target-move:hover > .file-row-actions {
    background: #fff2d7;
}

.file-table tbody tr.file-drop-target-blocked > .file-row-actions,
.file-table tbody tr.file-drop-target-blocked:hover > .file-row-actions {
    background: #fff0f0;
}

.file-row-action-group {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    overflow: hidden;
}

.file-row-action-group[hidden] {
    display: none;
}

.file-row-quick-action {
    flex: 0 1 auto;
    min-width: 34px;
    min-height: 28px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #1f6598;
    padding: 0 5px;
    font-size: 12px;
    font-weight: 700;
}

.file-row-quick-action .file-command-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-row-quick-action:hover,
.file-row-quick-action:focus-visible {
    background: #e8f2f9;
    color: #174f78;
}

.file-row-quick-action.secondary {
    color: #3f6f53;
}

.file-row-quick-action.secondary:hover,
.file-row-quick-action.secondary:focus-visible {
    background: #eaf5ee;
    color: #285c3b;
}

.file-directory-size-button.file-row-quick-action {
    max-width: 100%;
    min-width: 0;
    min-height: 24px;
    overflow: hidden;
    padding: 0 4px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-directory-size-button.success {
    color: #356348;
    font-variant-numeric: tabular-nums;
}

.file-directory-size-button.error {
    color: #a33f3f;
}

.file-directory-size-button.loading {
    color: #667782;
    cursor: wait;
}

.file-directory-size-button.loading::before {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border: 2px solid #b8c6cf;
    border-top-color: #3274a5;
    border-radius: 50%;
    animation: file-directory-size-spin 700ms linear infinite;
    content: "";
}

@keyframes file-directory-size-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .file-directory-size-button.loading::before {
        animation: none;
    }
}

/* Website daily catalog: one compact object table with fixed daily controls. */
.layout.workspace-route-website .view,
.website-sites-table-panel,
.website-sites-table-panel > .panel,
.website-sites-table-panel .panel-body {
    min-width: 0;
    max-width: 100%;
}

.website-catalog-quick-filters {
    display: flex;
    min-width: 0;
    grid-column: 1 / -1;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.website-catalog-quick-filters > span {
    margin-right: 2px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.website-catalog-filter-chip {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: 4px;
    border: 1px solid #bdc9c3;
    border-radius: 4px;
    background: #fff;
    padding: 4px 9px;
    color: #40544a;
    font-size: 11px;
    font-weight: 700;
}

.website-catalog-filter-chip:hover,
.website-catalog-filter-chip:focus-visible {
    border-color: #4e8064;
    background: #f1f7f3;
    color: #195f3b;
}

.website-catalog-filter-chip:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 1px;
}

.website-catalog-filter-chip[aria-pressed="true"] {
    border-color: #2f7651;
    background: #e5f3ea;
    color: #155d37;
}

.website-catalog-filter-chip .website-command-icon {
    width: 13px;
    height: 13px;
}

.website-sites-table-panel .table-wrap {
    overflow-x: hidden;
}

.website-sites-table-panel table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.website-sites-table-panel th:nth-child(1) { width: 19%; }
.website-sites-table-panel th:nth-child(2) { width: 10%; }
.website-sites-table-panel th:nth-child(3) { width: 18%; }
.website-sites-table-panel th:nth-child(4) { width: 10%; }
.website-sites-table-panel th:nth-child(5) { width: 21%; }
.website-sites-table-panel th:nth-child(6) { width: 22%; }

.website-sites-table-panel th:nth-child(n + 7) {
    width: auto;
}

.website-sites-table-panel td {
    min-width: 0;
    overflow: hidden;
    vertical-align: top;
}

.website-domain-cell,
.website-root-cell,
.website-deployment-summary-cell,
.website-site-status-stack {
    min-width: 0;
    max-width: 100%;
}

.website-root-cell,
.website-deployment-summary-cell {
    display: grid;
    gap: 4px;
}

.website-root-cell code {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #30443a;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-root-cell small {
    color: var(--muted);
    font-size: 10px;
}

.website-deployment-summary-cell .website-nginx-status-cell {
    gap: 2px;
}

.website-row-recommendation {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 4px;
    color: #6d5425;
    font-size: 10px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.website-row-recommendation strong {
    flex: 0 0 auto;
    color: #92661b;
    font-size: 9px;
}

.website-deployment-summary-cell .website-recent-task-cell {
    gap: 2px;
    border-top: 1px solid #e4eae6;
    padding-top: 4px;
}

.website-deployment-summary-cell .website-recent-task-cell .status,
.website-deployment-summary-cell .website-recent-task-cell strong {
    font-size: 10px;
}

.website-row-action-cell {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: start;
    gap: 4px;
}

.website-row-actions-desktop {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3px;
}

.website-row-actions-desktop .small-btn {
    width: 100%;
    min-width: 0;
    min-height: 30px;
    gap: 3px;
    padding: 4px;
    font-size: 10px;
}

.website-row-actions-desktop .file-command-icon {
    width: 12px;
    height: 12px;
}

.website-row-menu-trigger {
    width: 34px;
    min-width: 34px;
    height: 30px;
    min-height: 30px;
    padding: 4px;
}

.website-row-menu-trigger > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

.website-create-optional-domains {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.website-create-optional-domains > summary {
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: #40544a;
    font-size: 12px;
    font-weight: 700;
    list-style: none;
}

.website-create-optional-domains > summary::-webkit-details-marker {
    display: none;
}

.website-create-optional-domains > summary:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 1px;
}

.website-create-optional-domains > .field {
    padding: 0 0 10px;
}

@media (max-width: 980px) {
    .website-sites-table-panel .table-wrap {
        overflow-x: visible;
    }

    .website-sites-table-panel table,
    .website-sites-table-panel tbody {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .website-sites-table-panel thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .website-sites-table-panel tbody > tr {
        display: grid;
        width: 100%;
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border: 0;
        border-bottom: 1px solid var(--line);
        border-radius: 0;
        background: transparent;
        padding: 8px;
    }

    .website-sites-table-panel tbody > tr > td,
    .website-sites-table-panel tbody > tr > td:nth-child(n),
    .website-sites-table-panel tbody > tr > td:last-child {
        position: static;
        display: block;
        min-width: 0;
        grid-column: auto;
        border: 0;
        background: transparent;
        box-shadow: none;
        padding: 6px;
        overflow-wrap: anywhere;
    }

    .website-sites-table-panel tbody > tr > td::before {
        display: block;
        margin-bottom: 3px;
        color: var(--muted);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.2;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1),
    .website-sites-table-panel tbody > tr > td:nth-child(3),
    .website-sites-table-panel tbody > tr > td:nth-child(5),
    .website-sites-table-panel tbody > tr > td:nth-child(6) {
        grid-column: 1 / -1;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1)::before { content: "域名"; }
    .website-sites-table-panel tbody > tr > td:nth-child(2)::before { content: "状态"; }
    .website-sites-table-panel tbody > tr > td:nth-child(3)::before { content: "根目录"; }
    .website-sites-table-panel tbody > tr > td:nth-child(4)::before { content: "SSL"; }
    .website-sites-table-panel tbody > tr > td:nth-child(5)::before { content: "部署"; }
    .website-sites-table-panel tbody > tr > td:nth-child(6)::before { content: "操作"; }

    .website-row-action-cell {
        grid-template-columns: minmax(0, 1fr) 36px;
    }

    .website-row-actions-desktop .small-btn {
        min-height: 34px;
        font-size: 11px;
    }

    .website-row-menu-trigger {
        width: 36px;
        min-width: 36px;
        height: 34px;
        min-height: 34px;
    }
}

@media (max-width: 680px) {
    .website-catalog-quick-filters {
        align-items: stretch;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .website-catalog-quick-filters > span {
        grid-column: 1 / -1;
    }

    .website-catalog-filter-chip {
        min-width: 0;
        justify-content: center;
        padding-right: 4px;
        padding-left: 4px;
        white-space: normal;
    }

    .website-sites-table-panel tbody > tr {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-deployment-summary-cell .website-nginx-status-cell {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-create-optional-domains > .field {
        min-width: 0;
    }
}

@media (max-width: 390px) {
    .website-catalog-filter-chip {
        font-size: 10px;
    }

    .website-row-actions-desktop .small-btn {
        gap: 2px;
        padding-right: 2px;
        padding-left: 2px;
    }
}

.file-row-action-group .status {
    margin-right: 2px;
}

.file-workbench.current-readonly .file-row-action-group > .status,
.file-table tbody tr.selected .file-row-action-group > .file-row-quick-action,
.file-table tbody tr.selected .file-row-action-group > .status {
    display: none;
}

.file-more-button {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    padding: 0;
    font-size: 17px;
}

.file-context-menu {
    position: fixed;
    z-index: 1000;
    width: min(240px, calc(100vw - 16px));
    max-height: calc(100dvh - 16px);
    border: 1px solid #bcc9d3;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(28, 45, 58, 0.2);
    padding: 5px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.file-context-menu[hidden] {
    display: none;
}

.file-context-heading {
    overflow: hidden;
    border-bottom: 1px solid var(--line);
    color: #667888;
    padding: 7px 9px;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-context-separator {
    height: 1px;
    margin: 4px 5px;
    background: var(--line);
}

.file-context-group-heading {
    color: #748593;
    padding: 7px 9px 3px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

.file-context-heading + .file-context-group-heading {
    padding-top: 8px;
}

.file-context-menu button {
    display: flex;
    width: 100%;
    min-height: 34px;
    align-items: center;
    gap: 9px;
    border-radius: 4px;
    background: transparent;
    color: #243746;
    padding: 7px 9px;
    text-align: left;
}

.file-context-menu .file-command-icon {
    flex: 0 0 16px;
    color: #607483;
}

.file-context-menu .file-command-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-context-menu button:hover:not(:disabled),
.file-context-menu button:focus-visible {
    background: #edf4f8;
}

.file-context-menu button:disabled {
    color: #a0abb4;
}

.file-context-menu button:disabled .file-command-icon {
    color: #a0abb4;
}

.file-context-menu button.danger:not(:disabled) {
    color: #9f3030;
}

.file-context-menu button.danger:not(:disabled) .file-command-icon {
    color: #ad3a3a;
}

.file-context-menu button.danger:hover:not(:disabled),
.file-context-menu button.danger:focus-visible {
    background: #fbeeee;
}

.file-context-menu.file-quick-location-menu {
    width: min(320px, calc(100vw - 16px));
}

.file-context-menu.file-view-menu {
    width: min(228px, calc(100vw - 16px));
}

.file-context-menu.file-directory-tab-overview-menu {
    width: min(380px, calc(100vw - 16px));
    padding: 6px;
}

.file-context-menu.file-clipboard-details-menu {
    width: min(420px, calc(100vw - 16px));
    padding: 6px;
}

.file-clipboard-details-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.file-clipboard-details-heading span:last-child {
    color: #789;
    font-variant-numeric: tabular-nums;
}

.file-clipboard-details-list {
    display: grid;
    max-height: min(360px, 50dvh);
    gap: 2px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.file-context-menu .file-clipboard-details-entry {
    min-width: 0;
    min-height: 48px;
}

.file-clipboard-details-entry[hidden] {
    display: none;
}

.file-clipboard-details-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.file-clipboard-details-empty {
    color: #87949e;
    padding: 9px;
    font-size: 11px;
}

.file-clipboard-details-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
}

.file-directory-tab-overview-heading,
.file-directory-tab-overview-group-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.file-directory-tab-overview-heading span:last-child,
.file-directory-tab-overview-group-heading span:last-child {
    color: #789;
    font-variant-numeric: tabular-nums;
}

.file-directory-tab-overview-search {
    display: grid;
    min-width: 0;
    grid-template-columns: 17px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    margin: 6px 5px 7px;
    border: 1px solid #b9c8d2;
    border-radius: 5px;
    background: #fff;
    color: #647887;
    padding: 0 8px;
}

.file-directory-tab-overview-search:focus-within {
    border-color: #4388bd;
    box-shadow: 0 0 0 2px rgb(67 136 189 / 16%);
}

.file-directory-tab-overview-search .file-command-icon {
    width: 15px;
    height: 15px;
    color: inherit;
}

.file-directory-tab-overview-search input {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0;
    font-size: 12px;
}

.file-directory-tab-overview-group {
    min-width: 0;
}

.file-directory-tab-overview-group-heading {
    color: #738491;
    padding: 4px 9px 3px;
    font-size: 10px;
    font-weight: 800;
}

.file-directory-tab-overview-list {
    display: grid;
    gap: 2px;
}

.file-directory-tab-overview-entry {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 32px;
    align-items: stretch;
}

.file-directory-tab-overview-entry[hidden] {
    display: none;
}

.file-context-menu .file-directory-tab-overview-main {
    min-width: 0;
    min-height: 48px;
}

.file-context-menu .file-directory-tab-overview-main.active {
    background: #eef7f1;
    color: #195f3a;
}

.file-directory-tab-overview-entry.closed .file-directory-tab-overview-main {
    grid-column: 1 / -1;
}

.file-context-menu .file-directory-tab-overview-close {
    width: 32px;
    min-width: 32px;
    justify-content: center;
    padding: 0;
    color: #70818e;
}

.file-directory-tab-overview-copy {
    display: block;
    min-width: 0;
    flex: 1;
}

.file-directory-tab-overview-copy strong,
.file-directory-tab-overview-copy span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-directory-tab-overview-copy strong {
    font-size: 12px;
}

.file-directory-tab-overview-copy span {
    margin-top: 2px;
    color: #71828f;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-directory-tab-overview-check {
    width: 15px;
    height: 15px;
    color: #24804a !important;
}

.file-directory-tab-overview-empty {
    color: #87949e;
    padding: 8px 9px 9px;
    font-size: 11px;
}

.file-context-menu .file-directory-tab-overview-clear {
    color: #536976;
}

.file-view-menu-group {
    padding: 3px 0;
}

.file-view-menu-heading {
    color: #788895;
    padding: 4px 9px 2px;
    font-size: 10px;
    font-weight: 800;
}

.file-context-menu .file-view-menu-choice {
    gap: 8px;
}

.file-view-menu-check {
    display: inline-grid;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: #24804a;
    place-items: center;
}

.file-view-menu-check .file-command-icon {
    width: 15px;
    height: 15px;
    color: inherit;
}

.file-quick-location-group + .file-quick-location-group {
    margin-top: 4px;
    border-top: 1px solid var(--line);
    padding-top: 4px;
}

.file-quick-location-heading {
    color: #788895;
    padding: 5px 9px 3px;
    font-size: 10px;
    font-weight: 800;
}

.file-context-menu .file-quick-location-item {
    min-height: 46px;
}

.file-context-menu .file-quick-location-item.active {
    background: #eef7f1;
    color: #195f3a;
}

.file-quick-location-copy {
    display: block;
    min-width: 0;
    flex: 1;
}

.file-quick-location-copy strong,
.file-quick-location-copy span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-quick-location-copy strong {
    font-size: 12px;
}

.file-quick-location-copy span {
    margin-top: 2px;
    color: #768692;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-context-menu .file-quick-location-check {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    color: #27945a;
}

.file-operation-dialog {
    position: fixed;
    inset: 0;
    display: none;
    width: min(680px, calc(100vw - 32px));
    max-width: none;
    max-height: min(760px, calc(100dvh - 32px));
    grid-template-rows: auto auto minmax(0, 1fr);
    border: 1px solid #aebdc8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(27, 42, 54, 0.28);
    color: var(--text);
    padding: 0;
    overflow: hidden;
}

.file-operation-dialog[open] {
    display: grid;
}

.file-operation-dialog::backdrop {
    background: rgba(24, 36, 46, 0.48);
}

.file-batch-paste-dialog {
    width: min(820px, calc(100vw - 32px));
}

.file-remote-download-dialog {
    width: min(640px, calc(100vw - 32px));
}

.file-directory-picker-dialog {
    display: none;
    width: min(780px, calc(100vw - 32px));
    height: min(650px, calc(100dvh - 32px));
    max-width: none;
    max-height: none;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    margin: auto;
    border: 1px solid #aebdc8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 68px rgba(27, 42, 54, 0.32);
    color: var(--text);
    padding: 0;
    overflow: hidden;
}

.file-directory-picker-dialog[open] {
    display: grid;
}

.file-directory-picker-dialog::backdrop {
    background: rgba(24, 36, 46, 0.56);
}

.file-operation-dialog.file-quick-reviewing {
    width: min(560px, calc(100vw - 32px));
    max-height: min(680px, calc(100dvh - 32px));
}

.file-operation-dialog-header {
    display: flex;
    min-width: 0;
    min-height: 62px;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    padding: 10px 14px 10px 18px;
}

.file-operation-dialog-header > div {
    min-width: 0;
    flex: 1;
}

.file-operation-dialog-header strong,
.file-operation-dialog-header span {
    display: block;
}

.file-operation-dialog-header strong {
    font-size: 16px;
}

.file-operation-dialog-header span {
    overflow: hidden;
    margin-top: 3px;
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-operation-message {
    min-height: 0;
    margin: 0;
    padding: 0 18px;
    color: #536875;
}

.file-operation-message:not(:empty) {
    min-height: 38px;
    border-bottom: 1px solid var(--line);
    padding-top: 9px;
    padding-bottom: 9px;
}

.file-operation-message.ok:not(:empty) {
    background: #f2faf5;
    color: #216d45;
}

.file-operation-message.warn:not(:empty) {
    background: #fffaf0;
    color: #8a6212;
}

.file-operation-message.bad:not(:empty) {
    background: #fff6f4;
    color: #b4362d;
}

.file-operation-stage {
    min-height: 0;
    overflow-y: auto;
    padding: 18px;
}

.file-operation-stage[hidden],
[data-file-quick-group][hidden] {
    display: none;
}

.file-operation-form,
.file-operation-apply-form {
    display: grid;
    gap: 16px;
}

.file-archive-format-field {
    width: min(180px, 100%);
}

.file-archive-format-field select {
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.file-bundle-archive-sources,
.file-operation-source-list {
    min-width: 0;
    border: 1px solid #d5dfe5;
    border-radius: 6px;
    background: #fbfcfd;
    overflow: hidden;
}

.file-bundle-archive-sources > header,
.file-operation-source-list > strong {
    display: flex;
    min-height: 36px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 11px;
    color: #3e5361;
    font-size: 12px;
}

.file-bundle-archive-sources > header span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

[data-file-bundle-archive-sources],
.file-operation-source-list {
    max-height: 238px;
    overflow-y: auto;
}

.file-bundle-archive-source {
    display: grid;
    min-width: 0;
    min-height: 40px;
    grid-template-columns: 18px minmax(110px, 0.7fr) minmax(150px, 1fr);
    align-items: center;
    gap: 8px;
    border-top: 1px solid #e2e8ec;
    padding: 7px 11px;
}

.file-bundle-archive-source > span,
.file-bundle-archive-source > small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-bundle-archive-source > span {
    color: #2f4655;
    font-size: 12px;
    font-weight: 700;
}

.file-bundle-archive-source > small {
    color: #71818c;
    font: 10px/1.3 "SFMono-Regular", Consolas, monospace;
}

.file-target-path-control {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 38px;
    align-items: center;
    gap: 8px;
}

.file-target-path-control > input {
    min-width: 0;
}

.file-target-path-control > .icon-btn {
    width: 38px;
    height: 38px;
}

.file-directory-picker-message {
    min-height: 0;
    margin: 0;
    padding: 0 16px;
    color: #536875;
}

.file-directory-picker-message:not(:empty) {
    min-height: 36px;
    border-bottom: 1px solid var(--line);
    padding-top: 8px;
    padding-bottom: 8px;
}

.file-directory-picker-message.warn:not(:empty) {
    background: #fff9ec;
    color: #8a6718;
}

.file-directory-picker-message.bad:not(:empty) {
    background: #fff6f4;
    color: #b4362d;
}

.file-directory-picker-shell {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-columns: 196px minmax(0, 1fr);
}

.file-directory-picker-locations {
    min-width: 0;
    min-height: 0;
    border-right: 1px solid var(--line);
    background: #f7f9fa;
    padding: 14px 10px;
    overflow-y: auto;
}

.file-directory-picker-locations > strong {
    display: block;
    margin: 0 8px 10px;
    color: #61717e;
    font-size: 11px;
    text-transform: uppercase;
}

.file-directory-picker-location-group +
.file-directory-picker-location-group {
    margin-top: 12px;
}

.file-directory-picker-location-group h3 {
    margin: 0 8px 4px;
    color: #7a8994;
    font-size: 10px;
    font-weight: 700;
}

.file-directory-picker-location {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #3f5261;
    padding: 7px 8px;
    text-align: left;
    cursor: pointer;
}

.file-directory-picker-location:hover,
.file-directory-picker-location:focus-visible {
    background: #e8f0f5;
}

.file-directory-picker-location.active {
    background: #dcebf5;
    color: #195c89;
}

.file-directory-picker-location > span {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.file-directory-picker-location strong,
.file-directory-picker-location small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-directory-picker-location strong {
    font-size: 12px;
}

.file-directory-picker-location small {
    color: #758590;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 9px;
}

.file-directory-picker-browser {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: auto auto minmax(0, 1fr);
}

.file-directory-picker-navigation {
    display: grid;
    min-width: 0;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 7px;
    border-bottom: 1px solid var(--line);
    padding: 9px 12px;
}

.file-directory-picker-navigation .icon-btn {
    width: 34px;
    height: 34px;
}

.file-directory-picker-navigation nav {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 3px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.file-directory-picker-navigation nav > span {
    color: #8a99a4;
    font-size: 11px;
}

.file-directory-picker-navigation nav > button {
    flex: 0 0 auto;
    max-width: 190px;
    overflow: hidden;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #356986;
    padding: 5px 6px;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.file-directory-picker-navigation nav > button:hover,
.file-directory-picker-navigation nav > button:focus-visible {
    background: #e9f1f6;
}

.file-directory-picker-navigation nav > button[aria-current="location"] {
    color: #314552;
    font-weight: 700;
    cursor: default;
}

.file-directory-picker-search {
    display: grid;
    min-width: 0;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--line);
    padding: 9px 14px;
}

.file-directory-picker-search input {
    min-width: 0;
    border: 0;
    background: transparent;
    padding: 5px 2px;
    outline: 0;
}

.file-directory-picker-search:focus-within {
    box-shadow: inset 0 -2px 0 #347eb2;
}

.file-directory-picker-list {
    min-width: 0;
    min-height: 0;
    padding: 4px 0;
    overflow-y: auto;
}

.file-directory-picker-entry {
    display: grid;
    width: 100%;
    min-width: 0;
    min-height: 54px;
    grid-template-columns: 24px minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: 10px;
    border: 0;
    border-bottom: 1px solid #edf1f3;
    background: #fff;
    color: #354957;
    padding: 8px 14px;
    text-align: left;
    cursor: pointer;
}

.file-directory-picker-entry:hover,
.file-directory-picker-entry:focus-visible {
    background: #f1f7fa;
    box-shadow: inset 3px 0 0 #347eb2;
    outline: 0;
}

.file-directory-picker-entry > span:nth-child(2) {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.file-directory-picker-entry strong,
.file-directory-picker-entry small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-directory-picker-entry strong {
    font-size: 13px;
}

.file-directory-picker-entry small {
    color: #778792;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-directory-picker-entry .status {
    min-width: 42px;
    text-align: center;
}

.file-directory-picker-entry-arrow {
    opacity: 0.55;
}

.file-directory-picker-loading,
.file-directory-picker-empty {
    display: flex;
    min-height: 110px;
    align-items: center;
    justify-content: center;
    color: #74838e;
    padding: 18px;
    font-size: 12px;
    text-align: center;
}

.file-directory-picker-empty.bad {
    color: var(--danger);
}

.file-directory-picker-load-more {
    display: flex;
    margin: 12px auto;
}

.file-directory-picker-actions {
    display: flex;
    min-width: 0;
    min-height: 66px;
    align-items: center;
    gap: 10px;
    border-top: 1px solid var(--line);
    background: #f9fafb;
    padding: 10px 14px;
}

.file-directory-picker-selected {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: 3px;
}

.file-directory-picker-selected span {
    color: #73828d;
    font-size: 10px;
}

.file-directory-picker-selected strong {
    overflow: hidden;
    color: #344957;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-operation-form textarea {
    min-height: 260px;
    resize: vertical;
    font-family: "SFMono-Regular", Consolas, monospace;
    line-height: 1.55;
}

.file-permission-editor {
    display: grid;
    gap: 16px;
}

.file-permission-mode-row {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 12px;
}

.file-permission-owner-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.file-permission-mode-row input,
.file-permission-owner-row input {
    font-family: "SFMono-Regular", Consolas, monospace;
}

.file-permission-matrix {
    display: grid;
    grid-template-columns: minmax(88px, 1fr) repeat(3, minmax(62px, 0.7fr));
    align-items: center;
    gap: 9px 12px;
    min-width: 0;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 12px 14px 14px;
}

.file-permission-matrix legend {
    color: #415060;
    padding: 0 5px;
    font-size: 13px;
    font-weight: 700;
}

.file-permission-column {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.file-permission-matrix > strong {
    min-width: 0;
    color: #344554;
    font-size: 13px;
}

.file-permission-matrix > label {
    display: inline-flex;
    min-width: 0;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 4px;
    background: #f5f8fa;
    color: #4b5e6e;
    cursor: pointer;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
    font-weight: 700;
}

.file-permission-matrix > label:hover {
    background: #eaf2f7;
}

.file-permission-matrix input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--blue);
}

.file-permission-scope {
    display: flex;
    min-width: 0;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-top: 1px solid var(--line);
    padding-top: 12px;
    color: var(--muted);
    font-size: 12px;
}

.file-permission-scope .compact-toggle {
    flex: 0 0 auto;
}

.file-permission-scope > span {
    min-width: 0;
    text-align: right;
    overflow-wrap: anywhere;
}

.file-operation-dialog.file-editor-dialog {
    width: min(1120px, calc(100vw - 32px));
    height: min(820px, calc(100dvh - 32px));
    max-height: calc(100dvh - 32px);
}

.file-editor-dialog .file-operation-stage {
    overflow: hidden;
    padding: 0;
}

.file-editor-dialog > .file-operation-stage {
    grid-row: 3;
    grid-column: 1;
    align-self: stretch;
}

.file-editor-dialog .file-editor-form {
    height: 100%;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 0;
}

.file-editor-dialog [data-file-quick-path] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    padding: 9px 16px;
}

.file-editor-dialog [data-file-quick-path] label {
    margin: 0;
    color: #60717f;
    font-size: 11px;
}

.file-editor-dialog [data-file-quick-path] input {
    min-width: 0;
    height: 34px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
}

.file-editor-dialog [data-file-quick-path] input[readonly] {
    border-color: transparent;
    background: transparent;
    color: #344754;
    padding-left: 0;
}

.file-editor-content-field {
    min-width: 0;
    min-height: 0;
}

.file-browser-pane:focus-visible {
    outline: 2px solid #4d8a67;
    outline-offset: -2px;
}

.file-editor-dialog .file-editor-content-field {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: 0;
    position: relative;
}

.file-editor-dialog .file-operation-content-label {
    display: none;
}

.file-editor-tabs {
    display: flex;
    min-width: 0;
    min-height: 38px;
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: 1px solid #34444f;
    background: #172229;
    scrollbar-color: #51616c #172229;
    scrollbar-width: thin;
}

.file-editor-tabs[hidden] {
    display: none;
}

.file-editor-tab-item {
    display: flex;
    min-width: 132px;
    max-width: 220px;
    height: 38px;
    flex: 0 1 190px;
    align-items: stretch;
    border-right: 1px solid #34444f;
    border-top: 2px solid transparent;
    background: #25333c;
    color: #b9c7d0;
}

.file-editor-tab-item.active {
    border-top-color: #4d9b69;
    background: #11191f;
    color: #edf3f6;
}

.file-editor-tab-main,
.file-editor-tab-close {
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
}

.file-editor-tab-main {
    display: flex;
    min-width: 0;
    flex: 1;
    align-items: center;
    gap: 7px;
    padding: 0 4px 0 10px;
    text-align: left;
}

.file-editor-tab-main[draggable="true"] {
    cursor: grab;
}

.file-editor-tab-main[draggable="true"]:active {
    cursor: grabbing;
}

.file-editor-tab-item.dragging {
    opacity: 0.46;
}

.file-editor-tab-item.drop-before {
    box-shadow: inset 3px 0 #72b7f2;
}

.file-editor-tab-item.drop-after {
    box-shadow: inset -3px 0 #72b7f2;
}

.file-editor-tab-main:focus-visible,
.file-editor-tab-close:focus-visible {
    z-index: 1;
    outline: 2px solid #72b7f2;
    outline-offset: -2px;
}

.file-editor-tab-main:disabled,
.file-editor-tab-close:disabled {
    cursor: not-allowed;
    opacity: 0.58;
}

.file-editor-tab-icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.file-editor-tab-name {
    min-width: 0;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-editor-tab-dirty {
    display: block;
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #e6a943;
    opacity: 0;
}

.file-editor-tab-item.dirty .file-editor-tab-dirty {
    opacity: 1;
}

.file-editor-tab-close {
    display: grid;
    width: 28px;
    min-width: 28px;
    flex: 0 0 28px;
    place-items: center;
    padding: 0;
}

.file-editor-tab-close:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.file-editor-tab-close-icon {
    width: 13px;
    height: 13px;
}

.file-editor-tab-context-menu {
    width: min(230px, calc(100vw - 16px));
}

.file-editor-quick-open {
    position: absolute;
    z-index: 8;
    top: 88px;
    left: 50%;
    display: grid;
    width: min(620px, calc(100% - 32px));
    max-height: min(430px, calc(100% - 112px));
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    transform: translateX(-50%);
    border: 1px solid #8395a2;
    border-radius: 6px;
    background: #f8fafb;
    box-shadow: 0 18px 48px rgba(7, 18, 26, 0.34);
    color: #243743;
}

.file-editor-quick-open[hidden] {
    display: none;
}

.file-editor-quick-open > header {
    display: grid;
    min-height: 40px;
    grid-template-columns: minmax(0, 1fr) auto 30px;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #d8e0e5;
    padding: 5px 8px 5px 12px;
}

.file-editor-quick-open > header label {
    overflow: hidden;
    color: #1d303c;
    font-size: 13px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-editor-quick-open > header output {
    color: #667984;
    font-size: 11px;
    white-space: nowrap;
}

.file-editor-quick-open > header .icon-btn {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
}

.file-editor-quick-open-search {
    position: relative;
    padding: 10px 12px;
    border-bottom: 1px solid #d8e0e5;
    background: #eef3f5;
}

.file-editor-quick-open-search-icon {
    position: absolute;
    z-index: 1;
    top: 19px;
    left: 22px;
    width: 16px;
    height: 16px;
    color: #607480;
    pointer-events: none;
}

.file-editor-quick-open-search input {
    width: 100%;
    height: 36px;
    border-color: #91a2ad;
    background: #ffffff;
    padding-right: 10px;
    padding-left: 36px;
    font-size: 13px;
}

.file-editor-quick-open-search input:focus {
    border-color: #2e78ad;
    box-shadow: 0 0 0 2px rgba(46, 120, 173, 0.18);
}

.file-editor-quick-open-list {
    min-height: 54px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #ffffff;
}

.file-editor-quick-open-option {
    display: grid;
    width: 100%;
    min-height: 50px;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    border: 0;
    border-bottom: 1px solid #e3e8eb;
    border-radius: 0;
    background: #ffffff;
    color: #263946;
    padding: 7px 12px;
    text-align: left;
}

.file-editor-quick-open-option:last-child {
    border-bottom: 0;
}

.file-editor-quick-open-option:hover,
.file-editor-quick-open-option.selected {
    background: #e8f2f8;
}

.file-editor-quick-open-option.selected {
    box-shadow: inset 3px 0 #2e78ad;
}

.file-editor-quick-open-option:focus-visible {
    outline: 2px solid #2e78ad;
    outline-offset: -2px;
}

.file-editor-quick-open-icon {
    width: 17px;
    height: 17px;
}

.file-editor-quick-open-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.file-editor-quick-open-copy strong,
.file-editor-quick-open-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-editor-quick-open-copy strong {
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
}

.file-editor-quick-open-copy > span {
    color: #71828d;
    font-size: 10px;
}

.file-editor-quick-open-state {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #526773;
    font-size: 10px;
    white-space: nowrap;
}

.file-editor-quick-open-state span + span {
    padding-left: 8px;
    border-left: 1px solid #bdc9d0;
}

.file-editor-quick-open-option.dirty .file-editor-quick-open-state {
    color: #936012;
}

.file-editor-quick-open-empty {
    display: grid;
    min-height: 90px;
    place-items: center;
    color: #71828d;
    font-size: 12px;
}

.file-editor-toolbar {
    display: grid;
    min-width: 0;
    min-height: 42px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #34444f;
    background: #202c34;
    color: #c7d4dc;
    padding: 6px 12px;
}

.file-editor-summary,
.file-editor-tools,
.file-editor-command-group,
.file-editor-navigation {
    display: flex;
    min-width: 0;
    align-items: center;
}

.file-editor-summary {
    gap: 10px;
    overflow: hidden;
}

.file-editor-tools {
    max-width: 100%;
    flex: 0 1 auto;
    justify-content: flex-end;
    overflow-x: hidden;
    scrollbar-color: #51616c #202c34;
    scrollbar-width: thin;
}

.file-editor-command-group,
.file-editor-navigation {
    flex: 0 0 auto;
    gap: 6px;
}

.file-editor-command-group[hidden],
.file-editor-navigation[hidden] {
    display: none;
}

.file-editor-toolbar[hidden],
.file-editor-statusbar[hidden] {
    display: none;
}

.file-editor-toolbar .status {
    flex: 0 0 auto;
}

.file-editor-metadata {
    overflow: hidden;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-editor-wrap-toggle {
    height: 30px;
    min-height: 30px;
    flex: 0 0 auto;
    color: #d2dce2;
}

.file-editor-toolbar .file-editor-mode-select {
    width: 112px;
    height: 30px;
    min-height: 30px;
    border: 1px solid #51616c;
    border-radius: 4px;
    background: #2d3a43;
    color: #e4ebef;
    padding: 0 24px 0 8px;
    font-size: 11px;
}

.file-editor-toolbar .file-editor-wrap-toggle input {
    width: 16px;
    height: 16px;
    min-height: 16px;
}

.file-editor-navigation {
    height: 30px;
}

.file-editor-navigation select {
    width: 152px;
    height: 30px;
    min-height: 30px;
    border: 1px solid #51616c;
    border-radius: 4px;
    background: #2d3a43;
    color: #e4ebef;
    padding: 0 24px 0 8px;
    font-size: 11px;
}

.file-editor-navigation output {
    display: inline-flex;
    width: 46px;
    height: 30px;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    color: #d7e1e7;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    white-space: nowrap;
}

.file-editor-toolbar .icon-btn {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    border-color: #51616c;
    background: #2d3a43;
    color: #e4ebef;
}

.file-image-navigation,
.file-image-zoom-controls {
    display: flex;
    height: 30px;
    flex: 0 0 auto;
    align-items: center;
    gap: 4px;
}

.file-image-navigation[hidden],
.file-image-zoom-controls[hidden] {
    display: none;
}

.file-image-navigation output,
.file-image-zoom-controls output {
    display: inline-flex;
    width: 52px;
    height: 30px;
    flex: 0 0 52px;
    align-items: center;
    justify-content: center;
    color: #d7e1e7;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    white-space: nowrap;
}

.file-image-zoom-controls output {
    width: 46px;
    flex-basis: 46px;
}

.file-image-view-modes {
    display: flex;
    height: 30px;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid #51616c;
    border-radius: 4px;
}

.file-image-view-modes[hidden],
.file-image-preview[hidden] {
    display: none;
}

.file-image-view-modes button {
    min-width: 52px;
    height: 28px;
    border: 0;
    border-right: 1px solid #51616c;
    background: #2d3a43;
    color: #cbd7de;
    padding: 0 9px;
    font-size: 11px;
    font-weight: 700;
}

.file-image-view-modes button:last-child {
    border-right: 0;
}

.file-image-view-modes button:hover,
.file-image-view-modes button:focus-visible {
    outline: none;
    background: #3a4b56;
    color: #fff;
}

.file-image-view-modes button[aria-pressed="true"] {
    background: #dbe9f3;
    color: #173247;
}

.file-image-preview {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #101820;
}

.file-image-preview-canvas {
    display: grid;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    padding: 20px;
    outline: none;
    background: #162129;
}

.file-image-preview-canvas:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(88, 159, 219, 0.7);
}

.file-image-preview.fit .file-image-preview-canvas {
    place-items: center;
}

.file-image-preview.actual .file-image-preview-canvas {
    place-items: start;
}

.file-image-preview.zoomed .file-image-preview-canvas {
    place-items: start;
}

.file-image-preview img {
    display: block;
    width: auto;
    height: auto;
    border: 0;
    background: #f8fafb;
    box-shadow: 0 8px 26px rgba(4, 10, 14, 0.38);
}

.file-image-preview.fit img {
    max-width: 100%;
    max-height: 100%;
}

.file-image-preview.actual img,
.file-image-preview.zoomed img {
    max-width: none;
    max-height: none;
}

.file-image-preview.error .file-image-preview-canvas {
    box-shadow: inset 0 0 0 2px rgba(190, 71, 75, 0.65);
}

.file-editor-dialog .file-editor-content-field textarea {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: auto;
    border: 0;
    border-radius: 0;
    background: #11191f;
    color: #dce6ec;
    caret-color: #72b7f2;
    padding: 16px 18px;
    outline: none;
    resize: none;
    tab-size: 4;
    font-size: 13px;
    line-height: 1.65;
}

.file-code-editor {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    background: #11191f;
    color: #dce6ec;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 13px;
    line-height: 1.65;
}

.file-code-editor[hidden] {
    display: none;
}

.file-code-editor:focus-within {
    box-shadow: inset 0 0 0 2px rgba(88, 159, 219, 0.55);
}

.file-code-editor .ace_gutter {
    border-right: 1px solid #34444f;
}

.file-code-editor .ace_search {
    z-index: 6;
    max-width: min(520px, calc(100% - 16px));
    border-color: #4e626f;
    border-radius: 0 0 0 4px;
    background: #26343d;
    color: #e4ebef;
}

.file-code-editor .ace_search_field {
    color: #18252e;
}

.file-editor-dialog .file-editor-content-field textarea:focus {
    box-shadow: inset 0 0 0 2px rgba(88, 159, 219, 0.55);
}

.file-editor-dialog .file-editor-content-field textarea[readonly] {
    background: #172027;
    color: #c8d3da;
}

.file-editor-dialog .file-editor-content-field textarea.no-wrap {
    overflow-wrap: normal;
    white-space: pre;
}

.file-editor-statusbar {
    display: flex;
    min-width: 0;
    min-height: 30px;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    border-top: 1px solid #34444f;
    background: #202c34;
    color: #aebdc7;
    padding: 5px 12px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-editor-dialog .file-operation-actions {
    min-height: 58px;
    margin: 0;
    background: #f7f9fa;
    padding: 10px 14px;
}

.file-version-panel {
    z-index: 7;
    display: flex;
    width: min(440px, calc(100% - 160px));
    min-width: 360px;
    height: 100%;
    min-height: 0;
    grid-row: 3;
    grid-column: 1;
    align-self: stretch;
    justify-self: end;
    flex-direction: column;
    border-left: 1px solid #9dabb5;
    background: #fff;
    box-shadow: -14px 0 32px rgba(31, 45, 55, 0.18);
    overflow: hidden;
}

.file-version-panel[hidden] {
    display: none;
}

.file-version-panel-header,
.file-version-preview > header {
    display: flex;
    min-width: 0;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    padding: 9px 10px 9px 16px;
}

.file-version-panel-header {
    min-height: 54px;
}

.file-version-panel-header > div,
.file-version-preview > header > div {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 2px;
}

.file-version-panel-header strong,
.file-version-preview > header strong {
    font-size: 14px;
}

.file-version-panel-header span,
.file-version-preview > header span {
    min-width: 0;
    color: var(--muted);
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-version-message {
    min-height: 34px;
    flex: 0 0 auto;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    padding: 8px 16px;
    font-size: 11px;
}

.file-version-message.ok {
    background: #f2faf5;
    color: #216d45;
}

.file-version-message.warn {
    background: #fffaf0;
    color: #8a6212;
}

.file-version-message.bad {
    background: #fff6f4;
    color: #b4362d;
}

.file-version-list {
    min-height: 0;
    flex: 1;
    overflow-y: auto;
}

.file-version-row {
    display: grid;
    min-width: 0;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e2e8ec;
    padding: 11px 12px;
}

.file-version-row.selected {
    background: #edf5fa;
    box-shadow: inset 3px 0 #28739d;
}

.file-version-row.unavailable {
    background: #f8f9fa;
    color: #7b8993;
}

.file-version-row-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #28739d;
}

.file-version-row.unavailable .file-version-row-icon {
    color: #8d989f;
}

.file-version-row-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.file-version-row-copy strong {
    font-size: 13px;
}

.file-version-row-copy span,
.file-version-row-copy small {
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-version-row-copy small {
    font-family: "SFMono-Regular", Consolas, monospace;
}

.file-version-row-actions {
    display: flex;
    align-items: center;
    gap: 5px;
}

.file-version-row-actions .status {
    min-width: 42px;
    justify-content: center;
}

.file-version-row-actions .icon-btn {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
}

.file-version-loading,
.file-version-empty {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    padding: 24px;
    text-align: center;
}

.file-version-empty {
    flex-direction: column;
    gap: 7px;
}

.file-version-empty strong {
    color: var(--text);
    font-size: 14px;
}

.file-version-empty span {
    max-width: 280px;
    font-size: 12px;
    line-height: 1.6;
}

.file-version-empty-icon {
    width: 26px;
    height: 26px;
    color: #738895;
}

.file-version-preview {
    display: grid;
    min-height: 190px;
    max-height: 42%;
    flex: 0 0 42%;
    grid-template-rows: auto minmax(0, 1fr);
    border-bottom: 1px solid #9dabb5;
    background: #11191f;
}

.file-version-preview[hidden] {
    display: none;
}

.file-version-preview > header {
    min-height: 48px;
    background: #202c34;
    color: #e4ebef;
    border-bottom-color: #34444f;
}

.file-version-preview > header span {
    color: #aebdc7;
}

.file-version-preview > header .icon-btn {
    border-color: #51616c;
    background: #2d3a43;
    color: #e4ebef;
}

.file-version-preview pre {
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: auto;
    background: #11191f;
    color: #dce6ec;
    padding: 13px 15px;
    outline: none;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    line-height: 1.55;
    white-space: pre;
}

.file-version-preview pre:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(88, 159, 219, 0.55);
}

.file-editor-dialog.file-editor-reviewing .file-operation-review {
    z-index: 8;
    display: flex;
    width: min(430px, calc(100% - 160px));
    min-width: 360px;
    height: 100%;
    min-height: 0;
    grid-row: 3;
    grid-column: 1;
    align-self: stretch;
    justify-self: end;
    flex-direction: column;
    border-left: 1px solid #9dabb5;
    background: #fff;
    box-shadow: -14px 0 32px rgba(31, 45, 55, 0.18);
    overflow-y: auto;
}

.file-operation-review-heading {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    min-height: 54px;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    padding: 9px 10px 9px 16px;
}

.file-operation-review-heading[hidden] {
    display: none;
}

[data-file-editor-review-reason][hidden],
[data-file-editor-review-async][hidden] {
    display: none;
}

.file-operation-review-heading > div {
    display: flex;
    min-width: 0;
    flex: 1;
    align-items: baseline;
    gap: 9px;
}

.file-operation-review-heading strong {
    font-size: 14px;
}

.file-operation-review-heading span {
    color: var(--muted);
    font-size: 11px;
}

.file-editor-dialog.file-editor-reviewing .file-operation-plan {
    padding: 16px 16px 0;
}

.file-editor-dialog.file-editor-reviewing .file-operation-apply-form {
    flex: 1 0 auto;
    align-content: start;
    padding: 0 16px;
}

.file-editor-dialog.file-editor-reviewing .file-operation-confirmation-fields {
    grid-template-columns: minmax(0, 1fr);
}

.file-editor-dialog.file-editor-reviewing .file-operation-review .file-operation-actions {
    position: sticky;
    z-index: 2;
    bottom: 0;
    margin: 0 -16px;
    flex-wrap: wrap;
    border-top: 1px solid var(--line);
    box-shadow: 0 -8px 18px rgba(31, 45, 55, 0.08);
    padding: 10px 16px;
}

.file-editor-dialog.file-editor-reviewing .file-operation-review .toolbar-spacer {
    display: none;
}

.file-editor-dialog.file-editor-reviewing .file-operation-review .file-operation-actions button {
    flex: 1 1 calc(50% - 5px);
}

.file-editor-dialog.file-editor-reviewing .file-operation-review .file-operation-actions [data-file-quick-apply-primary] {
    flex-basis: 100%;
}

.file-operation-plan-state {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 14px;
}

.file-operation-plan-state strong {
    font-size: 15px;
}

.file-operation-review-summary {
    display: grid;
    min-width: 0;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    border: 1px solid #c8d8e3;
    border-radius: 6px;
    background: #f5f9fc;
    padding: 12px 14px;
}

.file-operation-review-summary.destructive {
    border-color: #e3c4c0;
    background: #fff7f5;
}

.file-operation-review-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid #bdd0de;
    border-radius: 6px;
    background: #fff;
    color: #236795;
}

.file-operation-review-summary.destructive .file-operation-review-icon {
    border-color: #e0b9b4;
    color: #ba3c34;
}

.file-operation-review-icon .file-command-icon {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
}

.file-operation-review-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.file-operation-review-copy > span {
    color: #607482;
    font-size: 11px;
    font-weight: 800;
}

.file-operation-review-copy strong,
.file-operation-review-copy small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.file-operation-review-copy strong {
    color: #203441;
    font-size: 14px;
}

.file-operation-review-copy small {
    color: #6a7a85;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-operation-safety-details {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}

.file-operation-safety-details > summary {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    list-style: none;
    cursor: pointer;
    padding: 8px 11px;
}

.file-operation-safety-details > summary::-webkit-details-marker {
    display: none;
}

.file-operation-safety-details > summary:hover,
.file-operation-safety-details > summary:focus-visible {
    background: #f5f8fa;
}

.file-operation-safety-label {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    color: #415564;
    font-size: 12px;
    font-weight: 800;
}

.file-operation-safety-icon {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
    transition: transform 150ms ease;
}

.file-operation-safety-details[open] .file-operation-safety-icon {
    transform: rotate(180deg);
}

.file-operation-safety-body {
    border-top: 1px solid var(--line);
    padding: 0 12px 10px;
}

.file-operation-facts {
    display: grid;
    margin: 0;
    border-top: 1px solid var(--line);
}

.file-operation-facts > div {
    display: grid;
    min-width: 0;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding: 10px 2px;
}

.file-operation-facts dt {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.file-operation-facts dd {
    min-width: 0;
    margin: 0;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.file-operation-facts .file-operation-blocker dd {
    color: var(--danger);
    font-family: inherit;
}

.file-operation-warning-list {
    padding: 14px 2px 4px;
}

.file-operation-source-list {
    margin-top: 10px;
}

.file-operation-source-list > strong {
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 1px solid #e2e8ec;
    background: #fbfcfd;
}

.file-operation-warning-list strong {
    font-size: 12px;
}

.file-operation-warning-list ul {
    margin: 8px 0 0;
    color: #526372;
    padding-left: 20px;
    font-size: 12px;
    line-height: 1.6;
}

.file-batch-transfer-list,
.file-batch-plan-list {
    display: grid;
    min-width: 0;
    border-top: 1px solid var(--line);
}

.file-batch-target-directory {
    display: flex;
    min-width: 0;
    min-height: 58px;
    align-items: center;
    gap: 12px;
    border: 1px solid #cbd7df;
    border-radius: 6px;
    background: #f6f9fb;
    padding: 9px 10px 9px 13px;
}

.file-batch-target-directory[hidden] {
    display: none;
}

.file-batch-target-directory-copy {
    display: grid;
    min-width: 0;
    flex: 1;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
}

.file-batch-target-directory-copy > span {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.file-batch-target-directory-copy small {
    color: #6f7f8a;
    font-size: 10px;
}

.file-batch-target-directory-copy strong {
    overflow: hidden;
    color: #334b5b;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-batch-target-directory-icon {
    width: 22px;
    height: 22px;
}

.field-optional {
    color: #74848f;
    font-size: 11px;
    font-weight: 500;
}

.file-remote-download-limits {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.file-remote-download-limits span {
    border: 1px solid #c8d5dd;
    border-radius: 4px;
    background: #f7f9fa;
    color: #526673;
    padding: 4px 7px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-remote-download-limits span:nth-child(2) {
    border-color: #bad9c8;
    background: #f2faf5;
    color: #246d48;
}

.file-remote-download-limits span:nth-child(3) {
    border-color: #e4d3aa;
    background: #fffaf0;
    color: #7b611e;
}

.file-remote-download-source {
    display: grid;
    min-width: 0;
    gap: 10px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 14px;
}

.file-remote-download-source:empty {
    display: none;
}

.file-remote-download-source-heading {
    display: grid;
    min-width: 0;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.file-remote-download-source-heading > span:first-child {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #a9c7d8;
    border-radius: 5px;
    background: #edf6fa;
    color: #256d95;
}

.file-remote-download-source-heading > span:first-child svg {
    width: 18px;
    height: 18px;
}

.file-remote-download-source-heading > div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.file-remote-download-source-heading strong,
.file-remote-download-source-heading div > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-remote-download-source-heading strong {
    font-size: 13px;
}

.file-remote-download-source-heading div > span {
    color: #74848f;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-remote-download-facts {
    display: grid;
    min-width: 0;
    margin: 0;
}

.file-remote-download-facts > div {
    display: grid;
    min-width: 0;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    border-top: 1px solid #edf1f3;
    padding: 7px 2px;
}

.file-remote-download-facts dt {
    color: #74848f;
    font-size: 11px;
    font-weight: 700;
}

.file-remote-download-facts dd {
    min-width: 0;
    overflow: hidden;
    margin: 0;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-batch-transfer-list {
    max-height: min(430px, 52dvh);
    overflow-y: auto;
}

.file-batch-transfer-item {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(180px, 1fr) 24px minmax(210px, 1fr);
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    padding: 11px 2px;
}

.file-batch-transfer-item.delete,
.file-batch-transfer-item.upload,
.file-batch-transfer-item.permission {
    grid-template-columns: minmax(0, 1fr) auto;
}

.file-batch-transfer-item.delete > .status,
.file-batch-transfer-item.upload > .status,
.file-batch-transfer-item.permission > .status {
    align-self: center;
    white-space: nowrap;
}

.file-batch-permission-editor {
    display: grid;
    min-width: 0;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 14px 2px 16px;
}

.file-batch-permission-option {
    display: grid;
    min-width: 0;
    gap: 11px;
    border: 1px solid #d5dee4;
    border-radius: 6px;
    background: #f8fafb;
    padding: 11px 12px 12px;
}

.file-batch-permission-option.active {
    border-color: #a9c7d8;
    background: #f4f9fc;
}

.file-batch-permission-toggle {
    justify-self: start;
    font-weight: 700;
}

.file-batch-permission-option:not(.active) > .field,
.file-batch-permission-option:not(.active) > .file-permission-mode-row,
.file-batch-permission-option:not(.active) > .file-permission-matrix {
    opacity: 0.62;
}

.file-batch-permission-principals {
    align-items: start;
}

.file-batch-permission-targets {
    display: grid;
    min-width: 0;
}

.file-batch-rename-editor {
    display: grid;
    min-width: 0;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 14px 2px 16px;
}

.file-batch-rename-modes {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    border: 1px solid #cbd7df;
    border-radius: 6px;
    padding: 0;
    overflow: hidden;
}

.file-batch-rename-modes legend {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.file-batch-rename-modes label {
    min-width: 0;
    cursor: pointer;
}

.file-batch-rename-modes label + label {
    border-left: 1px solid #cbd7df;
}

.file-batch-rename-modes input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.file-batch-rename-modes span {
    display: flex;
    min-width: 0;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    background: #f6f8fa;
    color: #506472;
    padding: 7px 9px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.file-batch-rename-modes input:checked + span {
    background: #e8f3f8;
    color: #155f83;
}

.file-batch-rename-modes input:focus-visible + span {
    outline: 2px solid #267ca3;
    outline-offset: -2px;
}

.file-batch-rename-fields {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.file-batch-rename-fields.sequence {
    grid-template-columns: minmax(0, 1fr) 110px 90px;
}

.file-batch-rename-fields[hidden] {
    display: none;
}

.file-batch-rename-options {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.file-batch-rename-option-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
}

.file-batch-rename-summary {
    min-width: 0;
    max-width: 62%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-batch-rename-targets {
    display: grid;
    min-width: 0;
}

.file-batch-transfer-item.rename {
    grid-template-columns: minmax(150px, 1fr) 24px minmax(170px, 1fr);
}

.file-batch-transfer-item.rename.invalid {
    background: #fff8f7;
}

.file-batch-transfer-item.rename.unchanged {
    background: #fafbfc;
}

.file-batch-rename-target {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 32px auto;
    align-items: center;
    gap: 8px;
}

.file-batch-rename-target-input {
    min-width: 0;
    width: 100%;
    height: 34px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
}

.file-batch-rename-target-input[aria-invalid="true"] {
    border-color: #c94d45;
    background: #fff8f7;
}

.file-batch-rename-reset {
    width: 32px;
    height: 32px;
}

.file-batch-rename-target > .status {
    max-width: min(250px, 26vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-batch-transfer-item.permission > .status {
    max-width: min(320px, 40vw);
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-batch-upload-progress {
    display: grid;
    gap: 9px;
    border: 1px solid #bfd0dc;
    border-radius: 6px;
    background: #f5f9fc;
    padding: 12px 14px;
}

.file-batch-upload-progress[hidden] {
    display: none;
}

.file-batch-upload-progress[data-phase="processing"] {
    border-color: #b8d2c1;
    background: #f3f8f4;
}

.file-batch-upload-head,
.file-batch-upload-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.file-batch-upload-head strong {
    color: #2d4353;
    font-size: 12px;
}

.file-batch-upload-head span,
.file-batch-upload-meta > span {
    min-width: 0;
    color: #617382;
    font-size: 11px;
}

.file-batch-upload-meta > span {
    overflow: hidden;
    font-family: "SFMono-Regular", Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-batch-upload-meter {
    width: 100%;
    height: 10px;
    accent-color: #347eb2;
}

.file-batch-upload-progress[data-phase="processing"] .file-batch-upload-meter {
    accent-color: #3b875b;
}

.file-batch-transfer-source,
.file-batch-plan-item > div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.file-batch-transfer-source strong,
.file-batch-plan-item strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-batch-transfer-source span,
.file-batch-plan-item span:not(.status) {
    overflow: hidden;
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-batch-transfer-arrow {
    color: #6d7d88;
    text-align: center;
}

.file-batch-transfer-target {
    min-width: 0;
}

.file-batch-transfer-target > span {
    font-size: 11px;
}

.file-batch-transfer-target input {
    width: 100%;
}

.file-operation-batch-blocker {
    border-left: 3px solid var(--danger);
    background: #fff3f2;
    color: #a52d25;
    padding: 9px 11px;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.file-batch-plan-list {
    max-height: min(330px, 40dvh);
    overflow-y: auto;
}

.file-batch-plan-item {
    display: grid;
    min-width: 0;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    padding: 9px 2px;
}

.file-batch-plan-item .status {
    justify-self: start;
}

.file-batch-plan-item em {
    color: var(--danger);
    font-size: 11px;
    font-style: normal;
    overflow-wrap: anywhere;
}

.file-operation-plan[hidden],
.file-batch-task-progress[hidden],
.file-operation-confirmation-fields[hidden] {
    display: none;
}

.file-batch-task-progress {
    display: grid;
    min-width: 0;
    gap: 12px;
}

.file-batch-task-loading {
    min-height: 120px;
    display: grid;
    place-items: center;
    color: var(--muted);
    font-size: 12px;
}

.file-batch-task-loading.bad {
    color: var(--danger);
}

.file-batch-task-head,
.file-batch-task-head > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.file-batch-task-head {
    justify-content: space-between;
}

.file-batch-task-head > strong {
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 13px;
}

.file-batch-task-meter {
    width: 100%;
    height: 8px;
    overflow: hidden;
    border: 0;
    border-radius: 4px;
    background: #e6ebef;
    accent-color: #2f8a55;
}

.file-batch-task-meter::-webkit-progress-bar {
    border-radius: 4px;
    background: #e6ebef;
}

.file-batch-task-meter::-webkit-progress-value {
    border-radius: 4px;
    background: #2f8a55;
}

.file-batch-task-meter::-moz-progress-bar {
    border-radius: 4px;
    background: #2f8a55;
}

.file-batch-task-counts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.file-batch-task-counts span {
    min-width: 0;
    border-right: 1px solid var(--line);
    color: var(--muted);
    padding: 8px 10px;
    font-size: 11px;
    text-align: center;
}

.file-batch-task-counts span:last-child {
    border-right: 0;
}

.file-batch-task-counts strong {
    color: var(--text);
    font-size: 13px;
}

.file-batch-task-list {
    display: grid;
    max-height: min(360px, 44dvh);
    min-width: 0;
    overflow-y: auto;
    border-top: 1px solid var(--line);
}

.file-batch-task-item {
    display: grid;
    min-width: 0;
    grid-template-columns: 24px 72px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    border-bottom: 1px solid var(--line);
    padding: 9px 2px;
}

.file-batch-task-item.resumable:hover {
    background: #f4f8fa;
}

.file-batch-task-item input,
.file-batch-task-check {
    width: 16px;
    height: 16px;
    justify-self: center;
}

.file-batch-task-item-main {
    display: grid;
    min-width: 0;
    gap: 3px;
}

label.file-batch-task-item-main {
    cursor: pointer;
}

.file-batch-task-item-main strong,
.file-batch-task-item-path {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-batch-task-item-main strong {
    font-size: 12px;
}

.file-batch-task-item-path {
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-batch-task-item-reason {
    color: var(--danger);
    font-size: 11px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.file-batch-task-item-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.file-batch-task-item-actions .secondary-btn {
    min-height: 28px;
    padding: 0 9px;
    font-size: 11px;
}

.file-operation-confirmation-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    border-top: 1px solid var(--line);
    padding-top: 16px;
}

.file-operation-result {
    max-height: 180px;
    margin: 0;
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #f6f8f9;
    padding: 12px;
    font-size: 11px;
    white-space: pre-wrap;
}

.file-operation-result:empty {
    display: none;
}

.file-operation-actions {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 8px;
    border-top: 1px solid var(--line);
    padding-top: 14px;
}

.file-operation-toast {
    position: fixed;
    z-index: 1400;
    right: 24px;
    bottom: 24px;
    display: grid;
    width: min(610px, calc(100vw - 32px));
    min-width: 0;
    grid-template-columns: 34px minmax(0, 1fr) auto 34px;
    grid-template-areas: "icon copy actions close";
    align-items: center;
    gap: 10px;
    border: 1px solid #9fc4ad;
    border-radius: 8px;
    background: #f5fbf7;
    box-shadow: 0 16px 36px rgba(31, 49, 41, 0.2);
    color: #234334;
    padding: 12px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 160ms ease, transform 160ms ease;
}

.file-operation-toast.pending {
    border-color: #9cbccf;
    background: #f3f8fb;
    color: #24465a;
}

.file-operation-toast.visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.file-operation-toast.leaving {
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
}

.file-operation-toast-icon {
    grid-area: icon;
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #dcefe3;
    color: #28734c;
}

.file-operation-toast.pending .file-operation-toast-icon {
    background: #dbeaf3;
    color: #2a6688;
}

.file-operation-toast-icon .file-command-icon {
    width: 17px;
    height: 17px;
}

.file-operation-toast-copy {
    grid-area: copy;
    min-width: 0;
}

.file-operation-toast-copy strong,
.file-operation-toast-copy span,
.file-operation-toast-copy small {
    display: block;
    min-width: 0;
}

.file-operation-toast-copy strong {
    font-size: 13px;
}

.file-operation-toast-copy span,
.file-operation-toast-copy small {
    overflow: hidden;
    margin-top: 3px;
    color: #5d7568;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-operation-toast.pending .file-operation-toast-copy span,
.file-operation-toast.pending .file-operation-toast-copy small {
    color: #607b8b;
}

.file-operation-toast-actions {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.file-operation-toast-actions:empty {
    display: none;
}

.file-operation-toast-actions .file-command-button {
    min-height: 30px;
    padding: 0 9px;
    font-size: 11px;
    white-space: nowrap;
}

.file-operation-toast-actions .file-command-icon {
    width: 14px;
    height: 14px;
}

.file-operation-toast > .icon-btn {
    grid-area: close;
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    align-self: start;
    border-color: transparent;
    background: transparent;
}

.workbench-footer {
    display: flex;
    gap: 12px;
    min-height: 38px;
    align-items: center;
    border-top: 1px solid var(--line);
    background: var(--surface-soft);
    color: var(--muted);
    padding: 7px 12px;
    font-size: 12px;
}

.file-footer-summary {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
}

.file-load-more-host {
    display: contents;
}

.file-load-status {
    color: #7b5b16;
}

.file-system-space {
    display: grid;
    min-width: 310px;
    flex: 0 1 390px;
    grid-template-columns: minmax(0, 1fr) 96px;
    align-items: center;
    gap: 10px;
    font-variant-numeric: tabular-nums;
}

.file-system-space-label {
    min-width: 0;
    overflow: hidden;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-system-space-meter {
    display: block;
    height: 6px;
    overflow: hidden;
    border-radius: 3px;
    background: #d8e0e5;
}

.file-system-space-meter > span {
    display: block;
    width: clamp(0%, var(--file-system-used, 0%), 100%);
    height: 100%;
    border-radius: inherit;
    background: currentColor;
    transition: width 160ms ease;
}

.file-system-space[data-level="normal"] {
    color: #256a4a;
}

.file-system-space[data-level="warning"] {
    color: #7b5b16;
    font-weight: 700;
}

.file-system-space[data-level="danger"] {
    color: #a02c32;
    font-weight: 700;
}

.file-system-space[data-level="unavailable"] {
    color: var(--muted);
}

.file-system-space[data-level="unavailable"] .file-system-space-meter {
    opacity: 0.45;
}

.file-typeahead-status {
    max-width: min(360px, 42vw);
    overflow: hidden;
    color: #245776;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-typeahead-status:empty {
    display: none;
}

.file-load-status:empty {
    display: none;
}

.file-inspector {
    position: relative;
    display: none;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #fbfcfd;
}

.file-workbench.inspector-open .file-inspector {
    display: block;
}

.file-workbench .file-inspector[aria-hidden="true"] {
    display: none;
}

.file-inspector-scroll {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
}

.inspector-header {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: #fbfcfd;
    padding: 10px 12px;
}

.inspector-header > div {
    min-width: 0;
    flex: 1;
}

.file-inspector-toggle[aria-expanded="true"] {
    border-color: #8bb6d6;
    background: #e9f3fa;
    color: #245b84;
}

.inspector-header strong,
.inspector-header span {
    display: block;
}

.inspector-header span {
    max-width: 330px;
    overflow: hidden;
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-inspector-summary-host:focus-visible {
    outline: 2px solid #4d8a67;
    outline-offset: -2px;
}

.file-inspector-summary {
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 14px 12px 16px;
}

.file-inspector-identity {
    display: grid;
    min-width: 0;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.file-entry-icon.file-inspector-identity-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    justify-self: center;
}

.file-inspector-identity-copy {
    min-width: 0;
}

.file-inspector-identity-copy strong,
.file-inspector-identity-copy span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-inspector-identity-copy strong {
    margin-top: 2px;
    color: #263743;
    font-size: 14px;
}

.file-inspector-identity-copy span:last-child {
    margin-top: 3px;
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-inspector-identity-copy .file-inspector-kicker {
    color: #527064;
    font-family: inherit;
    font-size: 10px;
    font-weight: 800;
}

.file-inspector-identity > .status {
    align-self: start;
    white-space: nowrap;
}

.file-inspector-metadata {
    display: grid;
    margin: 14px 0 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.file-inspector-metadata > div {
    min-width: 0;
    border-top: 1px solid #edf0f2;
    padding: 8px 8px 7px 0;
}

.file-inspector-metadata > div:nth-child(even) {
    padding-right: 0;
    padding-left: 8px;
}

.file-inspector-metadata dt {
    color: #7a8790;
    font-size: 10px;
}

.file-inspector-metadata dd {
    min-width: 0;
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    color: #33434f;
    font-size: 12px;
    font-weight: 700;
}

.file-inspector-actions {
    display: flex;
    min-height: 36px;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
}

.file-inspector-actions .file-menu-trigger {
    margin-left: auto;
}

.file-inspector-preview {
    min-width: 0;
    margin-top: 14px;
    border-top: 1px solid #dfe6ea;
    background: #f7f9fa;
}

.file-inspector-preview > header {
    display: flex;
    min-width: 0;
    min-height: 38px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 9px;
}

.file-inspector-preview > header strong {
    color: #354a58;
    font-size: 12px;
}

.file-inspector-preview > header span {
    min-width: 0;
    overflow: hidden;
    color: #72818b;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-inspector-preview-content {
    max-height: 220px;
    margin: 0;
    overflow: auto;
    border: 1px solid #263640;
    border-radius: 4px;
    background: #1f2b33;
    color: #d6e0e6;
    padding: 10px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    line-height: 1.55;
    overflow-wrap: normal;
    tab-size: 4;
    white-space: pre;
}

.file-inspector-preview-content:focus-visible {
    outline: 2px solid #5b9bc8;
    outline-offset: -2px;
}

.file-inspector-preview-state {
    display: grid;
    min-height: 82px;
    place-items: center;
    border: 1px solid #dfe6ea;
    border-radius: 4px;
    background: #fff;
    color: #64747f;
    padding: 14px;
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}

.file-inspector-preview-state.loading {
    color: #245776;
}

.file-inspector-preview-state.error {
    border-color: #ebc7c1;
    background: #fff8f6;
    color: #a74137;
}

.file-inspector-preview-state.binary {
    background: #f8fafb;
}

.file-inspector-preview-state.empty {
    color: #7b8790;
}

.file-result {
    min-height: 170px;
    max-height: 300px;
    margin: 12px;
    border-radius: 5px;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
    word-break: break-word;
}

.file-result-section .file-result {
    min-height: 140px;
    margin: 0 12px 12px;
}

.workbench-section {
    border-top: 1px solid var(--line);
    background: #fff;
}

.workbench-section > summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: #2d3c49;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 800;
    list-style: none;
}

.workbench-section > summary::-webkit-details-marker {
    display: none;
}

.workbench-section > summary::before {
    content: "›";
    color: #7e8d99;
    font-size: 18px;
    transform: rotate(0deg);
}

.workbench-section[open] > summary::before {
    transform: rotate(90deg);
}

.workbench-section > form,
.workbench-section > .workbench-list,
.workbench-section > .empty {
    margin: 0 12px 12px;
}

.workbench-section .inline-form,
.workbench-section .inline-form.three,
.workbench-section .inline-form.two {
    grid-template-columns: 1fr;
}

.workbench-section .field input,
.workbench-section .field select,
.workbench-section .field textarea {
    min-height: 36px;
}

.workbench-section .field textarea {
    min-height: 150px;
    font-family: "SFMono-Regular", Consolas, monospace;
    line-height: 1.5;
}

.file-search-workspace {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    background: #fff;
}

.file-search-workspace[hidden] {
    display: none;
}

.file-search-workspace-header {
    display: flex;
    min-width: 0;
    min-height: 52px;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    padding: 7px 10px 7px 12px;
}

.file-search-workspace-header > div {
    min-width: 0;
    flex: 1;
}

.file-search-workspace-header strong,
.file-search-workspace-header > div > span {
    display: block;
}

.file-search-workspace-header strong {
    color: #263640;
    font-size: 13px;
}

.file-search-workspace-header > div > span {
    overflow: hidden;
    margin-top: 2px;
    color: #647580;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-search-workspace-count {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    color: var(--muted);
    font-size: 11px;
    white-space: nowrap;
}

.file-search-workspace-form {
    display: grid;
    min-width: 0;
    grid-template-columns: 178px minmax(190px, 1.2fr) minmax(180px, 1fr) 140px auto;
    align-items: end;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 10px 12px 12px;
}

.file-search-mode-field {
    align-self: end;
}

.file-search-mode-switch {
    display: grid;
    min-width: 0;
    min-height: 36px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #cbd5dc;
    border-radius: 5px;
    background: #f4f7f8;
}

.file-search-mode-switch label {
    position: relative;
    display: grid;
    min-width: 0;
    cursor: pointer;
    place-items: center;
}

.file-search-mode-switch label + label {
    border-left: 1px solid #cbd5dc;
}

.file-search-mode-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.file-search-mode-switch span {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #596b76;
    font-size: 12px;
    font-weight: 700;
}

.file-search-mode-switch input:checked + span {
    background: #fff;
    box-shadow: inset 0 -2px 0 #3f86b6;
    color: #245f87;
}

.file-search-mode-switch input:focus-visible + span {
    outline: 2px solid #397da8;
    outline-offset: -2px;
}

.file-search-mode-hint {
    grid-column: 1 / -1;
    min-width: 0;
    margin-top: -4px;
    color: #6b7d88;
    font-size: 10px;
}

.file-search-workspace-form .field {
    min-width: 0;
}

.file-search-workspace-form input,
.file-search-workspace-form select,
.file-search-submit {
    min-height: 36px;
}

.file-search-submit {
    min-width: 86px;
    justify-content: center;
}

.file-search-results {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
}

.file-search-results[hidden] {
    display: none;
}

.file-search-results-header {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 8px 7px 10px;
}

.file-search-results-header > div {
    min-width: 0;
    flex: 1;
}

.file-search-results-header strong,
.file-search-results-header span {
    display: block;
}

.file-search-results-header strong {
    color: #263640;
    font-size: 12px;
}

.file-search-results-header span {
    overflow: hidden;
    margin-top: 2px;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-search-truncated {
    margin: 0;
    border-width: 1px 0 0;
    border-radius: 0;
    padding: 7px 10px;
    font-size: 11px;
}

.file-search-result-list {
    min-height: 0;
    flex: 1;
    overflow-y: auto;
    border-top: 1px solid var(--line);
}

.file-search-result-row {
    display: grid;
    min-width: 0;
    min-height: 66px;
    grid-template-columns: minmax(0, 1fr) 38px;
    align-items: stretch;
    border-bottom: 1px solid #e7ecef;
}

.file-search-result-row:last-child {
    border-bottom: 0;
}

.file-search-result-open {
    display: grid;
    min-width: 0;
    min-height: 65px;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    padding: 7px 6px 7px 10px;
    text-align: left;
}

.file-search-result-open:hover,
.file-search-result-open:focus-visible {
    background: #edf5f8;
}

.file-search-result-open:focus-visible {
    outline: 2px solid #397da8;
    outline-offset: -2px;
}

.file-search-result-icon {
    width: 20px;
    height: 20px;
    justify-self: center;
}

.file-search-result-content {
    display: block;
    min-width: 0;
}

.file-search-result-content strong,
.file-search-result-path,
.file-search-result-match,
.file-search-result-meta {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-search-result-match {
    display: grid;
    min-width: 0;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: baseline;
    gap: 7px;
    margin-top: 4px;
}

.file-search-result-match b {
    color: #2e759f;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
    font-weight: 800;
}

.file-search-result-match-count {
    color: #4d6d5a;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.file-search-result-match code {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #3f505a;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: pre;
}

.file-search-result-content strong {
    color: #24343f;
    font-size: 12px;
}

.file-search-result-path {
    margin-top: 2px;
    color: #647580;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-search-result-meta {
    margin-top: 3px;
    color: #71808a;
    font-size: 10px;
}

.file-search-result-locate {
    width: 30px;
    height: 30px;
    align-self: center;
    justify-self: center;
}

.file-search-state,
.file-search-empty {
    display: grid;
    min-height: 120px;
    flex: 1;
    place-items: center;
    padding: 18px 12px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

.file-search-state.error {
    color: #a33737;
}

.file-recycle-workspace {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    overflow: hidden;
    background: #fff;
}

.file-recycle-workspace[hidden] {
    display: none;
}

.file-recycle-workspace-header {
    display: flex;
    min-width: 0;
    min-height: 56px;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    padding: 8px 10px 8px 14px;
}

.file-recycle-workspace-header > div {
    min-width: 0;
    flex: 1;
}

.file-recycle-workspace-header strong,
.file-recycle-workspace-header > div > span {
    display: block;
}

.file-recycle-workspace-header strong {
    color: #263640;
    font-size: 14px;
}

.file-recycle-workspace-header > div > span {
    margin-top: 2px;
    color: #647580;
    font-size: 11px;
}

.file-recycle-workspace-count {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    color: var(--muted);
    font-size: 11px;
    white-space: nowrap;
}

.file-recycle-controls {
    display: flex;
    min-width: 0;
    min-height: 54px;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding: 8px 12px;
}

.file-recycle-filter {
    display: flex;
    min-width: 180px;
    max-width: 460px;
    min-height: 36px;
    flex: 1 1 360px;
    align-items: center;
    gap: 8px;
    border: 1px solid #bdc9d1;
    border-radius: 5px;
    background: #fff;
    padding: 0 10px;
}

.file-recycle-filter:focus-within {
    border-color: #6a9fc4;
    box-shadow: 0 0 0 2px rgb(74 139 181 / 14%);
}

.file-recycle-filter input {
    width: 100%;
    min-width: 0;
    height: 34px;
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0;
}

.file-recycle-tabs {
    display: inline-flex;
    min-width: 0;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid #bdc9d1;
    border-radius: 5px;
    background: #fff;
}

.file-recycle-tabs button {
    min-height: 34px;
    border: 0;
    border-right: 1px solid #d5dde2;
    border-radius: 0;
    background: transparent;
    color: #526572;
    padding: 0 11px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.file-recycle-tabs button:last-child {
    border-right: 0;
}

.file-recycle-tabs button:hover,
.file-recycle-tabs button:focus-visible {
    background: #edf4f8;
}

.file-recycle-tabs button[aria-selected="true"] {
    background: #e4f1f8;
    color: #245f87;
}

.file-recycle-tabs button span {
    margin-left: 3px;
    color: #738591;
    font-size: 10px;
}

.file-recycle-message {
    min-height: 0;
    margin: 0;
    border-radius: 0;
    padding: 0 12px;
}

.file-recycle-message:not(:empty) {
    min-height: 36px;
    border-bottom: 1px solid #c9dfd0;
    background: #f2faf5;
    color: #216d45;
    padding-top: 8px;
    padding-bottom: 8px;
}

.file-recycle-results {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    background: #fff;
}

.file-recycle-row {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(230px, 1.15fr) minmax(350px, 1.35fr) auto auto;
    align-items: center;
    gap: 10px 16px;
    border-bottom: 1px solid #e4eaee;
    padding: 10px 12px 0;
}

.file-recycle-row:hover {
    background: #fafcfd;
}

.file-recycle-row.is-restored {
    background: #fbfcfc;
}

.file-recycle-identity {
    display: grid;
    min-width: 0;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
}

.file-recycle-icon {
    width: 22px;
    height: 22px;
    color: #557589;
}

.file-recycle-identity strong,
.file-recycle-identity span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-recycle-identity strong {
    color: #263640;
    font-size: 13px;
}

.file-recycle-identity span {
    margin-top: 3px;
    color: #697b87;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-recycle-meta {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(116px, 0.8fr) minmax(140px, 1fr) minmax(120px, 1fr);
    gap: 12px;
}

.file-recycle-meta > span,
.file-recycle-meta > span > span {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #526572;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-recycle-meta small {
    display: block;
    margin-bottom: 3px;
    color: #89959d;
    font-size: 9px;
}

.file-recycle-state {
    display: grid;
    justify-items: start;
    gap: 4px;
}

.file-recycle-state small {
    color: #7b8992;
    font-size: 9px;
    white-space: nowrap;
}

.file-recycle-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.file-recycle-actions button {
    min-height: 32px;
    padding: 0 9px;
}

.file-recycle-detail {
    grid-column: 1 / -1;
    min-width: 0;
    margin: 0 -12px;
    border-top: 1px solid transparent;
}

.file-recycle-detail[open] {
    border-top-color: #e5ebef;
    background: #f8fafb;
}

.file-recycle-detail > summary {
    display: flex;
    width: max-content;
    min-height: 30px;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    color: #657680;
    padding: 0 12px;
    font-size: 10px;
    font-weight: 700;
    list-style: none;
}

.file-recycle-detail > summary::-webkit-details-marker {
    display: none;
}

.file-recycle-detail > summary .file-command-icon {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
}

.file-recycle-detail dl {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 7px 10px;
    margin: 0;
    border-top: 1px solid #e5ebef;
    padding: 10px 12px 12px;
    font-size: 10px;
}

.file-recycle-detail dt {
    color: #7a8992;
    font-weight: 700;
}

.file-recycle-detail dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #425460;
    font-family: "SFMono-Regular", Consolas, monospace;
}

.file-recycle-empty {
    display: grid;
    min-height: 160px;
    place-items: center;
    margin: 0;
    border: 0;
    color: var(--muted);
}

.file-recycle-restore-dialog {
    width: min(620px, calc(100vw - 32px));
    max-height: min(720px, calc(100dvh - 32px));
}

.file-recycle-restore-form {
    display: grid;
    min-height: 0;
    gap: 14px;
    overflow-y: auto;
    padding: 16px 18px 18px;
}

.file-recycle-restore-summary {
    display: grid;
    min-width: 0;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 14px;
}

.file-recycle-restore-identity {
    display: grid;
    min-width: 0;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.file-recycle-restore-icon {
    width: 26px;
    height: 26px;
    color: #4e7085;
}

.file-recycle-restore-identity strong,
.file-recycle-restore-identity span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-recycle-restore-identity strong {
    color: #263640;
    font-size: 14px;
}

.file-recycle-restore-identity span {
    margin-top: 3px;
    color: #687985;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.file-recycle-restore-summary dl {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px 12px;
    margin: 0;
    font-size: 11px;
}

.file-recycle-restore-summary dt {
    color: #7a8992;
}

.file-recycle-restore-summary dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #40525e;
}

.file-recycle-restore-plan {
    min-height: 132px;
    max-height: 230px;
    margin: 0;
    overflow: auto;
    border: 1px solid #cdd7dd;
    border-radius: 5px;
    background: #f7f9fa;
    color: #334651;
    padding: 11px 12px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.file-recycle-password-field input {
    min-height: 38px;
}

.file-recycle-restore-form .file-operation-actions {
    margin-top: 2px;
}

.file-draft-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

[data-file-draft-group][hidden] {
    display: none;
}

.section-count {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 11px;
    background: #e8eef3;
    color: #526474;
    font-size: 11px;
}

.workbench-list {
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #fff;
}

.workbench-list-item {
    display: grid;
    gap: 7px;
    border-bottom: 1px solid var(--line);
    padding: 10px;
}

.workbench-list-item:last-child {
    border-bottom: 0;
}

.workbench-list-main {
    min-width: 0;
}

.workbench-list-main strong,
.workbench-list-main span {
    display: block;
}

.workbench-list-main strong {
    font-size: 13px;
}

.workbench-list-main span {
    overflow: hidden;
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workbench-list-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: var(--muted);
    font-size: 11px;
}

.file-audit-filter-toolbar {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 12px 10px;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #f7f9fa;
    padding: 10px;
}

.file-audit-filter-toolbar .field,
.file-audit-filter-range {
    min-width: 0;
}

.file-audit-filter-toolbar input,
.file-audit-filter-toolbar select {
    width: 100%;
    min-width: 0;
}

.file-audit-filter-query,
.file-audit-filter-range,
.file-audit-filter-footer {
    grid-column: 1 / -1;
}

.file-audit-filter-range {
    margin: 0;
    border: 0;
    padding: 0;
}

.file-audit-filter-range legend {
    margin-bottom: 6px;
    color: #445763;
    font-size: 12px;
    font-weight: 700;
}

.file-audit-filter-footer {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.file-audit-filter-footer > span {
    min-width: 0;
    color: var(--muted);
    font-size: 11px;
    overflow-wrap: anywhere;
}

.file-audit-filter-footer .secondary-btn {
    min-height: 34px;
    flex: 0 0 auto;
}

.file-audit-filter-results {
    min-width: 0;
    margin: 0 12px 12px;
}

.file-audit-filter-results > .empty {
    margin: 0;
}

@media (max-width: 390px) {
    .file-audit-filter-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .file-audit-filter-query,
    .file-audit-filter-range,
    .file-audit-filter-footer {
        grid-column: auto;
    }
}

.empty.compact {
    padding: 10px;
}

.file-empty {
    display: flex;
    min-width: 0;
    min-height: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    overflow: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    padding: 32px 24px;
    color: var(--muted);
    text-align: center;
}

.file-empty-icon.file-command-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    color: #b27a15;
}

.file-empty strong {
    color: var(--text);
    font-size: 15px;
}

.file-empty-path {
    max-width: min(620px, 90%);
    overflow: hidden;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-empty-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.file-empty-actions .file-command-button {
    min-width: 108px;
}

.file-empty-access {
    margin-top: 6px;
}

.terminal-statusbar {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid var(--line);
    padding: 5px 8px;
}

body.terminal-focus-active {
    overflow: hidden;
}

.terminal-workbench.terminal-focus-mode {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    width: auto;
    height: 100dvh;
    grid-template-rows: auto minmax(0, 1fr);
    border: 0;
    border-radius: 0;
}

.terminal-focus-mode .terminal-workspace {
    height: auto;
    min-height: 0;
}

.terminal-focus-mode .terminal-console-pane,
.terminal-focus-mode .terminal-interactive-pane {
    min-height: 0;
}

.terminal-focus-toggle[aria-pressed="true"] {
    border-color: #8bb6d6;
    background: #e9f3fa;
    color: #245b84;
}

.terminal-identity,
.terminal-status-items {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
}

.terminal-diagnostics-refresh {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    flex: 0 0 32px;
    padding: 0;
}

.terminal-diagnostics-refresh.busy .terminal-diagnostics-refresh-icon {
    animation: terminal-diagnostics-spin 900ms linear infinite;
}

@keyframes terminal-diagnostics-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .terminal-diagnostics-refresh.busy .terminal-diagnostics-refresh-icon {
        animation: none;
    }
}

.terminal-mode-switch {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    border: 1px solid #cbd5dc;
    border-radius: 5px;
    background: #eef2f5;
    padding: 2px;
}

.terminal-mode-switch button {
    min-height: 28px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #5b6973;
    padding: 0 11px;
    font-size: 12px;
    font-weight: 700;
}

.terminal-mode-switch button:hover {
    color: #214e79;
}

.terminal-mode-switch button.active {
    background: #fff;
    color: #174f83;
    box-shadow: 0 1px 3px rgba(25, 43, 57, 0.16);
}

.terminal-identity strong {
    display: block;
    line-height: 1.2;
    font-size: 12px;
}

.terminal-state-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: var(--amber);
    box-shadow: 0 0 0 3px rgba(193, 123, 19, 0.14);
}

.terminal-state-dot.online {
    background: var(--green);
    box-shadow: 0 0 0 3px rgba(46, 186, 87, 0.14);
}

.terminal-status-text {
    color: var(--muted);
    font-size: 12px;
    white-space: nowrap;
}

.terminal-clear {
    font-size: 20px;
    font-weight: 400;
}

.terminal-command-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    color: currentColor;
}

.terminal-command-icon.terminal-control-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.terminal-command-label {
    min-width: 0;
}

.terminal-workspace {
    display: grid;
    height: calc(100vh - 128px);
    height: max(580px, calc(100dvh - 128px));
    min-height: 0;
    grid-template-columns: minmax(500px, 1fr) 330px;
}

.terminal-interactive-workspace {
    position: relative;
    grid-template-columns: minmax(0, 1fr);
}

.terminal-interactive-workspace.terminal-utility-open {
    grid-template-columns: minmax(0, 1fr) var(--terminal-utility-width, 360px);
}

body.terminal-utility-resizing,
body.terminal-utility-resizing * {
    cursor: col-resize !important;
    user-select: none !important;
}

.terminal-console-pane {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: minmax(0, 1fr) auto;
    background: #101820;
}

.terminal-interactive-pane {
    position: relative;
    isolation: isolate;
    container-name: terminal-pane;
    container-type: inline-size;
    grid-template-rows: 43px minmax(0, 1fr) 34px;
}

.terminal-session-tabs-bar {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #2a3742;
    background: #101820;
    padding: 5px 8px 4px;
}

.terminal-session-tabs {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 4px;
    overflow-x: auto;
    scrollbar-color: #435462 #101820;
    scrollbar-width: thin;
}

.terminal-session-parking {
    position: fixed;
    z-index: -1;
    top: 0;
    left: -200vw;
    display: grid;
    min-width: 1px;
    min-height: 1px;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
}

.terminal-session-tab-tools {
    display: flex;
    align-items: center;
    gap: 4px;
}

.terminal-session-tab-tools .icon-btn {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    border-color: #435462;
    background: #1d2a34;
    color: #dce7ee;
    line-height: 1;
}

.terminal-session-tab-tools .terminal-session-utility {
    width: auto;
    min-width: 32px;
    gap: 6px;
    padding: 0 9px;
}

.terminal-session-tab-tools .terminal-session-labelled-tool {
    width: 32px;
    min-width: 32px;
    gap: 6px;
    padding: 0;
}

.terminal-session-primary-connect {
    display: inline-flex;
    min-width: 70px;
    height: 32px;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #4f87b4;
    border-radius: 4px;
    background: #214e73;
    color: #e8f4fd;
    padding: 0 10px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.terminal-session-primary-connect:hover:not(:disabled),
.terminal-session-primary-connect:focus-visible {
    border-color: #78add7;
    outline: none;
    background: #29618f;
    color: #fff;
}

.terminal-session-primary-connect[hidden] {
    display: none;
}

.terminal-session-tool-label,
.terminal-session-utility-label {
    display: none;
    overflow: hidden;
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-new {
    font-size: 20px;
}

.terminal-session-tab-tools .icon-btn:hover:not(:disabled) {
    background: #263641;
}

.terminal-session-tab-tools .terminal-session-disconnect:hover:not(:disabled),
.terminal-session-tab-tools .terminal-session-disconnect:focus-visible {
    border-color: #9d5259;
    background: #43272d;
    color: #ffc0c4;
}

.terminal-session-split[aria-pressed="true"] {
    border-color: #5b9dde;
    background: #263641;
    color: #8fc4f4;
    box-shadow: inset 0 -2px 0 #5b9dde;
}

.terminal-session-utility.active,
.terminal-session-settings.active {
    border-color: #5b9dde;
    background: #263641;
    color: #8fc4f4;
    box-shadow: inset 0 -2px 0 #5b9dde;
}

.terminal-utility-toggle-icon {
    transform: scaleX(-1);
}

@container terminal-pane (min-width: 1120px) {
    .terminal-session-tab-tools .terminal-session-labelled-tool {
        width: auto;
        min-width: 62px;
        padding: 0 9px;
    }

    .terminal-session-tool-label {
        display: inline;
    }
}

.terminal-session-tab-tools .icon-btn:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.terminal-session-utility-panel {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: 52px 40px minmax(0, 1fr);
    overflow: hidden;
    border-left: 1px solid #cbd5dc;
    background: #f7f9fa;
    color: #263845;
}

.terminal-session-utility-resizer {
    position: absolute;
    z-index: 4;
    top: 0;
    bottom: 0;
    left: 0;
    width: 9px;
    border: 0;
    outline: none;
    cursor: col-resize;
    touch-action: none;
}

.terminal-session-utility-resizer::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    background: #cbd5dc;
    content: "";
}

.terminal-session-utility-resizer:hover::before,
.terminal-session-utility-resizer:focus-visible::before,
.terminal-session-utility-resizer.active::before {
    width: 3px;
    background: #4385bb;
}

.terminal-session-utility-panel[hidden],
.terminal-session-utility-backdrop[hidden],
.terminal-session-utility-files[hidden],
.terminal-session-utility-body[hidden] {
    display: none;
}

.terminal-session-utility-backdrop {
    display: none;
}

.terminal-session-utility-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #d8e0e5;
    padding: 7px 9px 7px 12px;
}

.terminal-session-utility-header > div {
    min-width: 0;
}

.terminal-session-utility-header strong,
.terminal-session-utility-header span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-utility-header strong {
    font-size: 13px;
}

.terminal-session-utility-header span {
    margin-top: 2px;
    color: #6d7b85;
    font-size: 10px;
}

.terminal-session-utility-header .icon-btn {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    flex: 0 0 32px;
}

.terminal-utility-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    border-bottom: 1px solid #d8e0e5;
    background: #eef3f5;
    padding: 5px 8px;
}

.terminal-utility-tabs button {
    min-width: 0;
    min-height: 29px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #536874;
    font-size: 11px;
    font-weight: 700;
}

.terminal-utility-tabs button:hover,
.terminal-utility-tabs button:focus-visible {
    outline: none;
    background: #e1e9ee;
    color: #29485d;
}

.terminal-utility-tabs button.active {
    background: #ffffff;
    color: #17679b;
    box-shadow: 0 1px 3px rgba(30, 57, 73, 0.15);
}

.terminal-session-utility-files {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: auto auto auto auto minmax(0, 1fr) 36px;
    overflow: hidden;
    background: #ffffff;
}

.terminal-utility-file-drop-overlay {
    position: absolute;
    z-index: 8;
    inset: 8px;
    display: grid;
    min-width: 0;
    align-content: center;
    justify-items: center;
    gap: 8px;
    overflow: hidden;
    border: 2px dashed #3c8b5e;
    border-radius: 6px;
    background: rgba(247, 252, 249, 0.97);
    color: #205e3b;
    padding: 20px;
    pointer-events: none;
    text-align: center;
}

.terminal-utility-file-drop-overlay[hidden] {
    display: none;
}

.terminal-utility-file-drop-overlay.blocked {
    border-color: #c95050;
    background: rgba(255, 249, 249, 0.98);
    color: #963d44;
}

.terminal-utility-file-drop-icon {
    width: 28px;
    height: 28px;
}

.terminal-utility-file-drop-overlay strong,
.terminal-utility-file-drop-path {
    display: block;
    max-width: 100%;
}

.terminal-utility-file-drop-overlay strong {
    font-size: 13px;
}

.terminal-utility-file-drop-path {
    overflow: hidden;
    color: #62766a;
    font: 10px/1.4 "SFMono-Regular", Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-utility-file-drop-overlay.blocked .terminal-utility-file-drop-path {
    color: #8a6064;
}

.terminal-utility-file-navigation,
.terminal-utility-file-toolbar {
    display: grid;
    min-width: 0;
    align-items: center;
    gap: 4px;
    border-bottom: 1px solid #e0e6ea;
    background: #f7f9fa;
    padding: 6px 8px;
}

.terminal-utility-file-navigation {
    grid-template-columns: repeat(4, 28px) minmax(0, 1fr);
}

.terminal-utility-file-toolbar {
    grid-template-columns: minmax(0, 1fr) repeat(3, 28px);
    padding-top: 5px;
    padding-bottom: 5px;
}

.terminal-utility-file-writebar {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid #e0e6ea;
    background: #ffffff;
    padding: 6px 8px;
}

.terminal-utility-file-write-button {
    display: inline-flex;
    min-width: 0;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 4px;
    padding: 5px 8px;
    font-size: 11px;
}

.terminal-utility-file-write-button .terminal-command-icon {
    width: 14px;
    min-width: 14px;
    height: 14px;
}

.terminal-utility-file-write-button .terminal-command-caret-icon {
    width: 12px;
    min-width: 12px;
    height: 12px;
    margin-left: auto;
}

.terminal-utility-file-write-button .terminal-command-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-utility-file-navigation > .icon-btn,
.terminal-utility-file-toolbar .icon-btn,
.terminal-utility-file-actions .icon-btn {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 5px;
}

.terminal-utility-file-path-control {
    position: relative;
    min-width: 0;
}

.terminal-utility-file-path-form {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 28px;
    align-items: center;
    height: 28px;
    border: 1px solid #c7d2d9;
    border-radius: 4px;
    background: #ffffff;
    overflow: hidden;
}

.terminal-utility-file-path-control.path-suggestions-open {
    z-index: 40;
}

.terminal-utility-file-path-suggestions {
    top: 34px;
    right: 0;
    left: auto;
    width: min(320px, calc(100vw - 32px));
    max-height: min(264px, calc(100dvh - 190px));
}

.terminal-utility-file-path-suggestions .path-suggestion-option {
    min-height: 40px;
    padding: 4px 7px;
}

.terminal-utility-file-path-form:focus-within {
    border-color: #2e78ad;
    box-shadow: 0 0 0 2px rgba(46, 120, 173, 0.14);
}

.terminal-utility-file-path-form input {
    width: 100%;
    min-width: 0;
    height: 26px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #435966;
    padding: 3px 6px;
    font: 10px/1.35 "SFMono-Regular", Consolas, monospace;
}

.terminal-utility-file-path-form input[aria-invalid="true"] {
    color: #9f4148;
}

.terminal-utility-file-path-form .icon-btn {
    width: 28px;
    min-width: 28px;
    height: 26px;
    min-height: 26px;
    border: 0;
    border-left: 1px solid #d6dfe4;
    border-radius: 0;
    background: #f3f6f8;
    padding: 5px;
}

.terminal-utility-file-filter-field {
    display: grid;
    min-width: 0;
    grid-template-columns: 16px minmax(0, 1fr) 24px;
    align-items: center;
    height: 28px;
    border: 1px solid #d0d9df;
    border-radius: 4px;
    background: #ffffff;
    color: #70818b;
    padding-left: 6px;
}

.terminal-utility-file-filter-field:focus-within {
    border-color: #2e78ad;
    box-shadow: 0 0 0 2px rgba(46, 120, 173, 0.12);
}

.terminal-utility-file-filter-field > .terminal-control-icon {
    width: 14px;
    height: 14px;
}

.terminal-utility-file-filter-field input {
    width: 100%;
    min-width: 0;
    height: 26px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #314b5a;
    padding: 3px 5px;
    font-size: 10px;
}

.terminal-utility-file-filter-field input::-webkit-search-cancel-button {
    display: none;
}

.terminal-utility-file-filter-field .icon-btn {
    width: 24px;
    min-width: 24px;
    height: 26px;
    min-height: 26px;
    border: 0;
    background: transparent;
    padding: 5px;
}

.terminal-utility-file-navigation .loading .terminal-control-icon {
    animation: terminal-file-open-spin 700ms linear infinite;
}

.terminal-utility-file-message {
    min-width: 0;
    border-bottom: 1px solid #e4e9ec;
    background: #f5f8fa;
    color: #536b78;
    padding: 6px 10px;
    font-size: 10px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.terminal-utility-file-message:empty {
    display: none;
}

.terminal-utility-file-list {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: #b6c3cb #f7f9fa;
    scrollbar-width: thin;
}

.terminal-utility-file-row {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    border-bottom: 1px solid #e5eaed;
}

.terminal-utility-file-row:hover,
.terminal-utility-file-row:focus-within {
    background: #edf4f8;
}

.terminal-utility-file-primary {
    display: grid;
    min-width: 0;
    min-height: 43px;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #263c49;
    padding: 5px 6px 5px 10px;
    text-align: left;
}

.terminal-utility-file-primary:focus-visible {
    outline: 2px solid #2e78ad;
    outline-offset: -2px;
}

.terminal-utility-file-icon {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
}

.terminal-utility-file-copy,
.terminal-utility-file-copy strong,
.terminal-utility-file-copy span {
    display: block;
    min-width: 0;
}

.terminal-utility-file-copy strong,
.terminal-utility-file-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-utility-file-copy strong {
    font: 11px/1.25 "SFMono-Regular", Consolas, monospace;
}

.terminal-utility-file-copy span {
    margin-top: 2px;
    color: #73838d;
    font-size: 9px;
}

.terminal-utility-file-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    padding-right: 7px;
}

.terminal-utility-file-actions .icon-btn {
    border-color: transparent;
    background: transparent;
}

.terminal-utility-file-actions .icon-btn:hover,
.terminal-utility-file-actions .icon-btn:focus-visible,
.terminal-utility-file-actions .icon-btn[aria-expanded="true"] {
    border-color: #b8c8d1;
    background: #ffffff;
}

.terminal-utility-file-empty {
    display: grid;
    min-height: 110px;
    place-items: center;
    color: #71828d;
    padding: 20px;
    font-size: 11px;
    text-align: center;
}

.terminal-utility-file-empty.error {
    color: #9f4148;
}

.terminal-utility-file-empty.loading {
    color: #386f92;
}

.terminal-utility-file-footer {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid #dfe5e9;
    background: #f3f6f8;
    padding: 4px 8px 4px 10px;
    color: #657783;
    font-size: 9px;
}

.terminal-utility-file-footer span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-utility-file-footer .small-btn {
    min-height: 27px;
    flex: 0 0 auto;
    padding: 4px 8px;
    font-size: 10px;
}

.terminal-session-utility-body {
    min-height: 0;
    overflow-y: auto;
}

.terminal-utility-command-filterbar {
    position: sticky;
    z-index: 2;
    top: 0;
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #dfe5e9;
    background: #f7f9fa;
    padding: 7px 10px;
}

.terminal-utility-command-filter-field {
    display: grid;
    min-width: 0;
    grid-template-columns: 16px minmax(0, 1fr) 24px;
    align-items: center;
    height: 30px;
    border: 1px solid #cbd6dd;
    border-radius: 4px;
    background: #ffffff;
    color: #70818b;
    padding-left: 6px;
}

.terminal-utility-command-filter-field:focus-within {
    border-color: #2e78ad;
    box-shadow: 0 0 0 2px rgba(46, 120, 173, 0.12);
}

.terminal-utility-command-filter-field > .terminal-control-icon {
    width: 14px;
    height: 14px;
}

.terminal-utility-command-filter-field input {
    width: 100%;
    min-width: 0;
    height: 28px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #314b5a;
    padding: 3px 5px;
    font-size: 10px;
}

.terminal-utility-command-filter-field input::-webkit-search-cancel-button {
    display: none;
}

.terminal-utility-command-filter-field .icon-btn {
    width: 24px;
    min-width: 24px;
    height: 28px;
    min-height: 28px;
    border: 0;
    background: transparent;
    padding: 5px;
}

.terminal-utility-command-filter-status {
    min-width: 54px;
    color: #617581;
    font-size: 9px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.terminal-utility-section {
    min-width: 0;
    padding: 10px 0 6px;
}

.terminal-utility-section + .terminal-utility-section {
    border-top: 1px solid #dfe5e9;
}

.terminal-utility-section > header {
    display: flex;
    min-height: 28px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 12px 6px;
    color: #6d7b85;
    font-size: 10px;
}

.terminal-utility-section > header strong {
    color: #344957;
    font-size: 11px;
}

.terminal-utility-saved-command-heading-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.terminal-session-audit-heading-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
}

.terminal-session-audit-heading-actions .icon-btn {
    width: 26px;
    min-width: 26px;
    height: 26px;
    min-height: 26px;
    border-color: #cdd8df;
    color: #375f7d;
}

.terminal-session-audit-action-icon {
    width: 14px;
    height: 14px;
}

.terminal-session-audit-list {
    display: grid;
    min-width: 0;
}

.terminal-session-audit-item {
    min-width: 0;
    border-top: 1px solid #e3e8eb;
}

.terminal-session-audit-item > summary {
    display: grid;
    min-height: 54px;
    grid-template-columns: auto minmax(0, 1fr) 14px;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    color: #263845;
    cursor: pointer;
    list-style: none;
}

.terminal-session-audit-item > summary::-webkit-details-marker {
    display: none;
}

.terminal-session-audit-item > summary:hover,
.terminal-session-audit-item > summary:focus-visible {
    outline: none;
    background: #edf3f7;
}

.terminal-session-audit-item > summary .status {
    min-width: 54px;
    justify-content: center;
    padding: 3px 6px;
    font-size: 9px;
    white-space: nowrap;
}

.terminal-session-audit-summary-copy,
.terminal-session-audit-summary-copy strong,
.terminal-session-audit-summary-copy small {
    display: block;
    min-width: 0;
}

.terminal-session-audit-summary-copy strong,
.terminal-session-audit-summary-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-audit-summary-copy strong {
    font-size: 11px;
}

.terminal-session-audit-summary-copy small {
    margin-top: 3px;
    color: #71808b;
    font-size: 9px;
}

.terminal-session-audit-chevron {
    width: 14px;
    height: 14px;
    color: #71808b;
    transition: transform 160ms ease;
}

.terminal-session-audit-item[open] .terminal-session-audit-chevron {
    transform: rotate(180deg);
}

.terminal-session-audit-facts {
    display: grid;
    min-width: 0;
    gap: 0;
    margin: 0;
    border-top: 1px solid #e3e8eb;
    background: #f7f9fa;
}

.terminal-session-audit-facts > div {
    display: grid;
    min-width: 0;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 8px;
    padding: 6px 12px;
}

.terminal-session-audit-facts > div + div {
    border-top: 1px solid #e8edef;
}

.terminal-session-audit-facts dt,
.terminal-session-audit-facts dd {
    min-width: 0;
    margin: 0;
    font-size: 9px;
    line-height: 1.45;
}

.terminal-session-audit-facts dt {
    color: #71808b;
    font-weight: 800;
}

.terminal-session-audit-facts dd {
    overflow-wrap: anywhere;
    color: #344957;
}

.terminal-session-audit-facts code {
    color: #2f607c;
    font: inherit;
    word-break: break-all;
}

.terminal-session-audit-footer {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid #e3e8eb;
    padding: 5px 12px;
}

.terminal-session-audit-footer span {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #617581;
    font-size: 9px;
}

.terminal-session-audit-footer span.error {
    color: #a33b42;
}

.terminal-utility-saved-command-heading-actions .icon-btn {
    width: 26px;
    min-width: 26px;
    height: 26px;
    min-height: 26px;
    border-color: #cdd8df;
    color: #375f7d;
}

.terminal-utility-session-list,
.terminal-utility-command-list {
    display: grid;
    min-width: 0;
}

.terminal-utility-session,
.terminal-utility-command {
    width: 100%;
    min-width: 0;
    border: 0;
    border-top: 1px solid #e3e8eb;
    border-radius: 0;
    background: transparent;
    color: #263845;
    text-align: left;
}

.terminal-utility-session {
    display: grid;
    min-height: 54px;
    grid-template-columns: 8px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
}

.terminal-utility-session:hover,
.terminal-utility-session:focus-visible,
.terminal-utility-command:hover:not(:disabled),
.terminal-utility-command:focus-visible {
    outline: none;
    background: #edf3f7;
}

.terminal-utility-session.active {
    background: #e8f2f9;
    box-shadow: inset 3px 0 0 #438ac4;
}

.terminal-utility-session-copy,
.terminal-utility-session-copy strong,
.terminal-utility-session-copy span,
.terminal-utility-session-state {
    display: block;
    min-width: 0;
}

.terminal-utility-session-copy strong,
.terminal-utility-session-copy span,
.terminal-utility-session-state {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-utility-session-copy strong {
    font-size: 11px;
}

.terminal-utility-session-copy span {
    margin-top: 3px;
    color: #71808b;
    font: 10px/1.25 "SFMono-Regular", Consolas, monospace;
}

.terminal-utility-session-state {
    max-width: 74px;
    color: #8b691c;
    font-size: 9px;
    font-weight: 800;
}

.terminal-utility-session-state.ok {
    color: #237443;
}

.terminal-utility-session-state.error {
    color: #a33b42;
}

.terminal-utility-command {
    display: grid;
    min-height: 50px;
    gap: 3px;
    padding: 7px 12px;
}

.terminal-utility-command span,
.terminal-utility-command small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-utility-command span {
    font: 11px/1.35 "SFMono-Regular", Consolas, monospace;
}

.terminal-utility-command small {
    color: #71808b;
    font-size: 9px;
}

.terminal-utility-command:disabled {
    color: #74838e;
    cursor: not-allowed;
    opacity: 0.66;
}

.terminal-utility-quick-command {
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.terminal-utility-saved-command {
    display: grid;
    position: relative;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    border-top: 1px solid #e3e8eb;
}

.terminal-utility-saved-command.dragging {
    opacity: 0.5;
}

.terminal-utility-saved-command.drop-before {
    box-shadow: inset 0 3px 0 #42a968;
}

.terminal-utility-saved-command.drop-after {
    box-shadow: inset 0 -3px 0 #42a968;
}

.terminal-utility-saved-command .terminal-utility-command {
    border-top: 0;
}

.terminal-utility-saved-command-use[draggable="true"] {
    cursor: grab;
}

.terminal-utility-saved-command-use[draggable="true"]:active {
    cursor: grabbing;
}

.terminal-utility-saved-command-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 0 8px 0 2px;
}

.terminal-utility-saved-command-actions .icon-btn {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    border-color: transparent;
    background: transparent;
    color: #607482;
}

.terminal-utility-saved-command-actions .icon-btn:hover:not(:disabled),
.terminal-utility-saved-command-actions .icon-btn:focus-visible {
    border-color: #c4d3dd;
    background: #edf3f7;
}

.terminal-utility-saved-command-actions .icon-btn.danger {
    color: #a33b42;
}

.terminal-utility-saved-command-action-icon {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
}

.terminal-utility-quick-icon {
    width: 16px;
    height: 16px;
    color: #438ac4;
}

.terminal-utility-quick-copy,
.terminal-utility-quick-copy strong,
.terminal-utility-quick-copy code {
    display: block;
    min-width: 0;
}

.terminal-utility-quick-copy strong,
.terminal-utility-quick-copy code {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-utility-quick-copy strong {
    color: #314754;
    font-size: 11px;
}

.terminal-utility-quick-copy code {
    margin-top: 3px;
    color: #71808b;
    font: 9px/1.3 "SFMono-Regular", Consolas, monospace;
}

.terminal-utility-section .empty.compact {
    border-top: 1px solid #e3e8eb;
    border-radius: 0;
    background: transparent;
    color: #71808b;
    font-size: 10px;
}

.terminal-session-toolbar {
    position: absolute;
    z-index: 12;
    top: 43px;
    right: 0;
    bottom: 34px;
    display: grid;
    width: min(410px, calc(100% - 72px));
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    align-items: stretch;
    gap: 12px;
    overflow-y: auto;
    border-bottom: 0;
    border-left: 1px solid #c7d1d8;
    background: #f6f8fa;
    box-shadow: -14px 0 28px rgba(4, 12, 18, 0.24);
    padding: 0 14px 16px;
}

.terminal-session-toolbar[hidden] {
    display: none;
}

.terminal-session-settings-backdrop {
    display: none;
}

.terminal-session-toolbar-header {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    min-width: 0;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #d8e0e5;
    background: #f6f8fa;
    padding: 9px 0;
}

.terminal-session-toolbar-header > div {
    min-width: 0;
}

.terminal-session-toolbar-header strong,
.terminal-session-toolbar-header span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-toolbar-header strong {
    color: #263845;
    font-size: 13px;
}

.terminal-session-toolbar-header span {
    margin-top: 3px;
    color: #6d7b85;
    font: 10px/1.3 "SFMono-Regular", Consolas, monospace;
}

.terminal-session-toolbar-header .icon-btn {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    flex: 0 0 32px;
    font-size: 18px;
}

.terminal-diagnostics {
    display: grid;
    min-width: 0;
    grid-column: 1;
    gap: 9px;
    border-top: 1px solid #d8e0e5;
    border-bottom: 1px solid #d8e0e5;
    padding: 11px 0 12px;
}

.terminal-diagnostics-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.terminal-diagnostics-header > div {
    min-width: 0;
}

.terminal-diagnostics-header strong,
.terminal-diagnostics-header span {
    display: block;
}

.terminal-diagnostics-header strong {
    color: #263845;
    font-size: 12px;
}

.terminal-diagnostics-header > div > span {
    margin-top: 2px;
    color: #6d7b85;
    font-size: 10px;
}

.terminal-diagnostics-header > .status {
    flex: 0 0 auto;
    white-space: nowrap;
}

.terminal-diagnostics-summary,
.terminal-diagnostics-safety {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 10px;
    line-height: 1.55;
}

.terminal-diagnostics-summary {
    color: #344957;
    font-weight: 700;
}

.terminal-diagnostics-safety {
    color: #607480;
}

.terminal-diagnostics-meta {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 5px 12px;
    color: #45677d;
    font-size: 9px;
    font-weight: 800;
}

.terminal-diagnostics-meta span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.terminal-diagnostics-error {
    border-left: 3px solid #bd5258;
    background: #fff2f2;
    color: #8e3036;
    padding: 7px 9px;
    font-size: 10px;
    line-height: 1.45;
}

.terminal-diagnostics-facts {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid #dfe5e9;
}

.terminal-diagnostics-facts > div {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(92px, 1fr) auto;
    align-items: center;
    gap: 7px;
    border-bottom: 1px solid #e3e8eb;
    padding: 7px 8px;
}

.terminal-diagnostics-facts > div:nth-child(odd) {
    border-right: 1px solid #e3e8eb;
}

.terminal-diagnostics-facts dt,
.terminal-diagnostics-facts dd {
    min-width: 0;
    margin: 0;
}

.terminal-diagnostics-facts dt {
    color: #526874;
    font-size: 10px;
    font-weight: 800;
}

.terminal-diagnostics-facts dd {
    display: grid;
    justify-items: end;
    gap: 3px;
}

.terminal-diagnostics-facts dd .status {
    white-space: nowrap;
}

.terminal-diagnostics-facts dd small {
    max-width: 180px;
    overflow-wrap: anywhere;
    color: #71808b;
    font-size: 8px;
    line-height: 1.35;
    text-align: right;
}

.terminal-session-policy {
    display: flex;
    min-width: 0;
    grid-column: 1;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #e1c27d;
    border-radius: 4px;
    background: #fff8e7;
    padding: 8px 10px;
    color: #684c16;
}

.terminal-session-policy > div {
    min-width: 0;
}

.terminal-session-policy strong,
.terminal-session-policy span {
    display: block;
}

.terminal-session-policy strong {
    font-size: 12px;
}

.terminal-session-policy span {
    margin-top: 2px;
    overflow-wrap: anywhere;
    color: #80662f;
    font-size: 10px;
}

.terminal-session-policy-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin: 7px 0 0;
    padding: 0;
    counter-reset: terminal-policy-step;
    list-style: none;
}

.terminal-session-policy-steps li {
    min-width: 0;
    overflow-wrap: anywhere;
    border-left: 2px solid #d5ad55;
    padding-left: 6px;
    color: #715820;
    font-size: 9px;
    line-height: 1.4;
    counter-increment: terminal-policy-step;
}

.terminal-session-policy-steps li::before {
    content: counter(terminal-policy-step) ". ";
    color: #8b6a20;
    font-weight: 800;
}

.terminal-session-policy .primary-btn {
    min-height: 34px;
    flex: 0 0 auto;
    white-space: nowrap;
}

.terminal-session-policy-actions {
    display: flex;
    min-width: max-content;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
}

.terminal-session-policy-actions .secondary-btn {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.terminal-session-policy .secondary-btn:disabled {
    min-height: 34px;
    flex: 0 0 auto;
    border-color: #dfcfaa;
    background: #f2ead8;
    color: #8d7b53;
    cursor: not-allowed;
    white-space: nowrap;
}

.terminal-session-lock-notice {
    display: none;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid #b8ccdc;
    border-radius: 4px;
    background: #edf5fa;
    color: #35566d;
    padding: 8px 10px;
    font-size: 11px;
    font-weight: 700;
}

.terminal-session-toolbar.connection-locked .terminal-session-lock-notice {
    display: grid;
}

.terminal-session-toolbar.connection-locked .terminal-session-password-control,
.terminal-session-toolbar.connection-locked .terminal-session-actions {
    display: none;
}

.terminal-session-lock-notice .secondary-btn {
    min-height: 32px;
    white-space: nowrap;
}

.terminal-session-tab {
    display: grid;
    height: 33px;
    min-width: 132px;
    flex: 0 0 174px;
    grid-template-columns: minmax(0, 1fr) 26px 28px;
    align-items: center;
    overflow: hidden;
    border: 1px solid #354552;
    border-radius: 4px;
    background: #1d2a34;
    color: #d8e5ed;
}

.terminal-session-tab.active {
    border-color: #5b9dde;
    background: #263641;
    box-shadow: inset 0 -2px 0 #5b9dde;
}

.terminal-session-tab.split-visible:not(.active) {
    border-color: #4d7d82;
    box-shadow: inset 0 -2px 0 #4d7d82;
}

.terminal-session-tab.dragging {
    opacity: 0.5;
}

.terminal-session-tab.drop-before {
    box-shadow: inset 3px 0 0 #79e299;
}

.terminal-session-tab.drop-after {
    box-shadow: inset -3px 0 0 #79e299;
}

.terminal-session-tab.active.drop-before {
    box-shadow: inset 0 -2px 0 #5b9dde, inset 3px 0 0 #79e299;
}

.terminal-session-tab.active.drop-after {
    box-shadow: inset 0 -2px 0 #5b9dde, inset -3px 0 0 #79e299;
}

.terminal-session-tab.renaming {
    grid-template-columns: minmax(0, 1fr);
    border-color: #7db5ed;
}

.terminal-session-tab-rename {
    display: grid;
    width: 100%;
    height: 31px;
    min-width: 0;
    grid-template-columns: 8px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    padding: 0 6px;
}

.terminal-session-tab-rename input {
    width: 100%;
    min-width: 0;
    height: 24px;
    border: 1px solid #5b9dde;
    border-radius: 3px;
    background: #0d141a;
    color: #ffffff;
    padding: 2px 6px;
    outline: none;
    font: 700 12px/1.2 "SFMono-Regular", Consolas, monospace;
    letter-spacing: 0;
}

.terminal-session-tab-rename input:focus {
    box-shadow: 0 0 0 2px rgba(125, 181, 237, 0.24);
}

.terminal-session-tab-main,
.terminal-session-tab-more,
.terminal-session-tab-close {
    height: 31px;
    border: 0;
    background: transparent;
    color: inherit;
}

.terminal-session-tab-main {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    cursor: grab;
}

.terminal-session-tab-main:active {
    cursor: grabbing;
}

.terminal-session-tab-main:hover,
.terminal-session-tab-more:hover,
.terminal-session-tab-close:hover {
    background: rgba(255, 255, 255, 0.08);
}

.terminal-session-tab-main:focus-visible,
.terminal-session-tab-more:focus-visible,
.terminal-session-tab-close:focus-visible {
    outline: 2px solid #7db5ed;
    outline-offset: -2px;
}

.terminal-session-tab-label {
    min-width: 0;
    overflow: hidden;
    flex: 1;
    text-overflow: ellipsis;
}

.terminal-session-tab.has-new-output .terminal-session-tab-main::after {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #7edbe0;
    box-shadow: 0 0 0 2px rgba(126, 219, 224, 0.14);
    content: "";
}

.terminal-session-tab-more,
.terminal-session-tab-close {
    display: grid;
    place-items: center;
    padding: 0;
    color: #9fb0bc;
    font-size: 18px;
    line-height: 1;
}

.terminal-session-tab-more {
    color: #9fb0bc;
    opacity: 0;
}

.terminal-session-tab.active .terminal-session-tab-more,
.terminal-session-tab:hover .terminal-session-tab-more,
.terminal-session-tab:focus-within .terminal-session-tab-more,
.terminal-session-tab-more[aria-expanded="true"] {
    opacity: 1;
}

.terminal-session-tab-more .terminal-tab-more-icon,
.terminal-session-tab-close .terminal-tab-close-icon {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
}

@media (hover: none), (pointer: coarse) {
    .terminal-session-tab-more {
        opacity: 1;
    }
}

.terminal-session-tab-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #f6c177;
}

.terminal-session-tab-dot.online {
    background: #79e299;
}

.terminal-session-tab-dot.error {
    background: #ff8b92;
}

.terminal-session-path-control,
.terminal-session-password-control {
    display: grid;
    min-width: 0;
    gap: 4px;
    color: #5d6b75;
    font-size: 10px;
    font-weight: 700;
}

.terminal-session-actions,
.terminal-session-options,
.terminal-session-message {
    grid-column: 1;
}

.terminal-session-path-control input,
.terminal-session-password-control input {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    border: 1px solid #c7d1d8;
    border-radius: 4px;
    background: #fff;
    color: #21313d;
    padding: 7px 9px;
    outline: none;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
}

.terminal-session-path-control input:focus,
.terminal-session-password-control input:focus {
    border-color: #5b9dde;
    box-shadow: 0 0 0 3px rgba(91, 157, 222, 0.12);
}

.terminal-session-toolbar.connection-locked input[readonly],
.terminal-session-toolbar.connection-locked input:disabled {
    border-color: #d6dde2;
    background: #e9eef2;
    color: #71808b;
    cursor: not-allowed;
}

.terminal-screen-frame {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 36px minmax(0, 1fr);
}

.terminal-emulator-frame {
    overflow: hidden;
    grid-row: 2;
    grid-template-rows: 36px auto minmax(0, 1fr) auto;
    background: #0d141a;
}

.terminal-emulator-stack {
    display: grid;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    grid-row: 3;
}

.terminal-emulator-stack.terminal-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: #435462;
}

.terminal-emulator-stack.terminal-split .terminal-session-empty {
    display: none;
}

.terminal-command-suggestion {
    display: grid;
    min-width: 0;
    min-height: 34px;
    grid-row: 4;
    grid-template-columns: 16px auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-top: 1px solid #2f404c;
    background: #14212a;
    color: #b9c8d2;
    padding: 4px 8px 4px 10px;
}

.terminal-command-suggestion[hidden] {
    display: none;
}

.terminal-command-suggestion .terminal-command-suggestion-icon {
    width: 15px;
    height: 15px;
    color: #7edbe0;
}

.terminal-command-suggestion-source {
    min-width: 34px;
    border: 1px solid #526371;
    border-radius: 3px;
    background: #26343e;
    color: #c1ced6;
    padding: 2px 4px;
    text-align: center;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
}

.terminal-command-suggestion-source.saved {
    border-color: #776a3e;
    background: #332f20;
    color: #f4d98b;
}

.terminal-command-suggestion-source.quick {
    border-color: #3e6a4b;
    background: #203428;
    color: #8de0a4;
}

.terminal-command-suggestion-source.recent {
    border-color: #42667c;
    background: #20313e;
    color: #93c7e8;
}

.terminal-command-suggestion code {
    min-width: 0;
    overflow: hidden;
    color: #e5eef3;
    text-overflow: ellipsis;
    white-space: nowrap;
    font: 11px/1.4 "SFMono-Regular", "Cascadia Code", Consolas, monospace;
}

.terminal-command-suggestion button {
    display: flex;
    min-width: 58px;
    min-height: 25px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid #507287;
    border-radius: 3px;
    background: #213847;
    color: #dceaf2;
    padding: 2px 7px;
    font-size: 10px;
    font-weight: 800;
}

.terminal-command-suggestion button:hover:not(:disabled),
.terminal-command-suggestion button:focus-visible {
    outline: none;
    border-color: #72a8c8;
    background: #2b4a5d;
    color: #ffffff;
}

.terminal-command-suggestion button:focus-visible {
    box-shadow: 0 0 0 2px rgba(125, 181, 237, 0.28);
}

.terminal-command-suggestion-action-icon {
    width: 13px;
    height: 13px;
}

.terminal-touch-keys {
    display: none;
}

.terminal-session-empty {
    z-index: 2;
    display: grid;
    max-width: min(420px, calc(100% - 32px));
    grid-area: 1 / 1;
    place-self: center;
    justify-items: center;
    gap: 8px;
    color: #d6e4ed;
    padding: 20px;
    text-align: center;
}

.terminal-session-empty[hidden] {
    display: none;
}

.terminal-session-empty-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #435462;
    border-radius: 6px;
    background: #17222c;
    color: #79e299;
}

.terminal-session-empty-icon .terminal-session-empty-icon-glyph {
    width: 21px;
    height: 21px;
    flex-basis: 21px;
}

.terminal-session-empty strong,
.terminal-session-empty > span:not(.terminal-session-empty-icon) {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.terminal-session-empty strong {
    font-size: 14px;
}

.terminal-session-empty > span:not(.terminal-session-empty-icon) {
    color: #91a4b1;
    font: 11px/1.5 "SFMono-Regular", Consolas, monospace;
}

.terminal-session-empty .primary-btn {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: 7px;
    margin-top: 4px;
}

.terminal-session-empty .terminal-empty-settings {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 7px;
    border-color: #536672;
    background: #17242d;
    color: #d6e4ed;
}

.terminal-session-empty .terminal-session-empty-action-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.terminal-session-empty.connecting .terminal-session-empty-icon {
    color: #f6c177;
}

.terminal-interactive-pane.connection-panel-open .terminal-session-empty {
    width: auto;
    max-width: none;
    justify-self: stretch;
    margin-right: min(410px, calc(100% - 72px));
}

.terminal-interactive-pane.connection-panel-open .terminal-session-empty .primary-btn {
    display: none;
}

.terminal-emulator {
    position: relative;
    z-index: 1;
    grid-area: 1 / 1;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #0d141a;
    padding: 10px 10px 6px;
}

.terminal-split-pane-header {
    display: none;
}

.terminal-emulator-stack.terminal-split .terminal-emulator {
    grid-area: auto;
    border: 1px solid transparent;
    padding: 38px 8px 6px;
}

.terminal-emulator-stack.terminal-split .terminal-emulator.terminal-active-pane {
    border-color: #5b9dde;
}

.terminal-emulator-stack.terminal-split .terminal-split-pane-header {
    position: absolute;
    z-index: 4;
    top: 0;
    right: 0;
    left: 0;
    display: grid;
    height: 30px;
    grid-template-columns: minmax(0, 1fr) 28px;
    align-items: center;
    border-bottom: 1px solid #2a3742;
    background: #17222c;
}

.terminal-split-pane-select {
    display: flex;
    min-width: 0;
    height: 29px;
    align-items: center;
    gap: 7px;
    border: 0;
    background: transparent;
    color: #b7c5cf;
    padding: 0 8px;
    text-align: left;
}

.terminal-split-pane-select:hover,
.terminal-split-pane-select:focus-visible {
    background: #263641;
    color: #fff;
    outline: none;
}

.terminal-split-pane-select strong {
    min-width: 0;
    overflow: hidden;
    font: 700 11px/1.2 "SFMono-Regular", Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-split-pane-state {
    flex: 0 0 auto;
    color: #91a4b1;
    font: 10px/1.2 "SFMono-Regular", Consolas, monospace;
}

.terminal-split-pane-only {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 0;
    background: transparent;
    color: #9fb0bc;
    padding: 0;
}

.terminal-split-pane-only:hover,
.terminal-split-pane-only:focus-visible {
    background: #263641;
    color: #fff;
    outline: 2px solid #7db5ed;
    outline-offset: -2px;
}

.terminal-split-pane-only .terminal-command-icon {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
}

.terminal-emulator[hidden] {
    display: none;
}

.terminal-emulator .xterm {
    height: 100%;
}

.terminal-emulator .xterm-viewport {
    scrollbar-color: #435462 #0d141a;
    scrollbar-width: thin;
}

.terminal-session-footer {
    display: flex;
    grid-row: 3;
    min-width: 0;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #2a3742;
    background: #17222c;
    color: #8799a6;
    padding: 0 12px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
}

.terminal-connection-state {
    flex: 0 0 auto;
    font-weight: 800;
}

.terminal-connection-state.ok {
    color: #79e299;
}

.terminal-connection-state.warn {
    color: #f6c177;
}

.terminal-connection-state.error {
    color: #ff8b92;
}

.terminal-session-footer-path {
    overflow: hidden;
    flex: 1;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-context-menu {
    position: fixed;
    z-index: 1300;
    width: min(210px, calc(100vw - 16px));
    max-height: calc(100dvh - 16px);
    overflow-y: auto;
    border: 1px solid #435462;
    border-radius: 6px;
    background: #17222c;
    box-shadow: 0 14px 32px rgba(5, 10, 14, 0.38);
    padding: 5px;
}

.terminal-session-action-menu {
    display: grid;
    width: min(440px, calc(100vw - 16px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 5px;
}

.terminal-session-action-menu.mobile-sheet {
    grid-template-columns: minmax(0, 1fr);
    max-height: min(480px, calc(100dvh - 16px));
    gap: 0;
    padding: 6px;
}

.terminal-session-context-menu[hidden] {
    display: none;
}

.terminal-session-context-menu button {
    display: flex;
    width: 100%;
    min-height: 34px;
    align-items: center;
    gap: 9px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #dce7ee;
    padding: 7px 9px;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
}

.terminal-session-context-column {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 4px;
}

.terminal-session-context-group {
    min-width: 0;
}

.terminal-session-context-group-items {
    display: grid;
    min-width: 0;
}

.terminal-session-context-group-items[hidden] {
    display: none;
}

.terminal-session-context-group + .terminal-session-context-group {
    border-top: 1px solid #354552;
    padding-top: 4px;
}

.terminal-session-context-menu .terminal-command-icon {
    flex: 0 0 16px;
    color: #9fb0bc;
}

.terminal-session-context-menu .terminal-command-label {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-context-menu .terminal-menu-toggle-check {
    margin-left: auto;
    color: #58d17c;
    opacity: 0;
}

.terminal-session-context-menu [aria-checked="true"] .terminal-menu-toggle-check {
    opacity: 1;
}

.terminal-session-context-menu button:hover:not(:disabled),
.terminal-session-context-menu button:focus-visible {
    outline: none;
    background: #263641;
    color: #fff;
}

.terminal-session-context-menu [data-terminal-context-action="terminal-session-paste"]:not(:disabled) {
    background: #20382d;
    color: #a8efbd;
}

.terminal-session-context-menu [data-terminal-context-action="terminal-session-paste"]:hover:not(:disabled),
.terminal-session-context-menu [data-terminal-context-action="terminal-session-paste"]:focus-visible {
    background: #2c4a3a;
    color: #d8ffe3;
}

.terminal-session-context-menu button:disabled {
    color: #71818d;
    cursor: not-allowed;
}

.terminal-session-context-menu button:disabled .terminal-command-icon {
    color: #71818d;
}

.terminal-session-context-group-heading {
    color: #8295a3;
    padding: 7px 10px 3px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

.terminal-session-context-menu button.terminal-session-context-group-toggle {
    min-height: 36px;
    justify-content: space-between;
    color: #9fb0bc;
    padding: 8px 10px;
    font-size: 11px;
}

.terminal-session-context-group-toggle > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-context-group-caret {
    flex: 0 0 15px;
    transition: transform 120ms ease;
}

.terminal-session-context-group-toggle[aria-expanded="true"]
    .terminal-session-context-group-caret {
    transform: rotate(180deg);
}

.terminal-session-action-menu.mobile-sheet .terminal-session-context-group +
    .terminal-session-context-group {
    border-top: 1px solid #354552;
    padding-top: 0;
}

.terminal-session-action-menu.mobile-sheet .terminal-session-context-group-items {
    padding: 0 2px 4px;
}

.terminal-session-context-menu button.danger:not(:disabled) {
    color: #ffbcc1;
}

.terminal-session-context-menu button.danger:not(:disabled) .terminal-command-icon {
    color: #ff8f97;
}

.terminal-session-context-menu button.danger:hover:not(:disabled),
.terminal-session-context-menu button.danger:focus-visible {
    background: #4a262e;
    color: #ffffff;
}

.terminal-session-context-separator {
    height: 1px;
    margin: 4px 6px;
    background: #354552;
}

@media (max-width: 370px) {
    .terminal-session-action-menu {
        grid-template-columns: minmax(0, 1fr);
    }
}

.terminal-command-palette {
    position: fixed;
    inset: 0;
    display: none;
    width: min(640px, calc(100vw - 32px));
    max-width: none;
    max-height: min(560px, calc(100dvh - 32px));
    grid-template-rows: auto minmax(0, 1fr);
    border: 1px solid #aebdc8;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 22px 60px rgba(27, 42, 54, 0.34);
    color: var(--text);
    padding: 0;
    overflow: hidden;
}

.terminal-command-palette[open] {
    display: grid;
}

.terminal-command-palette::backdrop {
    background: rgba(24, 36, 46, 0.52);
}

.terminal-command-palette-header {
    display: grid;
    min-width: 0;
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr) auto 34px;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    padding: 10px 12px;
}

.terminal-command-palette-search {
    display: grid;
    min-width: 0;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 1px solid #aab8c2;
    border-radius: 5px;
    background: #ffffff;
    padding: 0 10px;
}

.terminal-command-palette-search:focus-within {
    border-color: #437fba;
    box-shadow: 0 0 0 3px rgba(67, 127, 186, 0.13);
}

.terminal-command-palette-search .terminal-command-palette-search-icon {
    width: 16px;
    height: 16px;
    color: #667986;
}

.terminal-command-palette-search input {
    width: 100%;
    min-width: 0;
    height: 36px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #1c2d38;
    padding: 0;
    font-size: 13px;
}

.terminal-command-palette-search input::-webkit-search-cancel-button {
    cursor: pointer;
}

.terminal-command-palette-status {
    min-width: 42px;
    color: #647682;
    text-align: right;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.terminal-command-palette-list {
    min-height: 0;
    max-height: min(500px, calc(100dvh - 92px));
    overflow-y: auto;
    background: #ffffff;
    padding: 6px 0;
}

.terminal-command-palette-option {
    display: grid;
    min-width: 0;
    min-height: 58px;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border-left: 3px solid transparent;
    color: #263946;
    padding: 7px 14px 7px 11px;
    cursor: pointer;
}

.terminal-command-palette-option:hover,
.terminal-command-palette-option.active {
    border-left-color: #378754;
    background: #edf6f0;
}

.terminal-command-palette-option-icon {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #cbd6dd;
    border-radius: 5px;
    background: #f8fafb;
    color: #3b6f94;
}

.terminal-command-palette-option-icon .terminal-command-palette-icon {
    width: 15px;
    height: 15px;
}

.terminal-command-palette-option-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.terminal-command-palette-option-copy strong,
.terminal-command-palette-option-copy code {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-command-palette-option-copy strong {
    color: #1f303b;
    font-size: 12px;
}

.terminal-command-palette-option-copy code {
    color: #526a78;
    font: 11px/1.45 "SFMono-Regular", "Cascadia Code", Consolas, monospace;
}

.terminal-command-palette-source {
    min-width: 38px;
    border: 1px solid #c7d3da;
    border-radius: 4px;
    background: #f2f5f7;
    color: #546b78;
    padding: 3px 5px;
    text-align: center;
    font-size: 10px;
    font-weight: 800;
}

.terminal-command-palette-source.saved {
    border-color: #dacb99;
    background: #fff9e9;
    color: #786224;
}

.terminal-command-palette-source.quick {
    border-color: #afd0b8;
    background: #edf8f0;
    color: #376a44;
}

.terminal-command-palette-source.recent {
    border-color: #b8ccdc;
    background: #eef5fa;
    color: #3e617a;
}

.terminal-command-palette-empty {
    display: grid;
    min-height: 170px;
    place-items: center;
    color: #71818c;
    padding: 24px;
    font-size: 12px;
}

.file-command-palette-trigger[aria-expanded="true"] {
    border-color: #78a6c8;
    background: #e8f3fa;
    color: #205e89;
}

.file-command-palette-option.disabled {
    color: #7b8992;
    cursor: not-allowed;
    opacity: 0.58;
}

.file-command-palette-option.disabled:hover {
    border-left-color: transparent;
    background: #ffffff;
}

.file-command-palette-option.danger:not(.disabled) .terminal-command-palette-option-icon {
    border-color: #e2b9b9;
    background: #fff4f4;
    color: #b92f2f;
}

.file-command-palette-source.selection {
    border-color: #abc9df;
    background: #edf6fc;
    color: #2d6388;
}

.file-command-palette-source.create {
    border-color: #afd0b8;
    background: #edf8f0;
    color: #376a44;
}

.file-command-palette-source.navigate,
.file-command-palette-source.location {
    border-color: #d9c89c;
    background: #fff8e7;
    color: #735d24;
}

.file-command-palette-source.view,
.file-command-palette-source.utility {
    border-color: #c7d3da;
    background: #f2f5f7;
    color: #546b78;
}

.file-command-palette-source.disabled {
    border-color: #d4d9dc;
    background: #f5f6f7;
    color: #717d84;
}

.shell-quick-navigation-source.current {
    border-color: #afd0b8;
    background: #edf8f0;
    color: #376a44;
}

.shell-quick-navigation-source.module {
    border-color: #abc9df;
    background: #edf6fc;
    color: #2d6388;
}

.shell-quick-navigation-source.workspace {
    border-color: #d9c89c;
    background: #fff8e7;
    color: #735d24;
}

.shell-quick-navigation-source.file {
    border-color: #b7d3c0;
    background: #eff8f2;
    color: #356c47;
}

.shell-quick-navigation-source.favorite {
    border-color: #dfc885;
    background: #fff8df;
    color: #755c13;
}

.shell-quick-navigation-source.recent {
    border-color: #a8c9c6;
    background: #edf8f7;
    color: #286763;
}

.shell-quick-navigation-source.path {
    border-color: #98c3df;
    background: #eaf5fc;
    color: #205f88;
}

.shell-quick-navigation-source.terminal {
    border-color: #b9c8d2;
    background: #eef3f6;
    color: #405c6e;
}

.shell-quick-navigation-message {
    border-bottom: 1px solid #d8e1e6;
    background: #f4f8fa;
    color: #405c6e;
    padding: 8px 14px;
    font-size: 11px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.shell-quick-navigation-message[hidden] {
    display: none;
}

.shell-quick-navigation-message.pending {
    color: #2d6388;
}

.shell-quick-navigation-message.bad {
    border-bottom-color: #e8c5c5;
    background: #fff4f4;
    color: #a62f2f;
}

.shell-quick-navigation[aria-busy="true"]
.shell-quick-navigation-option {
    cursor: progress;
}

.unsaved-management-dialog {
    width: min(420px, calc(100vw - 24px));
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid #aebdc8;
    border-radius: 6px;
    background: #fff;
    color: var(--text);
    padding: 0;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(27, 42, 54, 0.28);
}

.unsaved-management-dialog::backdrop {
    background: rgba(24, 36, 46, 0.52);
}

.unsaved-management-dialog form {
    display: grid;
    min-width: 0;
}

.unsaved-management-dialog-body {
    min-width: 0;
    padding: 20px;
}

.unsaved-management-dialog-body h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.35;
}

.unsaved-management-dialog-body p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.unsaved-management-dialog-actions {
    display: flex;
    min-width: 0;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--line);
    background: #f7f9fa;
    padding: 12px 16px;
}

.unsaved-management-dialog-actions button {
    min-width: 0;
    max-width: 100%;
    justify-content: center;
    white-space: normal;
}

@media (max-width: 390px) {
    .unsaved-management-dialog-body {
        padding: 18px 16px;
    }

    .unsaved-management-dialog-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        padding: 12px;
    }

    .unsaved-management-dialog-actions button {
        width: 100%;
    }
}

.terminal-paste-dialog {
    position: fixed;
    inset: 0;
    display: none;
    width: min(620px, calc(100vw - 32px));
    max-width: none;
    max-height: min(680px, calc(100dvh - 32px));
    border: 1px solid #aebdc8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(27, 42, 54, 0.32);
    color: var(--text);
    padding: 0;
    overflow: hidden;
}

.terminal-paste-dialog[open] {
    display: block;
}

.terminal-paste-dialog::backdrop {
    background: rgba(24, 36, 46, 0.52);
}

.terminal-paste-dialog form {
    display: grid;
    max-height: min(680px, calc(100dvh - 32px));
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.terminal-paste-dialog-header {
    display: flex;
    min-width: 0;
    min-height: 60px;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    padding: 10px 12px 10px 18px;
}

.terminal-paste-dialog-header > div {
    min-width: 0;
    flex: 1;
}

.terminal-paste-dialog-header strong,
.terminal-paste-dialog-header span {
    display: block;
}

.terminal-paste-dialog-header strong {
    font-size: 15px;
}

.terminal-paste-dialog-header span {
    overflow: hidden;
    margin-top: 3px;
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-paste-dialog-body {
    min-height: 0;
    overflow-y: auto;
    padding: 16px 18px;
}

.terminal-paste-dialog-body pre {
    min-height: 150px;
    max-height: min(360px, 48dvh);
    overflow: auto;
    margin: 0;
    border: 1px solid #31424f;
    border-radius: 6px;
    background: #101820;
    color: #dce7ee;
    padding: 12px 14px;
    font-family: "SFMono-Regular", "Cascadia Code", Consolas, monospace;
    font-size: 12px;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.terminal-paste-trim-option {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 14px;
    color: #344957;
    font-size: 12px;
    font-weight: 700;
}

.terminal-paste-trim-option[hidden] {
    display: none;
}

.terminal-paste-trim-option input {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    margin: 1px 0 0;
}

.terminal-paste-dialog-actions {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid var(--line);
    background: #f7f9fa;
    padding: 10px 18px;
}

.terminal-saved-command-dialog {
    width: min(560px, calc(100vw - 32px));
}

.terminal-saved-command-dialog-body {
    display: grid;
    min-height: 0;
    gap: 14px;
    overflow-y: auto;
    padding: 16px 18px 18px;
}

.terminal-saved-command-dialog-body label,
.terminal-saved-command-dialog-body label > span {
    display: grid;
    min-width: 0;
}

.terminal-saved-command-dialog-body label {
    gap: 6px;
}

.terminal-saved-command-dialog-body label > span {
    color: #344957;
    font-size: 12px;
    font-weight: 700;
}

.terminal-saved-command-dialog-body input,
.terminal-saved-command-dialog-body textarea {
    width: 100%;
    min-width: 0;
}

.terminal-saved-command-dialog-body textarea {
    min-height: 104px;
    max-height: 280px;
    resize: vertical;
    font-family: "SFMono-Regular", "Cascadia Code", Consolas, monospace;
    font-size: 12px;
    line-height: 1.5;
}

.terminal-saved-command-message {
    min-height: 18px;
    margin: 0;
}

.terminal-session-tool-message {
    min-width: 0;
    max-width: 34%;
    overflow: hidden;
    color: #8fc4f4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-tool-message:empty {
    display: none;
}

.terminal-screen-header {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #2a3742;
    background: #17222c;
    color: #93a4b2;
    padding: 0 8px 0 12px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
}

.terminal-screen-location {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.terminal-session-header-title {
    max-width: min(42%, 360px);
    overflow: hidden;
    flex: 0 1 auto;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-screen-header > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-header-path {
    display: flex;
    min-width: 0;
    overflow: hidden;
    flex: 1;
    align-items: center;
    gap: 6px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    padding: 3px 0;
    font: inherit;
    text-align: left;
    cursor: copy;
}

.terminal-session-header-path > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-header-path:hover:not(:disabled),
.terminal-session-header-path:focus-visible {
    color: #d5e7f6;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.terminal-session-header-path:disabled {
    cursor: default;
    opacity: 0.72;
}

.terminal-session-header-path-icon {
    width: 13px;
    min-width: 13px;
    height: 13px;
    flex: 0 0 13px;
}

.terminal-screen-tools {
    display: flex;
    align-items: center;
    gap: 3px;
}

.terminal-screen-tools button,
.terminal-session-search-bar button {
    display: grid;
    width: 27px;
    min-width: 27px;
    height: 27px;
    min-height: 27px;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 3px;
    background: transparent;
    color: #b7c5cf;
    padding: 0;
    font: 700 12px/1 "SFMono-Regular", Consolas, monospace;
}

.terminal-screen-tools .terminal-command-icon,
.terminal-session-search-bar .terminal-command-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.terminal-screen-tool-label {
    display: none;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@container terminal-pane (min-width: 920px) {
    .terminal-screen-tools button {
        display: inline-flex;
        width: auto;
        min-width: 58px;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 0 7px;
    }

    .terminal-screen-tool-label {
        display: inline;
    }
}

.terminal-screen-tools button:hover:not(:disabled),
.terminal-session-search-bar button:hover:not(:disabled),
.terminal-screen-tools button.active,
.terminal-screen-tools button[aria-expanded="true"] {
    border-color: #435462;
    background: #263641;
    color: #ffffff;
}

.terminal-screen-tools button:focus-visible,
.terminal-session-search-bar button:focus-visible,
.terminal-session-search-bar input:focus-visible {
    outline: 2px solid #7db5ed;
    outline-offset: 0;
}

.terminal-screen-tools button:disabled,
.terminal-session-search-bar button:disabled {
    cursor: not-allowed;
    opacity: 0.38;
}

.terminal-screen-tools .terminal-session-scroll-bottom {
    position: relative;
}

.terminal-screen-tools .terminal-session-open-files {
    position: relative;
}

.terminal-screen-tools .terminal-session-open-files.loading {
    cursor: wait;
}

.terminal-screen-tools .terminal-session-open-files.loading .terminal-command-icon {
    visibility: hidden;
}

.terminal-screen-tools .terminal-session-open-files.loading::before {
    position: absolute;
    width: 11px;
    height: 11px;
    border: 2px solid #718795;
    border-top-color: #9ce9ec;
    border-radius: 50%;
    animation: terminal-file-open-spin 700ms linear infinite;
    content: "";
}

@keyframes terminal-file-open-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .terminal-screen-tools .terminal-session-open-files.loading::before {
        animation: none;
    }
}

.terminal-screen-tools .terminal-session-scroll-bottom.has-new-output {
    border-color: #4d7d82;
    background: #20343a;
    color: #9ce9ec;
}

.terminal-screen-tools .terminal-session-scroll-bottom.has-new-output::after {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #7edbe0;
    content: "";
}

.terminal-session-search-bar {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(120px, 1fr) 62px 27px 27px 27px;
    align-items: center;
    gap: 4px;
    border-bottom: 1px solid #2a3742;
    background: #17222c;
    padding: 5px 8px;
}

.terminal-session-search-bar[hidden] {
    display: none;
}

.terminal-session-search-bar input {
    width: 100%;
    min-width: 0;
    height: 28px;
    border: 1px solid #435462;
    border-radius: 3px;
    background: #0d141a;
    color: #e2edf3;
    padding: 4px 8px;
    outline: none;
    font: 400 12px/1.2 "SFMono-Regular", Consolas, monospace;
}

.terminal-session-search-bar input::placeholder {
    color: #6f818e;
}

.terminal-session-search-bar > span {
    color: #93a4b2;
    text-align: center;
    white-space: nowrap;
    font: 600 10px/1 "SFMono-Regular", Consolas, monospace;
}

.terminal-screen {
    min-height: 0;
    overflow: auto;
    margin: 0;
    background: #0d141a;
    color: #d6e4ed;
    padding: 16px;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 13px;
    line-height: 1.65;
    white-space: pre-wrap;
}

.terminal-command-form {
    display: grid;
    gap: 9px;
    border-top: 1px solid #2a3742;
    background: #15202a;
    padding: 12px;
}

.terminal-prompt-row {
    display: grid;
    min-width: 0;
    grid-template-columns: 26px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.terminal-prompt {
    color: #58d17c;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 18px;
    font-weight: 800;
    text-align: center;
}

.terminal-prompt-row input {
    min-width: 0;
    min-height: 40px;
    border: 1px solid #3a4a58;
    border-radius: 5px;
    background: #0d141a;
    color: #e2edf4;
    padding: 8px 11px;
    outline: none;
    font-family: "SFMono-Regular", Consolas, monospace;
}

.terminal-prompt-row input:focus {
    border-color: #5b9dde;
    box-shadow: 0 0 0 3px rgba(91, 157, 222, 0.12);
}

.terminal-command-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: #a8b5bf;
    font-size: 12px;
}

.terminal-command-tools input {
    width: 72px;
    min-height: 34px;
    border: 1px solid #3a4a58;
    border-radius: 5px;
    background: #0d141a;
    color: #e2edf4;
    padding: 6px 8px;
}

.terminal-command-tools .secondary-btn {
    border-color: #435462;
    background: #1d2a34;
    color: #dce7ee;
}

.terminal-command-tools .secondary-btn:hover {
    background: #263641;
}

.terminal-command-tools .danger-btn {
    border: 1px solid #7a3f45;
    background: #3a2329;
    color: #ffb9bf;
}

.terminal-confirmation {
    border: 1px solid #354552;
    border-radius: 5px;
    background: #111b23;
    color: #d5e1e8;
}

.terminal-confirmation > summary {
    min-height: 36px;
    cursor: pointer;
    padding: 9px 11px;
    color: #b9c7d0;
    font-size: 12px;
    font-weight: 700;
}

.terminal-confirmation-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    border-top: 1px solid #354552;
    padding: 10px;
}

.terminal-confirmation .field label {
    color: #aebbc5;
}

.terminal-confirmation .field input {
    min-height: 36px;
    border-color: #3a4a58;
    background: #0d141a;
    color: #e2edf4;
}

.terminal-message {
    margin: 0;
    color: #ffb2b2;
}

.terminal-session-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.terminal-session-actions button {
    min-height: 38px;
    white-space: nowrap;
}

.terminal-session-actions button:disabled {
    cursor: not-allowed;
    opacity: 0.52;
}

.terminal-session-options {
    min-width: 0;
}

.terminal-session-options > summary {
    display: flex;
    width: 40px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 1px solid #c7d1d8;
    border-radius: 4px;
    background: #fff;
    color: #455762;
    margin-left: auto;
    padding: 0;
    font-size: 18px;
    font-weight: 800;
    white-space: nowrap;
}

.terminal-session-options[open] {
    grid-column: 1;
}

.terminal-session-options-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 14px;
    border-top: 1px solid #dbe2e7;
    margin-top: 8px;
    padding-top: 9px;
}

.terminal-session-options-body > .field {
    min-width: 0;
}

.terminal-session-options-body > .field > span {
    display: block;
    margin-bottom: 4px;
    color: #5d6b75;
    font-size: 10px;
    font-weight: 700;
}

.terminal-session-options-body input {
    width: 100%;
    min-height: 36px;
    background: #fff;
}

.terminal-session-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
}

.terminal-session-facts > div {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #dce3e8;
    border-radius: 4px;
    background: #fff;
    padding: 9px 10px;
    font-size: 11px;
}

.terminal-session-facts dt {
    color: var(--muted);
}

.terminal-session-facts dd {
    overflow: hidden;
    margin: 0;
    color: #334652;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-session-message {
    grid-column: 1 / -1;
    min-height: 0;
}

.terminal-session-message:empty {
    display: none;
}

.terminal-history-pane {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    border-left: 1px solid var(--line);
    background: #fbfcfd;
}

.terminal-history-header {
    display: flex;
    min-height: 58px;
    align-items: center;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 10px 12px;
}

.terminal-history-header strong,
.terminal-history-header span {
    display: block;
}

.terminal-history-header span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
}

.terminal-history-list,
.terminal-execution-list {
    display: grid;
}

.terminal-history-item,
.terminal-execution-item {
    display: grid;
    gap: 7px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    padding: 10px 12px;
}

.terminal-history-command {
    overflow: hidden;
    border-radius: 4px;
    background: transparent;
    color: #1e4f7a;
    padding: 2px 0;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-history-command:hover {
    color: var(--blue);
}

.terminal-history-meta {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--muted);
    font-size: 11px;
}

.terminal-history-item .row-actions,
.terminal-execution-item .row-actions {
    gap: 5px;
}

.terminal-history-empty {
    margin: 12px;
}

.terminal-audit-details {
    border-top: 1px solid var(--line);
}

.terminal-audit-details > summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    background: #f5f8fa;
    padding: 0 12px;
    color: #344451;
    font-size: 12px;
    font-weight: 800;
}

.terminal-execution-item {
    grid-template-columns: minmax(0, 1fr) auto;
}

.terminal-execution-item > div:first-child {
    min-width: 0;
}

.terminal-execution-item strong,
.terminal-execution-item span {
    display: block;
}

.terminal-execution-item strong {
    overflow: hidden;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.terminal-execution-item span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 10px;
}

@media (max-width: 1180px) {
    .file-toolbar > .file-locations-toggle {
        width: 36px;
        gap: 0;
        padding: 0;
    }

    .file-locations-toggle-label {
        display: none;
    }

    .file-workbench.inspector-open .file-workspace {
        grid-template-columns: minmax(420px, 1.4fr) var(--file-inspector-width, 320px);
    }

    .file-workbench.locations-open.inspector-open .file-workspace {
        grid-template-columns: var(--file-locations-width, 220px) minmax(420px, 1.4fr) var(--file-inspector-width, 300px);
    }

    .file-search-workspace-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .file-search-submit {
        justify-self: end;
    }

    .file-recycle-row {
        grid-template-areas:
            "identity state actions"
            "meta meta meta"
            "detail detail detail";
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .file-recycle-identity {
        grid-area: identity;
    }

    .file-recycle-meta {
        grid-area: meta;
    }

    .file-recycle-state {
        grid-area: state;
    }

    .file-recycle-actions {
        grid-area: actions;
    }

    .file-recycle-detail {
        grid-area: detail;
    }

    .terminal-workspace {
        grid-template-columns: minmax(430px, 1fr) 300px;
    }

    .terminal-interactive-workspace {
        grid-template-columns: minmax(0, 1fr);
    }

    .terminal-status-text {
        display: none;
    }

}

@media (min-width: 681px) and (max-width: 1320px) {
    .workbench-subtoolbar > .workbench-search {
        min-width: 240px;
        max-width: none;
    }

    .workbench-subtoolbar .file-command-group {
        gap: 6px;
    }

    .workbench-subtoolbar .file-adaptive-secondary-command {
        display: none;
    }
}

@media (min-width: 681px) and (max-width: 1180px) {
    .workbench-subtoolbar .file-command-group > .status {
        display: none;
    }
}

@media (min-width: 681px) and (max-width: 820px) {
    .workbench-subtoolbar > .workbench-search {
        min-width: 200px;
    }

    .workbench-subtoolbar .file-command-group .file-command-button,
    .workbench-subtoolbar .file-command-group > .icon-btn {
        width: 34px;
        min-width: 34px;
        height: 34px;
        min-height: 34px;
        flex: 0 0 34px;
        justify-content: center;
        padding: 0;
    }

    .workbench-subtoolbar .file-command-group .file-command-label,
    .workbench-subtoolbar .file-command-group .file-menu-caret-icon {
        display: none;
    }
}

@media (max-width: 980px) {
    body.file-terminal-overlay-open {
        overflow: hidden;
    }

    .shell-quick-navigation-trigger {
        width: 36px;
        min-width: 36px;
        flex: 0 0 36px;
        padding: 0;
    }

    .shell-quick-navigation-trigger .shell-action-label {
        display: none;
    }

    .layout {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .sidebar {
        padding: 16px 10px;
    }

    .sidebar-brand strong,
    .sidebar-brand span,
    .nav-item > span:not(.nav-icon),
    .nav-phase {
        display: none;
    }

    .sidebar-brand {
        justify-content: center;
        padding: 0 0 18px;
    }

    .nav-item {
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 0;
    }

    .grid.cols-3,
    .grid.cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .split {
        grid-template-columns: 1fr;
    }

    .inline-form,
    .inline-form.three,
    .inline-form.two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .workbench-subtoolbar {
        flex-wrap: wrap;
    }

    .file-workspace {
        height: auto;
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .file-workbench.has-clipboard .file-workspace {
        height: auto;
        min-height: 0;
    }

    .file-workbench.file-terminal-open .file-workspace,
    .file-workbench.file-terminal-open.has-clipboard .file-workspace {
        height: auto;
        min-height: 0;
    }

    .file-terminal-backdrop {
        position: fixed;
        z-index: 1000;
        inset: 0;
        display: block;
        width: auto;
        height: auto;
        border: 0;
        border-radius: 0;
        background: rgba(5, 12, 17, 0.58);
        padding: 0;
    }

    .file-terminal-drawer {
        position: fixed;
        z-index: 1001;
        right: 8px;
        bottom: 8px;
        left: 8px;
        width: auto;
        height: min(
            var(--file-terminal-height, 320px),
            calc(100dvh - 80px)
        );
        border: 1px solid #435462;
        border-radius: 6px;
        box-shadow: 0 18px 46px rgba(4, 12, 18, 0.38);
    }

    .file-terminal-content > .terminal-interactive-workspace {
        height: 100%;
    }

    .file-workbench.inspector-open .file-workspace {
        grid-template-columns: 1fr;
    }

    .file-workbench.locations-open .file-workspace,
    .file-workbench.locations-open.inspector-open .file-workspace {
        grid-template-columns: 1fr;
    }

    .file-workbench.search-open.locations-open.inspector-open .file-workspace {
        grid-template-columns: 1fr;
    }

    .file-locations-pane {
        position: absolute;
        z-index: 14;
        top: 0;
        left: 0;
        width: min(720px, 100%);
        height: min(340px, calc(100dvh - 210px));
        max-height: none;
        border: 1px solid var(--line);
        border-top: 0;
        border-left: 0;
        box-shadow: 0 14px 32px rgb(29 45 58 / 18%);
    }

    .file-locations-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .file-location-group + .file-location-group {
        margin-top: 0;
        border-top: 0;
        border-left: 1px solid #e3e8eb;
        padding-top: 0;
    }

    .file-browser-pane {
        height: 560px;
        border-right: 0;
        border-bottom: 0;
    }

    .file-workbench.inspector-open .file-browser-pane {
        border-right: 0;
        border-bottom: 0;
    }

    .file-inspector {
        position: absolute;
        z-index: 15;
        top: 0;
        right: 0;
        width: min(420px, 100%);
        height: min(560px, calc(100dvh - 210px));
        max-height: none;
        border-left: 1px solid var(--line);
        box-shadow: 0 14px 32px rgb(29 45 58 / 18%);
    }

    .file-inspector-scroll {
        height: 100%;
        overflow-y: auto;
    }

    .file-pane-resizer {
        display: none;
    }

    .file-editor-tools {
        justify-content: flex-start;
        overflow-x: auto;
    }

    .terminal-workspace {
        height: auto;
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .terminal-interactive-workspace {
        height: max(560px, calc(100dvh - 128px));
    }

    .terminal-focus-mode .terminal-workspace:not(.terminal-interactive-workspace) {
        grid-template-rows: minmax(0, 1fr) minmax(160px, 32vh);
        overflow: hidden;
    }

    .terminal-console-pane {
        min-height: 620px;
    }

    .terminal-history-pane {
        max-height: none;
        overflow: visible;
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .terminal-focus-mode .terminal-history-pane {
        max-height: none;
        overflow-y: auto;
    }

    .terminal-interactive-pane {
        min-height: 0;
    }

    .terminal-interactive-workspace.terminal-utility-open {
        grid-template-columns: minmax(0, 1fr);
    }

    .terminal-session-utility-panel {
        position: absolute;
        z-index: 16;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(380px, 100%);
        border-left: 1px solid #cbd5dc;
        box-shadow: -14px 0 30px rgba(4, 12, 18, 0.28);
    }

    .terminal-session-utility-resizer {
        display: none;
    }

    .terminal-session-utility-backdrop:not([hidden]) {
        position: absolute;
        z-index: 15;
        inset: 0;
        display: block;
        width: auto;
        height: auto;
        border: 0;
        border-radius: 0;
        background: rgba(5, 12, 17, 0.56);
        padding: 0;
    }

    .terminal-session-options-body {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    body.mobile-navigation-open {
        overflow: hidden;
    }

    .file-empty {
        padding: 24px 12px;
    }

    .file-empty-actions {
        width: 100%;
        max-width: 320px;
    }

    .file-empty-actions .file-command-button {
        min-width: 0;
        flex: 1 1 calc(50% - 4px);
    }

    .file-terminal-drawer {
        right: 6px;
        bottom: 6px;
        left: 6px;
    }

    .file-breadcrumb[aria-current="page"] {
        max-width: calc(100% - 38px);
        flex: 0 0 auto;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .file-terminal-identity > div > span {
        max-width: 42vw;
    }

    .file-terminal-identity > .status {
        display: none;
    }

    .layout {
        display: block;
    }

    .sidebar {
        position: fixed;
        z-index: 1002;
        top: 0;
        bottom: 0;
        left: 0;
        display: block;
        width: min(296px, calc(100vw - 44px));
        height: 100dvh;
        overflow-y: auto;
        padding: 12px;
        box-shadow: 14px 0 36px rgb(23 33 43 / 30%);
        transform: translateX(calc(-100% - 16px));
        transition: transform 180ms ease, visibility 180ms;
        visibility: hidden;
    }

    .layout.mobile-navigation-open .sidebar {
        transform: translateX(0);
        visibility: visible;
    }

    .sidebar-header {
        display: flex;
        min-height: 48px;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.13);
        padding-bottom: 10px;
    }

    .sidebar-brand {
        min-width: 0;
        flex: 1 1 auto;
        justify-content: flex-start;
        padding: 0;
    }

    .sidebar-brand strong,
    .sidebar-brand span,
    .nav-item > span:not(.nav-icon) {
        display: block;
    }

    .mobile-navigation-close {
        display: inline-flex;
        flex: 0 0 36px;
        border-color: rgba(255, 255, 255, 0.28);
        background: transparent;
        color: #edf3f7;
    }

    .mobile-navigation-close:hover {
        background: var(--sidebar-hover);
    }

    .nav-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
        padding-top: 10px;
    }

    .nav-item {
        min-height: 44px;
        grid-template-columns: 30px minmax(0, 1fr);
        justify-items: start;
        padding: 0 12px;
    }

    .mobile-navigation-backdrop {
        position: fixed;
        z-index: 1001;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
        background: rgb(23 33 43 / 48%);
        cursor: pointer;
    }

    .layout.mobile-navigation-open .mobile-navigation-backdrop {
        display: block;
    }

    .topbar {
        position: sticky;
        top: 0;
        z-index: 30;
        min-height: 56px;
        align-items: center;
        flex-direction: row;
        gap: 8px;
        padding: 0 12px;
    }

    .topbar-leading {
        min-width: 0;
        flex: 1 1 auto;
        gap: 8px;
    }

    .mobile-navigation-toggle {
        display: inline-flex;
        flex: 0 0 36px;
    }

    .page-title h2 {
        overflow: hidden;
        font-size: 18px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .page-title span {
        display: none;
    }

    .top-actions {
        width: auto;
        min-width: 0;
        flex: 0 0 auto;
        gap: 4px;
    }

    .shell-action-button {
        width: 36px;
        min-width: 36px;
        flex: 0 0 36px;
        padding: 0;
    }

    .shell-action-label,
    .user-role {
        display: none;
    }

    .user-chip {
        min-width: 0;
        max-width: clamp(64px, 24vw, 104px);
        padding: 0 8px;
    }

    .content {
        padding: 12px;
    }

    .dashboard-workspace-bar,
    .website-workspace-bar,
    .database-workspace-bar,
    .ssl-workspace-bar,
    .schedule-workspace-bar,
    .software-workspace-bar,
    .service-workspace-bar,
    .notification-workspace-bar,
    .settings-workspace-bar {
        top: 56px;
        min-height: 44px;
    }

    .dashboard-workspace-tabs button,
    .website-workspace-tabs button,
    .database-workspace-tabs button,
    .ssl-workspace-tabs button,
    .schedule-workspace-tabs button,
    .software-workspace-tabs button,
    .service-workspace-tabs button,
    .notification-workspace-tabs button,
    .settings-workspace-tabs button {
        min-height: 42px;
        padding: 0 12px;
        font-size: 12px;
    }

    .dashboard-workspace-status,
    .website-workspace-status,
    .database-workspace-status,
    .ssl-workspace-status,
    .schedule-workspace-status,
    .software-workspace-status,
    .service-workspace-status,
    .notification-workspace-status,
    .settings-workspace-status {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .grid.cols-2,
    .grid.cols-3,
    .grid.cols-4 {
        grid-template-columns: 1fr;
    }

    .inline-form,
    .inline-form.three,
    .inline-form.two {
        grid-template-columns: 1fr;
    }

    .schedule-form-actions {
        align-items: stretch;
    }

    .schedule-parameter-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .schedule-parameter-actions,
    .schedule-parameter-mode {
        width: 100%;
    }

    .schedule-parameter-actions .icon-btn {
        flex: 0 0 36px;
    }

    .schedule-parameter-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .schedule-parameter-wide {
        grid-column: auto;
    }

    .schedule-form-actions > button {
        flex: 1 1 140px;
    }

    .workbench-toolbar,
    .workbench-subtoolbar {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .file-toolbar {
        align-items: center;
        flex-wrap: nowrap;
        gap: 4px;
        padding: 8px;
    }

    .file-toolbar > .file-locations-toggle,
    .file-toolbar > .file-favorite-toggle,
    .file-toolbar > .file-view-toggle {
        display: none;
    }

    .file-directory-tabbar {
        min-height: 37px;
        grid-template-columns: minmax(0, 1fr) 32px 32px;
        gap: 4px;
        padding: 5px 6px 0;
    }

    .file-directory-tab {
        height: 31px;
        min-width: 112px;
        flex-basis: 148px;
    }

    .file-directory-tab-main,
    .file-directory-tab-close {
        height: 30px;
    }

    .file-directory-tab-main {
        gap: 6px;
        padding: 0 6px;
    }

    .file-directory-tab-overview,
    .file-directory-tab-new {
        width: 30px;
        min-width: 30px;
        height: 31px;
        min-height: 31px;
    }

    .file-location-control {
        order: 0;
        width: auto;
        min-width: 0;
        flex: 1 1 0;
    }

    .file-locations-list {
        display: block;
        grid-template-columns: 1fr;
    }

    .file-locations-pane {
        width: 100%;
        height: min(420px, calc(100dvh - 170px));
        border-right: 0;
    }

    .file-inspector {
        width: 100%;
        height: min(500px, calc(100dvh - 170px));
        border-left: 0;
    }

    .file-location-group + .file-location-group {
        margin-top: 8px;
        border-top: 1px solid #e3e8eb;
        border-left: 0;
        padding-top: 8px;
    }

    .file-location-more,
    .file-favorite-remove {
        opacity: 1;
    }

    .file-path-editor {
        width: 100%;
    }

    .workbench-search {
        width: 100%;
        max-width: none;
        flex: 1 0 100%;
    }

    .toolbar-spacer {
        display: none;
    }

    .file-browser-pane {
        height: 500px;
    }

    .file-search-workspace-header {
        gap: 7px;
        padding-right: 8px;
        padding-left: 10px;
    }

    .file-search-workspace-count {
        font-size: 10px;
    }

    .file-search-workspace-form {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding: 9px 10px 10px;
    }

    .file-search-workspace {
        grid-template-rows: auto auto auto;
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }

    .file-search-results {
        min-height: 210px;
        overflow: visible;
    }

    .file-search-result-list {
        flex: 0 0 auto;
        overflow: visible;
    }

    .file-search-submit {
        width: 100%;
        justify-self: stretch;
    }

    .file-search-result-row {
        grid-template-columns: minmax(0, 1fr) 36px;
    }

    .file-recycle-controls {
        align-items: stretch;
        flex-wrap: wrap;
        gap: 8px;
        padding: 9px 10px;
    }

    .file-recycle-filter {
        width: 100%;
        max-width: none;
        flex: 1 0 100%;
    }

    .file-recycle-tabs {
        width: 100%;
    }

    .file-recycle-tabs button {
        min-width: 0;
        flex: 1 1 0;
        padding: 0 7px;
    }

    .file-recycle-row {
        grid-template-areas:
            "identity state"
            "meta meta"
            "actions actions"
            "detail detail";
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 9px 10px;
        padding: 10px 10px 0;
    }

    .file-recycle-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .file-recycle-meta > span:last-child {
        grid-column: 1 / -1;
    }

    .file-recycle-state {
        justify-items: end;
    }

    .file-recycle-actions {
        justify-content: flex-start;
    }

    .file-recycle-detail {
        margin-right: -10px;
        margin-left: -10px;
    }

    .file-recycle-detail dl {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .file-recycle-workspace-header {
        padding-left: 10px;
    }

    .file-recycle-command .file-command-count {
        position: absolute;
        top: -4px;
        right: -4px;
        min-width: 15px;
        height: 15px;
        border: 1px solid #fff;
        border-radius: 7px;
        padding: 0 3px;
        font-size: 8px;
    }

    .file-recycle-restore-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
    }

    .file-recycle-restore-form {
        padding: 14px 12px 12px;
    }

    .file-recycle-restore-form .file-operation-actions {
        flex-wrap: wrap;
    }

    .file-recycle-restore-form .file-operation-actions .toolbar-spacer {
        display: none;
    }

    .file-recycle-restore-form .file-operation-actions button {
        flex: 1 1 calc(50% - 4px);
        justify-content: center;
    }

    .file-table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }

    .file-table.file-columns-sized {
        width: 100% !important;
        min-width: 0;
    }

    .file-table col {
        width: auto !important;
    }

    .file-column-resizer {
        display: none;
    }

    .file-workbench:not(.file-layout-grid) .file-table [data-file-column="size"],
    .file-table [data-file-column="permission"],
    .file-table [data-file-column="modified"] {
        display: none;
    }

    .file-table [data-file-column="select"] {
        width: 42px;
    }

    .file-table [data-file-column="name"] {
        width: auto;
    }

    .file-table [data-file-column="actions"] {
        width: 50px;
        padding-right: 3px;
        padding-left: 3px;
    }

    .file-workbench:not(.file-layout-grid) .file-entry-identity {
        display: grid;
        min-width: 0;
        align-content: center;
    }

    .file-workbench:not(.file-layout-grid) .file-entry-name {
        width: 100%;
        min-width: 0;
        min-height: 18px;
        gap: 7px;
        padding: 0 3px;
    }

    .file-workbench:not(.file-layout-grid) .file-entry-name .file-entry-glyph {
        width: 18px;
        height: 18px;
        flex-basis: 18px;
    }

    .file-workbench:not(.file-layout-grid) .file-entry-mobile-meta {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 4px;
        overflow: hidden;
        margin-left: 28px;
        color: #6b7c87;
        font-size: 10px;
        line-height: 11px;
        white-space: nowrap;
    }

    .file-entry-mobile-meta > span {
        flex: 0 0 auto;
    }

    .file-entry-mobile-meta > span:last-child {
        overflow: hidden;
        flex: 0 1 auto;
        text-overflow: ellipsis;
    }

    .file-entry-mobile-meta .file-directory-size-button {
        display: inline-flex;
        min-width: 0;
        min-height: 11px;
        flex: 0 1 auto;
        padding: 0;
        font-size: 10px;
        line-height: 11px;
    }

    .file-table td {
        height: var(--file-row-height);
    }

    .file-table .row-actions {
        gap: 4px;
    }

    .file-table .small-btn {
        min-height: 28px;
        padding: 0 8px;
    }

    .file-table .file-sort-button {
        gap: 2px;
        padding: 0;
        font-size: 11px;
        white-space: nowrap;
    }

    .file-row-actions {
        position: static;
        background: transparent;
        box-shadow: none;
        text-align: center;
    }

    .file-table th.file-row-actions,
    .file-table tbody tr[data-file-row]:hover > .file-row-actions,
    .file-table tbody tr.selected > .file-row-actions,
    .file-table tbody tr.selected:hover > .file-row-actions,
    .file-table tbody tr.inline-renaming > .file-row-actions,
    .file-table tbody tr.inline-renaming:hover > .file-row-actions,
    .file-table tbody tr.file-drop-target-copy > .file-row-actions,
    .file-table tbody tr.file-drop-target-copy:hover > .file-row-actions,
    .file-table tbody tr.file-drop-target-move > .file-row-actions,
    .file-table tbody tr.file-drop-target-move:hover > .file-row-actions,
    .file-table tbody tr.file-drop-target-blocked > .file-row-actions,
    .file-table tbody tr.file-drop-target-blocked:hover > .file-row-actions {
        background: transparent;
    }

    .file-row-actions .status {
        display: none;
    }

    .file-row-action-group {
        gap: 0;
        justify-content: center;
    }

    .file-workbench:not(.file-layout-grid) .file-row-actions .file-row-quick-action {
        display: none;
    }

    .file-row-quick-action .file-command-label {
        display: none;
    }

    .file-row-quick-action[data-file-row-quick-action="rename"] {
        display: none;
    }

    .file-directory-size-button.file-row-quick-action {
        min-width: 0;
        padding: 0 1px;
        font-size: 11px;
    }

    .file-more-button {
        width: 32px;
        min-width: 32px;
        height: 32px;
        min-height: 32px;
    }

    .file-inline-rename {
        grid-template-columns: minmax(0, 1fr) 28px 28px;
        gap: 4px;
    }

    .file-inline-rename .file-entry-icon {
        display: none;
    }

    .file-inline-create-bar {
        padding: 6px 8px;
    }

    .file-inline-create {
        grid-template-columns: auto minmax(0, 1fr) 28px 28px;
        gap: 4px;
    }

    .file-inline-create .file-entry-icon {
        display: none;
    }

    .file-selection-bar {
        gap: 6px;
        align-items: stretch;
        flex-wrap: wrap;
        padding: 6px 8px;
    }

    .file-workbench.has-selection .workbench-subtoolbar {
        display: none;
    }

    .file-selection-summary {
        width: 100%;
        flex: 1 0 100%;
    }

    .file-command-group,
    .file-selection-actions {
        width: 100%;
        flex: 1 0 100%;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin-left: 0;
    }

    .workbench-subtoolbar > .compact-toggle {
        flex: 0 0 auto;
    }

    .workbench-subtoolbar > .workbench-search {
        width: 100%;
        max-width: none;
        flex: 1 0 100%;
    }

    .workbench-subtoolbar .file-command-group {
        width: auto;
        flex: 1 1 auto;
        flex-wrap: nowrap;
        justify-content: flex-end;
        gap: 6px;
        margin-left: auto;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: thin;
    }

    .workbench-subtoolbar .file-command-group > .status {
        display: none;
    }

    .workbench-subtoolbar .file-command-group .file-command-button,
    .workbench-subtoolbar .file-command-group > .icon-btn {
        width: 34px;
        min-width: 34px;
        height: 34px;
        min-height: 34px;
        flex: 0 0 34px;
        justify-content: center;
        padding: 0;
    }

    .workbench-subtoolbar .file-command-group .file-command-label,
    .workbench-subtoolbar .file-command-group .file-menu-caret-icon {
        display: none;
    }

    .workbench-subtoolbar .file-operation-history-command {
        display: none;
    }

    .file-selection-actions {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 6px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 2px;
        scrollbar-width: thin;
    }

    .file-selection-actions .file-command-button,
    .file-selection-actions > .icon-btn {
        width: 34px;
        min-width: 34px;
        height: 34px;
        min-height: 34px;
        flex: 0 0 34px;
        justify-content: center;
        padding: 0;
    }

    .file-selection-actions .file-command-label {
        display: none;
    }

    .file-selection-actions > .file-selection-mobile-overflow-command {
        display: none;
    }

    .file-selection-actions .file-selection-mobile-labelled-command {
        width: 82px;
        min-width: 0;
        flex: 0 1 82px;
        gap: 5px;
        padding: 0 7px;
        font-size: 11px;
    }

    .file-selection-actions .file-selection-more-command {
        width: 64px;
        flex-basis: 64px;
    }

    .file-selection-actions .file-selection-mobile-labelled-command
        .file-command-label {
        display: block;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .file-typeahead-status {
        width: 100%;
        max-width: 100%;
        flex: 1 0 100%;
    }

    .workbench-footer {
        flex-wrap: wrap;
        gap: 6px;
    }

    .file-footer-summary,
    .file-system-space {
        width: 100%;
        flex-basis: 100%;
    }

    .file-system-space {
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) 84px;
        gap: 8px;
    }

    .file-system-space-label {
        text-align: left;
    }

    .file-clipboard-bar {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .file-clipboard-source {
        width: 100%;
    }

    .file-clipboard-source span {
        max-width: none;
    }

    .file-clipboard-target {
        flex: 1 1 180px;
        align-self: center;
    }

    .file-draft-options {
        grid-template-columns: 1fr;
    }

    .file-operation-dialog {
        inset: auto 8px 8px;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        margin: 0;
    }

    .file-operation-dialog.file-quick-reviewing {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
    }

    .file-directory-picker-dialog {
        inset: 8px;
        width: calc(100vw - 16px);
        height: calc(100dvh - 16px);
        margin: 0;
    }

    .file-directory-picker-shell {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: 106px minmax(0, 1fr);
    }

    .file-directory-picker-locations {
        display: grid;
        border-right: 0;
        border-bottom: 1px solid var(--line);
        padding: 8px;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .file-directory-picker-locations > strong,
    .file-directory-picker-location-group h3 {
        display: none;
    }

    .file-directory-picker-locations > nav {
        display: flex;
        min-width: max-content;
        align-items: stretch;
        gap: 6px;
    }

    .file-directory-picker-location-group {
        display: flex;
        gap: 6px;
    }

    .file-directory-picker-location-group +
    .file-directory-picker-location-group {
        margin-top: 0;
    }

    .file-directory-picker-location {
        width: 148px;
        height: 88px;
        align-content: center;
        padding: 8px;
    }

    .file-directory-picker-navigation {
        padding-right: 8px;
        padding-left: 8px;
    }

    .file-directory-picker-navigation nav > button {
        max-width: 128px;
    }

    .file-directory-picker-search {
        padding-right: 11px;
        padding-left: 11px;
    }

    .file-directory-picker-entry {
        grid-template-columns: 22px minmax(0, 1fr) auto 16px;
        gap: 7px;
        padding-right: 9px;
        padding-left: 9px;
    }

    .file-directory-picker-actions {
        min-height: 92px;
        align-items: stretch;
        flex-wrap: wrap;
        padding: 8px 10px;
    }

    .file-directory-picker-selected {
        width: 100%;
        flex: 1 0 100%;
    }

    .file-directory-picker-actions > button {
        flex: 1 1 calc(50% - 5px);
        justify-content: center;
    }

    .file-operation-dialog-header {
        min-height: 56px;
        padding-left: 14px;
    }

    .file-operation-stage {
        padding: 14px;
    }

    .file-operation-review-summary {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 10px;
        padding: 10px 11px;
    }

    .file-operation-review-icon {
        width: 34px;
        height: 34px;
    }

    .file-operation-facts > div {
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 8px;
    }

    .file-operation-form textarea {
        min-height: 210px;
    }

    .file-permission-mode-row {
        grid-template-columns: 1fr;
    }

    .file-permission-owner-row {
        grid-template-columns: 1fr;
    }

    .file-permission-matrix {
        grid-template-columns: minmax(72px, 1fr) repeat(3, minmax(46px, 0.7fr));
        gap: 8px 6px;
        padding-right: 9px;
        padding-left: 9px;
    }

    .file-permission-matrix > label {
        gap: 4px;
    }

    .file-permission-scope {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .file-permission-scope > span {
        text-align: left;
    }

    .file-operation-dialog.file-editor-dialog {
        width: calc(100vw - 16px);
        height: calc(100dvh - 16px);
        max-height: calc(100dvh - 16px);
    }

    .file-editor-dialog [data-file-quick-path] {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        padding: 7px 12px;
    }

    .file-editor-dialog [data-file-quick-path] label {
        display: none;
    }

    .file-editor-tabs {
        min-height: 36px;
    }

    .file-editor-tab-item {
        min-width: 116px;
        max-width: 176px;
        height: 36px;
        flex-basis: 154px;
    }

    .file-editor-tab-main {
        padding-left: 8px;
    }

    .file-editor-quick-open {
        top: 108px;
        width: calc(100% - 16px);
        max-height: min(390px, calc(100% - 120px));
    }

    .file-editor-quick-open-option {
        min-height: 48px;
        padding-right: 9px;
        padding-left: 9px;
    }

    .file-editor-quick-open-state {
        gap: 5px;
    }

    .file-editor-quick-open-state span + span {
        padding-left: 5px;
    }

    .file-editor-toolbar {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        padding-right: 8px;
        padding-left: 8px;
    }

    .file-editor-metadata {
        max-width: none;
    }

    .file-editor-tools {
        width: 100%;
        padding-bottom: 1px;
    }

    .file-editor-command-group {
        flex: 1 0 auto;
    }

    .file-editor-toolbar .file-editor-mode-select {
        width: 96px;
    }

    .file-editor-navigation select {
        width: 132px;
    }

    .file-editor-navigation output {
        width: 42px;
        flex-basis: 42px;
    }

    .file-editor-wrap-toggle span {
        display: none;
    }

    .file-image-view-modes button {
        min-width: 48px;
        padding-right: 7px;
        padding-left: 7px;
    }

    .file-image-preview-canvas {
        padding: 8px;
    }

    .file-editor-dialog .file-editor-content-field textarea {
        min-height: 0;
        padding: 12px;
        font-size: 12px;
    }

    .file-code-editor {
        font-size: 12px;
    }

    .file-editor-statusbar {
        justify-content: space-between;
        gap: 8px;
        padding-right: 9px;
        padding-left: 9px;
    }

    .file-editor-dialog .file-operation-actions {
        min-height: 54px;
        flex-wrap: nowrap;
    }

    .file-editor-dialog.file-editor-reviewing .file-operation-review {
        width: 100%;
        min-width: 0;
        border-left: 0;
        box-shadow: none;
    }

    .file-editor-dialog.file-editor-history-open .file-version-panel {
        width: 100%;
        min-width: 0;
        border-left: 0;
        box-shadow: none;
    }

    .file-version-row {
        grid-template-columns: 26px minmax(0, 1fr) auto;
        gap: 8px;
        padding-right: 9px;
        padding-left: 9px;
    }

    .file-version-row-actions .status {
        display: none;
    }

    .file-version-preview {
        min-height: 168px;
        max-height: 38%;
        flex-basis: 38%;
    }

    .file-editor-dialog.file-editor-reviewing > #fileQuickCreateStage {
        display: none;
    }

    .file-editor-dialog.file-editor-reviewing .file-operation-review .file-operation-actions {
        flex-wrap: wrap;
    }

    .file-operation-confirmation-fields {
        grid-template-columns: 1fr;
    }

    .file-batch-transfer-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .file-batch-target-directory {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .file-batch-target-directory-copy {
        width: 100%;
        flex: 1 0 100%;
    }

    .file-batch-target-directory > button {
        width: 100%;
        justify-content: center;
    }

    .file-remote-download-target {
        align-items: center;
    }

    .file-remote-download-target .file-batch-target-directory-copy {
        flex-basis: auto;
    }

    .file-remote-download-source-heading {
        grid-template-columns: 32px minmax(0, 1fr) auto;
        gap: 8px;
    }

    .file-remote-download-facts > div {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 8px;
    }

    .file-remote-download-dialog #fileRemoteDownloadReviewStage
    .file-operation-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
    }

    .file-remote-download-dialog #fileRemoteDownloadReviewStage
    .file-operation-actions .toolbar-spacer {
        display: none;
    }

    .file-remote-download-dialog #fileRemoteDownloadReviewStage
    .file-operation-actions > button {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .file-remote-download-dialog #fileRemoteDownloadReviewStage
    [data-file-remote-download-apply] {
        grid-column: 1 / -1;
    }

    .file-batch-transfer-item.delete,
    .file-batch-transfer-item.upload,
    .file-batch-transfer-item.permission {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .file-batch-permission-editor {
        padding-top: 10px;
    }

    .file-batch-rename-editor {
        padding-top: 10px;
    }

    .file-batch-rename-fields,
    .file-batch-rename-fields.sequence {
        grid-template-columns: minmax(0, 1fr);
    }

    .file-batch-rename-options {
        align-items: flex-start;
        flex-direction: column;
    }

    .file-batch-rename-option-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .file-batch-rename-summary {
        max-width: 100%;
    }

    .file-batch-transfer-item.rename {
        align-items: start;
        grid-template-columns: minmax(0, 1fr);
    }

    .file-batch-transfer-item.rename .file-batch-transfer-arrow {
        display: none;
    }

    .file-batch-rename-target {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 32px;
    }

    .file-batch-rename-target > .status {
        max-width: 100%;
        grid-column: 1 / -1;
        justify-self: start;
    }

    .file-batch-permission-principals {
        grid-template-columns: 1fr;
    }

    .file-batch-transfer-item.permission {
        align-items: start;
        grid-template-columns: minmax(0, 1fr);
    }

    .file-batch-transfer-item.permission > .status {
        max-width: 100%;
        justify-self: start;
    }

    .file-batch-upload-head,
    .file-batch-upload-meta {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .file-batch-transfer-arrow {
        display: none;
    }

    .file-batch-plan-item {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .file-batch-task-counts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .file-batch-task-counts span:nth-child(2) {
        border-right: 0;
    }

    .file-batch-task-counts span:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }

    .file-batch-task-item {
        grid-template-columns: 22px 64px minmax(0, 1fr);
        gap: 7px;
    }

    .file-batch-task-item-actions {
        grid-column: 3;
        justify-content: flex-start;
    }

    .file-operation-facts > div {
        grid-template-columns: 86px minmax(0, 1fr);
    }

    .file-operation-actions {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .file-operation-actions .toolbar-spacer {
        display: none;
    }

    .terminal-statusbar {
        display: grid;
        min-height: 42px;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 6px;
        padding: 5px 8px;
    }

    .terminal-identity {
        display: none;
    }

    .terminal-mode-switch {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        min-width: 0;
    }

    .terminal-mode-switch button {
        flex: 1;
        min-width: 0;
        padding-right: 8px;
        padding-left: 8px;
        white-space: nowrap;
    }

    .terminal-status-items {
        grid-column: 2;
        grid-row: 1;
        align-items: center;
        gap: 4px;
        flex-wrap: nowrap;
    }

    .terminal-status-items .status {
        max-width: 76px;
        overflow: hidden;
        padding: 3px 6px;
        font-size: 10px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .terminal-diagnostics-refresh {
        width: 30px;
        min-width: 30px;
        height: 30px;
        min-height: 30px;
        flex-basis: 30px;
    }

    .terminal-prompt-row {
        grid-template-columns: 24px minmax(0, 1fr);
    }

    .terminal-prompt-row .primary-btn {
        grid-column: 2;
    }

    .terminal-confirmation-fields {
        grid-template-columns: 1fr;
    }

    .terminal-session-toolbar {
        top: auto;
        bottom: 34px;
        width: 100%;
        max-height: min(560px, calc(100% - 77px));
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        border-top: 1px solid #c7d1d8;
        border-left: 0;
        border-radius: 7px 7px 0 0;
        box-shadow: 0 -14px 28px rgba(4, 12, 18, 0.28);
        padding-right: 12px;
        padding-left: 12px;
    }

    .terminal-diagnostics-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .terminal-diagnostics-facts > div:nth-child(odd) {
        border-right: 0;
    }

    .terminal-diagnostics-facts > div {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .terminal-diagnostics-facts dd small {
        max-width: 156px;
    }

    .terminal-session-utility-panel {
        width: 100%;
        border-left: 0;
    }

    .terminal-session-settings-backdrop:not([hidden]) {
        position: absolute;
        z-index: 11;
        top: 43px;
        right: 0;
        bottom: 34px;
        left: 0;
        display: block;
        width: auto;
        height: auto;
        border: 0;
        border-radius: 0;
        background: rgba(5, 12, 17, 0.56);
        padding: 0;
    }

    .terminal-interactive-pane.connection-panel-open .terminal-session-empty {
        width: min(420px, calc(100% - 32px));
        max-width: min(420px, calc(100% - 32px));
        justify-self: center;
        margin-right: 0;
    }

    .terminal-session-tabs-bar {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .terminal-session-tab-more {
        opacity: 1;
    }

    .terminal-screen-header {
        gap: 4px;
        padding-left: 8px;
        padding-right: 5px;
    }

    .terminal-screen-location > .terminal-session-header-title {
        display: none;
    }

    .terminal-screen-tools {
        gap: 1px;
    }

    .terminal-session-search-bar {
        grid-template-columns: minmax(0, 1fr) 48px 27px 27px 27px;
        padding-left: 5px;
        padding-right: 5px;
    }

    .terminal-emulator-frame {
        grid-template-rows: 36px auto minmax(0, 1fr) auto 38px;
    }

    .terminal-emulator-stack.terminal-split {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }

    .terminal-touch-keys {
        display: grid;
        grid-row: 5;
        grid-template-columns: repeat(8, minmax(38px, 1fr));
        align-items: stretch;
        gap: 3px;
        overflow-x: auto;
        border-top: 1px solid #2a3742;
        background: #17222c;
        padding: 4px 5px;
        scrollbar-width: none;
    }

    .terminal-touch-keys button {
        display: grid;
        min-width: 38px;
        min-height: 29px;
        place-items: center;
        border: 1px solid #435462;
        border-radius: 3px;
        background: #1d2a34;
        color: #dce7ee;
        padding: 0 4px;
        touch-action: manipulation;
    }

    .terminal-touch-keys button:hover:not(:disabled),
    .terminal-touch-keys button:focus-visible,
    .terminal-touch-keys button:active:not(:disabled) {
        outline: none;
        border-color: #6a9cc2;
        background: #263641;
        color: #fff;
    }

    .terminal-touch-keys button:disabled {
        cursor: not-allowed;
        opacity: 0.42;
    }

    .terminal-touch-keys .terminal-touch-paste:not(:disabled) {
        border-color: #4d8d63;
        background: #1c3728;
        color: #a8edbb;
    }

    .terminal-touch-keys kbd {
        border: 0;
        background: transparent;
        color: inherit;
        padding: 0;
        font: 700 10px/1 "SFMono-Regular", Consolas, monospace;
        white-space: nowrap;
    }

    .terminal-touch-key-icon {
        width: 14px;
        height: 14px;
        flex-basis: 14px;
    }

    .terminal-session-footer {
        gap: 7px;
        padding: 0 8px;
    }

    .terminal-session-tool-message {
        max-width: 42%;
    }

    .terminal-session-path-control,
    .terminal-session-password-control,
    .terminal-session-actions,
    .terminal-session-policy,
    .terminal-session-message {
        grid-column: 1;
    }

    .terminal-session-policy {
        align-items: stretch;
        flex-direction: column;
    }

    .terminal-session-options {
        grid-column: 1;
    }

    .terminal-session-options > summary {
        margin-left: auto;
    }

    .terminal-session-options[open] {
        grid-column: 1;
        grid-row: auto;
    }

    .terminal-session-options-body {
        grid-template-columns: 1fr;
    }

    .terminal-session-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .terminal-session-actions button {
        flex: 1;
    }

    .terminal-command-palette {
        inset: auto 8px 8px;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        margin: 0;
    }

    .terminal-command-palette-header {
        min-height: 56px;
        grid-template-columns: minmax(0, 1fr) auto 32px;
        gap: 7px;
        padding: 9px 10px;
    }

    .terminal-command-palette-search {
        padding-right: 8px;
        padding-left: 8px;
    }

    .terminal-command-palette-search input {
        font-size: 12px;
    }

    .terminal-command-palette-status {
        min-width: 32px;
        font-size: 10px;
    }

    .terminal-command-palette-list {
        max-height: calc(100dvh - 72px);
    }

    .terminal-command-palette-option {
        min-height: 56px;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        gap: 8px;
        padding-right: 10px;
        padding-left: 8px;
    }

    .terminal-command-palette-source {
        min-width: 34px;
        padding-right: 4px;
        padding-left: 4px;
    }

    .terminal-paste-dialog {
        inset: auto 8px 8px;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        margin: 0;
    }

    .terminal-paste-dialog form {
        max-height: calc(100dvh - 16px);
    }

    .terminal-paste-dialog-header {
        min-height: 56px;
        padding-left: 14px;
    }

    .terminal-paste-dialog-body {
        padding: 12px;
    }

    .terminal-saved-command-dialog-body {
        padding: 12px;
    }

    .terminal-saved-command-dialog-body textarea {
        min-height: 120px;
        max-height: 38dvh;
    }

    .terminal-paste-dialog-body pre {
        min-height: 130px;
        max-height: 44dvh;
        padding: 10px;
    }

    .terminal-paste-dialog-actions {
        padding: 9px 12px;
    }

    .terminal-paste-dialog-actions button {
        min-width: 0;
        flex: 1;
    }

    .terminal-console-pane {
        min-height: 460px;
    }

    .terminal-interactive-workspace {
        height: max(360px, calc(100dvh - 128px));
    }

    .terminal-interactive-pane {
        min-height: 0;
    }

    .terminal-session-facts {
        grid-template-columns: 1fr;
    }

    .file-bundle-archive-source {
        grid-template-columns: 18px minmax(0, 1fr);
    }

    .file-bundle-archive-source > .file-control-icon {
        grid-row: 1 / 3;
    }

    .file-bundle-archive-source > small {
        grid-column: 2;
    }

    .file-operation-toast {
        right: 12px;
        bottom: 12px;
        width: calc(100vw - 24px);
        grid-template-columns: 32px minmax(0, 1fr) 32px;
        grid-template-areas: "icon copy close";
        gap: 8px;
        padding: 10px;
    }

    .file-operation-toast.actionable {
        grid-template-areas:
            "icon copy close"
            ". actions actions";
    }

    .file-operation-toast-actions {
        min-width: 0;
        flex-wrap: wrap;
    }

    .file-operation-toast-icon,
    .file-operation-toast > .icon-btn {
        width: 32px;
        min-width: 32px;
        height: 32px;
        min-height: 32px;
    }

    .auth-card {
        padding: 24px;
    }
}

@media (max-width: 390px) {
    .terminal-workbench,
    .terminal-statusbar,
    .terminal-status-items {
        min-width: 0;
        max-width: 100%;
    }

    .terminal-workbench {
        overflow: hidden;
    }

    .terminal-statusbar {
        gap: 4px;
        padding-right: 5px;
        padding-left: 5px;
    }

    .terminal-mode-switch button {
        padding-right: 6px;
        padding-left: 6px;
        font-size: 11px;
    }

    .terminal-status-items .status {
        max-width: 68px;
    }

    .terminal-diagnostics-facts > div {
        padding-right: 4px;
        padding-left: 4px;
    }

    .terminal-diagnostics-facts dd small {
        max-width: 132px;
    }

    .database-catalog-actions-cell .row-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
    }

    .database-catalog-actions-cell .small-btn {
        min-width: 0;
        padding-right: 5px;
        padding-left: 5px;
        font-size: 11px;
        overflow-wrap: anywhere;
    }

    .database-catalog-actions-cell [data-action="database-schedule-backup"] {
        gap: 3px;
    }

    .schedule-database-backup-import {
        padding: 8px;
    }

    .schedule-form-actions > button {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 1100px) {
    .database-catalog-filters {
        grid-template-columns: minmax(180px, 1.4fr) repeat(2, minmax(108px, 1fr));
    }

    .database-catalog-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .software-catalog-filters {
        grid-template-columns: minmax(180px, 1.4fr) repeat(2, minmax(108px, 1fr));
    }

    .software-catalog-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 980px) {
    .website-sites-toolbar {
        align-items: stretch;
    }

    .website-catalog-filters {
        grid-template-columns: minmax(180px, 1.4fr) repeat(2, minmax(108px, 1fr));
    }

    .website-catalog-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .website-sites-summary {
        align-items: center;
    }

    .website-resource-dialog,
    .website-resource-dialog.website-update-dialog {
        width: min(720px, calc(100vw - 24px));
    }
}

@media (max-width: 680px) {
    .website-sites-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        padding: 6px;
    }

    .website-sites-summary {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow: visible;
    }

    .website-sites-summary > span {
        min-width: 0;
        justify-content: center;
        gap: 2px;
        padding: 2px 4px;
        font-size: 10px;
        white-space: nowrap;
    }

    .website-sites-summary > span:first-child {
        padding-left: 4px;
    }

    .website-sites-summary strong {
        font-size: 13px;
    }

    .website-catalog-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding: 6px;
    }

    .website-catalog-query,
    .website-catalog-filter-actions {
        grid-column: 1 / -1;
    }

    .website-catalog-filter-actions button {
        flex: 1 1 0;
    }

    .website-catalog-pagination {
        justify-content: space-between;
    }

    .website-catalog-pagination > span {
        flex: 1 1 auto;
    }

    .website-deployment-health-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-deployment-health-summary strong {
        grid-column: 1 / -1;
    }

    .website-row-menu:not([hidden]) {
        inset: auto 8px 8px;
        width: auto;
        max-height: min(520px, calc(100dvh - 16px));
    }

    .website-sites-primary-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-sites-table-panel > .panel .panel-body {
        padding: 6px;
    }

    .website-sites-table-panel .table-wrap {
        overflow-x: visible;
    }

    .website-sites-table-panel table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .website-sites-table-panel thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .website-sites-table-panel tbody {
        display: grid;
        gap: 7px;
    }

    .website-sites-table-panel tbody > tr {
        display: grid;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
        border: 1px solid var(--line);
        border-radius: 4px;
        background: #fff;
        padding: 7px;
    }

    .website-sites-table-panel tbody > tr > td,
    .website-sites-table-panel tbody > tr > td:last-child {
        position: static;
        display: block;
        min-width: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        padding: 6px;
        overflow-wrap: anywhere;
    }

    .website-sites-table-panel tbody > tr > td::before {
        display: block;
        margin-bottom: 3px;
        color: var(--muted);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.2;
    }

    .website-sites-table-panel tbody > tr > td,
    .website-sites-table-panel tbody > tr > td:nth-child(n) {
        grid-column: 1 / -1;
    }

    .website-overview-summary .table-wrap {
        overflow-x: visible;
    }

    .website-overview-summary table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .website-overview-summary thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .website-overview-summary tbody,
    .website-overview-summary tr {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-overview-summary td {
        display: block;
        min-width: 0;
        border-bottom: 1px solid #e7ece9;
        padding: 8px 9px;
        overflow-wrap: anywhere;
    }

    .website-overview-summary td::before {
        display: block;
        margin-bottom: 3px;
        color: var(--muted);
        font-size: 10px;
        font-weight: 700;
    }

    .website-overview-summary td:nth-child(1)::before { content: "网站概览"; }
    .website-overview-summary td:nth-child(2)::before { content: "运行中"; }
    .website-overview-summary td:nth-child(3)::before { content: "已停止"; }
    .website-overview-summary td:nth-child(4)::before { content: "SSL 启用"; }
    .website-overview-summary td:nth-child(5)::before { content: "证书绑定"; }
    .website-overview-summary td:nth-child(6)::before { content: "部署审计"; }
    .website-overview-summary td:nth-child(7)::before { content: "部署失败"; }
    .website-overview-summary td:nth-child(8)::before { content: "Challenge 审计"; }
    .website-overview-summary td:nth-child(9)::before { content: "Challenge 失败"; }
    .website-overview-summary td:nth-child(10)::before { content: "最近部署"; }
    .website-overview-summary td:nth-child(11)::before { content: "关注项"; }
    .website-overview-summary td:nth-child(12)::before { content: "概览结论"; }

    .website-overview-summary td:nth-last-child(-n + 2) {
        grid-column: 1 / -1;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1)::before { content: "域名"; }
    .website-sites-table-panel tbody > tr > td:nth-child(2)::before { content: "状态"; }
    .website-sites-table-panel tbody > tr > td:nth-child(3)::before { content: "类型"; }
    .website-sites-table-panel tbody > tr > td:nth-child(4)::before { content: "根目录"; }
    .website-sites-table-panel tbody > tr > td:nth-child(5)::before { content: "操作"; }

    .website-domain-cell {
        min-width: 0;
        max-width: 100%;
    }

    .website-row-action-cell {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px;
        border-top: 1px solid #e5eaed;
        padding-top: 6px;
    }

    .website-row-actions-desktop {
        display: grid;
        min-width: 0;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .website-row-actions-desktop .small-btn {
        min-width: 0;
        justify-content: center;
        gap: 3px;
        padding-right: 4px;
        padding-left: 4px;
        font-size: 11px;
    }

    .website-row-menu-trigger {
        width: 38px;
    }

    .website-row-menu-trigger::after {
        content: none;
    }

    .website-detail-dialog {
        inset: auto 8px 8px;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        margin: 0;
    }

    .website-detail-content {
        min-height: 0;
    }

    .website-detail-titlebar {
        display: grid;
        min-height: 58px;
        gap: 7px;
        padding: 8px 11px;
    }

    .website-detail-titlebar > div:last-child {
        justify-content: flex-start;
    }

    .website-detail-workspace {
        height: auto;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    .website-detail-tabs {
        display: flex;
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--line);
        padding: 5px;
        scrollbar-width: thin;
    }

    .website-detail-tabs button {
        width: auto;
        min-width: max-content;
        min-height: 38px;
        flex: 0 0 auto;
        border-bottom: 2px solid transparent;
        border-left: 0;
        padding: 7px 9px;
    }

    .website-detail-tabs button[aria-selected="true"] {
        border-bottom-color: var(--green-dark);
        border-left-color: transparent;
    }

    .website-detail-panels > section {
        gap: 12px;
        padding: 12px 11px 18px;
    }

    .website-detail-section-heading,
    .website-detail-deployment-state {
        align-items: stretch;
        flex-direction: column;
    }

    .website-detail-section-heading button {
        width: 100%;
        justify-content: center;
    }

    .website-detail-deployment-state > .status {
        max-width: 100%;
        align-self: flex-start;
        text-align: left;
    }

    .website-detail-facts,
    .website-detail-facts.compact,
    .website-detail-audit-list > li > dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-detail-facts > div {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .website-detail-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-detail-actions button {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }

    .website-https-policy {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .website-https-policy > button {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }

    .website-detail-status {
        padding-right: 11px;
        padding-left: 11px;
    }

    .database-catalog-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding: 6px;
    }

    .database-catalog-query,
    .database-catalog-filter-actions {
        grid-column: 1 / -1;
    }

    .database-catalog-filter-actions button {
        min-width: 0;
        flex: 1 1 0;
    }

    .software-catalog-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding: 6px;
    }

    .software-catalog-query,
    .software-catalog-filter-actions {
        grid-column: 1 / -1;
    }

    .software-catalog-filter-actions button {
        min-width: 0;
        flex: 1 1 0;
    }

    .software-catalog-table-panel .table-wrap {
        overflow-x: visible;
    }

    .software-catalog-table-panel .software-catalog-table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .software-catalog-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .software-catalog-table tbody {
        display: grid;
        gap: 6px;
    }

    .software-catalog-table .software-catalog-row {
        display: grid;
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border: 1px solid var(--line);
        border-radius: 4px;
        background: #fff;
        padding: 6px;
    }

    .software-catalog-table .software-catalog-row > td {
        display: block;
        min-width: 0;
        border-bottom: 0;
        padding: 5px 6px;
        overflow-wrap: anywhere;
    }

    .software-catalog-table .software-catalog-row > td::before {
        display: block;
        margin-bottom: 3px;
        color: var(--muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.2;
    }

    .software-catalog-name-cell,
    .software-catalog-service-cell,
    .software-catalog-description-cell,
    .software-catalog-actions-cell {
        grid-column: 1 / -1;
    }

    .software-catalog-name {
        font-size: 14px;
        line-height: 1.35;
    }

    .software-catalog-description-cell {
        line-height: 1.45;
        white-space: normal;
        word-break: break-word;
    }

    .software-catalog-actions-cell {
        margin-top: 2px;
        border-top: 1px solid #e3e9ec;
        padding-top: 8px;
    }

    .software-catalog-row-actions {
        display: grid;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 6px;
    }

    .software-catalog-primary-actions {
        display: grid;
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .software-catalog-primary-actions .small-btn {
        min-width: 0;
        min-height: 40px;
        padding-right: 8px;
        padding-left: 8px;
        white-space: normal;
    }

    .software-catalog-overflow > summary {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    .software-catalog-overflow-menu {
        position: fixed;
        z-index: 20;
        inset: auto 8px 8px auto;
        width: min(220px, calc(100vw - 16px));
        max-height: calc(100dvh - 16px);
        margin-top: 0;
        overflow-y: auto;
    }

    .software-catalog-overflow-action {
        min-height: 40px;
    }

    .database-catalog-pagination {
        justify-content: space-between;
    }

    .website-sites-primary-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-sites-primary-actions button {
        min-width: 0;
    }

    .website-resource-dialog,
    .website-resource-dialog.website-update-dialog {
        inset: auto 8px 8px;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        margin: 0;
    }

    .website-resource-form {
        grid-template-columns: minmax(0, 1fr);
        padding: 12px;
    }

    #websiteForm {
        gap: 12px;
        scroll-padding-block: 8px 104px;
    }

    .website-create-progress li {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 5px;
        font-size: 11px;
    }

    .website-create-progress li > span {
        width: 22px;
        height: 22px;
    }

    .website-create-progress li:not(:last-child)::after {
        top: 10px;
        right: 5px;
        left: 27px;
    }

    .website-create-progress li > strong {
        width: auto;
        padding-right: 4px;
        line-height: 1.25;
        white-space: normal;
    }

    .website-create-step-panel {
        min-height: 0;
    }

    .website-create-step-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-create-step-fields .website-reverse-proxy-target-control,
    .website-create-step-fields .website-php-fpm-target-control {
        grid-column: 1;
    }

    .website-create-confirmation dl > div {
        grid-template-columns: minmax(78px, 0.35fr) minmax(0, 1fr);
        gap: 8px;
    }

    .website-resource-dialog-actions {
        grid-column: 1;
    }

    .website-resource-dialog-actions .primary-btn {
        width: 100%;
    }

    .website-create-wizard-actions {
        display: flex;
        width: 100%;
        align-items: stretch;
        gap: 6px;
    }

    .website-create-wizard-actions-spacer {
        display: none;
    }

    .website-create-wizard-actions button,
    .website-create-wizard-actions .primary-btn {
        width: auto;
        min-width: 0;
        flex: 1 1 calc(50% - 3px);
        justify-content: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .website-resource-dialog-message {
        padding-right: 12px;
        padding-left: 12px;
    }

    .website-domain-cell {
        max-width: min(270px, 72vw);
    }

    .database-backup-row-actions {
        min-width: 260px;
    }

    .database-workspace-panel {
        padding-top: 8px;
    }

    .database-one-step-primary {
        padding: 12px;
    }

    .database-one-step-header {
        align-items: flex-start;
    }

    .database-one-step-form {
        gap: 10px;
    }

    .database-one-step-readiness {
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
    }

    .database-one-step-submit {
        display: flex;
        width: 100%;
        align-items: stretch;
        gap: 6px;
    }

    .database-one-step-progress li {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 5px;
        font-size: 11px;
    }

    .database-one-step-progress li > span {
        width: 22px;
        height: 22px;
    }

    .database-one-step-progress li:not(:last-child)::after {
        top: 10px;
        right: 5px;
        left: 27px;
    }

    .database-one-step-progress li > strong {
        width: auto;
        padding-right: 4px;
        line-height: 1.25;
        white-space: normal;
    }

    .database-one-step-panel {
        min-height: 0;
    }

    .database-one-step-fields,
    .database-one-step-management-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .database-one-step-actions-spacer {
        display: none;
    }

    .database-one-step-submit .message {
        flex-basis: 100%;
    }

    .database-one-step-submit button,
    .database-one-step-submit .primary-btn {
        width: auto;
        flex: 1 1 calc(50% - 3px);
        justify-content: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .database-one-step-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
    }

    .database-one-step-dialog-body {
        max-height: calc(100dvh - 76px);
        padding: 12px;
    }

    .database-one-step-review-grid,
    .database-one-step-retry-secrets {
        grid-template-columns: minmax(0, 1fr);
    }

    .database-one-step-review-grid > div,
    .database-one-step-review-grid > div:nth-child(odd),
    .database-one-step-review-grid > div:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid #e4eaee;
    }

    .database-one-step-review-grid > div:last-child {
        border-bottom: 0;
    }

    .database-one-step-panel-password {
        max-width: none;
    }

    .database-one-step-dialog-actions > button {
        min-width: 0;
        flex: 1 1 0;
    }
}

.notification-delivery-dialog {
    width: min(780px, calc(100vw - 32px));
    max-height: min(820px, calc(100dvh - 32px));
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.notification-delivery-dialog,
.notification-delivery-dialog * {
    box-sizing: border-box;
    min-width: 0;
}

.notification-delivery-dialog .file-operation-dialog-header span {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

.notification-delivery-dialog-close {
    flex: 0 0 auto;
}

.notification-delivery-dialog-close svg {
    width: 17px;
    height: 17px;
}

.notification-delivery-dialog-message {
    overflow-wrap: anywhere;
}

.notification-delivery-dialog-stage {
    display: grid;
    align-content: start;
    gap: 18px;
    overflow-x: hidden;
}

.notification-delivery-dialog-placeholder {
    margin: 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.notification-delivery-conclusion {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    border-left: 4px solid #8a9aa5;
    background: #f7f9fa;
    padding: 12px 14px;
}

.notification-delivery-conclusion.ok {
    border-left-color: #2d8a55;
    background: #f3faf6;
}

.notification-delivery-conclusion.warn {
    border-left-color: #b17a13;
    background: #fffaf0;
}

.notification-delivery-conclusion.bad {
    border-left-color: #bd4038;
    background: #fff6f4;
}

.notification-delivery-conclusion > div span,
.notification-delivery-conclusion > div strong {
    display: block;
}

.notification-delivery-conclusion > div span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.notification-delivery-conclusion > div strong {
    margin-top: 3px;
    font-size: 16px;
    overflow-wrap: anywhere;
}

.notification-delivery-conclusion > .status {
    align-self: start;
}

.notification-delivery-conclusion p {
    grid-column: 1 / -1;
    margin: 0;
    color: #536875;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.notification-delivery-context,
.notification-delivery-guidance,
.notification-delivery-timeline {
    border-top: 1px solid var(--line);
    padding-top: 16px;
}

.notification-delivery-context h3,
.notification-delivery-guidance h3,
.notification-delivery-timeline h3 {
    margin: 0 0 10px;
    font-size: 14px;
}

.notification-delivery-facts,
.notification-delivery-attempt-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    gap: 0 20px;
}

.notification-delivery-facts > div,
.notification-delivery-attempt-facts > div {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 8px;
    border-bottom: 1px solid #edf1f3;
    padding: 8px 0;
}

.notification-delivery-facts dt,
.notification-delivery-attempt-facts dt {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.notification-delivery-facts dd,
.notification-delivery-attempt-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.notification-delivery-attempt-facts code {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-all;
}

.notification-delivery-guidance ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding-left: 20px;
}

.notification-delivery-guidance li {
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.notification-delivery-section-heading,
.notification-delivery-attempt-heading {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.notification-delivery-section-heading {
    justify-content: space-between;
}

.notification-delivery-section-heading h3 {
    margin: 0;
}

.notification-delivery-section-heading > span,
.notification-delivery-attempt > time {
    color: var(--muted);
    font-size: 11px;
}

.notification-delivery-timeline ol {
    display: grid;
    gap: 0;
    margin: 12px 0 0 5px;
    border-left: 2px solid #cad4da;
    padding: 0 0 0 18px;
    list-style: none;
}

.notification-delivery-attempt {
    position: relative;
    padding: 0 0 18px;
}

.notification-delivery-attempt + .notification-delivery-attempt {
    border-top: 1px solid #edf1f3;
    padding-top: 16px;
}

.notification-delivery-attempt::before {
    position: absolute;
    top: 5px;
    left: -24px;
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    background: #7d8e99;
    box-shadow: 0 0 0 1px #9eacb5;
    content: "";
}

.notification-delivery-attempt + .notification-delivery-attempt::before {
    top: 21px;
}

.notification-delivery-attempt.current::before {
    background: #27744b;
    box-shadow: 0 0 0 1px #27744b;
}

.notification-delivery-attempt-heading strong {
    overflow-wrap: anywhere;
}

.notification-delivery-attempt > time {
    display: block;
    margin-top: 5px;
}

.notification-delivery-attempt-tag {
    border-left: 1px solid #a9b6be;
    padding-left: 7px;
    color: #536875;
    font-size: 10px;
    font-weight: 700;
}

.notification-delivery-attempt-facts {
    margin-top: 7px;
}

.notification-delivery-empty {
    margin: 12px 0 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.notification-delivery-dialog-actions {
    display: flex;
    min-width: 0;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--line);
    background: #f7f9fa;
    padding: 10px 18px;
}

@media (max-width: 680px) {
    .layout.workspace-route-ssl .content,
    .layout.workspace-route-ssl .view,
    .ssl-workspace-panel,
    .ssl-workspace-panel > .panel,
    .ssl-workspace-panel .panel-body,
    .layout.workspace-route-ssl .table-wrap {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .layout.workspace-route-ssl .table-wrap {
        overflow-x: auto;
    }

    .ssl-renewal-policy {
        min-width: 94px;
    }

    .ssl-certificate-add-workflow,
    .ssl-certificate-add-mode,
    .ssl-certificate-add-panel,
    .ssl-certificate-add-panel .inline-form,
    .ssl-certificate-add-panel .grid.cols-2 {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .ssl-certificate-add-panel .inline-form,
    .ssl-certificate-add-panel .inline-form.three,
    .ssl-certificate-add-panel .grid.cols-2,
    .ssl-certificate-add-review {
        grid-template-columns: minmax(0, 1fr);
    }

    .ssl-certificate-add-step-panel,
    #ssl-certificate-add-import-panel .ssl-certificate-add-step-panel {
        min-height: 0;
    }

    .ssl-certificate-add-steps li {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 5px;
        font-size: 11px;
    }

    .ssl-certificate-add-steps[data-mode="automatic"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px 0;
    }

    .ssl-certificate-add-steps[data-mode="automatic"] li:nth-child(even)::after {
        display: none;
    }

    .ssl-guided-environment-heading {
        align-items: flex-start;
    }

    .ssl-guided-recovery-notice {
        align-items: stretch;
        flex-direction: column;
    }

    .ssl-guided-recovery-notice button {
        width: 100%;
        white-space: normal;
    }

    .ssl-guided-environment li {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .ssl-certificate-add-steps li > span {
        width: 22px;
        height: 22px;
    }

    .ssl-certificate-add-steps li:not(:last-child)::after {
        top: 10px;
        right: 5px;
        left: 27px;
    }

    .ssl-certificate-add-review > div {
        grid-template-columns: 84px minmax(0, 1fr);
    }

    .ssl-certificate-add-navigation button {
        min-width: 0;
        flex: 0 1 auto;
    }

    .ssl-certificate-add-mode button {
        min-width: 0;
        padding-inline: 8px;
        overflow-wrap: anywhere;
    }

    .ssl-website-certificate-prefill {
        width: 100%;
        max-width: 100%;
        grid-template-columns: 18px minmax(0, 1fr);
        padding: 8px;
    }

    .ssl-website-certificate-prefill .secondary-btn {
        width: 100%;
        white-space: normal;
    }

    .ssl-website-certificate-context-actions {
        grid-column: 1 / -1;
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
    }

    .notification-delivery-dialog {
        inset: auto 8px 8px;
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        margin: 0;
    }

    .notification-delivery-dialog-stage {
        gap: 14px;
        padding: 12px;
    }

    .notification-delivery-conclusion {
        grid-template-columns: minmax(0, 1fr);
        padding: 10px 11px;
    }

    .notification-delivery-conclusion > .status {
        justify-self: start;
    }

    .notification-delivery-facts,
    .notification-delivery-attempt-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .notification-delivery-facts > div,
    .notification-delivery-attempt-facts > div {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 6px;
    }

    .notification-delivery-dialog-actions {
        flex-wrap: wrap;
        padding: 9px 12px;
    }

    .notification-delivery-dialog-actions button {
        min-width: 0;
        flex: 1 1 140px;
        justify-content: center;
        white-space: normal;
    }
}

@media (max-width: 768px) {
    .software-apply-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .software-preflight-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .software-apply-actions button {
        flex: 1 1 170px;
        white-space: normal;
    }
}

@media (max-width: 480px) {
    .software-apply-form,
    .software-preflight-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .software-apply-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .software-apply-actions button {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .software-preflight-banner {
        grid-template-columns: minmax(0, 1fr);
        padding: 12px;
    }

    .software-preflight-banner > .status {
        justify-self: start;
    }

    .software-preflight-banner > p {
        grid-column: 1;
    }

    .software-preflight-issue-heading {
        align-items: flex-start;
    }
}

@media (max-width: 1100px) {
    .module-capability-guide {
        grid-template-columns: minmax(104px, 0.32fr) minmax(240px, 1fr);
    }

    .module-capability-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        border-top: 1px solid #dce5e0;
        padding-top: 9px;
    }
}

@media (max-width: 680px) {
    .shell-module-notice {
        grid-template-columns: 16px minmax(0, 1fr);
        align-items: start;
        padding: 8px 12px;
    }

    .shell-module-notice > div {
        display: grid;
        gap: 2px;
    }

    .shell-module-notice button {
        width: max-content;
        grid-column: 2;
    }

    .module-capability-guide {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: 9px;
        padding: 10px;
    }

    .module-capability-state {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .module-capability-actions {
        display: grid;
        grid-column: 1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .module-capability-actions button {
        min-width: 0;
        width: 100%;
        white-space: normal;
    }

    .module-capability-actions button:first-child {
        grid-column: 1 / -1;
    }

    .module-capability-boundaries {
        display: grid;
        gap: 3px;
    }

    .terminal-session-policy-steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .module-workspace-primary-action {
        min-width: 40px;
        width: 40px;
        flex-basis: 40px;
        margin-right: 4px;
        padding: 0;
    }

    .module-workspace-primary-action span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .module-primary-strip,
    .file-path-recovery-notice {
        align-items: stretch;
        flex-direction: column;
        gap: 8px;
    }

    .module-primary-actions,
    .file-path-recovery-actions {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .module-primary-actions button,
    .file-path-recovery-actions button {
        min-width: 0;
        justify-content: center;
        white-space: normal;
    }

    .module-primary-state {
        justify-items: start;
        text-align: left;
    }

    .wizard-submit-status {
        min-width: 0;
        flex-basis: 100%;
    }

    .database-one-step-fix-blocker {
        flex: 0 0 auto;
    }

    .terminal-session-policy-actions {
        width: 100%;
        min-width: 0;
        flex-direction: column;
    }

    .terminal-session-policy-actions button {
        width: 100%;
        justify-content: center;
    }

    .ssl-certificate-catalog-empty,
    .service-catalog-empty {
        min-height: 138px;
        padding: 14px 10px;
    }
}

@media (max-width: 390px) {
    .ssl-primary-strip .module-primary-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .ssl-primary-action,
    .ssl-primary-action > button,
    .ssl-primary-action > small,
    .ssl-support-error {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .shell-module-notice {
        column-gap: 7px;
        padding-right: 9px;
        padding-left: 9px;
    }

    .shell-module-notice button {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 1100px) {
    .dashboard-risk-summary {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .dashboard-quick-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-quick-links button:nth-child(3) {
        border-right: 0;
    }

    .dashboard-quick-links button:nth-child(-n + 3) {
        border-bottom: 1px solid var(--line);
    }

    .dashboard-quick-links button:last-child:nth-child(3n + 2) {
        grid-column: span 2;
        border-right: 0;
    }
}

@media (max-width: 680px) {
    .dashboard-section-heading {
        align-items: flex-start;
    }

    .dashboard-refresh-status {
        min-width: 0;
        max-width: 48%;
        text-align: right;
    }

    .dashboard-stale-source {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .dashboard-stale-source small {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .dashboard-resource-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-resource-card {
        padding: 10px 11px 9px;
    }

    .dashboard-resource-card > p {
        min-height: 0;
    }

    .dashboard-risk-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-risk-row,
    .dashboard-risk-row:nth-child(odd),
    .dashboard-risk-row:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .dashboard-risk-row:last-child {
        border-bottom: 0;
    }

    .dashboard-risk-row {
        grid-template-columns: 4px minmax(0, 1fr) 30px;
    }

    .dashboard-risk-row > b {
        grid-column: 2;
        grid-row: 2;
        white-space: normal;
    }

    .dashboard-risk-row > .icon-btn {
        grid-column: 3;
        grid-row: 1 / span 2;
    }

    .dashboard-quick-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-quick-links button,
    .dashboard-quick-links button:nth-child(3) {
        border-right: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
    }

    .dashboard-quick-links button:nth-child(even) {
        border-right: 0;
    }

    .dashboard-quick-links button:last-child,
    .dashboard-quick-links button:nth-last-child(2):nth-child(odd) {
        border-bottom: 0;
    }

    .dashboard-quick-links button:last-child:nth-child(odd) {
        grid-column: span 2;
        border-right: 0;
    }
}

/* File console: keep daily navigation and file actions in the first viewport. */
.file-primary-toolbar {
    min-height: 52px;
    background: #fff;
}

.file-primary-toolbar > .workbench-search {
    max-width: 520px;
}

.file-primary-toolbar > .file-command-group {
    gap: 7px;
}

.file-toolbar > .file-refresh-command {
    margin-right: 2px;
    border-right-color: #b9c6ce;
}

.file-list-statusbar {
    display: flex;
    min-width: 0;
    min-height: 36px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--line);
    background: #f7f9fa;
    color: #5c6e7a;
    padding: 5px 12px;
    font-size: 11px;
}

.file-list-statusbar[data-access="readonly"] {
    box-shadow: inset 3px 0 0 #c08a27;
    background: #fffaf0;
}

.file-list-summary,
.file-list-state {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
}

.file-list-summary {
    flex: 1 1 auto;
    overflow: hidden;
}

.file-list-summary > span {
    flex: 0 0 auto;
    white-space: nowrap;
}

.file-list-summary > span + span::before {
    margin-right: 7px;
    color: #a4afb7;
    content: "\00b7";
}

.file-list-summary-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    color: #a36f14;
}

.file-list-state {
    flex: 0 1 auto;
    justify-content: flex-end;
}

.file-list-state > .status {
    flex: 0 0 auto;
}

.file-protection-summary {
    flex: 0 0 auto;
    white-space: nowrap;
}

.file-list-state > :is(.file-typeahead-status, .file-load-status) {
    min-width: 0;
    max-width: min(32vw, 420px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-list-state > :is(.file-typeahead-status, .file-load-status):empty {
    display: none;
}

.file-workbench.search-open .file-list-statusbar,
.file-workbench.recycle-open .file-list-statusbar {
    display: none;
}

.file-browser-pane > .workbench-footer {
    min-height: 34px;
    justify-content: flex-end;
    padding-top: 5px;
    padding-bottom: 5px;
}

.file-browser-pane > .workbench-footer .file-load-more-host:not(:empty) {
    display: inline-flex;
    flex: 0 0 auto;
}

@media (max-width: 1180px) {
    .file-toolbar > .file-favorite-toggle,
    .file-toolbar > .file-view-switch,
    .file-toolbar > .file-view-toggle {
        display: none;
    }

    .file-primary-toolbar > .workbench-search {
        max-width: none;
    }
}

@media (max-width: 680px) {
    .file-primary-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 7px;
        padding: 7px 8px;
    }

    .file-primary-toolbar > .workbench-search {
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
        flex-basis: auto;
    }

    .file-primary-toolbar > .compact-toggle {
        grid-column: 1;
        min-width: 0;
    }

    .file-primary-toolbar > .file-command-group {
        display: flex;
        grid-column: 2;
        width: auto;
        min-width: 0;
        flex: 0 0 auto;
        flex-wrap: nowrap;
        justify-content: flex-end;
        gap: 5px;
        margin: 0;
        overflow: visible;
        padding: 0;
    }

    .file-primary-toolbar > .file-command-group .file-command-button {
        width: auto;
        min-width: 62px;
        height: 34px;
        min-height: 34px;
        flex: 0 1 auto;
        gap: 4px;
        padding: 0 7px;
    }

    .file-primary-toolbar > .file-command-group .file-command-label {
        display: inline;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .file-primary-toolbar > .file-command-group .file-menu-caret-icon {
        display: none;
    }

    .file-list-statusbar {
        min-height: 0;
        align-items: stretch;
        flex-direction: column;
        gap: 4px;
        padding: 6px 8px;
    }

    .file-list-summary,
    .file-list-state {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 4px 7px;
        overflow: visible;
    }

    .file-list-summary > span + span::before {
        margin-right: 7px;
    }

    .file-list-state > :is(.file-typeahead-status, .file-load-status) {
        width: 100%;
        max-width: 100%;
        flex: 1 0 100%;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .file-browser-pane > .workbench-footer {
        gap: 5px;
    }

    .file-browser-pane > .workbench-footer > .toolbar-spacer {
        display: block;
    }
}

@media (max-width: 390px) {
    .file-primary-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .file-primary-toolbar > .compact-toggle,
    .file-primary-toolbar > .file-command-group {
        grid-column: 1;
    }

    .file-primary-toolbar > .file-command-group {
        display: flex;
        width: 100%;
        justify-content: stretch;
    }

    .file-primary-toolbar > .file-command-group .file-command-button {
        width: 100%;
        min-width: 0;
        flex: 1 1 0;
    }

    .file-primary-toolbar > .compact-toggle {
        min-height: 30px;
    }
}

@media (max-width: 560px) {
    .ssl-workspace-tabs button {
        gap: 5px;
        padding: 0 8px;
        font-size: 11px;
    }

    .ssl-workspace-tabs button small {
        padding-left: 5px;
    }
}

@media (min-width: 681px) {
    .file-operation-dialog.website-detail-dialog {
        width: min(1040px, calc(100vw - 32px));
        max-height: calc(100dvh - 24px);
        grid-template-rows: auto minmax(0, 1fr) auto;
    }
}

.website-detail-log-switcher {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3px;
    border: 1px solid #d9e1dd;
    border-radius: 5px;
    background: #f1f5f3;
    padding: 3px;
}

.website-detail-log-switcher button {
    min-height: 34px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    padding: 6px 10px;
    color: #52636e;
    font-size: 12px;
    font-weight: 750;
}

.website-detail-log-switcher button:hover,
.website-detail-log-switcher button:focus-visible {
    background: #e5eee9;
    color: #1f5e3b;
}

.website-detail-log-switcher button:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: -2px;
}

.website-detail-log-switcher button[aria-pressed="true"] {
    background: #fff;
    color: #155d37;
    box-shadow: 0 1px 2px rgba(27, 55, 41, 0.14);
}

.website-detail-runtime-log-panel,
.website-detail-deployment-audit-panel {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 10px;
}

.website-detail-runtime-log-panel[hidden],
.website-detail-deployment-audit-panel[hidden] {
    display: none;
}

.website-detail-runtime-log-toolbar {
    display: grid;
    grid-template-columns: minmax(150px, 0.72fr) minmax(360px, 1.28fr);
    align-items: end;
    gap: 12px;
}

.website-detail-runtime-log-toolbar > div:first-child {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.website-detail-runtime-log-toolbar > div:first-child strong {
    color: #263d4a;
    font-size: 13px;
}

.website-detail-runtime-log-toolbar > div:first-child span {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.4;
}

.website-detail-runtime-log-controls {
    display: flex;
    min-width: 0;
    align-items: end;
    justify-content: flex-end;
    gap: 6px;
}

.website-detail-runtime-log-line-control {
    display: grid;
    flex: 0 0 86px;
    gap: 3px;
    color: #5c6c65;
    font-size: 10px;
    font-weight: 700;
}

.website-detail-runtime-log-line-control select {
    width: 100%;
    min-height: 34px;
}

.website-detail-runtime-log-filter {
    position: relative;
    min-width: 140px;
    flex: 1 1 240px;
}

.website-detail-runtime-log-filter input {
    width: 100%;
    min-height: 34px;
    padding-left: 31px;
}

.website-detail-runtime-log-search-icon {
    position: absolute;
    top: 50%;
    left: 10px;
    width: 14px;
    height: 14px;
    color: #708078;
    pointer-events: none;
    transform: translateY(-50%);
}

.website-detail-runtime-log-controls > .icon-btn {
    width: 34px;
    height: 34px;
    min-height: 34px;
    flex: 0 0 34px;
}

.website-detail-runtime-log-controls
    [data-website-detail-command="runtime-log-refresh"][aria-busy="true"]
    .website-command-icon {
    animation: website-runtime-log-refresh-spin 0.8s linear infinite;
}

@keyframes website-runtime-log-refresh-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .website-detail-runtime-log-controls
        [data-website-detail-command="runtime-log-refresh"][aria-busy="true"]
        .website-command-icon {
        animation: none;
    }
}

.website-detail-runtime-log-result {
    display: grid;
    min-width: 0;
    gap: 8px;
}

.website-detail-runtime-log-state {
    display: grid;
    min-height: 230px;
    place-items: center;
    align-content: center;
    gap: 5px;
    border: 1px solid var(--line);
    background: #f8faf9;
    padding: 20px;
    color: var(--muted);
    text-align: center;
}

.website-detail-runtime-log-state strong {
    color: #344651;
    font-size: 13px;
}

.website-detail-runtime-log-state.warn {
    border-color: #dfc08c;
    background: #fffaf0;
    color: #765b31;
}

.website-detail-runtime-log-state.warn strong {
    color: #67480f;
}

.website-detail-runtime-log-file-state {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-left: 3px solid #8a9aa5;
    background: #f5f8f6;
    padding: 8px 10px;
}

.website-detail-runtime-log-file-state.ok {
    border-left-color: #2d7a4e;
    background: #f1f8f4;
}

.website-detail-runtime-log-file-state.warn {
    border-left-color: #c17b13;
    background: #fff9eb;
}

.website-detail-runtime-log-file-state > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.website-detail-runtime-log-file-state strong {
    color: #293f4b;
    font-size: 12px;
}

.website-detail-runtime-log-file-state > div span {
    color: #607168;
    font-size: 10px;
    line-height: 1.4;
}

.website-detail-runtime-log-file-state > .status {
    flex: 0 0 auto;
}

.website-detail-runtime-log-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    border: 1px solid #e2e8e5;
    border-bottom: 0;
    background: #fbfcfb;
}

.website-detail-runtime-log-meta > div {
    display: grid;
    min-width: 0;
    gap: 2px;
    border-right: 1px solid #e2e8e5;
    border-bottom: 1px solid #e2e8e5;
    padding: 7px 8px;
}

.website-detail-runtime-log-meta > div:nth-child(2) {
    grid-column: span 2;
}

.website-detail-runtime-log-meta > div:nth-child(4) {
    grid-column: span 2;
}

.website-detail-runtime-log-meta > div:nth-child(6) {
    border-right: 0;
}

.website-detail-runtime-log-meta dt {
    color: var(--muted);
    font-size: 9px;
    font-weight: 750;
}

.website-detail-runtime-log-meta dd {
    min-width: 0;
    margin: 0;
    color: #30424d;
    font-size: 10px;
    overflow-wrap: anywhere;
}

.website-detail-runtime-log-meta dd.mono {
    font-family: "SFMono-Regular", Consolas, monospace;
}

.website-detail-runtime-log-warnings {
    display: grid;
    gap: 3px;
    margin: 0;
    border-left: 3px solid #c17b13;
    background: #fff9eb;
    padding: 8px 10px 8px 27px;
    color: #67480f;
    font-size: 10px;
    line-height: 1.45;
}

.website-detail-runtime-log-count {
    color: #66776e;
    font-size: 10px;
    text-align: right;
}

.website-detail-runtime-log-lines {
    min-width: 0;
    max-width: 100%;
    min-height: 230px;
    max-height: 390px;
    margin: 0;
    overflow: auto;
    border: 1px solid #26352e;
    background: #1f2924;
    padding: 10px 12px 10px 52px;
    color: #8fa197;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 11px;
    line-height: 1.55;
    overscroll-behavior: contain;
}

.website-detail-runtime-log-lines li {
    min-width: max-content;
    padding-left: 5px;
}

.website-detail-runtime-log-lines code {
    color: #deebe3;
    font: inherit;
    white-space: pre;
}

.website-detail-runtime-log-empty {
    display: grid;
    min-height: 230px;
    place-items: center;
    align-content: center;
    gap: 4px;
    border: 1px solid var(--line);
    background: #f8faf9;
    padding: 20px;
    color: var(--muted);
    text-align: center;
}

.website-detail-runtime-log-empty strong {
    color: #344651;
    font-size: 13px;
}

.website-detail-deployment-audit-panel .website-detail-section-heading {
    margin-top: 2px;
}

@media (max-width: 680px) {
    .website-detail-log-switcher button {
        min-height: 36px;
        padding: 6px 5px;
        white-space: normal;
    }

    .website-detail-runtime-log-toolbar {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: 8px;
    }

    .website-detail-runtime-log-controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 36px 36px;
        align-items: end;
        justify-content: stretch;
        gap: 6px;
    }

    .website-detail-runtime-log-line-control {
        grid-column: 1;
        grid-row: 1;
    }

    .website-detail-runtime-log-filter {
        grid-column: 1 / -1;
        grid-row: 2;
        min-width: 0;
    }

    .website-detail-runtime-log-controls > .icon-btn:nth-of-type(1) {
        grid-column: 2;
        grid-row: 1;
    }

    .website-detail-runtime-log-controls > .icon-btn:nth-of-type(2) {
        grid-column: 3;
        grid-row: 1;
    }

    .website-detail-runtime-log-file-state {
        align-items: flex-start;
    }

    .website-detail-runtime-log-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-detail-runtime-log-meta > div,
    .website-detail-runtime-log-meta > div:nth-child(2),
    .website-detail-runtime-log-meta > div:nth-child(4) {
        grid-column: auto;
        border-right: 1px solid #e2e8e5;
    }

    .website-detail-runtime-log-meta > div:nth-child(even) {
        border-right: 0;
    }

    .website-detail-runtime-log-lines {
        min-height: 250px;
        max-height: min(390px, 44dvh);
        padding-left: 45px;
        font-size: 10px;
    }
}

@media (max-width: 390px) {
    .website-detail-log-switcher button {
        padding-right: 3px;
        padding-left: 3px;
        font-size: 11px;
    }

    .website-detail-runtime-log-file-state {
        align-items: stretch;
        flex-direction: column;
    }

    .website-detail-runtime-log-file-state > .status {
        align-self: flex-start;
    }

    .website-detail-runtime-log-meta {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-detail-runtime-log-meta > div,
    .website-detail-runtime-log-meta > div:nth-child(n) {
        grid-column: 1;
        border-right: 0;
    }

    .website-detail-runtime-log-lines {
        min-height: 220px;
        max-height: 40dvh;
    }
}

/* Website high-frequency management center. */
.website-sites-table-panel table {
    min-width: 0;
}

.website-sites-table-panel th:nth-child(1) { width: 90px; }
.website-sites-table-panel th:nth-child(2) { width: 220px; }
.website-sites-table-panel th:nth-child(3) { width: 110px; }
.website-sites-table-panel th:nth-child(4) { width: 240px; }
.website-sites-table-panel th:nth-child(5) { width: 150px; }
.website-sites-table-panel th:nth-child(6) { width: 140px; }
.website-sites-table-panel th:nth-child(7) { width: 280px; }

.website-table-status-link {
    display: grid;
    max-width: 145px;
    justify-items: start;
    gap: 4px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    padding: 2px;
    color: var(--text);
    text-align: left;
}

.website-table-status-link:hover,
.website-table-status-link:focus-visible {
    background: #edf6f1;
    color: #155d37;
}

.website-table-status-link:focus-visible {
    outline: 2px solid #3d7f5c;
    outline-offset: 1px;
}

.website-table-status-link small {
    width: 100%;
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-nginx-status-cell,
.website-nginx-status-copy {
    display: grid;
    min-width: 0;
}

.website-nginx-status-cell {
    width: 100%;
    align-items: start;
    gap: 5px;
}

.website-nginx-status-copy {
    justify-items: start;
    gap: 3px;
}

.website-nginx-status-copy .status {
    max-width: 100%;
    white-space: nowrap;
}

.website-nginx-status-copy small {
    width: 100%;
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-nginx-next-step {
    width: max-content;
    max-width: 100%;
    min-height: 28px;
    justify-content: center;
    gap: 4px;
    padding: 4px 7px;
    white-space: nowrap;
}

.website-nginx-next-step .file-command-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.website-row-actions-desktop {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.website-row-menu-trigger {
    width: auto;
    min-width: 66px;
    height: 32px;
    min-height: 32px;
    gap: 4px;
    justify-content: center;
    padding: 5px 8px;
    white-space: nowrap;
}

.website-create-field-error {
    display: block;
    color: var(--red);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.website-create-field-error[hidden] {
    display: none;
}

.website-create-aliases-preview {
    display: grid;
    min-width: 0;
    gap: 5px;
    border-left: 3px solid #91a49a;
    background: #f5f8f6;
    padding: 7px 9px;
    color: #53675c;
    font-size: 11px;
}

.website-create-aliases-preview strong {
    color: #31473b;
    font-size: 11px;
}

.website-create-aliases-preview small {
    color: #66786e;
    font-size: 10px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.website-create-aliases-preview.invalid {
    border-left-color: var(--red);
    background: #fff4f4;
}

.website-create-aliases-preview.invalid small {
    color: var(--red);
    font-weight: 700;
}

.website-create-aliases-preview > span {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 4px;
    overflow-wrap: anywhere;
}

.website-create-aliases-preview b {
    max-width: 100%;
    border: 1px solid #c6d3cc;
    border-radius: 3px;
    background: #fff;
    padding: 2px 5px;
    color: #245d3d;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 10px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

@media (min-width: 681px) {
    .website-sites-table-panel table {
        min-width: 1240px;
    }

    .website-detail-workspace {
        grid-template-columns: 190px minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    .website-sites-table-panel tbody > tr {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1),
    .website-sites-table-panel tbody > tr > td:nth-child(3),
    .website-sites-table-panel tbody > tr > td:nth-child(5) {
        grid-column: auto;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(2),
    .website-sites-table-panel tbody > tr > td:nth-child(4),
    .website-sites-table-panel tbody > tr > td:nth-child(6),
    .website-sites-table-panel tbody > tr > td:nth-child(7) {
        grid-column: 1 / -1;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1)::before { content: "面板状态"; }
    .website-sites-table-panel tbody > tr > td:nth-child(2)::before { content: "域名"; }
    .website-sites-table-panel tbody > tr > td:nth-child(3)::before { content: "类型"; }
    .website-sites-table-panel tbody > tr > td:nth-child(4)::before { content: "根目录"; }
    .website-sites-table-panel tbody > tr > td:nth-child(5)::before { content: "SSL"; }
    .website-sites-table-panel tbody > tr > td:nth-child(6)::before { content: "Nginx 配置"; }
    .website-sites-table-panel tbody > tr > td:nth-child(7)::before { content: "操作"; }

    .website-row-actions-desktop {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .website-row-menu-trigger {
        width: auto;
        min-width: 62px;
    }

    .website-nginx-status-cell {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
    }

    .website-nginx-status-copy small {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .website-nginx-next-step {
        align-self: center;
    }

    .website-create-aliases-preview > span {
        max-height: 86px;
        overflow-y: auto;
    }
}

/* Website management density, single next action and operation feedback. */
.website-sites-summary {
    flex-wrap: wrap;
}

.website-overview-workflow {
    display: grid;
    gap: 14px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #f7faf8;
    padding: 16px;
}

.website-overview-workflow[data-state="attention"] {
    border-left: 4px solid #b77a18;
    background: #fffaf1;
}

.website-overview-workflow > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
}

.website-overview-workflow > header > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.website-overview-workflow > header span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-overview-workflow > header strong {
    color: #243b31;
    font-size: 17px;
}

.website-overview-workflow > header p {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.55;
}

.website-overview-workflow > ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-overview-workflow > ol > li {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    min-width: 0;
    border-left: 1px solid var(--line);
    padding: 8px 12px;
}

.website-overview-workflow > ol > li:first-child {
    border-left: 0;
    padding-left: 0;
}

.website-overview-workflow > ol > li > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid #92a19a;
    border-radius: 50%;
    background: #fff;
    color: #5f7168;
    font-size: 11px;
}

.website-overview-workflow > ol > li[data-state="complete"] > span {
    border-color: #2f7651;
    background: #e6f4eb;
    color: #195f3b;
}

.website-overview-workflow > ol > li[data-state="attention"] > span {
    border-color: #bd7d18;
    background: #fff3d9;
    color: #7c500d;
}

.website-overview-workflow > ol > li > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.website-overview-workflow > ol strong {
    color: #2a3d34;
    font-size: 12px;
}

.website-overview-workflow > ol small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.website-overview-maintenance {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.website-overview-maintenance > summary {
    padding: 11px 2px;
    cursor: pointer;
    color: #3d5147;
    font-weight: 700;
}

.website-overview-maintenance > div {
    display: grid;
    gap: 10px;
    padding: 2px 2px 12px;
}

.website-row-actions-desktop {
    grid-template-columns: minmax(0, 1fr);
}

.website-sites-table-panel th:nth-child(7) {
    width: 190px;
}

.website-sites-table-panel th:nth-child(8) {
    width: 230px;
}

.website-row-primary-action {
    width: 100%;
    border-color: #2f7651;
    background: #eaf5ee;
    color: #195f3b;
    font-weight: 700;
}

.website-row-primary-action:hover,
.website-row-primary-action:focus-visible {
    border-color: #225e3e;
    background: #dcefe3;
    color: #124c2f;
}

.website-recent-task-cell {
    display: grid;
    min-width: 0;
    justify-items: start;
    gap: 4px;
}

.website-recent-task-cell .status,
.website-recent-task-cell strong {
    max-width: 100%;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
}

.website-recent-task-cell small {
    width: 100%;
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-recent-task-cell.empty strong,
.website-recent-task-cell.unavailable strong {
    color: var(--muted);
    font-size: 11px;
}

.website-sites-table-panel tbody > tr[aria-busy="true"] > td {
    background: #f5f8f6;
}

.website-sites-table-panel tbody > tr[aria-busy="true"] button {
    cursor: progress;
}

.website-row-action-cell button[aria-busy="true"],
.website-resource-form button[type="submit"][aria-busy="true"] {
    cursor: progress;
}

.website-row-action-cell button[aria-busy="true"] .file-command-icon,
.website-resource-form button[type="submit"][aria-busy="true"] .website-command-icon {
    animation: website-action-busy-spin 800ms linear infinite;
}

@keyframes website-action-busy-spin {
    to { transform: rotate(360deg); }
}

@media (min-width: 681px) {
    .website-sites-table-panel table {
        min-width: 1120px;
    }

    .website-sites-table-panel .table-wrap {
        overflow-x: auto;
    }
}

@media (max-width: 680px) {
    .website-sites-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-overview-workflow > header,
    .website-overview-workflow > ol {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-overview-workflow > header > button {
        width: 100%;
    }

    .website-overview-workflow > ol > li,
    .website-overview-workflow > ol > li:first-child {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding: 9px 0;
    }

    .website-sites-table-panel tbody > tr {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .website-sites-table-panel tbody > tr > td:nth-child(7),
    .website-sites-table-panel tbody > tr > td:nth-child(8) {
        grid-column: 1 / -1;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(7)::before {
        content: "最近任务";
    }

    .website-sites-table-panel tbody > tr > td:nth-child(8)::before {
        content: "操作";
    }

    .website-nginx-status-cell {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-recent-task-cell small {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .website-ssl-journey {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-ssl-next-step,
    .website-https-next-action,
    .ssl-deployment-summary {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .website-ssl-next-step > button,
    .website-https-next-action-controls > button {
        width: 100%;
        min-width: 0;
    }

    .website-https-next-action-controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .website-https-next-action-password {
        width: 100%;
    }

    .website-ssl-domain-scope li {
        width: 100%;
    }

    .website-ssl-orchestration {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-ssl-orchestration-action {
        grid-column: 1 / -1;
    }
}

@media (min-width: 681px) and (max-width: 980px) {
    .website-ssl-journey {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .website-row-action-cell button[aria-busy="true"] .file-command-icon,
    .website-resource-form button[type="submit"][aria-busy="true"] .website-command-icon {
        animation: none;
    }
}

/* Final website catalog cascade after legacy compatibility rules. */
.website-catalog-quick-filters {
    display: flex;
    min-width: 0;
    grid-column: 1 / -1;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.website-sites-table-panel .table-wrap {
    overflow-x: hidden;
}

.website-sites-table-panel table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.website-sites-table-panel th:nth-child(1) { width: 19%; }
.website-sites-table-panel th:nth-child(2) { width: 10%; }
.website-sites-table-panel th:nth-child(3) { width: 18%; }
.website-sites-table-panel th:nth-child(4) { width: 10%; }
.website-sites-table-panel th:nth-child(5) { width: 21%; }
.website-sites-table-panel th:nth-child(6) { width: 22%; }

.website-row-action-cell {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: start;
    gap: 4px;
}

.website-row-actions-desktop {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3px;
}

.website-row-actions-desktop .small-btn {
    width: 100%;
    min-width: 0;
    min-height: 30px;
    gap: 3px;
    padding: 4px;
    font-size: 10px;
}

.website-row-menu-trigger {
    width: 34px;
    min-width: 34px;
    height: 30px;
    min-height: 30px;
    padding: 4px;
}

.website-row-menu-trigger > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

.website-row-menu-trigger .website-row-menu-trigger-icon {
    position: static;
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    overflow: visible;
    clip-path: none;
    color: #344c40;
}

@media (max-width: 980px) {
    .website-sites-table-panel .table-wrap {
        overflow-x: visible;
    }

    .website-sites-table-panel table,
    .website-sites-table-panel tbody {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .website-sites-table-panel thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .website-sites-table-panel tbody > tr {
        display: grid;
        width: 100%;
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border: 0;
        border-bottom: 1px solid var(--line);
        border-radius: 0;
        background: transparent;
        padding: 8px;
    }

    .website-sites-table-panel tbody > tr > td,
    .website-sites-table-panel tbody > tr > td:nth-child(n),
    .website-sites-table-panel tbody > tr > td:last-child {
        position: static;
        display: block;
        min-width: 0;
        grid-column: auto;
        border: 0;
        background: transparent;
        box-shadow: none;
        padding: 6px;
        overflow-wrap: anywhere;
    }

    .website-sites-table-panel tbody > tr > td::before {
        display: block;
        margin-bottom: 3px;
        color: var(--muted);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.2;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1),
    .website-sites-table-panel tbody > tr > td:nth-child(3),
    .website-sites-table-panel tbody > tr > td:nth-child(5),
    .website-sites-table-panel tbody > tr > td:nth-child(6) {
        grid-column: 1 / -1;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1)::before { content: "域名"; }
    .website-sites-table-panel tbody > tr > td:nth-child(2)::before { content: "状态"; }
    .website-sites-table-panel tbody > tr > td:nth-child(3)::before { content: "根目录"; }
    .website-sites-table-panel tbody > tr > td:nth-child(4)::before { content: "SSL"; }
    .website-sites-table-panel tbody > tr > td:nth-child(5)::before { content: "部署"; }
    .website-sites-table-panel tbody > tr > td:nth-child(6)::before { content: "操作"; }
}

@media (max-width: 680px) {
    .website-catalog-quick-filters {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }

    .website-catalog-quick-filters > span {
        grid-column: 1 / -1;
    }
}

/* M1 website operations workspace. */
.website-sites-table-panel {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.website-sites-table-panel table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.website-sites-table-panel th:nth-child(1) { width: 18%; }
.website-sites-table-panel th:nth-child(2) { width: 12%; }
.website-sites-table-panel th:nth-child(3) { width: 18%; }
.website-sites-table-panel th:nth-child(4) { width: 10%; }
.website-sites-table-panel th:nth-child(5) { width: 14%; }
.website-sites-table-panel th:nth-child(6) { width: 12%; }
.website-sites-table-panel th:nth-child(7) { width: 16%; }

.website-site-status-stack,
.website-type-cell,
.website-runtime-cell,
.website-updated-cell {
    display: grid;
    min-width: 0;
    max-width: 100%;
    justify-items: start;
    gap: 4px;
}

.website-site-status-stack .status {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.website-site-deployment-state,
.website-site-deployment-detail,
.website-type-cell small,
.website-runtime-cell small,
.website-updated-cell small {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.website-site-deployment-state.ok { color: #247248; }
.website-site-deployment-state.warn { color: #8a641d; }
.website-site-deployment-state.bad { color: var(--red); }

.website-site-deployment-detail {
    display: block;
}

.website-type-cell strong,
.website-updated-cell > time,
.website-updated-cell > span {
    max-width: 100%;
    color: #30443a;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.website-updated-cell.unavailable > span {
    color: #7a6650;
}

.website-row-actions-desktop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.website-row-actions-desktop .small-btn .file-command-label {
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

.website-row-menu button:disabled {
    cursor: not-allowed;
    opacity: 0.52;
}

.website-detail-heading-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.website-resource-dialog:has(.website-create-sequence) {
    width: min(760px, calc(100vw - 32px));
    max-height: calc(100dvh - 24px);
}

.website-create-sequence {
    display: grid;
    min-width: 0;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-create-sequence > li {
    display: grid;
    min-width: 0;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 14px;
    border-bottom: 1px solid var(--line);
    padding: 14px 0;
}

.website-create-sequence > li:first-child {
    padding-top: 2px;
}

.website-create-sequence > li > header {
    display: grid;
    min-width: 0;
    grid-template-columns: 26px minmax(0, 1fr);
    align-content: start;
    gap: 8px;
}

.website-create-sequence > li > header > span {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border: 1px solid #7b9c8a;
    border-radius: 50%;
    background: #eef6f1;
    color: #245d3d;
    font-size: 11px;
    font-weight: 800;
}

.website-create-sequence > li > header > div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.website-create-sequence > li > header strong {
    color: #263d4a;
    font-size: 13px;
}

.website-create-sequence > li > header small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.website-create-step-fields {
    grid-template-columns: minmax(0, 1fr);
}

.website-create-domain-fields,
.website-create-runtime-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.website-create-domain-fields .website-aliases-control,
.website-create-runtime-fields .website-reverse-proxy-target-control,
.website-create-runtime-fields .website-php-fpm-target-control {
    grid-column: 1 / -1;
}

.website-aliases-control label > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 500;
}

.website-create-confirm-step {
    border-bottom: 0;
}

.website-create-confirm-step .website-create-boundary {
    margin-top: 0;
}

.website-create-quick-actions {
    position: sticky;
    z-index: 2;
    bottom: -16px;
    border-top: 1px solid var(--line);
    background: #fff;
    padding: 10px 0 2px;
}

.website-lifecycle-dialog {
    width: min(680px, calc(100vw - 32px));
    max-height: calc(100dvh - 24px);
    grid-template-rows: auto minmax(0, 1fr) auto auto;
}

.website-lifecycle-content {
    min-width: 0;
    overflow-y: auto;
    padding: 16px 18px;
}

.website-lifecycle-review,
.website-lifecycle-review-heading {
    display: grid;
    min-width: 0;
    gap: 8px;
}

.website-lifecycle-review-heading > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.website-lifecycle-review-heading > strong {
    color: #263d4a;
    font-size: 17px;
    overflow-wrap: anywhere;
}

.website-lifecycle-review-heading > p {
    margin: 0;
    color: #5b6d64;
    font-size: 12px;
    line-height: 1.5;
}

.website-lifecycle-impact-list,
.website-lifecycle-result-facts,
.website-lifecycle-technical-details dl {
    display: grid;
    min-width: 0;
    margin: 4px 0 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    overflow: hidden;
}

.website-lifecycle-impact-list > div,
.website-lifecycle-result-facts > div,
.website-lifecycle-technical-details dl > div {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(92px, 0.28fr) minmax(0, 1fr);
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding: 9px 11px;
}

.website-lifecycle-impact-list > div:last-child,
.website-lifecycle-result-facts > div:last-child,
.website-lifecycle-technical-details dl > div:last-child {
    border-bottom: 0;
}

.website-lifecycle-impact-list dt,
.website-lifecycle-result-facts dt,
.website-lifecycle-technical-details dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.website-lifecycle-impact-list dd,
.website-lifecycle-result-facts dd,
.website-lifecycle-technical-details dd {
    min-width: 0;
    margin: 0;
    color: #30443a;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.website-lifecycle-warnings {
    border-left: 3px solid #b77a18;
    background: #fff8e8;
    padding: 9px 11px;
    color: #68470f;
}

.website-lifecycle-warnings ul {
    margin: 5px 0 0;
    padding-left: 18px;
}

.website-lifecycle-status {
    min-height: 20px;
    padding: 0 18px 8px;
}

.website-lifecycle-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--line);
    background: #fff;
    padding: 12px 18px;
}

.website-lifecycle-actions button[aria-busy="true"] {
    cursor: progress;
}

.website-lifecycle-result-host {
    white-space: normal;
}

.website-lifecycle-result-summary,
.website-lifecycle-result-heading {
    display: grid;
    min-width: 0;
    gap: 10px;
}

.website-lifecycle-result-heading {
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
}

.website-lifecycle-result-icon {
    width: 22px;
    height: 22px;
    color: #247248;
}

.website-lifecycle-result-heading > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.website-lifecycle-result-heading strong,
.website-lifecycle-result-heading span {
    overflow-wrap: anywhere;
}

.website-lifecycle-result-heading span {
    color: var(--muted);
    font-size: 11px;
}

.website-lifecycle-result-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.website-lifecycle-result-facts > div:nth-child(odd) {
    border-right: 1px solid var(--line);
}

.website-lifecycle-technical-details > summary {
    width: max-content;
    max-width: 100%;
    cursor: pointer;
    color: #40554a;
    font-size: 11px;
    font-weight: 700;
}

@media (max-width: 980px) {
    .website-sites-table-panel tbody > tr {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1),
    .website-sites-table-panel tbody > tr > td:nth-child(3),
    .website-sites-table-panel tbody > tr > td:nth-child(7) {
        grid-column: 1 / -1;
    }

    .website-sites-table-panel tbody > tr > td:nth-child(1)::before { content: "域名"; }
    .website-sites-table-panel tbody > tr > td:nth-child(2)::before { content: "状态"; }
    .website-sites-table-panel tbody > tr > td:nth-child(3)::before { content: "根目录"; }
    .website-sites-table-panel tbody > tr > td:nth-child(4)::before { content: "运行方式"; }
    .website-sites-table-panel tbody > tr > td:nth-child(5)::before { content: "SSL"; }
    .website-sites-table-panel tbody > tr > td:nth-child(6)::before { content: "更新时间"; }
    .website-sites-table-panel tbody > tr > td:nth-child(7)::before { content: "操作"; }

    .website-site-deployment-state,
    .website-site-deployment-detail,
    .website-type-cell small,
    .website-runtime-cell small,
    .website-updated-cell small,
    .website-table-status-link small,
    .website-root-cell code {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .website-site-deployment-detail {
        overflow: visible;
        text-overflow: clip;
    }
}

@media (max-width: 680px) {
    .website-resource-dialog:has(.website-create-sequence),
    .website-lifecycle-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 12px);
    }

    .website-create-sequence > li {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .website-create-domain-fields,
    .website-create-runtime-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-detail-heading-actions {
        width: 100%;
        justify-content: stretch;
    }

    .website-detail-heading-actions > button {
        flex: 1 1 140px;
    }

    .website-lifecycle-result-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-lifecycle-result-facts > div:nth-child(odd) {
        border-right: 0;
    }
}

@media (max-width: 520px) {
    .website-sites-table-panel tbody > tr {
        grid-template-columns: minmax(0, 1fr);
    }

    .website-sites-table-panel tbody > tr > td:nth-child(n) {
        grid-column: 1;
    }

    .website-row-actions-desktop {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-lifecycle-content,
    .website-lifecycle-actions {
        padding-right: 12px;
        padding-left: 12px;
    }

    .website-lifecycle-impact-list > div,
    .website-lifecycle-result-facts > div,
    .website-lifecycle-technical-details dl > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 3px;
    }

    .website-lifecycle-actions button {
        min-width: 0;
        flex: 1 1 0;
    }
}
