/* Financeiro › Planos (financeiro.js) */
.vz-pl-acoes { display: flex; align-items: center; gap: 12px; }
.vz-pl-card { padding: 16px; }
.vz-pl { width: 100%; border-collapse: separate; border-spacing: 0 6px; min-width: 980px; }
.vz-pl th { vertical-align: bottom; padding: 0 6px 6px; text-align: left; font-size: 12px; color: var(--cinza); font-weight: 700; }
.vz-pl-h { width: 21%; }
.vz-pl-h b { display: block; text-align: center; font-size: 17px; color: var(--tinta); border-radius: 14px 14px 0 0; padding: 12px 8px 6px; }
.vz-pl-bronze b { background: linear-gradient(180deg, #F2D9C4, #E9C3A4); color: #6B3A16; }
.vz-pl-gold b { background: linear-gradient(180deg, #FBEDB3, #F2D46A); color: #6B5200; }
.vz-pl-platinum b { background: linear-gradient(180deg, #EEF0F3, #D3D7DE); color: #2B2F38; box-shadow: inset 0 0 0 2px var(--vz-rosa); }
.vz-pl-valor { display: flex; align-items: center; gap: 4px; justify-content: center; background: var(--fundo); padding: 6px 8px; font-weight: 700; color: var(--tinta); font-size: 13px; }
.vz-pl-valor input { width: 92px; border: 0; background: #fff; border-radius: 8px; padding: 6px 8px; font: inherit; font-weight: 700; font-size: 15px; text-align: right; }
.vz-pl-valor span { color: var(--cinza); font-weight: 600; }
.vz-pl-obs { display: block; width: 100%; border: 0; background: var(--fundo); padding: 4px 8px 8px; font: inherit; font-size: 12px; text-align: center; border-radius: 0 0 14px 14px; color: var(--tinta-2); }
.vz-pl-h small { display: block; text-align: center; margin-top: 6px; font-weight: 600; }
.vz-pl td { background: var(--fundo); padding: 8px 6px; vertical-align: middle; }
.vz-pl td:first-child { border-radius: 12px 0 0 12px; padding-left: 12px; }
.vz-pl td:last-child { border-radius: 0 12px 12px 0; }
.vz-pl-sv { width: 24%; }
.vz-pl-nome, .vz-pl-det { display: block; width: 100%; border: 0; background: transparent; font: inherit; padding: 2px 4px; border-radius: 6px; }
.vz-pl-nome { font-weight: 700; font-size: 14px; color: var(--tinta); }
.vz-pl-det { font-size: 12px; color: var(--cinza); }
.vz-pl-nome:focus, .vz-pl-det:focus, .vz-pl-txt:focus, .vz-pl-obs:focus { outline: 0; background: #fff; box-shadow: 0 0 0 1.5px var(--vz-rosa); }
.vz-pl-cel { text-align: center; }
.vz-pl-tg { width: 30px; height: 30px; border-radius: 50%; border: 0; cursor: pointer; font-size: 15px; font-weight: 800; background: #E3E5E9; color: #9CA3AF; }
.vz-pl-cel.on .vz-pl-tg { background: var(--vz-rosa); color: #fff; }
.vz-pl-txt { display: block; width: 100%; margin-top: 4px; border: 0; background: transparent; font: inherit; font-size: 12px; text-align: center; color: var(--tinta-2); padding: 3px 4px; border-radius: 6px; }
.vz-pl-cel:not(.on) .vz-pl-txt { opacity: .55; }
.vz-pl-notas { width: 18%; }
.vz-pl-notas textarea { width: 100%; border: 0; background: #fff; border-radius: 8px; padding: 6px 8px; font: inherit; font-size: 12.5px; resize: vertical; }
.vz-pl-ord { white-space: nowrap; width: 1%; }
.vz-pl-ord .btn-ic { width: 26px; height: 26px; }
.vz-pl-novo { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.vz-pl-novo .inp:first-child { flex: 2; min-width: 240px; }
.vz-pl-novo .inp:nth-child(2) { flex: 1; min-width: 160px; }
@media print {
  .side, .vz-pl-acoes, .vz-pl-novo, .vz-pl-ord { display: none !important; }
  .main { padding: 0 !important; }
  .vz-pl { min-width: 0; }
  .vz-pl-notas textarea { border: 0; }
}
.vz-pl-svw { display: flex; align-items: center; gap: 10px; }
.vz-pl-svw > div { flex: 1; min-width: 0; }
.vz-pl-ic { width: 34px; height: 34px; object-fit: contain; flex: none; }
.vz-pl-cel.on .vz-pl-tg { box-shadow: 0 3px 8px rgba(212,20,68,.3); }
.vz-pl-nomepl { position: relative; border-radius: 14px 14px 0 0; }
.vz-pl-nomepl input { display: block; width: 100%; border: 0; background: transparent; text-align: center; font: inherit; font-size: 17px; font-weight: 700; color: inherit; padding: 12px 26px 6px; border-radius: 14px 14px 0 0; }
.vz-pl-nomepl input:focus { outline: 0; background: rgba(255,255,255,.55); }
.vz-pl-tirapl { position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; border-radius: 50%; border: 0; background: rgba(255,255,255,.6); cursor: pointer; font-size: 11px; opacity: 0; }
.vz-pl-h:hover .vz-pl-tirapl { opacity: 1; }
.vz-pl-bronze .vz-pl-nomepl, .vz-pl-h:not(.vz-pl-gold):not(.vz-pl-platinum) .vz-pl-nomepl { background: linear-gradient(180deg, #F2D9C4, #E9C3A4); color: #6B3A16; }
.vz-pl-gold .vz-pl-nomepl { background: linear-gradient(180deg, #FBEDB3, #F2D46A); color: #6B5200; }
.vz-pl-platinum .vz-pl-nomepl { background: linear-gradient(180deg, #EEF0F3, #D3D7DE); color: #2B2F38; box-shadow: inset 0 0 0 2px var(--vz-rosa); }
.vz-pl-h:not(.vz-pl-bronze):not(.vz-pl-gold):not(.vz-pl-platinum) .vz-pl-nomepl { background: linear-gradient(180deg, #FFE3EA, #FBC4D2); color: #8A0F2E; }
.vz-pl-svw { position: relative; }
.vz-pl-icbt { border: 0; background: none; padding: 2px; border-radius: 10px; cursor: pointer; flex: none; }
.vz-pl-icbt:hover { background: #fff; }
.vz-pl-icpop { position: absolute; z-index: 30; top: 42px; left: 0; width: 330px; background: #fff; border-radius: 14px; box-shadow: 0 12px 34px rgba(0,0,0,.18); padding: 8px; display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; }
.vz-pl-icpop button { border: 0; background: none; border-radius: 8px; padding: 3px; cursor: pointer; }
.vz-pl-icpop button:hover, .vz-pl-icpop button.on { background: var(--fundo); box-shadow: inset 0 0 0 1.5px var(--vz-rosa); }
.vz-pl-icpop img { width: 30px; height: 30px; object-fit: contain; display: block; }
.vz-pl-icauto { grid-column: span 2; font-size: 12px; font-weight: 700; color: var(--cinza); }
.vz-pl .vz-pl-nomepl input, .vz-pl .vz-pl-nome, .vz-pl .vz-pl-det, .vz-pl .vz-pl-txt { background: transparent !important; border: 0 !important; box-shadow: none; }
.vz-pl .vz-pl-nomepl input:focus { background: rgba(255,255,255,.55) !important; }
.vz-pl .vz-pl-nome:focus, .vz-pl .vz-pl-det:focus, .vz-pl .vz-pl-txt:focus { background: #fff !important; box-shadow: 0 0 0 1.5px var(--vz-rosa); }
/* campos da planilha sem o fundo cinza padrão (o tema usa seletor forte com !important) */
.vz-pl:not(#z) .vz-pl-nomepl input, .vz-pl:not(#z) .vz-pl-nome, .vz-pl:not(#z) .vz-pl-det, .vz-pl:not(#z) .vz-pl-txt { background: transparent !important; border: 0 !important; }
.vz-pl:not(#z) .vz-pl-nomepl input:focus { background: rgba(255,255,255,.55) !important; }
.vz-pl:not(#z) .vz-pl-nome:focus, .vz-pl:not(#z) .vz-pl-det:focus, .vz-pl:not(#z) .vz-pl-txt:focus { background: #fff !important; }
.vz-pl:not(#z) .vz-pl-valor input, .vz-pl:not(#z) .vz-pl-notas textarea { background: #fff !important; }
.vz-pl:not(#z) .vz-pl-obs { background: var(--fundo) !important; border: 0 !important; }
