/* ═══════════════════════════════════════════════
   FICHAS TÉCNICAS — Integrado no CRM
   fichas.css — tudo scoped sob #tab-fichas
   ═══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&family=DM+Mono:wght@400;500&display=swap');

/* ── VARIÁVEIS (scoped — não vaza pro CRM) ── */
#tab-fichas {
  --bg:#f5f3ef;--surface:#fff;--surface2:#f0ede8;--border:#e2ddd6;--border2:#ccc7be;
  --text:#1a1814;--text2:#6b6560;--text3:#9e9890;
  --green:#1a6e3c;--green-l:#e4f2ea;--green-t:#0f5a2f;
  --amber:#92540a;--amber-l:#fef3e2;
  --red:#a02020;--red-l:#fdeaea;
  --blue:#1a4e8a;--blue-l:#e8f0fb;
  --purple:#4a3a9a;--purple-l:#eeebfc;
  --r:10px;--rl:14px;
  font-family:'DM Sans',sans-serif;
  color:var(--text);
  font-size:15px;
  margin-top:-2rem;
  margin-left:calc(-2rem - max(0px, (100vw - 1100px) / 2));
  margin-right:calc(-2rem - max(0px, (100vw - 1100px) / 2));
}

/* ── SUB-NAV (Ingredientes / Produtos / Comprovantes / Config) ── */
#tab-fichas .ft-subnav {
  background:transparent;
  border-bottom:1px solid var(--border);
  padding:0 2rem;
  display:flex;
  align-items:center;
  gap:4px;
  height:48px;
  position:sticky;
  top:56px; /* altura da topbar do CRM */
  z-index:40;
}
#tab-fichas .ft-tab {
  height:36px;padding:0 16px;font-size:13px;font-weight:500;
  font-family:'DM Sans',sans-serif;cursor:pointer;color:var(--text2);
  border:none;background:transparent;border-radius:var(--r);
  transition:all .15s;white-space:nowrap;
}
#tab-fichas .ft-tab:hover { background:var(--surface2);color:var(--text); }
#tab-fichas .ft-tab.active { background:var(--text);color:#fff; }
#tab-fichas .ft-sync {
  margin-left:auto;font-size:12px;color:var(--text3);
}

/* ── PÁGINAS ── */
#tab-fichas .ft-page { padding:2rem;max-width:1100px;margin:0 auto; }
#tab-fichas .page-header { margin-bottom:1.5rem; }
#tab-fichas .page-header h1 { font-size:22px;font-weight:600;margin-bottom:4px; }
#tab-fichas .page-header p { font-size:14px;color:var(--text2); }

/* ── CARDS ── */
#tab-fichas .card { background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.05); }
#tab-fichas .card-title { font-size:15px;font-weight:600;margin-bottom:1.25rem;display:flex;align-items:center;gap:8px; }
#tab-fichas .icon { width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px; }
#tab-fichas .icon-g { background:var(--green-l);color:var(--green-t); }
#tab-fichas .icon-b { background:var(--blue-l);color:var(--blue); }

/* ── FORMULÁRIOS ── */
#tab-fichas .form-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
#tab-fichas .fg { display:flex;flex-direction:column;gap:6px; }
#tab-fichas .fg.s2 { grid-column:1/-1; }
#tab-fichas label { font-size:12px;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.05em; }
#tab-fichas input,#tab-fichas select { height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);font-size:14px;font-family:'DM Sans',sans-serif;width:100%;transition:border-color .15s; }
#tab-fichas input:focus,#tab-fichas select:focus { outline:none;border-color:var(--green); }
#tab-fichas .ig { display:flex;gap:8px; }
#tab-fichas .ig input { flex:1; }
#tab-fichas .ig select { width:150px;flex-shrink:0; }
#tab-fichas .computed { height:38px;padding:0 12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);font-size:14px;font-family:'DM Mono',monospace;color:var(--green);font-weight:500;display:flex;align-items:center; }
#tab-fichas .divider { height:1px;background:var(--border);margin:1.25rem 0; }

/* ── BOTÕES ── */
#tab-fichas .btn { height:38px;padding:0 18px;border-radius:var(--r);font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:'DM Sans',sans-serif;transition:all .12s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px; }
#tab-fichas .btn:hover { background:var(--surface2);border-color:var(--border2); }
#tab-fichas .btn:active { transform:scale(.98); }
#tab-fichas .btn-primary { background:var(--green);color:#fff;border-color:var(--green); }
#tab-fichas .btn-primary:hover { background:#155c32;border-color:#155c32; }
#tab-fichas .btn-sm { height:28px;padding:0 10px;font-size:12px; }
#tab-fichas .btn-danger { background:var(--red-l);color:var(--red);border-color:#f5c0c0; }
#tab-fichas .btn-edit { background:var(--blue-l);color:var(--blue);border-color:#bdd0f0; }
#tab-fichas .btn-pdf { background:#1a3a6e;color:#fff;border-color:#1a3a6e; }
#tab-fichas .btn-pdf:hover { background:#142e58; }
#tab-fichas .btn-atualizar { background:var(--amber-l);color:var(--amber);border-color:#f0c070; }
#tab-fichas .btn-atualizar:hover { background:#fde8b0; }
#tab-fichas .actions { display:flex;justify-content:flex-end;gap:10px;margin-top:6px; }

/* ── FILTROS ── */
#tab-fichas .btn-filtro { height:34px;padding:0 16px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text2);font-family:'DM Sans',sans-serif;transition:all .15s; }
#tab-fichas .btn-filtro:hover { border-color:var(--border2);color:var(--text); }
#tab-fichas .btn-filtro.active { background:var(--green);color:#fff;border-color:var(--green); }

/* ── LISTA INGREDIENTES ── */
#tab-fichas .list-wrap { background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05); }
#tab-fichas .list-head { display:grid;padding:9px 16px;font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;background:var(--surface2);border-bottom:1px solid var(--border); }
#tab-fichas .ih { grid-template-columns:1.6fr .7fr .8fr .8fr 1fr 1.1fr 100px;gap:8px; }
#tab-fichas .list-row { display:grid;padding:11px 16px;font-size:13px;align-items:center;border-bottom:1px solid var(--border);transition:background .1s; }
#tab-fichas .list-row:last-child { border-bottom:none; }
#tab-fichas .list-row:hover { background:var(--surface2); }
#tab-fichas .list-row.ih span:first-child { text-transform:uppercase; }
#tab-fichas .empty-state { padding:2.5rem;text-align:center;color:var(--text3);font-size:14px; }
#tab-fichas .ing-card { display:none; }

/* ── BADGES ── */
#tab-fichas .badge { display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px; }
#tab-fichas .b-ok { background:var(--green-l);color:var(--green-t); }
#tab-fichas .b-warn { background:var(--amber-l);color:var(--amber); }
#tab-fichas .b-danger { background:var(--red-l);color:var(--red); }
#tab-fichas .b-solid { background:var(--blue-l);color:var(--blue); }
#tab-fichas .b-liquid { background:var(--purple-l);color:var(--purple); }
#tab-fichas .b-unit { background:#f0ede8;color:#5a4e3a; }
#tab-fichas .b-comida { background:#fef3e2;color:#92540a; }
#tab-fichas .b-drink { background:#e8f0fb;color:#1a4e8a; }

/* ── MÉTRICAS ── */
#tab-fichas .metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:1.25rem; }
#tab-fichas .metric { background:var(--surface2);border-radius:var(--r);padding:14px 16px; }
#tab-fichas .metric-label { font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px; }
#tab-fichas .metric-val { font-size:21px;font-weight:600; }
#tab-fichas .mv-g { color:var(--green); }
#tab-fichas .mv-b { color:var(--blue); }
#tab-fichas .mv-r { color:var(--red); }

/* ── INGREDIENTE ROW NO PRODUTO ── */
#tab-fichas .ing-row { display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:var(--surface2);border-radius:var(--r);margin-bottom:8px;font-size:13px; }
#tab-fichas .ing-row-info { display:flex;gap:16px;align-items:center; }

/* ── HISTÓRICO ── */
#tab-fichas .hist-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px; }
#tab-fichas .hist-grid .fg input[type="date"] { height:34px;font-size:12px;padding:0 8px; }
#tab-fichas .hist-grid .fg input[type="number"] { height:34px;font-size:13px; }
#tab-fichas .hist-info { font-size:12px;color:var(--text2);margin-top:8px;padding:8px 12px;background:var(--green-l);border-radius:var(--r);display:flex;justify-content:space-between;align-items:center; }
#tab-fichas .hist-info span { font-weight:600;color:var(--green);font-size:14px; }

/* ── ACCORDION PRODUTO ── */
#tab-fichas .prod-card { background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);overflow:hidden; }
#tab-fichas .prod-card-header { display:flex;align-items:center;padding:14px 18px;cursor:pointer;user-select:none;gap:12px;transition:background .12s; }
#tab-fichas .prod-card-header:hover { background:var(--surface2); }
#tab-fichas .prod-arrow { font-size:12px;color:var(--text3);transition:transform .2s;flex-shrink:0; }
#tab-fichas .prod-arrow.open { transform:rotate(90deg); }
#tab-fichas .prod-card-name { font-size:15px;font-weight:600;flex:1;text-transform:uppercase; }
#tab-fichas .prod-card-meta { display:flex;gap:10px;align-items:center;flex-shrink:0; }
#tab-fichas .prod-card-actions-row { display:flex;gap:8px;margin-left:10px; }
#tab-fichas .prod-card-body { display:none;padding:0 18px 16px;border-top:1px solid var(--border); }
#tab-fichas .prod-card-body.open { display:block; }
#tab-fichas .prod-ing-table { width:100%;border-collapse:collapse;font-size:13px;margin:12px 0 4px; }
#tab-fichas .prod-ing-table th { text-align:left;font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;padding:7px 10px;background:var(--surface2);border:1px solid var(--border); }
#tab-fichas .prod-ing-table td { padding:8px 10px;border:1px solid var(--border); }
#tab-fichas .prod-ing-table tr:nth-child(even) td { background:#fafaf8; }
#tab-fichas .add-ig { display:grid;grid-template-columns:1fr 1fr 150px 80px;gap:10px;align-items:end; }

/* ── ALERTAS ── */
#tab-fichas .alert { padding:10px 14px;border-radius:var(--r);font-size:13px;margin-bottom:1rem;border:1px solid; }
#tab-fichas .alert-warn { background:var(--amber-l);color:var(--amber);border-color:#f5d99a; }

/* ── MODAL (FT) ── */
#tab-fichas .ft-modal-bg { display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:500;align-items:center;justify-content:center; }
#tab-fichas .ft-modal-bg.open { display:flex; }
.ft-modal { background:#fff;border-radius:14px;padding:1.75rem;width:100%;max-width:620px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.18);font-family:'DM Sans',sans-serif;color:#1a1814; }
.ft-modal .modal-handle { display:none; }
.ft-modal .modal-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem; }
.ft-modal .modal-title { font-size:17px;font-weight:600; }
.ft-modal .modal-close { width:32px;height:32px;border-radius:8px;border:1px solid #e2ddd6;background:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .12s; }
.ft-modal .modal-close:hover { background:#f0ede8; }

/* ── LOADING ── */
#tab-fichas .loading { text-align:center;padding:2rem;color:var(--text2);font-size:14px; }
#tab-fichas .spinner { display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:ft-spin .7s linear infinite;margin-right:8px;vertical-align:middle; }
@keyframes ft-spin { to{transform:rotate(360deg)} }

/* ── TOAST ── */
#ft-toast { position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px; }
#ft-toast .toast-msg { background:#1a1814;color:#fff;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;animation:ft-fadeUp .25s ease;box-shadow:0 4px 16px rgba(0,0,0,.18);font-family:'DM Sans',sans-serif; }
#ft-toast .toast-msg.ok { background:#1a6e3c; }
#ft-toast .toast-msg.err { background:#a02020; }
@keyframes ft-fadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

/* ── COMPROVANTES ── */
#tab-fichas .upload-zone { border:2px dashed #ccc7be;border-radius:var(--rl);padding:2.5rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--surface); }
#tab-fichas .upload-zone:hover,#tab-fichas .upload-zone.drag { border-color:var(--green);background:var(--green-l); }
#tab-fichas .upload-zone input { display:none; }
#tab-fichas .upload-icon { font-size:36px;margin-bottom:12px; }
#tab-fichas .upload-title { font-size:15px;font-weight:600;margin-bottom:6px; }
#tab-fichas .upload-sub { font-size:13px;color:var(--text2); }
#tab-fichas .preview-img { max-width:100%;max-height:320px;border-radius:var(--r);border:1px solid var(--border);display:block;margin:0 auto; }
#tab-fichas .extract-status { display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface2);border-radius:var(--r);font-size:13px;margin-bottom:1rem; }
#tab-fichas .item-review { background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-bottom:10px;transition:all .15s; }
#tab-fichas .item-review.saved { border-color:#a8d8b8;background:var(--green-l);opacity:.7; }
#tab-fichas .item-review.skipped { opacity:.4; }
#tab-fichas .item-review-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px; }
#tab-fichas .item-review-name { font-size:14px;font-weight:600; }
#tab-fichas .item-fields { display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px; }
#tab-fichas .item-field { display:flex;flex-direction:column;gap:5px; }
#tab-fichas .item-field label { font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em; }
#tab-fichas .item-field input,#tab-fichas .item-field select { height:34px;font-size:13px; }
#tab-fichas .item-field.full { grid-column:1/-1; }
#tab-fichas .item-actions { display:flex;gap:8px;margin-top:10px; }
#tab-fichas .tag-saved { font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:var(--green-l);color:var(--green-t); }
#tab-fichas .painel-atualizar { background:var(--surface2);border-radius:var(--r);padding:12px 14px;margin-top:4px; }
#tab-fichas .nota-info { display:flex;gap:16px;padding:10px 14px;background:var(--blue-l);border-radius:var(--r);font-size:13px;color:var(--blue);margin-bottom:1rem;flex-wrap:wrap; }
#tab-fichas .nota-info strong { font-weight:600; }

/* ── CARDS DE COMPROVANTE ── */
#tab-fichas .cv-card { background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:14px 16px;margin-bottom:10px;display:flex;gap:14px;align-items:center;cursor:pointer;transition:background .12s;box-shadow:0 1px 3px rgba(0,0,0,.05); }
#tab-fichas .cv-card:hover { background:var(--surface2); }
#tab-fichas .cv-card-left { flex-shrink:0; }
#tab-fichas .cv-thumb { width:56px;height:56px;object-fit:cover;border-radius:var(--r);border:1px solid var(--border); }
#tab-fichas .cv-thumb-pdf { width:56px;height:56px;background:var(--blue-l);border-radius:var(--r);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--blue); }
#tab-fichas .cv-card-info { flex:1;min-width:0; }
#tab-fichas .cv-card-title { font-size:14px;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
#tab-fichas .cv-card-meta { display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text2);margin-bottom:6px; }
#tab-fichas .cv-card-badge { display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0; }

/* ── CONFIG SECTION (categorias dentro do #tab-config) ── */
.ft-config-section {
  --surface:#fff;--surface2:#f0ede8;--border:#e2ddd6;--border2:#ccc7be;
  --text:#1a1814;--text2:#6b6560;--text3:#9e9890;
  --green:#1a6e3c;--green-l:#e4f2ea;--green-t:#0f5a2f;
  --red:#a02020;--red-l:#fdeaea;
  --blue:#1a4e8a;--blue-l:#e8f0fb;
  --r:10px;--rl:14px;
  font-family:'DM Sans',sans-serif;color:var(--text);font-size:15px;
}
.ft-config-section .card { background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:1.5rem;margin-bottom:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.05); }
.ft-config-section .card-title { font-size:15px;font-weight:600;margin-bottom:1.25rem;display:flex;align-items:center;gap:8px; }
.ft-config-section .icon { width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px; }
.ft-config-section .icon-b { background:var(--blue-l);color:var(--blue); }
.ft-config-section .fg { display:flex;flex-direction:column;gap:6px; }
.ft-config-section label { font-size:12px;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.05em; }
.ft-config-section input,.ft-config-section select { height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);font-size:14px;font-family:'DM Sans',sans-serif;width:100%;transition:border-color .15s; }
.ft-config-section input:focus,.ft-config-section select:focus { outline:none;border-color:var(--green); }
.ft-config-section .btn { height:38px;padding:0 18px;border-radius:var(--r);font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:'DM Sans',sans-serif;transition:all .12s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px; }
.ft-config-section .btn:hover { background:var(--surface2);border-color:var(--border2); }
.ft-config-section .btn-primary { background:var(--green);color:#fff;border-color:var(--green); }
.ft-config-section .btn-primary:hover { background:#155c32;border-color:#155c32; }
.ft-config-section .btn-sm { height:28px;padding:0 10px;font-size:12px; }
.ft-config-section .btn-danger { background:var(--red-l);color:var(--red);border-color:#f5c0c0; }
.ft-config-section .btn-edit { background:var(--blue-l);color:var(--blue);border-color:#bdd0f0; }
.ft-config-section .loading { text-align:center;padding:2rem;color:var(--text2);font-size:14px; }
.ft-config-section .spinner { display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:ft-spin .7s linear infinite;margin-right:8px;vertical-align:middle; }
.ft-config-section .empty-state { padding:2.5rem;text-align:center;color:var(--text3);font-size:14px; }

/* ════════════════════════════════════════
   MOBILE (< 700px)
════════════════════════════════════════ */
@media(max-width:699px){
  #tab-fichas .ft-subnav { padding:0 .75rem;height:42px;gap:2px;overflow-x:auto; }
  #tab-fichas .ft-tab { padding:0 10px;font-size:12px; }
  #tab-fichas .ft-page { padding:.875rem; }
  #tab-fichas .page-header h1 { font-size:20px; }
  #tab-fichas .card { padding:.875rem;margin-bottom:.875rem; }
  #tab-fichas .card-title { font-size:14px;margin-bottom:.875rem; }
  #tab-fichas .form-grid { grid-template-columns:1fr; }
  #tab-fichas .fg.s2 { grid-column:1; }
  #tab-fichas .ig select { width:110px; }
  #tab-fichas .btn { height:44px;font-size:14px; }
  #tab-fichas .btn-sm { height:34px;font-size:13px;padding:0 12px; }
  #tab-fichas .actions { gap:8px; }
  #tab-fichas input,#tab-fichas select { height:44px;font-size:16px !important; }
  #tab-fichas .computed { height:44px; }
  #tab-fichas .hist-grid .fg input { height:38px !important;font-size:14px !important; }
  #tab-fichas .add-ig { grid-template-columns:1fr; }
  #tab-fichas .add-ig button { width:100%; }
  #tab-fichas .metrics { grid-template-columns:1fr; }
  #tab-fichas .hist-grid { grid-template-columns:1fr 1fr; }
  #tab-fichas .list-head { display:none; }
  #tab-fichas .list-row.ih { display:none; }
  #tab-fichas .ing-card { display:block;padding:14px;border-bottom:1px solid var(--border); }
  #tab-fichas .ing-card:last-child { border-bottom:none; }
  #tab-fichas .ing-card-top { display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:8px; }
  #tab-fichas .ing-card-nome { font-size:15px;font-weight:600;flex:1;text-transform:uppercase; }
  #tab-fichas .ing-card-actions { display:flex;gap:6px;flex-shrink:0; }
  #tab-fichas .ing-card-row { display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text2); }
  #tab-fichas .ing-card-row span { display:flex;gap:6px;align-items:center; }
  #tab-fichas .ing-card-footer { display:flex;justify-content:space-between;align-items:center;margin-top:10px;flex-wrap:wrap;gap:6px; }
  #tab-fichas .prod-card-header { flex-direction:column;align-items:flex-start;padding:12px 14px;gap:8px; }
  #tab-fichas .prod-card-name { font-size:14px; }
  #tab-fichas .prod-card-meta { flex-wrap:wrap;gap:6px; }
  #tab-fichas .prod-card-actions-row { display:flex;gap:6px;width:100%;margin-left:0; }
  #tab-fichas .prod-card-actions-row .btn { flex:1;justify-content:center;height:36px;font-size:12px; }
  #tab-fichas .prod-card-body { padding:0 12px 12px;overflow-x:auto; }
  #tab-fichas .prod-ing-table { min-width:400px; }
  .ft-modal-bg { align-items:flex-end !important; }
  .ft-modal { border-radius:16px 16px 0 0;max-width:100% !important;padding:1rem;max-height:90vh; }
  .ft-modal .modal-handle { display:block;width:36px;height:4px;background:#ccc7be;border-radius:2px;margin:0 auto 1rem; }
  .ft-modal .form-grid { grid-template-columns:1fr; }
  #ft-toast { left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 2rem);bottom:16px;max-width:none; }
  #ft-toast .toast-msg { text-align:center; }
  #tab-fichas .upload-zone { padding:1.5rem 1rem; }
  #tab-fichas .item-fields { grid-template-columns:1fr; }
  #tab-fichas .item-actions { flex-direction:column; }
  #tab-fichas .item-actions .btn { width:100%;justify-content:center;height:44px; }
}
