/* ==========================================================================
   Aldecort · Editor de fichas técnicas (pantalla)
   CSS del editor HTML (Editor_Fichas_Aldecort_V2_LOGO_AZUL.html) portado tal
   cual: mismas medidas, colores y puntos de corte. Solo cambian los nombres:
     - Toda clase lleva el prefijo fte- (.btn → .fte-btn, .selected →
       .fte-selected), para no chocar con Bootstrap, el panel ni Syncfusion.
     - Los id del original pasan a clase: #system-select, #page-nav,
       #help-btn, #page-validation y #dialog-body → .fte-system-select, etc.
     - Las variables (--navy, --blue…) y lo que el original ponía en :root
       van en .fte-editor, la raíz del editor. .fte-dialog repite las
       variables por si el diálogo se pinta fuera de esa raíz.
     - Las reglas de elementos (button, select, *…) van acotadas con
       :where(.fte-editor), que no suma especificidad: los empates se
       resuelven como en el original.
     - dialog → .fte-dialog. El body { margin: 0 } del original no se porta.
   La impresión (#fichas-print-root, .fte-print-page) está en fichas-print.css.
   Si cambias una medida aquí, compárala con el editor HTML.
   ========================================================================== */

/* Tipografías de la ficha: Carlito (licencia OFL, fichas/fuentes/OFL.txt), con las mismas medidas que Calibri. Los
   nombres de familia son los que mide y pinta motor-ficha.js; la Bold va como familia aparte con peso 400, igual que
   en el editor HTML, porque el motor elige la fuente por familia y no por font-weight. */
@font-face { font-family: 'AldecortBody'; src: url('../fichas/fuentes/Carlito-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: block; }
@font-face { font-family: 'AldecortBold'; src: url('../fichas/fuentes/Carlito-Bold.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: block; }

/* El editor ocupa todo el ancho: sin el tope de 1280 px de .ag-main-inner (panel.css, 0,1,0). Con :has(.fte-pagina)
   esta regla pesa 0,2,0 y gana sin depender del orden de carga (como .crm-page en crm.css). */
.ag-main-inner:has(.fte-pagina) { max-width: none; }

/* ── Encaje en el panel (no está en el editor HTML, que ocupaba toda la ventana: .app-shell con height 100dvh) ──
   La página del editor llena el alto que deja el panel: la ventana menos la cabecera (3.5rem) y el padding de
   .ag-main-inner (1.5rem arriba y abajo; 1rem por debajo de 992 px). Debajo de la cabecera de la página, el editor
   (.fte-editor) se queda con el resto y sus tres columnas hacen scroll por dentro, como en el original. Desde 860 px
   hacia abajo el original dejaba de encajar en la ventana (height: auto) y aquí también. */
.fte-pagina{display:flex;flex-direction:column;height:calc(100dvh - 3.5rem - 3rem);min-height:600px}
.fte-pagina>.ag-page-header{flex:none}
.fte-pagina>.fte-editor{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;overflow:hidden}
@media(max-width:991.98px){.fte-pagina{height:calc(100dvh - 3.5rem - 2rem)}}
@media(max-width:860px){.fte-pagina{height:auto}.fte-pagina>.fte-editor{overflow:visible}}

/* Estado del guardado en la cabecera de la página (spec 7.3), con los colores del panel: está fuera de .fte-editor. */
.fte-estado-guardado{display:inline-flex;align-items:baseline;gap:.375rem}
.fte-estado-guardado-error{color:var(--color-destructive)}
.fte-estado-reintentar{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}

/* Aviso fijo de conflicto (spec 6.1) encima de la zona de trabajo, con el aspecto del aviso de almacenamiento del original. */
.fte-conflicto{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:none}
.fte-conflicto-texto{flex:1 1 16rem;min-width:0;overflow-wrap:anywhere}
.fte-conflicto-acciones{display:flex;gap:8px;flex-wrap:wrap}

/* Botones Ayuda y Exportar PDF de la cabecera de la página (spec 7.3), con los botones del panel. */
.fte-acciones-cabecera{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}

/* ── Diálogos del editor (Gestionar, Exportar PDF, Ayuda y Restaurar página): SfDialog del panel con el contenido del
   diálogo del original. .fte-dialogo envuelve ese contenido y lleva las variables del editor; lo que el original ponía en
   button y svg.ui-icon se repite aquí porque el diálogo se pinta fuera de .fte-editor. ── */
.fte-dialogo{color:var(--ink)}
.fte-dialogo svg.fte-ui-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.fte-dialogo button span[data-icon]{display:inline-flex}
.fte-dialogo .fte-issue-list button{border:0;padding:0;cursor:pointer}
.fte-dialogo .fte-issue-list button:hover{text-decoration:underline}
.fte-dialogo p{font-size:14px;line-height:1.65;color:#526c7f;margin:0 0 15px}
.fte-acciones-gestionar{display:flex;gap:10px;margin-top:20px}
.fte-nota-impresion{margin-top:16px}

/* ── Variables y raíz del editor (el :root del original) ── */
.fte-editor,.fte-dialog,.fte-dialogo{--navy:#08384f;--deep:#062d42;--blue:#067cad;--cyan:#1593bd;--ink:#183749;--muted:#687d8c;--line:#dce5eb;--panel:#fff;--canvas:#e6edf2;--error:#b42333;--ui:Inter,"Segoe UI",Arial,sans-serif}
.fte-editor{font-family:var(--ui);color:var(--ink);font-size:15px;background:#f4f7f9;font-synthesis:none}

/* ── Base: lo que el original ponía en *, body, button… acotado con :where(.fte-editor), que no suma especificidad
   (así .fte-btn sigue ganando a "button { border: 0 }", como .btn ganaba a button en el original). ── */
:where(.fte-editor) *{box-sizing:border-box}
:where(.fte-editor) button,:where(.fte-editor) input,:where(.fte-editor) textarea,:where(.fte-editor) select{font:inherit}
:where(.fte-editor) button{cursor:pointer}
:where(.fte-editor) button:disabled{cursor:default;opacity:.45}
:where(.fte-editor) button,:where(.fte-editor) input,:where(.fte-editor) select,:where(.fte-editor) textarea{outline-offset:3px}
:where(.fte-editor) button:focus-visible,:where(.fte-editor) input:focus-visible,:where(.fte-editor) textarea:focus-visible,:where(.fte-editor) select:focus-visible{outline:2px solid var(--cyan)}
:where(.fte-editor) [hidden]{display:none!important}
:where(.fte-editor) button{border:0}
:where(.fte-editor) svg.fte-ui-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
:where(.fte-editor) button span[data-icon]{display:inline-flex}

/* ── Cabecera, botones y columna izquierda (sistema y páginas) ── */
.fte-app-shell{height:100dvh;min-height:600px;display:flex;flex-direction:column}
.fte-app-header{height:82px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:var(--deep);color:white;gap:20px}
.fte-identity{display:flex;align-items:center;gap:23px;min-width:0}
.fte-brand{width:151px;line-height:0;flex:none}
.fte-brand svg{width:100%;height:auto}
.fte-brand-separator{height:36px;border-left:1px solid #ffffff35}
.fte-identity h1{font-weight:600;font-size:20px;line-height:1.25;margin:0;letter-spacing:-.35px}
.fte-header-subtitle{font-size:12px;color:#a8c1d0;display:block;margin-top:4px}
.fte-header-actions{display:flex;gap:10px;align-items:center}
.fte-save-status{font-size:12px;color:#b8ccd8;margin-right:6px;max-width:150px;text-align:right}
.fte-save-status.fte-error{color:#ffb5b5}
.fte-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-weight:600;font-size:14px;line-height:1.25;white-space:nowrap;transition:background .12s,border-color .12s}
.fte-btn:hover:not(:disabled){background:#eef4f8;border-color:#b8cbd8}
.fte-btn.fte-primary{background:#087dac;color:white;border-color:#087dac}
.fte-btn.fte-primary:hover:not(:disabled){background:#056e99}
.fte-btn.fte-header-btn{background:transparent;border-color:#ffffff40;color:white}
.fte-btn.fte-header-btn:hover:not(:disabled){background:#ffffff15;border-color:#ffffff70}
.fte-btn.fte-small{min-height:34px;font-size:12px;padding:7px 9px}
.fte-icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:transparent;color:inherit;flex:none}
.fte-icon-btn:hover:not(:disabled){background:#ffffff1c}
.fte-icon-btn.fte-subtle:hover:not(:disabled){background:#dfeaf1}
.fte-text-btn{font-size:12px;background:none;color:var(--muted);padding:8px 0}
.fte-text-btn:hover{color:var(--navy);text-decoration:underline}
.fte-eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:700;color:var(--muted);display:block}
.fte-workspace{display:grid;grid-template-columns:232px minmax(320px,1fr) 354px;min-height:0;flex:1}
.fte-sidebar{border-right:1px solid var(--line);background:#f8fafc;display:flex;flex-direction:column;min-height:0;overflow:auto}
.fte-system-section{padding:23px 18px 19px;border-bottom:1px solid var(--line)}
:where(.fte-editor) select,:where(.fte-editor) input[type=text]{background:white;border:1px solid #c8d6e0;border-radius:6px;color:var(--ink);min-height:40px;padding:9px 11px;font-size:14px}
.fte-system-select{width:100%;margin-top:10px;font-weight:650}
.fte-system-actions{display:flex;gap:5px;margin-top:9px;align-items:center}
.fte-system-actions .fte-btn{flex:1}
.fte-page-nav-title{padding:22px 18px 10px;display:flex;align-items:center;justify-content:space-between}
.fte-count{border-radius:4px;background:#e5edf3;color:#526b7e;padding:2px 6px;font-size:10px;font-weight:700}
.fte-page-nav{padding:0 9px 12px;display:flex;flex-direction:column;gap:3px}
.fte-page-button{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid transparent;background:transparent;color:#496173;border-radius:7px;padding:9px;min-height:51px;width:100%;font-size:12px;line-height:1.3}
.fte-page-button:hover{background:#edf3f7}
.fte-page-button.fte-selected{background:#e2eef6;border-color:#c3dbe9;color:var(--navy);font-weight:650}
.fte-page-number{display:flex;align-items:center;justify-content:center;width:27px;height:34px;border:1px solid #c2d1db;border-radius:2px;background:#fff;font-size:11px;flex:none;box-shadow:0 1px 2px #173f5710}
.fte-selected .fte-page-number{background:var(--navy);color:#fff;border-color:var(--navy)}
.fte-page-button .fte-issue-indicator{margin-left:auto;color:var(--error);font-size:12px;font-weight:800}
.fte-sidebar-footer{display:flex;gap:10px;padding:17px 18px;color:#648093;border-top:1px solid var(--line);margin-top:auto}
.fte-sidebar-footer .fte-ui-icon{width:16px;margin-top:1px}
.fte-sidebar-footer strong{font-size:11px;color:#3d5d72;font-weight:650}
.fte-sidebar-footer p{font-size:11px;line-height:1.5;margin:5px 0 0}
.fte-import-button{margin:0 18px 16px;font-size:12px;background:transparent}

/* ── Vista previa, pie de página e inspector (textos e imágenes) ── */
.fte-preview-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--canvas)}
.fte-preview-toolbar{height:64px;flex:none;background:#f4f7f9;border-bottom:1px solid var(--line);padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.fte-preview-toolbar strong{display:block;font-size:13px}
.fte-a4-label{font-size:11px;color:#7b8b98;display:block;margin-top:3px}
.fte-zoom-controls{display:flex;gap:4px}
.fte-zoom-controls .fte-btn{background:transparent;min-height:28px;font-size:11px;padding:5px 9px;border-color:transparent}
.fte-zoom-controls .fte-active{background:white;border-color:#cedce6}
.fte-preview-scroller{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable both-edges}
.fte-preview-stage{padding:25px;min-height:100%;display:flex;justify-content:center;align-items:flex-start;width:max-content;min-width:100%}
.fte-paper-preview{background:white;box-shadow:0 3px 7px #14364d1a,0 17px 32px #14364d18;flex:none;line-height:0;position:relative}
.fte-paper-preview>svg{display:block;width:100%;height:100%;overflow:hidden}
.fte-paper-preview [data-field-id]{cursor:text}
.fte-paper-preview [data-image-id]{cursor:pointer}
.fte-preview-footer{display:flex;align-items:center;gap:16px;min-height:43px;padding:5px 19px;border-top:1px solid #d6e1e9;background:#eff4f7;font-size:11px;color:#697f90;flex:none}
.fte-page-arrows{display:flex;margin-left:auto;gap:5px}
.fte-preview-footer .fte-icon-btn{height:28px;width:28px}
.fte-page-validation-error{color:var(--error)!important}
.fte-preview-footer .fte-page-validation{flex:1;text-align:right}
.fte-inspector{background:white;display:flex;flex-direction:column;border-left:1px solid var(--line);min-height:0;overflow:hidden}
.fte-inspector-header{padding:22px 23px 17px}
.fte-inspector-header h2{font-size:19px;line-height:1.25;letter-spacing:-.4px;margin:8px 0 9px}
.fte-inspector-header p{font-size:12px;line-height:1.55;color:#778995;margin:0}
.fte-inspector-tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 19px;gap:16px}
.fte-inspector-tabs button{padding:13px 2px 12px;background:none;color:#748997;font-weight:600;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px}
.fte-inspector-tabs button.fte-selected{border-bottom-color:var(--blue);color:var(--navy)}
.fte-inspector-tabs button span{font-size:10px;padding:1px 5px;border-radius:4px;background:#eff3f6;margin-left:3px}
.fte-fields-panel{padding:20px 22px 28px;overflow-y:auto;min-height:0;flex:1;scrollbar-gutter:stable}
.fte-field{margin-bottom:21px;scroll-margin-top:14px}
.fte-field-label{font-size:12px;font-weight:650;display:flex;align-items:center;gap:8px;margin-bottom:8px;line-height:1.35}
.fte-field-label .fte-changed{width:5px;height:5px;border-radius:50%;background:var(--blue);margin-left:auto}
.fte-field textarea{display:block;width:100%;resize:vertical;min-height:43px;max-height:270px;border:1px solid #cbd8e1;border-radius:6px;padding:10px;font-size:13px;line-height:1.55;color:#2a4658;background:#fcfdfe}
.fte-field textarea:focus{background:#fff;border-color:var(--cyan)}
.fte-field.fte-error textarea{border-color:#d96872;background:#fffafa}
.fte-field-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;font-size:10px;line-height:1.4;color:#8899a5;margin-top:6px}
.fte-field-error{color:var(--error);font-weight:550}
.fte-field.fte-focused .fte-field-label{color:var(--blue)}
.fte-inspector-note{display:flex;gap:8px;background:#edf4f8;border-radius:6px;padding:11px;font-size:11px;line-height:1.5;color:#536e81;margin-bottom:19px}
.fte-inspector-note .fte-ui-icon{width:15px;height:15px;flex:none}
.fte-edit-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:9px 18px;min-height:51px}
.fte-edit-actions>div{display:flex;gap:3px}
.fte-empty-state{padding:25px 0;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}
.fte-image-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:20px}
.fte-image-preview{height:130px;background:#e5edf2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fte-image-preview img{width:100%;height:100%;object-fit:cover}
.fte-image-card-body{padding:13px}
.fte-image-card h3{font-size:13px;line-height:1.4;margin:0 0 8px}
.fte-image-card .fte-file-name{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);margin:0 0 9px}
.fte-image-card .fte-btn{font-size:12px;min-height:35px;width:100%}
.fte-image-meta{font-size:11px;line-height:1.5;color:var(--muted);margin:10px 0}
.fte-quality-warning{color:#9c650d;background:#fff7e6;padding:7px 9px;border-radius:5px;font-size:10px;line-height:1.5}
.fte-image-crop-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.fte-image-crop-controls label{font-size:10px;color:var(--muted);display:block}
.fte-image-crop-controls select{font-size:11px;width:100%;margin-top:5px;min-height:31px;padding:5px}
.fte-image-crop-controls input{width:100%;margin-top:9px;accent-color:var(--blue)}
.fte-image-reset{display:block;text-align:center;width:100%;margin-top:6px}

/* ── Avisos, toast, diálogos y recuadros de la vista previa (clases que pinta motor-ficha.js) ── */
.fte-storage-alert{background:#fff3d6;color:#73511a;font-size:12px;padding:10px 25px;border-bottom:1px solid #e8d199}
.fte-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#123c52;color:white;box-shadow:0 5px 20px #123c5230;border-radius:8px;padding:13px 20px;font-size:13px;z-index:30;max-width:min(540px,90vw);line-height:1.5}
.fte-dialog{border:0;border-radius:12px;padding:0;max-width:540px;width:calc(100% - 36px);box-shadow:0 25px 90px #061e4660;color:var(--ink)}
.fte-dialog::backdrop{background:#0925377a;backdrop-filter:blur(3px)}
.fte-dialog form{padding:25px}
.fte-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}
.fte-dialog-top h2{font-size:21px;letter-spacing:-.5px;margin:0}
.fte-dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}
.fte-dialog-body p{font-size:14px;line-height:1.65;color:#526c7f;margin:0 0 15px}
.fte-dialog-field{display:block;margin-bottom:17px}
.fte-dialog-field>span{display:block;font-size:13px;font-weight:650;margin-bottom:8px}
.fte-dialog-field input,.fte-dialog-field select{width:100%}
.fte-dialog-error{color:var(--error);font-size:12px;margin-top:8px;line-height:1.5}
.fte-btn.fte-danger{background:#b42333;border-color:#b42333;color:white}
.fte-btn.fte-danger:hover:not(:disabled){background:#98202e}
.fte-dialog-note{background:#eef4f8;padding:12px;border-radius:7px;font-size:12px;line-height:1.6;color:#587085}
.fte-export-options{display:flex;gap:10px;margin:20px 0}
.fte-export-options label{flex:1;border:1px solid var(--line);border-radius:7px;padding:12px;font-size:13px;line-height:1.5;cursor:pointer}
.fte-export-options label:has(input:checked){border-color:var(--blue);background:#edf6fb}
.fte-export-options input{accent-color:var(--blue);margin-right:6px}
.fte-check-list{list-style:none;padding:0;margin:16px 0}
.fte-check-list li{font-size:13px;line-height:1.6;padding:5px 0;display:flex;gap:9px}
.fte-check-list .fte-ui-icon{width:16px;height:16px;margin-top:3px;color:#258063}
.fte-issue-list{list-style:none;padding:0;max-height:190px;overflow:auto;margin:12px 0}
.fte-issue-list li{font-size:12px;border-bottom:1px solid var(--line);padding:9px 0;color:var(--error);line-height:1.5}
.fte-issue-list button{background:none;text-align:left;color:inherit;font:inherit}
.fte-radio-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;font-size:13px;line-height:1.5}
.fte-radio-row input{accent-color:var(--blue);margin-top:4px}
.fte-help-steps{padding-left:20px;font-size:14px;line-height:1.6;color:#526c7f}
.fte-help-steps li{padding:5px 0}
.fte-help-steps strong{color:var(--ink)}
.fte-field-highlight{pointer-events:none;fill:#0099dd10;stroke:#078bbf;stroke-width:.7;stroke-dasharray:3 2}
.fte-field-overflow-highlight{pointer-events:none;fill:#c6303810;stroke:#c63038;stroke-width:.8}

/* ── Puntos de corte del editor: 1650, 1150, 860 y 530 px, y el ajuste de textos desde 861 px ── */
@media(min-width:1650px){
  .fte-workspace{grid-template-columns:254px minmax(400px,1fr) 392px}
  .fte-inspector-header{padding:25px}
  .fte-fields-panel{padding:23px 25px}
  .fte-field textarea{font-size:14px}
  .fte-field-label{font-size:13px}
  .fte-page-button{font-size:13px;min-height:57px}
  .fte-eyebrow{font-size:11px}
}
@media(max-width:1150px){
  .fte-workspace{grid-template-columns:195px minmax(280px,1fr) 308px}
  .fte-app-header{padding:0 18px}
  .fte-identity{gap:15px}
  .fte-brand{width:125px}
  .fte-identity h1{font-size:17px}
  .fte-header-subtitle{font-size:11px}
  .fte-save-status{display:none}
  .fte-fields-panel{padding:17px}
  .fte-inspector-header{padding:18px}
  .fte-page-button{font-size:11px;padding:8px;gap:8px}
  .fte-system-section{padding:19px 13px}
  .fte-page-nav-title{padding-left:14px;padding-right:14px}
  .fte-preview-toolbar{padding:0 15px}
  .fte-preview-toolbar strong{max-width:180px}
  .fte-header-actions .fte-btn{font-size:12px;padding:8px 11px}
  .fte-preview-footer{gap:6px;padding:5px 12px}
}
@media(max-width:860px){
  .fte-app-shell{height:auto;min-height:100dvh}
  .fte-app-header{height:auto;min-height:84px;padding:15px 17px;flex-wrap:wrap;gap:12px}
  .fte-identity{flex:1}
  .fte-header-actions{margin-left:auto}
  .fte-identity h1{font-size:18px}
  .fte-brand{width:130px}
  .fte-header-actions .fte-btn{min-height:36px}
  .fte-header-actions .fte-help-btn{display:none}
  .fte-workspace{display:grid;grid-template-columns:155px minmax(0,1fr);grid-template-rows:auto auto}
  .fte-sidebar{grid-column:1;grid-row:1 / span 2;max-height:none}
  .fte-preview-panel{grid-column:2;grid-row:1;height:72dvh;min-height:480px}
  .fte-inspector{grid-column:2;grid-row:2;border-top:1px solid var(--line);min-height:420px;max-height:720px}
  .fte-inspector-header{padding-bottom:13px}
  .fte-inspector-header p{display:none}
  .fte-system-actions{flex-wrap:wrap}
  .fte-system-actions .fte-btn{white-space:normal}
  .fte-page-number{width:21px;height:29px}
  .fte-page-button{padding:8px 4px;font-size:10px}
  .fte-page-nav-title{gap:5px}
  .fte-eyebrow{font-size:9px}
  .fte-page-nav-title .fte-count{display:none}
  .fte-sidebar-footer{padding:14px 10px;gap:6px}
  .fte-sidebar-footer strong,.fte-sidebar-footer p{font-size:10px}
  .fte-sidebar-footer .fte-ui-icon{display:none}
  .fte-import-button{margin:0 9px 12px;font-size:10px;padding:8px 4px}
  .fte-preview-toolbar{height:59px}
  .fte-preview-toolbar strong{font-size:12px}
  .fte-preview-footer .fte-page-validation{font-size:10px}
  .fte-preview-stage{padding:18px}
  .fte-fields-panel{padding:19px 22px}
  .fte-field textarea{font-size:14px}
  .fte-field-label{font-size:13px}
  .fte-header-actions .fte-btn span[data-icon]{display:none}
}
@media(max-width:530px){
  .fte-app-header .fte-brand-separator,.fte-header-subtitle{display:none}
  .fte-brand{width:110px}
  .fte-identity h1{font-size:17px}
  .fte-header-actions{width:100%;justify-content:flex-end}
  .fte-header-actions .fte-btn{flex:1}
  .fte-workspace{grid-template-columns:113px minmax(0,1fr)}
  .fte-system-section{padding:13px 7px}
  .fte-system-section select{font-size:11px;padding:8px 4px}
  .fte-system-actions .fte-btn{font-size:10px;padding:5px 4px}
  .fte-system-actions .fte-icon-btn{width:22px}
  .fte-page-button{flex-direction:column;align-items:flex-start;gap:5px;padding:8px 5px}
  .fte-page-button .fte-page-number{display:none}
  .fte-page-nav{padding:0 6px 10px}
  .fte-page-nav-title{padding:15px 9px 8px}
  .fte-sidebar-footer{display:none}
  .fte-preview-panel{min-height:350px;height:57dvh}
  .fte-preview-toolbar{padding:10px;height:auto;min-height:70px;align-items:flex-start;flex-direction:column;gap:7px}
  .fte-zoom-controls .fte-btn{padding:4px 6px;min-height:23px}
  .fte-preview-stage{padding:12px}
  .fte-a4-label{font-size:9px}
  .fte-preview-footer{font-size:10px;flex-wrap:wrap}
  .fte-preview-footer .fte-page-validation{width:100%;order:3;flex-basis:100%;text-align:left}
  .fte-preview-footer .fte-page-arrows{gap:0}
  .fte-inspector-header h2{font-size:17px}
  .fte-fields-panel{padding:15px}
  .fte-inspector-header{padding:16px}
  .fte-inspector-tabs{padding:0 14px}
  .fte-inspector-tabs button{font-size:12px}
  .fte-edit-actions{padding:7px 10px}
  .fte-text-btn{font-size:10px}
}
@media(min-width:861px){
  .fte-field textarea{font-size:15px;line-height:1.5}
  .fte-field-label{font-size:14px}
  .fte-page-button{font-size:14px}
  .fte-inspector-tabs button{font-size:14px}
  .fte-inspector-note{font-size:12px}
  .fte-image-card h3{font-size:14px}
  .fte-inspector-header p{font-size:13px}
  .fte-preview-toolbar strong{font-size:14px}
  .fte-sidebar-footer strong,.fte-sidebar-footer p{font-size:12px}
}
