/* Look identity for Caixa, Relatórios and the legacy finance panel.
   Keep dimensions and accounting status colors from the original module. */
.nf,
dialog.nf-dialog {
  --nf-navy: var(--look-blue, #2375c5);
  --nf-navy-deep: var(--look-blue-deep, #14549a);
  --nf-gold: #bb8529;
  --nf-gold-light: #fff6dd;
  --nf-text: var(--look-text, #344b64);
  --nf-muted: #63788f;
  --nf-line: var(--look-line, #dce6f0);
  --nf-surface: #f3f8fd;
  --nf-edge: var(--look-gold-edge, linear-gradient(125deg, #b07a25, #e8bd56 28%, #f8e29a 43%, #bb8529 65%, #dfb351));
}

#new-finance-screen .nf .nf-header h2,
#new-finance-screen .nf .nf-panel-head h3,
dialog.nf-dialog .nf-dialog-head h2,
#finance-panel :is(.finance-list-heading h3, .finance-report h3) {
  color: var(--look-blue-deep, #14549a);
}

#new-finance-screen .nf .nf-hero,
#new-finance-screen .nf .nf-cash-headline {
  border: 1px solid transparent;
  background: linear-gradient(125deg, #ffffff, #eef6ff) padding-box, var(--nf-edge) border-box;
  color: var(--nf-navy-deep);
  box-shadow: 0 7px 20px #2375c50d;
}

#new-finance-screen .nf .nf-hero .nf-kicker { color: #926619; }
#new-finance-screen .nf .nf-hero > p,
#new-finance-screen .nf .nf-hero-meta { color: var(--nf-muted); }
#new-finance-screen .nf .nf-hero-meta { border-top-color: var(--nf-line); }
#new-finance-screen .nf .nf-hero-meta strong,
#new-finance-screen .nf .nf-cash-headline .nf-card-value { color: var(--nf-navy-deep); }
#new-finance-screen .nf .nf-cash-headline .nf-card-label { color: var(--nf-muted); }
#new-finance-screen .nf .nf-hero::before { border-color: #cba45b45; }
#new-finance-screen .nf .nf-hero::after { border-color: #2375c51a; }

#new-finance-screen .nf :is(.nf-panel, .nf-card, .nf-cash-box),
dialog.nf-dialog .nf-calendar,
.finance-summary article,
.finance-report form {
  border-color: var(--look-line, #dce6f0);
  background-color: #fff;
  box-shadow: 0 3px 12px #2375c507;
}

#new-finance-screen .nf .nf-card.featured,
#new-finance-screen .nf .nf-cash-box {
  border-color: transparent;
  background: linear-gradient(#fff, #fff) padding-box, var(--nf-edge) border-box;
}

#new-finance-screen .nf .nf-cash-headline .nf-card {
  border: 0;
  background: transparent;
  box-shadow: none;
}

#new-finance-screen .nf .nf-panel-head {
  border-bottom-color: var(--nf-line);
  background: linear-gradient(100deg, #f5f9ff, #fff);
}

#new-finance-screen .nf .nf-card-label,
#new-finance-screen .nf .nf-card-note,
#new-finance-screen .nf .nf-empty strong { color: var(--nf-muted); }
#new-finance-screen .nf .nf-card-label svg,
#new-finance-screen .nf .nf-empty > svg,
#new-finance-screen .nf .nf-period-button svg { color: var(--nf-navy); }

#new-finance-screen .nf .nf-tabs,
#new-finance-screen .nf .nf-mode { background: #f1f7fd; }
#new-finance-screen .nf .nf-tab { color: var(--nf-navy-deep); }
#new-finance-screen .nf .nf-tab[aria-selected="true"],
#new-finance-screen .nf .nf-tab.active {
  border-color: transparent;
  background: linear-gradient(#e7f2ff, #e7f2ff) padding-box, var(--nf-edge) border-box;
  color: var(--nf-navy-deep);
  box-shadow: 0 2px 8px #2375c510;
}
#new-finance-screen .nf .nf-tab[aria-selected="true"]::before { background: var(--nf-navy); }
#new-finance-screen .nf .nf-tab[aria-selected="true"] svg { color: var(--nf-navy); }

#new-finance-screen .nf .nf-button,
dialog.nf-dialog .nf-button,
#new-finance-screen .nf .nf-period-button,
#new-finance-screen .nf .nf-filters button {
  border-color: transparent;
  background: linear-gradient(#fff, #fff) padding-box, var(--nf-edge) border-box;
  color: var(--nf-navy-deep);
}

#new-finance-screen .nf .nf-button.secondary,
dialog.nf-dialog .nf-button.secondary,
#new-finance-screen .nf .nf-button.gold,
dialog.nf-dialog .nf-button.gold {
  background: linear-gradient(#f3f8ff, #f3f8ff) padding-box, var(--nf-edge) border-box;
  color: var(--nf-navy-deep);
}

#new-finance-screen .nf .nf-button.primary,
#new-finance-screen .nf .nf-button[data-variant="primary"],
dialog.nf-dialog .nf-button.primary,
dialog.nf-dialog .nf-button[data-variant="primary"],
#new-finance-screen .nf .nf-filters button[aria-pressed="true"],
#new-finance-screen .nf .nf-filters button.active {
  border-color: transparent;
  background: linear-gradient(125deg, #2375c5, #14549a) padding-box, var(--nf-edge) border-box;
  color: #fff;
}

#new-finance-screen .nf .nf-button.danger,
dialog.nf-dialog .nf-button.danger {
  border-color: #e8b9b9;
  background: #fff6f6;
  color: #ac4545;
}
dialog.nf-dialog .nf-dialog-actions .nf-cancel-record {
  border-color: #b34438;
  background: #b34438;
  color: #fff;
}

/* Scale only this independent frame: labels and icons stay on the pixel grid. */
#new-finance-screen .nf :is(.nf-button, .nf-tab, button.nf-card),
#new-finance-screen .nf .nf-filters button,
dialog.nf-dialog .nf-button {
  position: relative;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
#new-finance-screen .nf :is(.nf-button, .nf-tab, button.nf-card)::after,
#new-finance-screen .nf .nf-filters button::after,
dialog.nf-dialog .nf-button::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid #bd8d35;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  transform: scale(1);
  transition: transform .16s ease, opacity .16s ease;
}

#new-finance-screen .nf > .nf-scope,
dialog.nf-dialog .nf-period-note {
  border-left-color: var(--nf-gold);
  background: #f3f8ff;
  color: var(--nf-muted);
}
#new-finance-screen .nf .nf-more-options > summary,
#new-finance-screen .nf .nf-cash-checks {
  border-color: #dcc593;
  background: #fffdf7;
  color: #7d622e;
}
#new-finance-screen .nf .nf-table th,
dialog.nf-dialog .nf-table th {
  background: #f3f8fd;
  color: var(--nf-navy-deep);
  border-bottom-color: var(--nf-line);
}
#new-finance-screen .nf .nf-chart .nf-chart-area { fill: #2375c511; }
#new-finance-screen .nf .nf-bar-track { background: #e7f0f8; }

dialog.nf-dialog {
  border-color: #d4b264;
  box-shadow: 0 20px 65px #14549a29;
}
dialog.nf-dialog .nf-dialog-head { border-bottom-color: #e3ce9d; }
dialog.nf-dialog .nf-dialog-head > button {
  background: #edf5ff;
  color: var(--nf-navy-deep);
}
dialog.nf-dialog details.nf-shop-picker > summary {
  border-color: #caa757;
  color: var(--nf-text);
}
dialog.nf-dialog details.nf-shop-picker > summary > span[aria-hidden] {
  border-color: var(--nf-navy-deep);
}
dialog.nf-dialog details.nf-shop-picker > .establishment-picker-options {
  border-color: #d1ad5c;
  box-shadow: 0 10px 28px #173d6624;
}
dialog.nf-dialog .nf-shop-picker .establishment-picker-options button {
  color: var(--nf-text);
  background: #fff;
}
dialog.nf-dialog .nf-shop-picker .establishment-picker-options button[aria-pressed="true"],
dialog.nf-dialog .nf-shop-picker .establishment-picker-options button:not(:disabled):hover {
  background: #e7f2ff;
  color: var(--nf-navy-deep);
}
dialog.nf-dialog .nf-period-presets .nf-button {
  border-color: var(--nf-line);
  background: #f4f8fd;
  color: var(--nf-navy-deep);
}
dialog.nf-dialog .nf-period-presets .nf-button[aria-pressed="true"] {
  border-color: transparent;
  background: linear-gradient(#e7f2ff, #e7f2ff) padding-box, var(--nf-edge) border-box;
  color: var(--nf-navy-deep);
}
dialog.nf-dialog .nf-calendar-day.in-range { background: #e7f2ff; }
dialog.nf-dialog .nf-calendar-day[aria-pressed="true"] {
  border-color: #bc8b32;
  background: var(--nf-navy-deep);
  color: #fff;
}
dialog.nf-dialog .nf-calendar-head button,
dialog.nf-dialog .nf-reconcile-actions button[data-difference-method] {
  border-color: #d9bd80;
  background: #f2f8ff;
  color: var(--nf-navy-deep);
}
dialog.nf-dialog .nf-cash-break {
  border-color: var(--nf-line);
  background: #f4f8fd;
}
dialog.nf-dialog .nf-cash-break h3 { color: var(--nf-navy-deep); }
dialog.nf-dialog .nf-reconcile-actions button[data-confirm-method],
dialog.nf-dialog .nf-form button.nf-save-difference {
  border-color: #13845d;
  background: #13845d;
  color: #fff;
}

#nf-toast.nf-toast {
  border-color: #d0ad61;
  background: #14549af5;
  box-shadow: 0 12px 35px #14549a2b;
}

/* Legacy finance is also mounted inside the Relatórios "Lançamentos" tab. */
.finance-summary .balance strong { color: var(--look-blue-deep, #14549a); }
.finance-summary .commission strong { color: #90651d; }
.finance-summary span,
.finance-entry span:not(.finance-entry-kind):not(.entry-status):not(.finance-entry-barber) {
  color: var(--look-text, #344b64);
}
.finance-entry { border-top-color: #dce6f0; border-right-color: #dce6f0; border-bottom-color: #dce6f0; }
.finance-report form { background: #f8fbff; }
.finance-report p {
  border-left-color: #bb8529;
  background: #fff;
  color: var(--look-text, #344b64);
}
.finance-placeholder { border-color: #ccdced; color: #63788f; }
.finance-placeholder strong { color: var(--look-blue-deep, #14549a); }

@media (hover: hover) {
  #new-finance-screen .nf button:not(:disabled):hover,
  dialog.nf-dialog button:not(:disabled):hover { transform: none; }
  #new-finance-screen .nf button.nf-card:not(:disabled):hover,
  #new-finance-screen .nf .nf-period-button:not(:disabled):hover {
    border-color: #be913e;
    box-shadow: 0 0 0 2px #2375c519, 0 4px 14px #2375c510;
  }
  #new-finance-screen .nf .nf-button:not(:disabled):hover,
  dialog.nf-dialog .nf-button:not(:disabled):hover,
  #new-finance-screen .nf .nf-tab:not([aria-selected="true"]):hover,
  #new-finance-screen .nf .nf-filters button:not([aria-pressed="true"]):not(:disabled):hover {
    border-color: transparent;
    background: linear-gradient(#e7f2ff, #e7f2ff) padding-box, var(--nf-edge) border-box;
    color: var(--nf-navy-deep);
    box-shadow: 0 0 0 2px #2375c512;
  }
  #new-finance-screen .nf .nf-button.primary:not(:disabled):hover,
  #new-finance-screen .nf .nf-button[data-variant="primary"]:not(:disabled):hover,
  dialog.nf-dialog .nf-button.primary:not(:disabled):hover,
  dialog.nf-dialog .nf-button[data-variant="primary"]:not(:disabled):hover {
    background: linear-gradient(125deg, #206db8, #104782) padding-box, var(--nf-edge) border-box;
    color: #fff;
  }
  #new-finance-screen .nf .nf-button.danger:not(:disabled):hover,
  dialog.nf-dialog .nf-button.danger:not(:disabled):hover {
    border-color: #d49a9a;
    background: #ffebeb;
    color: #983c3c;
  }
  dialog.nf-dialog .nf-dialog-actions .nf-cancel-record:not(:disabled):hover {
    border-color: #97382e;
    background: #97382e;
    color: #fff;
  }
  dialog.nf-dialog .nf-reconcile-actions button[data-confirm-method]:not(:disabled):hover,
  dialog.nf-dialog .nf-form button.nf-save-difference:not(:disabled):hover {
    border-color: #0d6b4a;
    background: #0d6b4a;
    color: #fff;
  }
  dialog.nf-dialog .nf-period-presets .nf-button[aria-pressed="true"]:not(:disabled):hover {
    border-color: transparent;
    background: linear-gradient(#dbeaff, #dbeaff) padding-box, var(--nf-edge) border-box;
    color: var(--nf-navy-deep);
  }
  #new-finance-screen .nf button.nf-row:hover,
  dialog.nf-dialog .nf-calendar-day:not([aria-pressed="true"]):hover,
  dialog.nf-dialog .nf-shop-picker label:hover {
    background: #e7f2ff;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  #new-finance-screen .nf :is(.nf-button, .nf-tab, button.nf-card):not(:disabled):hover::after,
  #new-finance-screen .nf .nf-filters button:not(:disabled):hover::after,
  dialog.nf-dialog .nf-button:not(:disabled):hover::after {
    opacity: 1;
    transform: scale(1.02);
  }
}

@media (prefers-reduced-motion: reduce) {
  #new-finance-screen .nf :is(.nf-button, .nf-tab, button.nf-card),
  #new-finance-screen .nf .nf-filters button,
  dialog.nf-dialog .nf-button,
  #new-finance-screen .nf :is(.nf-button, .nf-tab, button.nf-card)::after,
  #new-finance-screen .nf .nf-filters button::after,
  dialog.nf-dialog .nf-button::after { transition: none; }
}

@media print {
  body.nf-print #new-finance-screen .nf .nf-hero,
  body.nf-print #new-finance-screen .nf .nf-cash-headline {
    border-color: #dce4eb;
    background: #fff;
    color: #111;
    box-shadow: none;
  }
  body.nf-print #new-finance-screen .nf .nf-period-button {
    border: 0;
    background: #fff;
    color: #111;
    box-shadow: none;
  }
  body.nf-print #new-finance-screen .nf .nf-hero-meta,
  body.nf-print #new-finance-screen .nf .nf-hero .nf-kicker { color: #555; }
  body.nf-print #new-finance-screen .nf .nf-panel { box-shadow: none; }
  body.nf-print #new-finance-screen .nf :is(.nf-button, .nf-tab, button.nf-card)::after,
  body.nf-print #new-finance-screen .nf .nf-filters button::after { display: none; }
}
