html.nevv-editor-modal-open,
html.nevv-editor-modal-open body { overflow: hidden !important; }
.nevv-editor-dialog-backdrop { position: fixed; inset: 0; z-index: 2147483500; display: grid; place-items: center; padding: 18px; background: rgba(10, 17, 26, .72); backdrop-filter: blur(5px); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #16212d; }
.nevv-editor-dialog-backdrop--confirm { z-index: 2147483600; }
.nevv-editor-dialog { width: min(1180px, 100%); max-height: calc(100vh - 36px); display: flex; flex-direction: column; overflow: hidden; background: #f7f9fc; border: 1px solid rgba(21, 34, 48, .16); border-radius: 18px; box-shadow: 0 30px 90px rgba(0, 0, 0, .32); }
.nevv-editor-dialog--block { width: min(1480px, 100%); height: calc(100vh - 36px); }
.nevv-editor-dialog--page { width: min(1040px, 100%); }
.nevv-editor-dialog--confirm { width: min(520px, 100%); height: auto; }
.nevv-editor-dialog-head { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 20px; background: #101820; color: #fff; }
.nevv-editor-dialog-head small { display: block; margin-bottom: 3px; color: #8cd7ff; font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.nevv-editor-dialog-head h2 { margin: 0; color: inherit; font-size: clamp(20px, 2.5vw, 29px); line-height: 1.1; }
.nevv-editor-dialog-head > button { width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 23px; cursor: pointer; }
.nevv-editor-dialog-body { min-height: 0; flex: 1; overflow: auto; }
.nevv-editor-tabs { position: sticky; top: 0; z-index: 5; display: flex; gap: 3px; padding: 9px 14px 0; background: #e9eef5; border-bottom: 1px solid #ced7e2; overflow-x: auto; }
.nevv-editor-tabs button { flex: 0 0 auto; min-height: 43px; padding: 0 18px; border: 1px solid transparent; border-bottom: 0; border-radius: 10px 10px 0 0; background: transparent; color: #526171; font: inherit; font-weight: 750; cursor: pointer; }
.nevv-editor-tabs button.is-active { background: #fff; border-color: #ced7e2; color: #101820; }
.nevv-editor-tab-panel { display: none; padding: 22px; background: #fff; min-height: 320px; }
.nevv-editor-tab-panel.is-active { display: block; }
.nevv-editor-fields { display: grid; gap: 16px; margin-bottom: 22px; }
.nevv-editor-fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nevv-editor-fields--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nevv-editor-fields--six { grid-template-columns: repeat(6, minmax(100px, 1fr)); }
.nevv-editor-fields label,
.nevv-editor-page-form > label,
.nevv-editor-upload label { display: grid; gap: 7px; color: #364657; font-size: 12px; font-weight: 800; letter-spacing: .015em; }
.nevv-editor-fields input,
.nevv-editor-fields select,
.nevv-editor-fields textarea,
.nevv-editor-page-form input,
.nevv-editor-page-form select,
.nevv-editor-upload input,
.nevv-editor-code { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #bac6d3; border-radius: 8px; background: #fff; color: #17202a; font: 500 14px/1.4 inherit; }
.nevv-editor-fields input[type="color"] { padding: 4px; }
.nevv-editor-fields small { color: #728092; font-weight: 500; }
.nevv-editor-check { grid-template-columns: auto 1fr !important; align-items: center; align-content: center; }
.nevv-editor-check input { width: 20px; min-height: 20px; }
.nevv-editor-check span { min-width: 0; }
.nevv-editor-check strong,
.nevv-editor-check small { display: block; }
.nevv-editor-check--wide { grid-column: span 2; }
.nevv-editor-style-fields { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.nevv-editor-note { margin: 0 0 18px; padding: 13px 15px; border-left: 4px solid #2f80ed; background: #eef6ff; color: #27435e; border-radius: 6px; font-size: 13px; }
.nevv-editor-loading,
.nevv-editor-empty,
.nevv-editor-fatal { padding: 50px 24px; text-align: center; }
.nevv-editor-fatal { color: #9b1c1c; }
.nevv-builder-toolbar { position: sticky; top: 52px; z-index: 4; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin: 0 -22px 18px; padding: 10px 22px; background: rgba(247,249,252,.97); border-block: 1px solid #d8e0e9; }
.nevv-builder-rich-tools,
.nevv-builder-structure-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.nevv-builder-rich-tools { flex: 1 1 720px; }
.nevv-builder-tool-group { display: inline-flex; align-items: center; gap: 3px; padding-right: 6px; border-right: 1px solid #d3dce6; }
.nevv-builder-tool-group:last-child { border-right: 0; }
.nevv-builder-tool-group select { min-height: 38px; max-width: 150px; padding: 0 28px 0 9px; border: 1px solid #b5c1cf; border-radius: 7px; background: #fff; color: #223143; font: 700 12px/1 inherit; }
.nevv-builder-color-tool { position: relative; width: 39px; height: 38px; display: grid; place-items: center; overflow: hidden; border: 1px solid #b5c1cf; border-radius: 7px; background: #fff; color: #223143; font-weight: 850; cursor: pointer; }
.nevv-builder-color-tool span { pointer-events: none; }
.nevv-builder-color-tool input { position: absolute; inset: auto 4px 3px; width: calc(100% - 8px); height: 7px; min-height: 0; padding: 0; border: 0; cursor: pointer; }
.nevv-builder-color-tool--background { background-image: linear-gradient(135deg, transparent 48%, rgba(255,245,157,.8) 49%); }
.nevv-builder-toolbar button,
.nevv-editor-dialog-footer button,
.nevv-editor-import,
.nevv-editor-upload button,
.nevv-editor-history button { min-height: 38px; padding: 0 13px; border: 1px solid #b5c1cf; border-radius: 7px; background: #fff; color: #223143; font: 750 12px/1 inherit; cursor: pointer; }
.nevv-builder-toolbar button:hover,
.nevv-editor-dialog-footer button:hover { border-color: #2f80ed; }
.nevv-builder-canvas { display: grid; gap: 14px; min-height: 260px; padding: 14px; border: 1px dashed #a8b6c6; border-radius: 12px; background: #eef2f7; }
.nevv-builder-row { display: grid; gap: 12px; min-width: 0; padding: 12px; border: 1px solid #cbd5e0; border-radius: 10px; background: #fff; }
.nevv-builder-column { min-width: 0; position: relative; border: 1px solid #d8e0e9; border-radius: 8px; background: #fff; }
.nevv-builder-column-meta { display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding: 5px 7px; border-bottom: 1px solid #edf1f5; background: #f8fafc; color: #657587; font-size: 10px; }
.nevv-builder-column-meta input { width: 54px; min-height: 27px; padding: 2px 5px; border: 1px solid #c2ccd8; border-radius: 5px; }
.nevv-builder-cell { min-height: 155px; padding: 16px; outline: none; overflow-wrap: anywhere; }
.nevv-builder-cell.is-active { box-shadow: inset 0 0 0 2px #2f80ed; }
.nevv-builder-cell > :first-child { margin-top: 0; }
.nevv-builder-cell > :last-child { margin-bottom: 0; }
.nevv-builder-asset { display: inline-grid; grid-template-columns: minmax(80px, 170px) auto auto; align-items: center; gap: 7px; max-width: 100%; margin: 5px; padding: 5px; border: 1px solid #8eb8ea; border-radius: 8px; background: #eef6ff; vertical-align: middle; }
.nevv-builder-asset img { display: block; max-width: 170px; max-height: 100px; object-fit: contain; }
.nevv-builder-asset button { width: 25px; height: 25px; padding: 0; border: 0; border-radius: 50%; background: #9b1c1c; color: #fff; }
.nevv-editor-code { min-height: calc(100vh - 280px); resize: vertical; border-radius: 10px; background: #0f1720; color: #d8e8f5; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.6; tab-size: 4; }
.nevv-editor-upload { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-bottom: 18px; padding: 13px; border: 1px solid #d4dde7; border-radius: 10px; background: #f8fafc; }
.nevv-editor-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.nevv-editor-media-card { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 10px; align-items: center; padding: 10px; border: 1px solid #d7dfe8; border-radius: 10px; background: #fff; }
.nevv-editor-media-card > img,
.nevv-editor-media-card > span { width: 78px; height: 70px; object-fit: cover; display: grid; place-items: center; background: #eaf0f6; border-radius: 7px; }
.nevv-editor-media-card div { min-width: 0; }
.nevv-editor-media-card strong,
.nevv-editor-media-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nevv-editor-media-card small { color: #718092; font-size: 10px; }
.nevv-editor-media-card button { grid-column: auto / span 1; min-height: 33px; padding: 0 8px; border: 1px solid #b9c6d3; border-radius: 6px; background: #fff; font-size: 11px; cursor: pointer; }
.nevv-editor-history { display: grid; gap: 8px; }
.nevv-editor-history article { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 14px; border: 1px solid #d6dee8; border-radius: 9px; }
.nevv-editor-history strong,
.nevv-editor-history small { display: block; }
.nevv-editor-history small { margin-top: 4px; color: #758395; font-size: 11px; }
.nevv-editor-dialog-footer { position: sticky; bottom: 0; z-index: 6; display: flex; justify-content: space-between; gap: 14px; padding: 13px 18px; border-top: 1px solid #cfd8e3; background: rgba(247,249,252,.98); }
.nevv-editor-dialog-footer-left,
.nevv-editor-dialog-footer-right { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nevv-editor-dialog-footer .is-primary { border-color: #1769d2; background: #1769d2; color: #fff; }
.nevv-editor-dialog-footer .is-danger { border-color: #b42318; color: #b42318; }
.nevv-editor-import { position: relative; display: inline-flex; align-items: center; }
.nevv-editor-import input { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.nevv-editor-dialog-footer [data-save-status] { max-width: 360px; color: #276749; font-size: 12px; }
.nevv-editor-dialog-footer [data-save-status].is-error { color: #b42318; }
.nevv-editor-confirm-text { margin: 0; padding: 24px; font-size: 16px; line-height: 1.55; }
@media (max-width: 900px) {
    .nevv-editor-dialog-backdrop { padding: 0; }
    .nevv-editor-dialog,
    .nevv-editor-dialog--block,
    .nevv-editor-dialog--page { width: 100%; height: 100vh; max-height: 100vh; border-radius: 0; }
    .nevv-editor-fields--two,
    .nevv-editor-fields--three,
    .nevv-editor-fields--six,
    .nevv-editor-style-fields { grid-template-columns: 1fr 1fr; }
    .nevv-editor-check--wide { grid-column: span 2; }
}
@media (max-width: 560px) {
    .nevv-editor-tab-panel { padding: 14px; }
    .nevv-builder-toolbar { top: 51px; margin-inline: -14px; padding-inline: 14px; }
    .nevv-editor-fields--two,
    .nevv-editor-fields--three,
    .nevv-editor-fields--six,
    .nevv-editor-style-fields { grid-template-columns: 1fr; }
    .nevv-editor-check--wide { grid-column: auto; }
    .nevv-builder-tool-group { border-right: 0; padding-right: 0; }
    .nevv-editor-dialog-footer { flex-direction: column; align-items: stretch; }
    .nevv-editor-dialog-footer-left,
    .nevv-editor-dialog-footer-right { width: 100%; }
    .nevv-editor-dialog-footer-right button { flex: 1; }
}

.nevv-editor-fields label.is-transparent-color input[type="color"] { opacity: .35; filter: grayscale(1); }
.nevv-editor-field--wide { grid-column: 1 / -1; }
.nevv-editor-background-preview { min-height: 150px; display: grid; grid-template-columns: minmax(0, 260px) 1fr; align-items: center; gap: 14px; padding: 12px; border: 1px dashed #a8b6c6; border-radius: 10px; background: #f7f9fc; color: #607083; }
.nevv-editor-background-preview img { display: block; width: 100%; max-height: 190px; object-fit: contain; border-radius: 8px; background: #e8eef5; }
.nevv-editor-background-upload { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 12px; border: 1px solid #d4dde7; border-radius: 10px; background: #f8fafc; }
.nevv-editor-background-upload label { flex: 1 1 320px; }
.nevv-editor-background-upload button { min-height: 44px; padding: 0 15px; border: 1px solid #b5c1cf; border-radius: 8px; background: #fff; color: #223143; font-weight: 750; cursor: pointer; }
.nevv-editor-background-upload span { align-self: center; color: #526171; font-size: 12px; }
@media (max-width: 700px) {
    .nevv-editor-background-preview { grid-template-columns: 1fr; }
}
.nevv-builder-cell .nevv-text-page-cutout {
    color: #1769d2 !important;
    -webkit-text-fill-color: #1769d2 !important;
    background: none !important;
    text-decoration: underline dotted;
    text-decoration-thickness: 1px;
}

.nevv-editor-code-mode { margin: 0 0 14px; padding: 12px 14px; border: 1px solid #cbd6e2; border-radius: 9px; background: #f7f9fc; }
.nevv-editor-menu-pages { margin: 0 0 22px; padding: 14px; border: 1px solid #d2dbe6; border-radius: 10px; background: #f8fafc; transition: opacity .18s ease; }
.nevv-editor-menu-pages > strong { display: block; margin-bottom: 10px; color: #2f4052; font-size: 13px; }
.nevv-editor-menu-pages > div { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.nevv-editor-menu-pages label { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 7px 10px; border: 1px solid #d8e0e9; border-radius: 7px; background: #fff; font-size: 12px; font-weight: 700; }
.nevv-editor-menu-pages label input { width: 18px; min-height: 18px; }
.nevv-editor-menu-pages label small { color: #708093; font-weight: 500; }
.nevv-editor-menu-pages.is-disabled { opacity: .48; }
.nevv-builder-tool-group [data-font-size] { min-width: 94px; }

.nevv-editor-auto-height-note { min-height: 68px; display: grid; align-content: center; gap: 5px; padding: 11px 13px; border: 1px solid #b8d8c4; border-radius: 8px; background: #f0faf4; color: #245238; }
.nevv-editor-auto-height-note strong { font-size: 13px; }
.nevv-editor-auto-height-note small { color: #527262; line-height: 1.35; }

.nevv-editor-common-spacing {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #dce4ed;
}
.nevv-editor-common-spacing label.is-disabled { opacity: .48; }
.nevv-editor-note--sticky {
    border-color: #c7b7ef;
    background: #f7f3ff;
    color: #45356c;
}
