/* Patrimo Invest 7.0 — Editores e modal de lançamento ainda gerados pelo JavaScript legado
   (openV191*, modal unificado de movimentação, importação B3). Comportamento, textos e dados
   não mudaram; só a apresentação. Somente tokens, sem !important. */

/* ---------- Chassi do modal ---------- */
.modal-bg{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:var(--space-4);overflow-y:auto;background:var(--overlay-scrim);font-family:var(--font-sans);font-size:14px;line-height:22px;color:var(--text-primary);-webkit-font-smoothing:antialiased}
.modal-bg *{box-sizing:border-box}
.modal-bg :is(h2,h3,p){margin:0}
.modal-bg .modal{width:min(560px,100%);max-height:calc(100dvh - var(--space-8));overflow:auto;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal)}
.modal-bg .modal.form-modal{width:min(640px,100%)}
.modal-bg .card-hdr{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface-1);border-bottom:1px solid var(--border-subtle)}
.modal-bg .card-hdr-l{display:flex;align-items:center;gap:var(--space-3);min-width:0}
.modal-bg .card-ic{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-subtle);color:var(--brand-text)}
.modal-bg .card-ic svg{width:16px;height:16px}
.modal-bg .card-ttl-big{font-size:16px;line-height:22px;font-weight:700;overflow-wrap:anywhere}
.modal-bg .icon-btn{display:inline-grid;place-items:center;flex:0 0 auto;width:var(--target-min);height:var(--target-min);padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}
.modal-bg .icon-btn:hover{background:var(--surface-3);color:var(--text-primary)}
.modal-bg .icon-btn svg{width:18px;height:18px}
.modal-bg :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.modal-bg .statement-note{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:13px;line-height:20px;font-weight:400}
.modal-bg .card-hdr{align-items:flex-start}
.modal-bg .card-hdr-l{align-items:flex-start}
.modal-bg .icon-btn{font-size:20px;line-height:1}

/* ---------- Corpo e grade do formulário ---------- */
.modal-bg .modal>:is(.tx-grid-form,.v191-form-note,.tx-modal-note,.v191-actionbar,.mini-box,form){margin-left:var(--space-5);margin-right:var(--space-5)}
.modal-bg .tx-grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}
.modal-bg .tx-full{grid-column:1 / -1}
.modal-bg .field-box{display:flex;flex-direction:column;gap:6px;min-width:0}
.modal-bg .field-box>label,.modal-bg .lbl{display:block;font-size:13px;line-height:18px;font-weight:600;color:var(--text-primary)}
.modal-bg :is(.input,input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),select,textarea){width:100%;min-height:var(--target-min);padding:0 var(--space-3);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;box-shadow:none}
.modal-bg textarea{padding:var(--space-3);min-height:96px;resize:vertical}
.modal-bg :is(.input,input,select,textarea)::placeholder{color:var(--text-muted)}
.modal-bg :is(.input,input,select,textarea):disabled{background:var(--surface-2);color:var(--text-disabled);cursor:not-allowed}
.modal-bg input[type="checkbox"],.modal-bg input[type="radio"]{flex:0 0 auto;width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:var(--action)}
.modal-bg .tnum{font-family:var(--font-num);font-variant-numeric:tabular-nums}

/* ---------- Linhas com caixa de seleção ---------- */
.modal-bg :is(.v191-checkbox,.planning-check-v493){display:flex;gap:var(--space-2);align-items:flex-start;min-width:0;color:var(--text-secondary);font-size:13px;line-height:20px}
.modal-bg .planning-check-v493{align-items:center;justify-content:space-between;min-height:var(--target-min);padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}
.modal-bg .planning-check-v493 span{font-weight:600;color:var(--text-primary)}
.modal-bg .v191-months{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2)}
.modal-bg .v191-months .field-box>label{font-size:12px;line-height:16px}

/* ---------- Notas e barra de ações ---------- */
.modal-bg :is(.v191-form-note,.tx-modal-note){margin-top:var(--space-3);padding:var(--space-3);background:var(--warning-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;line-height:20px}
.modal-bg .v191-actionbar{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-4);margin-bottom:var(--space-5)}
.modal-bg .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--target-min);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.modal-bg .btn:hover{background:var(--surface-3);color:var(--text-primary)}
.modal-bg .btn-primary{background:var(--action);color:var(--on-brand);border-color:var(--brand-ui)}
.modal-bg .btn-primary:hover{background:var(--action-hover);color:var(--on-brand)}
.modal-bg .btn-outline{background:var(--surface-1);color:var(--text-primary);border-color:var(--border-strong)}
.modal-bg .btn-outline:hover{background:var(--surface-2)}
.modal-bg .btn:disabled{opacity:.55;cursor:not-allowed}
.modal-bg .v191-danger{color:var(--negative);border-color:var(--negative)}

/* ---------- Busca de ativo e painel do ativo escolhido ---------- */
.modal-bg .tx-asset-search{position:relative}
.modal-bg .tx-asset-results{position:absolute;left:0;right:0;top:calc(100% + var(--space-1));z-index:2;max-height:245px;overflow:auto;padding:var(--space-1);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover)}
.modal-bg .tx-asset-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}
.modal-bg .tx-asset-option:hover{background:var(--surface-2)}
.modal-bg .tx-asset-option b{display:block;font-size:13px;line-height:18px}
.modal-bg .tx-asset-option small{display:block;margin-top:2px;color:var(--text-muted);font-size:12px;line-height:16px}
.modal-bg .tx-asset-panel{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
.modal-bg .tx-asset-logo{display:grid;place-items:center;width:42px;height:42px;overflow:hidden;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-weight:700;color:var(--text-primary)}
.modal-bg .tx-asset-logo img{width:100%;height:100%;object-fit:contain;padding:5px}
.modal-bg .tx-asset-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}
.modal-bg .tx-asset-price{text-align:right}
.modal-bg .tx-asset-price b{font-family:var(--font-num);font-size:16px;line-height:22px}
.modal-bg .tx-asset-price small{display:block;margin-top:2px;color:var(--text-muted);font-size:12px;line-height:16px}
.modal-bg .chip{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-1);color:var(--text-secondary);font-size:12px;line-height:16px;font-weight:600}

/* ---------- Estado do cadastro (selos) e blocos de apoio ---------- */
.v191-status{display:inline-flex;align-items:center;gap:6px;padding:2px var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:12px;line-height:16px;font-weight:600;background:var(--surface-2);color:var(--text-secondary)}
.v191-status.ok{background:var(--positive-bg);color:var(--positive)}
.v191-status.warn{background:var(--warning-bg);color:var(--warning)}
.v191-status.err{background:var(--negative-bg);color:var(--negative)}
.v191-status.info{background:var(--info-bg);color:var(--info)}
.v191-source-help{padding:var(--space-3);background:var(--info-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;line-height:20px}

/* ---------- Telas estreitas: folha inferior ---------- */
@media (max-width:640px){
  .modal-bg{place-items:end center;padding:0}
  .modal-bg .modal,.modal-bg .modal.form-modal{width:100%;max-height:92dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
  .modal-bg .tx-grid-form{grid-template-columns:minmax(0,1fr)}
  .modal-bg .v191-months{grid-template-columns:repeat(3,minmax(0,1fr))}
  .modal-bg .v191-actionbar{flex-direction:column-reverse;align-items:stretch}
  .modal-bg .v191-actionbar .btn{width:100%}
  .modal-bg .tx-asset-panel{grid-template-columns:auto 1fr}
  .modal-bg .tx-asset-price{grid-column:1 / -1;text-align:left}
}
@media (prefers-reduced-motion:reduce){.modal-bg *{transition-duration:.01ms;animation-duration:.01ms}}

/* ---------- Prévia do cartão (a cor vem do cadastro do usuário, via style inline) ---------- */
.pl523-card-preview{display:grid;gap:2px;min-height:88px;padding:var(--space-4);border-radius:var(--radius-md);color:var(--nav-text-strong)}
.pl523-card-preview b{font-size:16px;line-height:22px}
.pl523-card-preview span,.pl523-card-preview small{font-size:12px;line-height:16px;opacity:.85}
.modal-bg input[type="color"]{padding:var(--space-1);cursor:pointer}
