/* ===== Origem: financial-privacy-v83.css ===== */
.finance-privacy-toggle-v83{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #d8e1ee;border-radius:12px;background:#fff;color:#17233a;font:700 13px/1.1 inherit;cursor:pointer;box-shadow:0 7px 18px rgba(23,35,58,.08);transition:.22s ease;white-space:nowrap}
.finance-privacy-toggle-v83:hover{transform:translateY(-1px);border-color:#6557ff;color:#5545f3;box-shadow:0 10px 24px rgba(85,69,243,.16)}
.finance-privacy-toggle-v83 svg,.finance-password-icon-v83 svg,.finance-password-see-v83 svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.finance-summary .mini-actions .finance-privacy-toggle-v83{width:42px;min-width:42px;padding:0}.finance-summary .mini-actions .finance-privacy-toggle-v83 span{display:none}
.finance-actions .finance-privacy-toggle-v83{margin-right:auto;background:rgba(255,255,255,.94)}
.money-private-value-v83{transition:filter .2s ease,opacity .2s ease}
.financial-values-hidden-v83 .money-private-value-v83{filter:blur(8px);opacity:.62;user-select:none;pointer-events:none}
.financial-values-hidden-v83 .money-private-chart-v83{filter:blur(8px);opacity:.3;pointer-events:none;transition:.2s ease}
.financial-values-hidden-v83 .profitbar,.financial-values-hidden-v83 .barlabels{filter:blur(7px);opacity:.4;user-select:none}
.finance-password-modal-v83{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:22px;background:rgba(13,20,34,.58);backdrop-filter:blur(8px);animation:fp83Fade .18s ease}
.finance-password-card-v83{position:relative;width:min(440px,100%);padding:32px;border:1px solid rgba(255,255,255,.65);border-radius:24px;background:linear-gradient(145deg,#fff,#f6f4ff);box-shadow:0 30px 90px rgba(12,20,39,.3);color:#172033;animation:fp83Up .24s ease}
.finance-password-close-v83{position:absolute;right:18px;top:16px;width:38px;height:38px;border:0;border-radius:12px;background:#eef2f8;color:#7a879b;font-size:25px;cursor:pointer}
.finance-password-icon-v83{width:58px;height:58px;margin:0 auto 17px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#6a5cff,#4b39ed);color:#fff;box-shadow:0 14px 28px rgba(85,69,243,.3)}
.finance-password-icon-v83 svg{width:28px;height:28px}.finance-password-card-v83 h2{text-align:center;margin:0 0 9px;font-size:23px}.finance-password-card-v83>p{text-align:center;color:#6d788b;line-height:1.55;margin:0 auto 24px;max-width:350px}.finance-password-card-v83 label{display:block;font-weight:800;font-size:13px;color:#344057}.finance-password-input-wrap-v83{display:flex;align-items:center;margin-top:8px;border:1px solid #d7dfeb;border-radius:14px;background:#fff;overflow:hidden;transition:.2s}.finance-password-input-wrap-v83:focus-within{border-color:#6557ff;box-shadow:0 0 0 4px rgba(101,87,255,.12)}.finance-password-input-wrap-v83 input{flex:1;height:52px;border:0!important;outline:0!important;background:transparent!important;padding:0 16px!important;font-size:22px!important;letter-spacing:7px;text-align:center;color:#172033!important;box-shadow:none!important}.finance-password-input-wrap-v83 input.is-error{animation:fp83Shake .35s ease}.finance-password-see-v83{width:50px;height:52px;border:0;background:transparent;color:#647087;cursor:pointer}.finance-password-error-v83{min-height:20px;margin-top:8px;color:#e33245;font-size:12px;font-weight:700;text-align:center}.finance-password-actions-v83{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:14px}.finance-password-actions-v83 button{height:48px;border-radius:13px;font-weight:800;cursor:pointer}.finance-password-cancel-v83{border:1px solid #d7dfeb;background:#fff;color:#4c586b}.finance-password-confirm-v83{border:0;background:linear-gradient(135deg,#6b5cff,#5140ed);color:#fff;box-shadow:0 12px 22px rgba(81,64,237,.25)}
@keyframes fp83Fade{from{opacity:0}to{opacity:1}}@keyframes fp83Up{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes fp83Shake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media(max-width:700px){.finance-actions .finance-privacy-toggle-v83 span{display:none}.finance-actions .finance-privacy-toggle-v83{width:46px;padding:0}.finance-password-card-v83{padding:28px 20px}.finance-password-actions-v83{grid-template-columns:1fr}}

/* ===== Origem: v107-finance-calendar-fixed.css ===== */
/* V107 — calendário compacto e estruturado do Financeiro */
.v107-date-wrap{position:relative!important}
.v107-date-wrap>.selectlike{display:flex!important;align-items:center;justify-content:space-between;gap:10px;width:100%;cursor:pointer}
.v107-finance-picker{display:none;position:absolute;top:calc(100% + 8px);left:0;width:560px;max-width:calc(100vw - 330px);background:#fff;border:1px solid #dbe3ee;border-radius:16px;box-shadow:0 24px 60px rgba(17,31,54,.22);z-index:2147483000;overflow:hidden;color:#1f2d42}
.v107-finance-picker.is-open{display:grid;grid-template-columns:175px minmax(0,1fr)}
.v107-presets{padding:10px;background:#f8fafc;border-right:1px solid #e7edf5;display:flex;flex-direction:column;gap:3px}
.v107-presets button{border:0;background:transparent;color:#41516a;text-align:left;padding:9px 11px;border-radius:8px;font:inherit;cursor:pointer}
.v107-presets button:hover{background:#6558f5;color:#fff}
.v107-calendar-month{padding:14px}
.v107-calendar-title{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:10px}
.v107-calendar-title strong{text-align:center;text-transform:capitalize;font-size:14px}
.v107-calendar-title button{width:32px;height:32px;border:0;border-radius:9px;background:#f0f4f9;color:#3a4b64;font-size:20px;cursor:pointer}
.v107-weekdays,.v107-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.v107-weekdays span{text-align:center;font-size:10px;font-weight:800;color:#7b899d;text-transform:uppercase;padding:3px 0}
.v107-days button,.v107-empty{height:32px}
.v107-days button{border:0;border-radius:8px;background:#f3f6fa;color:#2d3d55;cursor:pointer;font-weight:650}
.v107-days button:hover{background:#e7e3ff;color:#5144d8}
.v107-days button.range{background:#eeeaff;color:#5547dc}
.v107-days button.edge{background:#6558f5;color:#fff}
@media(max-width:1000px){.v107-finance-picker{left:auto;right:0;max-width:calc(100vw - 24px)}}
@media(max-width:680px){.v107-finance-picker.is-open{grid-template-columns:1fr;width:min(360px,calc(100vw - 24px))}.v107-presets{display:grid;grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid #e7edf5}.v107-presets button{font-size:12px;padding:8px}.v107-calendar-month{padding:10px}}

/* Ajuste isolado — mantém o calendário acima dos cards do Financeiro */
.finance-page .finance-filter{
  position:relative!important;
  z-index:1000!important;
  overflow:visible!important;
}
.finance-page .finance-grid-filters,
.finance-page .v107-date-wrap{
  position:relative!important;
  z-index:1001!important;
  overflow:visible!important;
}
.finance-page .finance-kpis,
.finance-page .finance-chart,
.finance-page .finance-tables{
  position:relative;
  z-index:1;
}


/* V109 — o calendário aberto é portado para o body, eliminando qualquer
   contexto de empilhamento dos cards sem alterar o restante do Financeiro. */
.v107-finance-picker.v107-portaled{
  position:fixed!important;
  z-index:2147483647!important;
  margin:0!important;
}


/* V111 — calendário aberto dentro do fluxo do layout.
   Ele ocupa espaço abaixo do campo Data e empurra os cards para baixo. */
.finance-page .v107-date-wrap{
  align-self:start!important;
}
.finance-page .v107-finance-picker.is-open{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  margin-top:8px!important;
  width:560px!important;
  max-width:min(560px,calc(100vw - 340px))!important;
  z-index:10!important;
}
@media(max-width:1000px){
  .finance-page .v107-finance-picker.is-open{
    max-width:calc(100vw - 48px)!important;
  }
}
@media(max-width:680px){
  .finance-page .v107-finance-picker.is-open{
    width:min(360px,calc(100vw - 32px))!important;
    max-width:calc(100vw - 32px)!important;
  }
}

