/* ═══════════════════════════════════════════════════════
   Vision Art Gráfica — Estilos Principais
   Extraído automaticamente do sistema publicado
   ═══════════════════════════════════════════════════════ */


  /* ── Paleta Vision Art Gráfica ── */
  :root {
    --va-pink:   #E91E8A;
    --va-cyan:   #5BC8E8;
    --va-yellow: #F5E43A;
    --va-dark:   #111111;
    --va-dark2:  #1C1C1C;
    --va-dark3:  #2A2A2A;
    --va-pink-light: rgba(233,30,138,.12);
    --va-cyan-light: rgba(91,200,232,.12);
  }

  body { background:#F4F5F7; font-family:'Segoe UI',system-ui,sans-serif; }

  /* Navbar */
  .navbar { background:var(--va-dark) !important; border-bottom:3px solid var(--va-pink); }
  .navbar-brand { display:flex; align-items:center; gap:10px; }
  .navbar-brand .brand-logo-svg { width:36px; height:36px; }
  .navbar-brand .brand-name { font-size:.95rem; font-weight:700; color:#fff; line-height:1.15; }
  .navbar-brand .brand-name span { color:var(--va-pink); }
  .nav-link { color:rgba(255,255,255,0.7) !important; border-radius:6px; transition:.2s; }
  .nav-link:hover { background:rgba(233,30,138,.18); color:#fff !important; }
  .nav-link.active { background:var(--va-pink) !important; color:#fff !important; }
  /* Navbar dropdowns */
  .navbar-nav .dropdown-menu { background:var(--va-dark); border:1px solid rgba(255,255,255,0.12); border-radius:10px; padding:6px; min-width:170px; margin-top:6px; }
  .navbar-nav .dropdown-item { color:rgba(255,255,255,0.75); border-radius:6px; padding:7px 14px; font-size:.88rem; transition:.15s; display:flex; align-items:center; gap:7px; }
  .navbar-nav .dropdown-item:hover { background:rgba(233,30,138,.2); color:#fff; }
  .navbar-nav .dropdown-item.active-page { background:var(--va-pink) !important; color:#fff !important; }
  .navbar-nav .dropdown-toggle { color:rgba(255,255,255,0.7) !important; border-radius:6px; padding:6px 12px; font-size:.88rem; transition:.2s; }
  .navbar-nav .dropdown-toggle:hover { background:rgba(233,30,138,.18); color:#fff !important; }
  .navbar-nav .dropdown-toggle.grp-active { background:rgba(233,30,138,.35) !important; color:#fff !important; }
  .navbar-toggler { border-color:rgba(255,255,255,0.3); }

  /* Páginas */
  .page { display:none; }
  .page.active { display:block; }

  /* Cards */
  .card { border:none; border-radius:14px; }
  .card-header { border-radius:14px 14px 0 0 !important; }

  /* Tabela de produção */
  .prod-table { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 2px 16px rgba(0,0,0,.07); font-size:.9rem; }
  .prod-table thead { background:var(--va-dark) !important; }
  .prod-table thead th { font-size:.72rem; text-transform:uppercase; letter-spacing:.6px; color:rgba(255,255,255,.85) !important; border-color:#333 !important; }
  .prod-row.gerada { background:#f0fff8 !important; }
  .prod-row.gerada .num::after { content:' ✓'; color:#16a34a; }

  /* Botões primários → rosa */
  .btn-primary { background:var(--va-pink) !important; border-color:var(--va-pink) !important; }
  .btn-primary:hover { background:#c91577 !important; border-color:#c91577 !important; }
  .btn-success { background:#16a34a !important; border-color:#16a34a !important; }
  .btn-outline-light { border-color:rgba(255,255,255,.4) !important; color:#fff !important; }
  .btn-outline-light:hover { background:var(--va-pink) !important; border-color:var(--va-pink) !important; }

  /* Badges */
  .badge.bg-primary { background:var(--va-pink) !important; }

  /* Imagem thumb */
  .img-thumb { width:44px; height:44px; object-fit:cover; border-radius:6px; border:2px solid var(--va-cyan); display:none; }

  /* Picker */
  .picker-area { border:2px dashed #ccc; border-radius:12px; min-height:180px; display:flex; align-items:center; justify-content:center; cursor:crosshair; position:relative; background:#fafafa; overflow:hidden; }
  .picker-area:hover { border-color:var(--va-pink); }
  .picker-area img { max-width:100%; max-height:420px; display:block; user-select:none; }

  /* Marcadores no picker */
  #marker { position:absolute; width:20px; height:20px; border-radius:50%; background:rgba(233,30,138,.9); border:3px solid #fff; box-shadow:0 0 8px rgba(0,0,0,.5); transform:translate(-50%,-50%); pointer-events:none; display:none; }
  #namePreviewMarker { position:absolute; transform:translate(-50%,-50%); pointer-events:none; font-size:16px; font-weight:bold; text-shadow:0 0 4px rgba(0,0,0,.8); white-space:nowrap; display:none; }

  /* Cards de fonte */
  .font-card { cursor:pointer; border:2px solid transparent; border-radius:10px; transition:.2s; }
  .font-card:hover { border-color:var(--va-pink); }

  /* Card de produto */
  .produto-card { border-radius:14px; overflow:hidden; box-shadow:0 3px 14px rgba(0,0,0,.09); position:relative; }
  .produto-card img { height:160px; object-fit:cover; width:100%; }
  .produto-card .card-footer { border-top:3px solid var(--va-pink); background:#fff; }
  /* Drag-and-drop */
  .produto-drag-col { transition: opacity .15s; }
  .produto-drag-col[draggable="true"] { cursor: default; }
  .produto-drag-handle {
    position:absolute; top:8px; left:8px; z-index:10;
    background:rgba(0,0,0,.45); color:#fff;
    border-radius:6px; padding:3px 7px; font-size:13px;
    cursor:grab; opacity:0; transition:opacity .18s;
    user-select:none; line-height:1;
  }
  .produto-drag-handle:active { cursor:grabbing; }
  .produto-card:hover .produto-drag-handle { opacity:1; }
  .produto-drag-col.dragging { opacity:.35; }
  .produto-drag-col.drag-over .produto-card {
    outline:3px dashed var(--va-pink);
    outline-offset:2px;
    background:rgba(233,30,138,.04);
  }

  /* Pastas de produto */
  .produto-folder-card { border-radius:14px; cursor:pointer; transition:.22s; border:2px solid transparent; background:#fff; overflow:hidden; }
  .produto-folder-card:hover { border-color:var(--va-pink); box-shadow:0 6px 22px rgba(233,30,138,.18); transform:translateY(-3px); }
  .produto-folder-card .folder-thumb { height:140px; object-fit:cover; width:100%; display:block; }
  .produto-folder-card .folder-thumb-placeholder { height:140px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#f8f8f8,#efefef); }
  .produto-folder-card .folder-overlay { position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(to bottom, rgba(0,0,0,0) 35%, rgba(0,0,0,.58) 100%); }
  .produto-folder-card .folder-count { position:absolute; bottom:8px; right:10px; background:var(--va-pink); color:#fff; font-size:.68rem; font-weight:700; padding:2px 9px; border-radius:20px; }
  .produto-folder-card .folder-icon { position:absolute; top:8px; left:10px; background:rgba(0,0,0,.35); color:#fff; font-size:.7rem; padding:2px 7px; border-radius:6px; }
  .produto-folder-card .folder-body { padding:10px 14px 12px; }
  .produto-folder-card .folder-nome { font-size:.88rem; font-weight:700; line-height:1.3; margin-bottom:5px; }
  .produto-folder-card .folder-vars { display:flex; flex-wrap:wrap; gap:3px; }
  /* Pasta vazia */
  .produto-folder-card.empty-folder { border:2px dashed #ddd; background:#fafafa; }
  .produto-folder-card.empty-folder:hover { border-color:var(--va-pink); background:#fff5fa; }
  .produto-folder-card.empty-folder .folder-thumb-placeholder { height:140px; background:linear-gradient(135deg,#f5f5f5,#ececec); }
  /* Card nova pasta */
  .nova-pasta-produto-card { border-radius:14px; border:2px dashed #ccc; background:transparent; cursor:pointer; transition:.2s; }
  .nova-pasta-produto-card:hover { border-color:var(--va-yellow,#f5e43a); background:rgba(245,228,58,.06); box-shadow:0 4px 14px rgba(245,228,58,.18); transform:translateY(-2px); }
  .nova-pasta-produto-card .np-icon { display:flex; align-items:center; justify-content:center; height:140px; }
  .nova-pasta-produto-card .np-icon i { font-size:2.6rem; color:#ccc; transition:.2s; }
  .nova-pasta-produto-card:hover .np-icon i { color:var(--va-yellow,#f5e43a); }
  .nova-pasta-produto-card .np-body { padding:10px 14px 14px; text-align:center; }
  /* Campo nome bloqueado dentro da pasta */
  #fp-nome[readonly] { background:#f0f4ff; border-color:#b8c8ff; color:#3355cc; font-weight:600; cursor:not-allowed; }
  .produtos-busca { max-width:340px; }
  .produto-breadcrumb { font-size:.88rem; }

  /* ── EDITOR VISUAL AVANÇADO ────────────────────── */
  .editor-toolbar-bar {
    background:#1a1a2e; border-radius:10px; padding:7px 12px;
    display:flex; flex-wrap:wrap; align-items:center; gap:6px;
    border:1px solid rgba(255,255,255,.08);
  }
  .edt-sep { width:1px; height:22px; background:rgba(255,255,255,.18); flex-shrink:0; }
  .edt-lbl { color:rgba(255,255,255,.5); font-size:.65rem; white-space:nowrap; }
  .edt-align-btn {
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2);
    color:#fff; border-radius:5px; width:28px; height:27px;
    display:inline-flex; align-items:center; justify-content:center;
    cursor:pointer; font-size:.75rem; transition:.15s; padding:0;
  }
  .edt-align-btn:hover { background:rgba(255,255,255,.2); }
  .edt-align-btn.active { background:var(--va-pink); border-color:var(--va-pink); }
  .edt-action-btn {
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2);
    color:#fff; border-radius:5px; padding:2px 8px; cursor:pointer;
    font-size:.72rem; transition:.15s; white-space:nowrap;
  }
  .edt-action-btn:hover { background:rgba(255,255,255,.2); }
  .edt-range { width:80px; accent-color:var(--va-pink); cursor:pointer; }
  .edt-num {
    width:52px; background:#2d2d42; border:1px solid rgba(255,255,255,.2);
    color:#fff; border-radius:5px; padding:2px 5px; font-size:.72rem;
    text-align:center;
  }
  .edt-num:focus { outline:none; border-color:var(--va-pink); }
  .edt-text-input {
    max-width:155px; background:#2d2d42; border:1px solid rgba(255,255,255,.2);
    color:#fff; border-radius:5px; padding:3px 8px; font-size:.78rem;
  }
  .edt-text-input::placeholder { color:rgba(255,255,255,.35); }
  .edt-text-input:focus { outline:none; border-color:var(--va-pink); background:#383852; }
  .edt-color-swatch {
    width:28px; height:27px; border-radius:5px; border:2px solid rgba(255,255,255,.3);
    cursor:pointer; padding:0; overflow:hidden;
  }
  /* Resize handles */
  .resize-handle {
    position:absolute; z-index:22; width:10px; height:10px;
    background:#fff; border:2px solid #0d6efd; border-radius:2px; pointer-events:all;
  }
  .resize-handle[data-dir="nw"]{ top:-5px;  left:-5px;             cursor:nw-resize; }
  .resize-handle[data-dir="n"] { top:-5px;  left:calc(50% - 5px); cursor:n-resize;  }
  .resize-handle[data-dir="ne"]{ top:-5px;  right:-5px;            cursor:ne-resize; }
  .resize-handle[data-dir="e"] { top:calc(50% - 5px); right:-5px;  cursor:e-resize;  }
  .resize-handle[data-dir="se"]{ bottom:-5px; right:-5px;          cursor:se-resize; }
  .resize-handle[data-dir="s"] { bottom:-5px; left:calc(50% - 5px);cursor:s-resize;  }
  .resize-handle[data-dir="sw"]{ bottom:-5px; left:-5px;           cursor:sw-resize; }
  .resize-handle[data-dir="w"] { top:calc(50% - 5px); left:-5px;   cursor:w-resize;  }
  /* Rotate handle */
  .rotate-handle-line { position:absolute; z-index:21; width:2px; height:28px; background:#22c55e; left:calc(50% - 1px); top:-30px; pointer-events:none; }
  .rotate-handle-btn  {
    position:absolute; z-index:22; width:16px; height:16px;
    background:#22c55e; border:2px solid #fff; border-radius:50%;
    top:-38px; left:calc(50% - 8px); cursor:grab; display:flex;
    align-items:center; justify-content:center; font-size:.55rem; color:#fff; pointer-events:all;
  }
  .rotate-handle-btn:active { cursor:grabbing; }

  /* Arquivos */
  .arq-card { border-radius:12px; transition:.2s; cursor:default; }
  .arq-card:hover { box-shadow:0 4px 20px rgba(233,30,138,.18) !important; transform:translateY(-2px); }
  .arq-icon-wrap { display:flex; align-items:center; justify-content:center; padding:18px 0 6px; }
  .arq-icon-wrap i { font-size:2.6rem; }
  /* Pré-visualização */
  .arq-preview { width:100%; height:130px; overflow:hidden; border-radius:12px 12px 0 0; position:relative; background:#e9ecef; display:flex; align-items:center; justify-content:center; cursor:pointer; }
  .arq-preview img { width:100%; height:130px; object-fit:cover; transition:.2s; }
  .arq-preview video { width:100%; height:130px; object-fit:cover; }
  .arq-preview:hover img { transform:scale(1.04); }
  .arq-preview .prev-overlay { position:absolute; inset:0; background:rgba(0,0,0,0); transition:.2s; display:flex; align-items:center; justify-content:center; }
  .arq-preview:hover .prev-overlay { background:rgba(0,0,0,.32); }
  .arq-preview .prev-overlay i { color:#fff; font-size:1.6rem; opacity:0; transition:.2s; }
  .arq-preview:hover .prev-overlay i { opacity:1; }
  .arq-preview .ext-badge { position:absolute; top:6px; right:6px; font-size:.6rem; font-weight:700; padding:2px 6px; border-radius:4px; text-transform:uppercase; background:rgba(0,0,0,.55); color:#fff; letter-spacing:.5px; }
  .arq-nome { font-size:.8rem; font-weight:600; word-break:break-all; line-height:1.3; max-height:2.6em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .badge-sm { font-size:.65rem; }
  .arq-drop-area { border:2px dashed var(--va-cyan); border-radius:14px; min-height:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; background:rgba(91,200,232,.05); transition:.2s; }
  .arq-drop-area:hover, .arq-drop-area.drag-over { border-color:var(--va-pink); background:rgba(233,30,138,.07); }

  /* Pastas */
  .pasta-item { display:flex; align-items:center; gap:7px; padding:7px 10px; cursor:pointer; border-radius:8px; transition:.15s; border-left:3px solid transparent; user-select:none; }
  .pasta-item:hover { background:rgba(233,30,138,.07); }
  .pasta-item.active { background:var(--va-pink-light); border-left-color:var(--va-pink); }
  .pasta-item.drag-over-folder { background:rgba(91,200,232,.18) !important; border-left-color:var(--va-cyan) !important; outline:2px dashed var(--va-cyan); outline-offset:-2px; }
  .pasta-nome { flex:1; font-size:.84rem; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .pasta-acoes { opacity:0; transition:.15s; display:flex; gap:2px; flex-shrink:0; }
  .pasta-item:hover .pasta-acoes { opacity:1; }
  .pasta-btn-xs { background:none; border:1px solid transparent; border-radius:4px; padding:1px 4px; cursor:pointer; font-size:.65rem; line-height:1.4; }
  .pasta-btn-xs:hover { border-color:#ccc; background:#f5f5f5; }
  .pasta-btn-xs.del:hover { border-color:var(--va-pink); color:var(--va-pink); }
  .arq-card[draggable="true"] { cursor:grab; }
  .arq-card[draggable="true"]:active { cursor:grabbing; opacity:.8; }
  /* Seleção múltipla */
  .arq-card .sel-check { position:absolute; top:7px; left:7px; width:22px; height:22px; background:rgba(0,0,0,.45); border:2px solid rgba(255,255,255,.7); border-radius:50%; display:flex; align-items:center; justify-content:center; opacity:0; transition:.15s; z-index:3; cursor:pointer; }
  .arq-card:hover .sel-check { opacity:1; }
  .arq-card.selecionado .sel-check { opacity:1; background:var(--va-pink); border-color:var(--va-pink); }
  .arq-card.selecionado .sel-check i { opacity:1; }
  .sel-check i { color:#fff; font-size:.7rem; opacity:0; transition:.1s; }
  .arq-card.selecionado { outline:2px solid var(--va-pink); outline-offset:-1px; background:rgba(233,30,138,.05) !important; }
  /* Barra de seleção */
  .sel-bar { background:var(--va-dark); color:#fff; padding:9px 14px; border-radius:10px; display:flex; align-items:center; gap:8px; font-size:.83rem; margin-bottom:10px; position:sticky; top:0; z-index:10; }
  .sel-bar .sel-count { font-weight:700; color:var(--va-pink); }
  /* Card Nova Pasta */
  .nova-pasta-card { border-radius:12px; cursor:pointer; transition:.2s; border:2px dashed #ccc; background:transparent; }
  .nova-pasta-card:hover { border-color:var(--va-yellow); background:rgba(245,228,58,.06); box-shadow:0 4px 14px rgba(245,228,58,.15) !important; transform:translateY(-2px); }
  .nova-pasta-card .nova-pasta-icon { display:flex; align-items:center; justify-content:center; padding:18px 0 6px; }
  .nova-pasta-card .nova-pasta-icon i { font-size:2.8rem; color:#ccc; transition:.2s; }
  .nova-pasta-card:hover .nova-pasta-icon i { color:var(--va-yellow); }

  /* Grid de tamanho ajustável */
  :root { --arq-card-width: 180px; }
  .arq-grid-auto { display:grid; grid-template-columns:repeat(auto-fill, minmax(var(--arq-card-width),1fr)); gap:10px; }
  .arq-preview { aspect-ratio:4/3; height:auto !important; }
  .arq-preview img, .arq-preview video { height:100%; width:100%; object-fit:cover; }
  /* Slider de tamanho */
  .slider-tamanho { width:80px; accent-color:var(--va-pink); cursor:pointer; }

  /* Cards de pasta na área central */
  .pasta-card { border-radius:12px; cursor:pointer; transition:.2s; border:2px solid transparent; }
  .pasta-card:hover { border-color:var(--va-yellow); box-shadow:0 4px 18px rgba(245,228,58,.25) !important; transform:translateY(-2px); }
  .pasta-card.drag-over-pasta-card { border-color:var(--va-cyan) !important; background:rgba(91,200,232,.12) !important; }
  .pasta-card-icon { display:flex; align-items:center; justify-content:center; padding:18px 0 6px; }
  .pasta-card-icon i { font-size:2.8rem; }
  .pasta-card-nome { font-size:.82rem; font-weight:600; word-break:break-word; line-height:1.3; }

  /* Breadcrumb */
  .arq-breadcrumb { display:flex; align-items:center; gap:5px; flex-wrap:wrap; font-size:.85rem; margin-bottom:14px; }
  .arq-breadcrumb .crumb { color:var(--va-pink); cursor:pointer; font-weight:500; }
  .arq-breadcrumb .crumb:hover { text-decoration:underline; }
  .arq-breadcrumb .crumb.atual { color:#333; font-weight:700; cursor:default; }
  .arq-breadcrumb .sep { color:#ccc; font-size:.7rem; }
  .secao-label { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:#aaa; margin-bottom:8px; }

  /* Input nome */
  .inp-nome { font-size:1rem; font-weight:500; }

  /* ── Kanban ── */
  .kanban-board { display:flex; flex-wrap:nowrap; gap:14px; overflow-x:auto; overflow-y:visible; padding-bottom:20px; min-height:calc(100vh - 200px); align-items:flex-start; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#ddd #f4f5f7; }
  .kanban-board::-webkit-scrollbar { height:7px; }
  .kanban-board::-webkit-scrollbar-track { background:#f4f5f7; border-radius:4px; }
  .kanban-board::-webkit-scrollbar-thumb { background:#ccc; border-radius:4px; }
  .kanban-board::-webkit-scrollbar-thumb:hover { background:#aaa; }
  .kanban-col { flex:0 0 272px; min-width:272px; border-radius:14px; background:#f4f5f7; display:flex; flex-direction:column; max-height:calc(100vh - 180px); }
  @media (max-width:767.98px) {
    .kanban-board { flex-direction:column; overflow-x:hidden; overflow-y:visible; min-height:unset; gap:10px; padding-bottom:10px; }
    .kanban-col { flex:none; min-width:100%; width:100%; max-height:unset; }
    .kanban-col-body { max-height:none; overflow-y:visible; }
  }
  @media (min-width:768px) and (max-width:1199.98px) {
    .kanban-board { gap:10px; }
    .kanban-col { flex:0 0 240px; min-width:240px; }
  }
  .kanban-col-header { padding:12px 14px 10px; border-radius:14px 14px 0 0; display:flex; align-items:center; justify-content:space-between; }
  .kanban-col-header .col-title { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
  .kanban-col-header .col-badge { font-size:.72rem; padding:2px 8px; border-radius:20px; font-weight:700; }
  .kanban-col-body { flex:1; overflow-y:auto; padding:8px; display:flex; flex-direction:column; gap:8px; }
  .kanban-col-body.drag-over { background:rgba(91,200,232,.12); border-radius:0 0 14px 14px; outline:2px dashed var(--va-cyan); outline-offset:-4px; }
  .kanban-card { background:#fff; border-radius:10px; padding:12px; box-shadow:0 1px 4px rgba(0,0,0,.08); cursor:grab; transition:.15s; border-left:4px solid transparent; user-select:none; position:relative; }
  .kanban-card:hover { box-shadow:0 3px 12px rgba(0,0,0,.14); transform:translateY(-1px); }
  .kanban-card:active { cursor:grabbing; opacity:.85; }
  .kanban-card.dragging { opacity:.4; }
  .kanban-card .kc-cliente { font-size:.9rem; font-weight:700; color:#222; margin-bottom:3px; }
  .kanban-card .kc-produto { font-size:.78rem; color:#555; margin-bottom:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .kanban-card .kc-footer { display:flex; align-items:center; justify-content:space-between; margin-top:8px; }
  .kanban-card .kc-qtd { font-size:.72rem; background:#f0f0f0; border-radius:8px; padding:2px 7px; font-weight:600; color:#555; }
  .kanban-card .kc-data { font-size:.67rem; color:#aaa; }
  .kanban-card .kc-acoes { display:flex; gap:4px; opacity:0; transition:.15s; }
  .kanban-card:hover .kc-acoes { opacity:1; }
  .kc-btn { background:none; border:1px solid #ddd; border-radius:6px; padding:2px 6px; font-size:.68rem; cursor:pointer; transition:.1s; }
  .kc-btn:hover { background:#f5f5f5; border-color:#bbb; }
  .kc-btn.prod { border-color:var(--va-pink); color:var(--va-pink); }
  .kc-btn.prod:hover { background:var(--va-pink-light); }
  .kc-btn.del { border-color:#dc3545; color:#dc3545; }
  .kc-btn.del:hover { background:#fff0f0; }
  .kc-btn.ver { border-color:#0ea5e9; color:#0369a1; background:#f0f9ff; }
  .kc-btn.ver:hover { background:#e0f2fe; }
  .kanban-origem { display:inline-flex; align-items:center; gap:3px; font-size:.65rem; padding:1px 5px; border-radius:8px; font-weight:600; margin-bottom:5px; }
  .kanban-origem.wpp     { background:#dcf8c6; color:#075e54; }
  .kanban-origem.manual  { background:#e8eaf6; color:#3949ab; }
  .kanban-origem.shopify { background:#e8f5e9; color:#2e7d32; }
  /* Kanban card aprimorado */
  .kc-top { display:flex; gap:10px; align-items:flex-start; }
  .kc-thumb { width:52px; height:52px; object-fit:cover; border-radius:8px; border:1px solid #eee; flex-shrink:0; background:#f5f5f5; }
  .kc-thumb-ph { width:52px; height:52px; border-radius:8px; border:1px solid #eee; flex-shrink:0; background:#f5f5f5; display:flex; align-items:center; justify-content:center; color:#ccc; font-size:1.4rem; }
  .kc-info { flex:1; min-width:0; }
  .kc-personalizacao { display:inline-flex; align-items:center; gap:4px; font-size:.7rem; color:#7c3aed; background:#f5f3ff; border:1px solid #ede9fe; border-radius:6px; padding:2px 7px; margin-top:4px; font-weight:600; max-width:100%; }
  .kc-personalizacao span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:180px; }
  .kc-total-shopify { font-size:.75rem; font-weight:700; color:#16a34a; margin-top:3px; }
  /* Modal Ver Pedido */
  .vpd-section { background:#f8fafc; border-radius:10px; padding:14px 16px; margin-bottom:12px; }
  .vpd-section h6 { font-size:.78rem; text-transform:uppercase; letter-spacing:.5px; color:#94a3b8; font-weight:700; margin-bottom:10px; }
  .vpd-row { display:flex; gap:6px; align-items:flex-start; margin-bottom:6px; font-size:.85rem; }
  .vpd-label { color:#64748b; min-width:120px; font-size:.78rem; }
  .vpd-val { font-weight:600; color:#1e293b; }
  .vpd-item { display:flex; gap:10px; align-items:center; background:#fff; border-radius:8px; padding:8px 10px; margin-bottom:6px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
  .vpd-item img { width:48px; height:48px; object-fit:cover; border-radius:6px; border:1px solid #eee; }
  .vpd-item-ph { width:48px; height:48px; border-radius:6px; border:1px solid #eee; background:#f1f5f9; display:flex; align-items:center; justify-content:center; color:#cbd5e1; font-size:1.2rem; flex-shrink:0; }
  .vpd-prop { display:inline-flex; align-items:center; gap:3px; font-size:.72rem; background:#f5f3ff; color:#7c3aed; border-radius:5px; padding:1px 6px; margin:2px 2px 0 0; }
  .kanban-col-footer { padding:8px; }
  .kanban-add-btn { width:100%; border:1.5px dashed #ccc; background:none; border-radius:8px; padding:7px; font-size:.78rem; color:#aaa; cursor:pointer; transition:.15s; }
  .kanban-add-btn:hover { border-color:var(--va-pink); color:var(--va-pink); background:var(--va-pink-light); }

  /* ── Sub-tabs Pedidos ── */
  .pedidos-tabs { border-bottom:2px solid #e0e0e0; margin-bottom:18px; display:flex; gap:4px; }
  .pedidos-tab-btn { padding:8px 20px; border:none; background:none; border-bottom:3px solid transparent; font-weight:600; font-size:.88rem; color:#666; cursor:pointer; transition:.18s; margin-bottom:-2px; border-radius:8px 8px 0 0; }
  .pedidos-tab-btn.active { color:var(--va-pink); border-bottom-color:var(--va-pink); background:var(--va-pink-light); }
  .pedidos-tab-btn:hover:not(.active) { color:#333; background:#f0f0f0; }

  /* ── Orçamentos Board ── */
  .orc-kanban-board { display:flex; flex-wrap:nowrap; gap:14px; overflow-x:auto; overflow-y:visible; padding-bottom:20px; min-height:calc(100vh - 260px); align-items:flex-start; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#ddd #f4f5f7; }
  .orc-kanban-board::-webkit-scrollbar { height:7px; }
  .orc-kanban-board::-webkit-scrollbar-track { background:#f4f5f7; border-radius:4px; }
  .orc-kanban-board::-webkit-scrollbar-thumb { background:#ccc; border-radius:4px; }
  .orc-kanban-board::-webkit-scrollbar-thumb:hover { background:#aaa; }
  .orc-col { flex:0 0 300px; min-width:300px; border-radius:14px; background:#f4f5f7; display:flex; flex-direction:column; max-height:calc(100vh - 220px); }
  @media (max-width:767.98px) {
    .orc-kanban-board { flex-direction:column; overflow-x:hidden; overflow-y:visible; min-height:unset; gap:10px; }
    .orc-col { flex:none; min-width:100%; width:100%; max-height:unset; }
    .orc-col-body { max-height:none !important; overflow-y:visible !important; }
  }
  @media (min-width:768px) and (max-width:1199.98px) {
    .orc-kanban-board { gap:10px; }
    .orc-col { flex:0 0 260px; min-width:260px; }
  }
  .orc-col-header { padding:12px 14px 10px; border-radius:14px 14px 0 0; display:flex; align-items:center; justify-content:space-between; }
  .orc-col-header .col-title { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
  .orc-col-header .col-badge { font-size:.72rem; padding:2px 8px; border-radius:20px; font-weight:700; }
  .orc-col-body { flex:1; overflow-y:auto; padding:8px; display:flex; flex-direction:column; gap:8px; }
  .orc-card { background:#fff; border-radius:10px; padding:14px; box-shadow:0 1px 4px rgba(0,0,0,.08); transition:.15s; border-left:4px solid transparent; position:relative; }
  .orc-card:hover { box-shadow:0 3px 12px rgba(0,0,0,.14); transform:translateY(-1px); }
  .orc-card .oc-numero { font-size:.67rem; color:#aaa; font-weight:600; letter-spacing:.4px; text-transform:uppercase; margin-bottom:3px; }
  .orc-card .oc-cliente { font-size:.92rem; font-weight:700; color:#222; margin-bottom:2px; }
  .orc-card .oc-resumo { font-size:.76rem; color:#666; margin-bottom:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .orc-card .oc-total { font-size:.88rem; font-weight:700; color:var(--va-pink); }
  .orc-card .oc-data { font-size:.67rem; color:#aaa; }
  .orc-card .oc-footer { display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
  .orc-card .oc-acoes { display:flex; gap:4px; flex-wrap:wrap; margin-top:10px; }
  .orc-btn { border:none; border-radius:6px; padding:4px 9px; font-size:.72rem; font-weight:600; cursor:pointer; transition:.15s; }
  .orc-btn.aprovar { background:#d1fae5; color:#065f46; }
  .orc-btn.aprovar:hover { background:#10b981; color:#fff; }
  .orc-btn.recusar { background:#fee2e2; color:#991b1b; }
  .orc-btn.recusar:hover { background:#ef4444; color:#fff; }
  .orc-btn.pdf { background:#e0e7ff; color:#3730a3; }
  .orc-btn.pdf:hover { background:#6366f1; color:#fff; }
  .orc-btn.del { background:#f3f4f6; color:#9ca3af; }
  .orc-btn.del:hover { background:#6b7280; color:#fff; }
  .orc-btn.pers { background:#fdf4ff; color:#7c3aed; border:1px solid #d8b4fe; }
  .orc-btn.pers:hover { background:#7c3aed; color:#fff; }

  /* ── Clientes / Remarketing ── */
  .cli-kpi-bar { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }
  @media(max-width:767px){ .cli-kpi-bar { grid-template-columns:repeat(2,1fr); } }
  .cli-kpi { background:#fff; border-radius:12px; padding:14px 16px; box-shadow:0 1px 4px rgba(0,0,0,.07); border-left:4px solid #e5e7eb; display:flex; flex-direction:column; gap:2px; }
  .cli-kpi .kpi-num { font-size:1.6rem; font-weight:800; line-height:1; }
  .cli-kpi .kpi-lbl { font-size:.73rem; color:#6b7280; font-weight:500; text-transform:uppercase; letter-spacing:.4px; }
  .cli-kpi.total  { border-color:var(--va-pink); }
  .cli-kpi.comprador { border-color:#10b981; }
  .cli-kpi.prospecto { border-color:#f59e0b; }
  .cli-kpi.inativo   { border-color:#9ca3af; }

  .cli-filter-bar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
  .cli-tab-btn { border:none; background:#f1f5f9; color:#475569; border-radius:20px; padding:5px 14px; font-size:.8rem; font-weight:600; cursor:pointer; transition:.15s; }
  .cli-tab-btn.active { background:var(--va-pink); color:#fff; }
  .cli-tab-btn:hover:not(.active) { background:#e2e8f0; }

  .cli-card { background:#fff; border-radius:14px; box-shadow:0 1px 5px rgba(0,0,0,.08); padding:16px; display:flex; flex-direction:column; gap:10px; transition:.15s; border:2px solid transparent; position:relative; }
  .cli-card:hover { box-shadow:0 4px 14px rgba(0,0,0,.13); border-color:#f0abcb; }
  .cli-avatar { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1rem; color:#fff; flex-shrink:0; }
  .cli-name  { font-size:.95rem; font-weight:700; color:#111; }
  .cli-sub   { font-size:.75rem; color:#6b7280; }
  .cli-badge-tipo { font-size:.62rem; font-weight:700; padding:2px 7px; border-radius:10px; }
  .cli-badge-status-comprador { background:#d1fae5; color:#065f46; }
  .cli-badge-status-prospecto { background:#fef3c7; color:#92400e; }
  .cli-badge-status-inativo   { background:#f3f4f6; color:#6b7280; }
  .cli-badge-vip { background:#fdf4ff; color:#7c3aed; border:1px solid #d8b4fe; font-size:.62rem; font-weight:700; padding:2px 7px; border-radius:10px; }

  .cli-stat-row { display:flex; gap:14px; flex-wrap:wrap; }
  .cli-stat { display:flex; flex-direction:column; gap:1px; }
  .cli-stat .sv { font-size:.85rem; font-weight:700; color:#111; }
  .cli-stat .sl { font-size:.68rem; color:#9ca3af; text-transform:uppercase; letter-spacing:.3px; }

  .cli-prod-pill { display:inline-flex; align-items:center; gap:4px; background:#f0f9ff; color:#0369a1; border-radius:6px; font-size:.73rem; font-weight:600; padding:3px 9px; border:1px solid #bae6fd; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .cli-prod-pill i { font-size:.65rem; flex-shrink:0; }
  .cli-prods-label { font-size:.68rem; font-weight:700; color:#9ca3af; text-transform:uppercase; letter-spacing:.4px; margin-bottom:5px; }
  .cli-prods-box { background:#f8fafc; border-radius:8px; padding:8px 10px; border:1px solid #e9f0fb; }

  .cli-contato-dot { width:9px; height:9px; border-radius:50%; display:inline-block; }
  .dot-verde   { background:#10b981; }
  .dot-amarelo { background:#f59e0b; }
  .dot-vermelho{ background:#ef4444; }

  .cli-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:4px; }
  .cli-btn { border:none; border-radius:8px; padding:5px 10px; font-size:.75rem; font-weight:600; cursor:pointer; transition:.15s; display:inline-flex; align-items:center; gap:4px; }
  .cli-btn.wpp   { background:#dcf8c6; color:#075e54; }
  .cli-btn.wpp:hover { background:#25d366; color:#fff; }
  .cli-btn.ver   { background:#eff6ff; color:#1d4ed8; }
  .cli-btn.ver:hover { background:#1d4ed8; color:#fff; }
  .cli-btn.edit  { background:#f1f5f9; color:#475569; }
  .cli-btn.edit:hover { background:#475569; color:#fff; }
  .cli-btn.tag   { background:#fdf4ff; color:#7c3aed; border:1px solid #e9d5ff; }
  .cli-btn.tag:hover { background:#7c3aed; color:#fff; }

  /* Modal perfil cliente */
  .cli-perfil-tab { border:none; background:transparent; border-bottom:2px solid transparent; padding:8px 14px; font-size:.83rem; font-weight:600; color:#6b7280; cursor:pointer; transition:.15s; }
  .cli-perfil-tab.active { color:var(--va-pink); border-bottom-color:var(--va-pink); }
  .cli-hist-item { background:#f8fafc; border-radius:10px; padding:10px 12px; margin-bottom:8px; border-left:3px solid #e2e8f0; }
  .cli-hist-item.pedido  { border-color:#10b981; }
  .cli-hist-item.orcamento { border-color:#f59e0b; }

  /* ── Kanban Prospectos ── */
  .prosp-kanban { display:flex; flex-wrap:nowrap; gap:14px; overflow-x:visible; overflow-y:visible; padding-bottom:20px; align-items:flex-start; width:100%; }
  .prosp-col { flex:1 1 0; min-width:0; border-radius:14px; background:#f4f5f7; display:flex; flex-direction:column; max-height:calc(100vh - 320px); }
  @media(max-width:767px){
    .prosp-kanban { flex-direction:column; }
    .prosp-col { flex:none; width:100%; max-height:unset; }
    .prosp-col-body { max-height:none; overflow-y:visible; }
  }
  .prosp-col-header { padding:11px 14px; border-radius:14px 14px 0 0; display:flex; align-items:center; justify-content:space-between; }
  .prosp-col-header .pc-title { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
  .prosp-col-header .pc-badge { font-size:.72rem; padding:2px 8px; border-radius:20px; font-weight:700; }
  .prosp-col-body { flex:1; overflow-y:auto; padding:8px; display:flex; flex-direction:column; gap:8px; min-height:80px; }
  .prosp-col-body.drag-over { background:rgba(232,121,160,.1); outline:2px dashed var(--va-pink); outline-offset:-4px; border-radius:0 0 14px 14px; }
  .prosp-card { background:#fff; border-radius:10px; padding:12px; box-shadow:0 1px 4px rgba(0,0,0,.08); cursor:grab; border-left:4px solid #e5e7eb; transition:.15s; }
  .prosp-card:active { cursor:grabbing; opacity:.8; }
  .prosp-card:hover { box-shadow:0 3px 12px rgba(0,0,0,.13); transform:translateY(-1px); }
  .prosp-card.quente { border-left-color:#ef4444; }
  .prosp-card.morno  { border-left-color:#f59e0b; }
  .prosp-card.frio   { border-left-color:#60a5fa; }
  .prosp-card .pc-nome { font-size:.9rem; font-weight:700; color:#111; }
  .prosp-card .pc-tel  { font-size:.75rem; color:#6b7280; }
  .prosp-card .pc-val  { font-size:.78rem; font-weight:700; color:#10b981; }
  .prosp-card .pc-data { font-size:.68rem; color:#9ca3af; }
  /* Bloco de produtos no card kanban */
  .prosp-card .pc-prods-box { background:#f0f9ff; border:1px solid #bae6fd; border-radius:8px; padding:6px 8px; margin-top:6px; }
  .prosp-card .pc-prods-label { font-size:.63rem; font-weight:700; color:#0369a1; text-transform:uppercase; letter-spacing:.4px; margin-bottom:4px; }
  .prosp-card .pc-prod-pill { display:inline-flex; align-items:center; gap:3px; background:#fff; color:#0369a1; border-radius:5px; font-size:.7rem; font-weight:600; padding:2px 7px; border:1px solid #bae6fd; margin:1px; }
  .prosp-card .pc-prod-pill i { font-size:.58rem; }
  /* Nota editável no card kanban */
  .prosp-nota-input { width:100%; border:1.5px dashed #e2e8f0; border-radius:7px; padding:5px 8px; font-size:.75rem; color:#374151; background:#fafafa; resize:none; outline:none; transition:.2s; min-height:32px; margin-top:6px; }
  .prosp-nota-input:focus { border-color:var(--va-pink); background:#fff; box-shadow:0 0 0 3px rgba(232,121,160,.1); }
  .prosp-nota-input::placeholder { color:#c4c4c4; font-style:italic; }
  .prosp-nota-saved { font-size:.65rem; color:#10b981; opacity:0; transition:.4s; }
  .prosp-temp-btn { border:none; background:none; font-size:.7rem; padding:2px 6px; border-radius:6px; cursor:pointer; transition:.15s; font-weight:600; }
  .prosp-temp-btn:hover { background:#f1f5f9; }

  /* Nota inline no card */
  .cli-nota-input { width:100%; border:1.5px dashed #e2e8f0; border-radius:8px; padding:6px 10px; font-size:.78rem; color:#374151; background:#fafafa; resize:none; outline:none; transition:.2s; min-height:34px; }
  .cli-nota-input:focus { border-color:var(--va-pink); background:#fff; box-shadow:0 0 0 3px rgba(232,121,160,.1); }
  .cli-nota-input::placeholder { color:#c4c4c4; font-style:italic; }
  .cli-nota-saved { font-size:.68rem; color:#10b981; opacity:0; transition:.4s; margin-left:6px; }

  /* ── Orçamento Personalizado ── */
  .op-tab-btn { border:none; background:#f1f5f9; color:#475569; border-radius:8px; padding:6px 14px; font-size:.82rem; font-weight:600; cursor:pointer; transition:.15s; display:inline-flex; align-items:center; gap:6px; }
  .op-tab-btn.active { background:var(--va-pink); color:#fff; }
  .op-tab-close { font-size:.7rem; opacity:.6; width:16px; height:16px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; }
  .op-tab-close:hover { background:rgba(0,0,0,.2); opacity:1; }
  .op-product-row { border:1px solid #e2e8f0; border-radius:10px; padding:8px 10px; margin-bottom:7px; display:grid; grid-template-columns:64px 1fr 1.6fr 60px 88px 88px 34px 34px; gap:7px; align-items:center; background:#fff; }
  .op-img-cell { width:58px; height:58px; border:2px dashed #cbd5e1; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#f8fafc; flex-shrink:0; transition:.15s; }
  .op-img-cell:hover { border-color:var(--va-pink); background:#fff0f7; }
  .op-img-cell img { width:100%; height:100%; object-fit:cover; border-radius:6px; }
  .op-img-hint { font-size:.62rem; color:#94a3b8; text-align:center; line-height:1.3; }
  .op-ia-btn { background:#faf5ff; border:1px solid #d8b4fe; border-radius:6px; color:#7c3aed; width:34px; height:34px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:.82rem; transition:.15s; }
  .op-ia-btn:hover { background:#7c3aed; color:#fff; border-color:#7c3aed; }
  .op-section-title { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#94a3b8; margin-bottom:5px; }
  .op-subtotal-row { display:flex; justify-content:flex-end; padding:8px 0 2px; }
  .op-subtotal-val { font-size:1rem; font-weight:800; color:#16a34a; }
  .op-col-hdr { font-size:.65rem; color:#94a3b8; font-weight:600; }
  .op-badge { display:inline-flex; align-items:center; gap:4px; background:#fdf4ff; color:#7c3aed; border-radius:6px; padding:2px 7px; font-size:.7rem; font-weight:700; margin-bottom:4px; }

  /* ── Modal Orçamento ── */
  .orc-itens-table { width:100%; border-collapse:collapse; font-size:.84rem; }
  .orc-itens-table th { background:#f4f5f7; padding:7px 10px; font-size:.72rem; text-transform:uppercase; letter-spacing:.4px; color:#555; font-weight:700; }
  .orc-itens-table td { padding:5px 4px; vertical-align:middle; }
  .orc-itens-table input { width:100%; border:1px solid #e0e0e0; border-radius:6px; padding:5px 8px; font-size:.83rem; }
  .orc-itens-table input:focus { outline:none; border-color:var(--va-pink); }
  .orc-total-box { background:var(--va-pink-light); border-radius:10px; padding:12px 16px; margin-top:12px; display:flex; align-items:center; justify-content:space-between; }
  .orc-total-box .label { font-size:.82rem; font-weight:600; color:#555; }
  .orc-total-box .valor { font-size:1.15rem; font-weight:700; color:var(--va-pink); }

  /* WhatsApp Import */
  .wpp-modal-header { background:#075e54; color:#fff; }
  .wpp-modal-header .btn-close { filter:invert(1); }
  .wpp-textarea { font-size:.85rem; font-family:'Segoe UI',sans-serif; resize:vertical; background:#e5ddd5; border:none; border-radius:10px; }
  .wpp-textarea:focus { background:#ddd5cc; box-shadow:none; border:none; }
  .wpp-bubble { background:#fff; border-radius:0 10px 10px 10px; padding:10px 14px; margin-bottom:4px; font-size:.85rem; border-left:3px solid #25D366; color:#333; }
  .wpp-pedido-card { transition:.15s; }
  .wpp-pedido-card:hover { box-shadow:0 2px 12px rgba(0,0,0,.1); }
  .wpp-btn { background:#25D366; border:none; color:#fff; font-weight:600; }
  .wpp-btn:hover { background:#128C7E; color:#fff; }
  .btn-wpp-import { background:#25D366; border:none; color:#fff; font-weight:600; font-size:.8rem; }
  .btn-wpp-import:hover { background:#128C7E; color:#fff; }
  .form-control:focus { border-color:var(--va-pink); box-shadow:0 0 0 .2rem rgba(233,30,138,.2); }

  /* ── Catálogo de Preços ── */
  .cat-produto-card { border-radius:14px; border:2px solid #e9ecef; background:#fff; transition:.2s; }
  .cat-produto-card:hover { border-color:var(--va-pink); box-shadow:0 4px 18px rgba(233,30,138,.12); transform:translateY(-2px); }
  .cat-produto-card .cat-header { background:var(--va-dark); color:#fff; border-radius:12px 12px 0 0; padding:12px 16px; display:flex; align-items:center; justify-content:space-between; }
  .cat-produto-card .cat-header .cat-nome { font-weight:700; font-size:.95rem; }
  .cat-produto-card .cat-header .cat-cat { font-size:.7rem; opacity:.65; }
  /* ── Fotos do Produto (estilo Shopee) ─────────────── */
  .cat-img-grid { display:flex; gap:10px; flex-wrap:wrap; }
  .cat-img-slot { width:100px; height:100px; border:2px dashed #dee2e6; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; position:relative; overflow:hidden; background:#f8f9fa; transition:.2s; flex-shrink:0; }
  .cat-img-slot:hover { border-color:var(--va-pink); background:#fff0f7; }
  .cat-img-slot.main-slot { width:120px; height:120px; border-color:var(--va-pink); border-style:solid; }
  .cat-img-slot img { width:100%; height:100%; object-fit:cover; border-radius:10px; }
  .cat-img-slot .cat-rm-img { position:absolute; top:4px; right:4px; background:rgba(0,0,0,.65); color:#fff; border:none; border-radius:50%; width:22px; height:22px; font-size:12px; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:2; transition:.15s; }
  .cat-img-slot .cat-rm-img:hover { background:rgba(220,53,69,.9); }
  .cat-img-slot .main-badge { position:absolute; bottom:4px; left:50%; transform:translateX(-50%); background:var(--va-pink); color:#fff; font-size:.58rem; padding:1px 7px; border-radius:20px; white-space:nowrap; font-weight:700; }
  .cat-img-slot .upload-icon { font-size:1.6rem; color:#bbb; pointer-events:none; }
  .cat-img-slot .upload-txt { font-size:.62rem; color:#bbb; pointer-events:none; margin-top:2px; }
  .cat-img-slot.dragging { border-color:var(--va-pink) !important; background:#fff0f7; opacity:.7; }
  /* Miniatura da imagem no card do catálogo */
  .cat-card-img { width:100%; height:140px; object-fit:cover; border-radius:12px 12px 0 0; display:block; }
  .cat-card-no-img { width:100%; height:60px; display:flex; align-items:center; justify-content:center; background:#f8f9fa; color:#e0e0e0; font-size:1.8rem; border-radius:12px 12px 0 0; }
  .cat-variante-row { display:grid; grid-template-columns:1fr 1fr 80px 90px 34px; gap:6px; align-items:center; padding:6px 0; border-bottom:1px solid #f0f0f0; font-size:.83rem; }
  .cat-variante-row:last-child { border-bottom:none; }
  .cat-variante-row input, .cat-variante-row select { border:1px solid #ddd; border-radius:6px; padding:4px 8px; font-size:.82rem; width:100%; }
  .cat-variante-row input:focus, .cat-variante-row select:focus { border-color:var(--va-pink); outline:none; box-shadow:0 0 0 2px rgba(233,30,138,.15); }
  .cat-price-input { font-weight:700; color:#16a34a; }
  .cat-add-var { border:1.5px dashed var(--va-cyan); background:none; border-radius:8px; padding:5px 12px; font-size:.78rem; color:var(--va-cyan); cursor:pointer; transition:.15s; width:100%; margin-top:6px; }
  .cat-add-var:hover { background:var(--va-cyan-light); }
  .cat-add-prod { border:2px dashed #ccc; border-radius:14px; background:transparent; cursor:pointer; padding:24px; text-align:center; transition:.2s; }
  .cat-add-prod:hover { border-color:var(--va-pink); background:rgba(233,30,138,.04); }
  .cat-add-prod i { font-size:2rem; color:#ccc; display:block; margin-bottom:6px; transition:.2s; }
  .cat-add-prod:hover i { color:var(--va-pink); }
  .cat-badge { font-size:.65rem; padding:2px 7px; border-radius:10px; font-weight:700; }
  .cat-search { border:1.5px solid #e0e0e0; border-radius:10px; padding:8px 14px; font-size:.88rem; width:100%; max-width:340px; }
  .cat-search:focus { border-color:var(--va-pink); outline:none; box-shadow:0 0 0 2px rgba(233,30,138,.1); }
  .cat-filter-btn { border:1.5px solid #e0e0e0; border-radius:8px; padding:5px 14px; font-size:.82rem; background:#fff; cursor:pointer; transition:.15s; }
  .cat-filter-btn.active, .cat-filter-btn:hover { border-color:var(--va-pink); color:var(--va-pink); background:var(--va-pink-light); }

  /* Toast */
  #toastBox { position:fixed; bottom:20px; right:20px; z-index:9999; }
  .toast-msg { background:var(--va-dark2); color:#fff; padding:12px 20px; border-radius:10px; margin-top:8px; font-size:.9rem; box-shadow:0 4px 16px rgba(0,0,0,.3); animation:fadeIn .3s; border-left:4px solid var(--va-cyan); }
  .toast-msg.ok  { border-left-color:var(--va-yellow); background:#1a3a1a; }
  .toast-msg.err { border-left-color:var(--va-pink); background:#3a1a1a; }
  @keyframes fadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

  /* Headers de seção */
  h4.fw-bold .text-primary { color:var(--va-pink) !important; }
  .text-primary { color:var(--va-pink) !important; }

  /* ── Tela de Login ── */
  #loginScreen {
    position:fixed; inset:0;
    background:var(--va-dark);
    display:flex; align-items:center; justify-content:center; z-index:9999;
    overflow:hidden;
  }
  /* Fundo decorativo com as cores da marca */
  #loginScreen::before {
    content:''; position:absolute; inset:0;
    background: radial-gradient(ellipse at 20% 50%, rgba(233,30,138,.25) 0%, transparent 60%),
                radial-gradient(ellipse at 80% 50%, rgba(91,200,232,.2) 0%, transparent 60%),
                radial-gradient(ellipse at 50% 80%, rgba(245,228,58,.15) 0%, transparent 50%);
    pointer-events:none;
  }
  #loginScreen .login-card {
    background:#fff; border-radius:20px;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    width:400px; padding:44px 40px;
    position:relative; z-index:1;
  }
  #loginScreen .login-logo { display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:28px; }
  #loginScreen .login-logo svg { width:64px; height:64px; }
  #loginScreen .login-logo-text { text-align:left; line-height:1.1; }
  #loginScreen .login-logo-text .l1 { font-size:1.6rem; font-weight:900; color:var(--va-dark); letter-spacing:-1px; }
  #loginScreen .login-logo-text .l2 { font-size:1rem; font-weight:600; color:var(--va-pink); letter-spacing:1px; text-transform:uppercase; }
  #loginScreen .form-label { font-weight:600; color:#444; }
  #loginScreen .form-control { border-radius:10px; border:2px solid #e5e7eb; font-size:1rem; }
  #loginScreen .btn-login {
    background:linear-gradient(135deg, var(--va-pink), #c91577);
    border:none; border-radius:10px; color:#fff;
    font-weight:700; font-size:1rem; padding:13px;
    width:100%; transition:.2s; margin-top:8px;
  }
  #loginScreen .btn-login:hover { opacity:.9; transform:translateY(-1px); }
  #loginScreen .divider { text-align:center; color:#aaa; font-size:.8rem; margin:16px 0 4px; }
