/* Novo financeiro · Look. All screen styles are isolated from the original module. */
.nf, dialog.nf-dialog {
  --nf-navy: #102b47;
  --nf-navy-deep: #091d33;
  --nf-gold: #cba45b;
  --nf-gold-light: #f3e8d1;
  --nf-text: #172e45;
  --nf-muted: #738192;
  --nf-line: #e4eaf0;
  --nf-surface: #f5f7fa;
  --nf-green: #14765b;
  --nf-red: #bd4949;
  color: var(--nf-text);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
.nf *, dialog.nf-dialog * { box-sizing: border-box; }
.nf [hidden], dialog.nf-dialog [hidden] { display: none !important; }
.nf { display: grid; gap: 18px; min-width: 0; padding: 4px 0 20px; }
.nf #nf-content { display: grid; gap: 18px; min-width: 0; }
.nf h2, .nf h3, .nf h4, .nf p, dialog.nf-dialog h2, dialog.nf-dialog h3 { margin: 0; }
.nf button, dialog.nf-dialog button { font-family: inherit; cursor: pointer; touch-action: manipulation; }
.nf button:disabled, dialog.nf-dialog button:disabled { cursor: not-allowed; opacity: .45; }
.nf button:focus-visible, dialog.nf-dialog button:focus-visible, .nf input:focus-visible, .nf select:focus-visible,
dialog.nf-dialog input:focus-visible, dialog.nf-dialog select:focus-visible, dialog.nf-dialog textarea:focus-visible {
  outline: 3px solid #cba45b8c; outline-offset: 3px;
}
.nf svg, dialog.nf-dialog svg { flex-shrink: 0; }
:is(.nf, dialog.nf-dialog) .nf-header { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; }
.nf .nf-header > div { width: 100%; }
.nf .nf-header h2 { color: var(--nf-navy); font-size: clamp(23px, 5vw, 28px); letter-spacing: -.9px; line-height: 1.18; font-weight: 800; }
.nf .nf-header p { max-width: 360px; margin: 6px auto 0; color: var(--nf-muted); font-size: 12px; line-height: 1.5; }
dialog.nf-dialog .nf-period-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nf .nf-kicker, dialog.nf-dialog .nf-kicker { display: block; margin: 0 0 7px; color: #9a783f; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; }
:is(.nf, dialog.nf-dialog) .nf-status { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid var(--nf-line); border-radius: 99px; color: var(--nf-muted); background: #fff; font-size: 10px; font-weight: 700; white-space: nowrap; }
:is(.nf, dialog.nf-dialog) .nf-status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--nf-green); }
:is(.nf, dialog.nf-dialog) .nf-status.demo::before { background: var(--nf-gold); }
.nf:has(.nf-mode [data-id="demo"][aria-pressed="true"]) .nf-status { border-color: #eadcbc; background: #fffbf2; color: #947438; }
.nf:has(.nf-mode [data-id="demo"][aria-pressed="true"]) .nf-status::before { background: var(--nf-gold); }
.nf:has(.nf-alert[role="alert"]) .nf-status::before { background: var(--nf-red); }
:is(.nf, dialog.nf-dialog) .nf-hero { position: relative; overflow: hidden; display: grid; gap: 7px; padding: 23px 22px 20px; border: 1px solid #203c56; border-radius: 19px; background: linear-gradient(125deg, #102e4d 0%, #0b2038 80%); color: #fff; box-shadow: 0 10px 24px #102b4712; }
:is(.nf, dialog.nf-dialog) .nf-hero::before { content: ""; position: absolute; width: 140px; height: 140px; right: -64px; top: -65px; border: 1px solid #cba45b38; border-radius: 50%; pointer-events: none; }
:is(.nf, dialog.nf-dialog) .nf-hero::after { content: ""; position: absolute; width: 190px; height: 190px; right: -87px; top: -92px; border: 1px solid #cba45b20; border-radius: 50%; pointer-events: none; }
.nf .nf-hero .nf-kicker { color: #d5b97e; margin-bottom: 1px; letter-spacing: 1.5px; }
:is(.nf, dialog.nf-dialog) .nf-hero-value { display: block; font-size: clamp(28px, 7vw, 38px); font-weight: 800; line-height: 1.2; letter-spacing: -1.2px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.nf .nf-hero > p { color: #afbfce; font-size: 12px; }
:is(.nf, dialog.nf-dialog) .nf-hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding-top: 12px; margin-top: 7px; border-top: 1px solid #ffffff16; color: #b7c7d6; font-size: 11px; }
:is(.nf, dialog.nf-dialog) .nf-hero-meta strong { color: #fff; font-weight: 700; }
:is(.nf, dialog.nf-dialog) .nf-hero-meta > span { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
:is(.nf, dialog.nf-dialog) .nf-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.nf .nf-period-button, dialog.nf-dialog .nf-period-button { position: relative; display: flex; align-items: center; gap: 9px; flex: 1 1 195px; min-width: 0; min-height: 44px; padding: 11px 36px 11px 13px; border: 1px solid #d8e1e9; border-radius: 10px; background: #fff; color: var(--nf-navy); font-size: 12px; font-weight: 700; text-align: left; }
.nf .nf-period-button::after, dialog.nf-dialog .nf-period-button::after { content: ""; position: absolute; right: 15px; top: 50%; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); }
.nf .nf-period-button svg { width: 17px; height: 17px; color: #9d7f45; }
.nf .nf-period-button > span[aria-hidden="true"] { display: none; }
.nf .nf-toolbar > .nf-button { min-height: 44px; }
:is(.nf, dialog.nf-dialog) .nf-scope { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: -8px; color: var(--nf-muted); font-size: 11px; }
.nf > .nf-scope { padding: 10px 12px; border-left: 2px solid #cfb176; border-radius: 0 6px 6px 0; background: #f8fafc; color: #6a7d8f; line-height: 1.6; overflow-wrap: anywhere; }
:is(.nf, dialog.nf-dialog) .nf-scope strong { color: #53667a; font-weight: 700; }
:is(.nf, dialog.nf-dialog) .nf-mode { display: flex; align-items: center; gap: 3px; padding: 4px; border: 1px solid var(--nf-line); border-radius: 10px; background: var(--nf-surface); }
.nf .nf-mode button { display: flex; flex: 1; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 8px; border: 0; border-radius: 7px; background: transparent; color: var(--nf-muted); font-size: 12px; font-weight: 700; }
.nf .nf-mode button[aria-pressed="true"], .nf .nf-mode button[aria-selected="true"], .nf .nf-mode button.active { background: #fff; color: var(--nf-navy); box-shadow: 0 1px 5px #102b4710; }
:is(.nf, dialog.nf-dialog) .nf-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 6px; border: 1px solid var(--nf-line); border-radius: 14px; background: var(--nf-surface); }
.nf .nf-cash-breakdown { padding: 0 0 12px 8px; font-size: 11px; color: var(--nf-muted); }
.nf .nf-cash-breakdown > div { display: flex; justify-content: space-between; gap: 6px; padding: 3px 0; }
.nf .nf-cash-entry-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.nf .nf-cash-entry-heading h3 { margin: 0; }
.nf .nf-cash-entry-heading button { min-height: 28px; padding: 5px 8px; font-size: 11px; white-space: nowrap; }
.nf-dialog .nf-shop-picker { margin-top: 8px; }
.nf-dialog .nf-shop-picker summary { padding: 13px; border: 1px solid #ccd6df; border-radius: 14px; cursor: pointer; }
.nf-dialog .nf-shop-picker > div { position: static; border: 1px solid #ccd6df; border-radius: 14px; margin-top: 6px; padding: 6px; max-height: 180px; overflow: auto; }
.nf-dialog .nf-form .nf-shop-picker label { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 10px; border-radius: 10px; cursor: pointer; }
.nf-dialog .nf-shop-picker label:hover { background: #eef4f8; }
.nf-dialog .nf-shop-picker input[type="radio"] { width: 16px; height: 16px; min-height: 0; margin: 0; }
.nf .nf-cash-in .nf-cash-entry-value { color: #12805c; text-align: center; font-size: 26px; font-weight: 800; padding: 18px 0; line-height: 1.2; font-variant-numeric: tabular-nums; }
.nf .nf-cash-out .nf-cash-out-value { color: #b34438; text-align: center; font-size: 26px; font-weight: 800; padding: 18px 0; line-height: 1.2; font-variant-numeric: tabular-nums; }
#new-finance-screen.reports-view > .category-heading h2 { font-size: 26px; line-height: 1.2; }
#new-finance-screen.reports-view > .category-heading { margin-bottom: 0; }
.nf .nf-reports-subtitle { margin: -8px 0 18px; text-align: center; color: var(--nf-muted); font-size: 14px; }
.nf-more-options { margin: 10px 0 16px; }
.nf-more-options > summary { cursor: pointer; padding: 12px 14px; border: 1px solid var(--nf-line); border-radius: 12px; font-weight: 600; }
.nf-more-options[open] > summary { margin-bottom: 8px; }
.nf .nf-tab { display: flex; align-items: center; justify-content: flex-start; gap: 7px; min-height: 44px; min-width: 0; padding: 9px 8px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #647588; font-size: 11px; font-weight: 700; line-height: 1.25; text-align: left; transition: color .15s, background .15s, box-shadow .15s; }
.nf .nf-tab svg { width: 17px; height: 17px; }
.nf .nf-tab[aria-selected="true"], .nf .nf-tab.active { border-color: #173955; background: var(--nf-navy); color: #fff; box-shadow: 0 3px 7px #102b4719; }
.nf .nf-tab[aria-selected="true"] svg { color: #dfc592; }
.nf .nf-tab::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--nf-icon) center / contain no-repeat; mask: var(--nf-icon) center / contain no-repeat; }
.nf .nf-tab[aria-selected="true"]::before { background: #dfc592; }
.nf .nf-tab[data-id="overview"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1.4'%2F%3E%3Crect%20x%3D'14'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1.4'%2F%3E%3Crect%20x%3D'3'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1.4'%2F%3E%3Crect%20x%3D'14'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1.4'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="cash"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'15'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M3%2010h18M8%2015h8M6%205V3h12v2'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="ledger"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%207h15m-4-4%204%204-4%204M20%2017H5m4-4-4%204%204%204'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="orders"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%203h14v19l-3-2-4%202-4-2-3%202V3zM8%208h8M8%2012h8M8%2016h5'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="payouts"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'8'%20cy%3D'7'%20r%3D'3'%2F%3E%3Cpath%20d%3D'M2%2020v-2a6%206%200%200%201%2012%200v2M16%205a3%203%200%200%201%200%206M18%2014a5%205%200%200%201%204%205v1'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="bills"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'16'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M7%203v4M17%203v4M3%2011h18M7%2015h3M14%2015h3M7%2018h3'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="dre"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%203v18h18M7%2016v-4M12%2016V7M17%2016v-7'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="forecast"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm3%2017%206-6%204%204%208-10M15%205h6v6M3%2021h18'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="margin"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm6%2018%2012-12'%2F%3E%3Ccircle%20cx%3D'7'%20cy%3D'7'%20r%3D'3'%2F%3E%3Ccircle%20cx%3D'17'%20cy%3D'17'%20r%3D'3'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="stock"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm12%202%209%205v10l-9%205-9-5V7l9-5zm-9%205%209%205%209-5M12%2012v10M8%204l9%205'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="reports"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14%203H5v18h14V8l-5-5zM14%203v5h5M8%2012h8M8%2016h8'%2F%3E%3C%2Fsvg%3E"); }
.nf .nf-tab[data-id="audit"] { --nf-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2010a9%209%200%201%201%200%205M3%204v6h6M12%207v5l3%202'%2F%3E%3C%2Fsvg%3E"); }
:is(.nf, dialog.nf-dialog) .nf-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nf .nf-card { display: grid; align-content: start; gap: 7px; min-width: 0; min-height: 111px; margin: 0; padding: 15px 13px; border: 1px solid var(--nf-line); border-radius: 13px; background: #fff; color: var(--nf-text); font-family: inherit; text-align: left; box-shadow: 0 2px 7px #132e4703; }
.nf button.nf-card { transition: transform .15s, border-color .15s, box-shadow .15s; }
:is(.nf, dialog.nf-dialog) .nf-card-label { display: flex; align-items: center; justify-content: space-between; gap: 5px; color: #6c7c8e; font-size: 11px; font-weight: 600; }
:is(.nf, dialog.nf-dialog) .nf-card-label svg { width: 16px; height: 16px; color: #9cabb9; }
:is(.nf, dialog.nf-dialog) .nf-card-value { display: block; color: var(--nf-navy); font-size: clamp(19px, 4.5vw, 23px); line-height: 1.25; font-weight: 800; letter-spacing: -.6px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
:is(.nf, dialog.nf-dialog) .nf-card-note { color: #8491a0; font-size: 10px; line-height: 1.4; }
.nf .nf-card.featured { border-color: #e8d8b9; background: #fffcf7; }
.nf .nf-positive, dialog.nf-dialog .nf-positive { color: var(--nf-green); }
.nf .nf-negative, dialog.nf-dialog .nf-negative { color: var(--nf-red); }
.nf .nf-muted, dialog.nf-dialog .nf-muted { color: var(--nf-muted); }
.nf .nf-warning, dialog.nf-dialog .nf-warning { color: #9a702c; }
:is(.nf, dialog.nf-dialog) .nf-panel { overflow: hidden; min-width: 0; border: 1px solid var(--nf-line); border-radius: 14px; background: #fff; }
:is(.nf, dialog.nf-dialog) .nf-panel + .nf-panel { margin-top: 0; }
:is(.nf, dialog.nf-dialog) .nf-panel-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 16px; border-bottom: 1px solid #edf0f4; }
.nf .nf-panel-head h3 { color: var(--nf-navy); font-size: 14px; font-weight: 800; letter-spacing: -.2px; }
.nf .nf-panel-head p { margin-top: 4px; color: var(--nf-muted); font-size: 11px; }
:is(.nf, dialog.nf-dialog) .nf-panel-body { display: grid; gap: 13px; padding: 16px; min-width: 0; }
:is(.nf, dialog.nf-dialog) .nf-panel-body > .nf-list { margin: -5px 0; }
.nf .nf-actions, dialog.nf-dialog .nf-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.nf .nf-actions:empty, dialog.nf-dialog .nf-actions:empty { display: none; }
.nf .nf-button, dialog.nf-dialog .nf-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; margin: 0; padding: 10px 13px; border: 1px solid #dce4eb; border-radius: 9px; background: #fff; color: var(--nf-navy); font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1.35; text-align: center; text-decoration: none; transition: background .15s, border-color .15s; }
.nf .nf-button svg, dialog.nf-dialog .nf-button svg { width: 16px; height: 16px; }
.nf .nf-button.primary, .nf .nf-button[data-variant="primary"], dialog.nf-dialog .nf-button.primary, dialog.nf-dialog .nf-button[data-variant="primary"] { border-color: var(--nf-navy); background: var(--nf-navy); color: #fff; }
.nf .nf-button.gold, dialog.nf-dialog .nf-button.gold { border-color: #c59d50; background: var(--nf-gold); color: #142b3e; }
.nf .nf-button.secondary, dialog.nf-dialog .nf-button.secondary { background: var(--nf-surface); }
.nf .nf-button.danger, dialog.nf-dialog .nf-button.danger { border-color: #efd2d2; background: #fff6f6; color: #ac4545; }
.nf .nf-button.small, dialog.nf-dialog .nf-button.small { min-height: 42px; padding: 7px 10px; font-size: 11px; }
.nf .nf-button.icon, dialog.nf-dialog .nf-button.icon { width: 42px; padding: 0; flex: 0 0 42px; }
:is(.nf, dialog.nf-dialog) .nf-list { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
.nf .nf-row, dialog.nf-dialog .nf-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-width: 0; min-height: 62px; padding: 12px 0; border: 0; border-bottom: 1px solid #edf1f5; border-radius: 0; background: transparent; color: var(--nf-text); font-family: inherit; text-align: left; }
.nf .nf-row:last-child, dialog.nf-dialog .nf-row:last-child { border-bottom: 0; }
:is(.nf, dialog.nf-dialog) .nf-row-main { display: grid; gap: 4px; min-width: 0; }
:is(.nf, dialog.nf-dialog) .nf-row-title { display: block; color: var(--nf-text); font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
:is(.nf, dialog.nf-dialog) .nf-row-meta { display: block; color: var(--nf-muted); font-size: 10px; line-height: 1.65; }
:is(.nf, dialog.nf-dialog) .nf-row-end { display: grid; justify-items: end; flex-shrink: 0; gap: 5px; max-width: 48%; color: var(--nf-navy); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
:is(.nf, dialog.nf-dialog) .nf-row-end > small { color: var(--nf-muted); font-size: 10px; font-weight: 400; }
:is(.nf, dialog.nf-dialog) .nf-badge { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; padding: 3px 7px; border-radius: 5px; background: #eff3f6; color: #697a8b; font-size: 9px; font-weight: 700; line-height: 1.4; letter-spacing: .15px; white-space: normal; }
.nf .nf-badge.pending, dialog.nf-dialog .nf-badge.pending { background: #faf0da; color: #987126; }
.nf .nf-badge.paid, dialog.nf-dialog .nf-badge.paid { background: #e9f5ef; color: #28765b; }
.nf .nf-badge.cancelled, dialog.nf-dialog .nf-badge.cancelled { background: #f9eaea; color: #ae5656; }
.nf .nf-badge.demo, dialog.nf-dialog .nf-badge.demo { background: #f8efdE; color: #947438; }
:is(.nf, dialog.nf-dialog) .nf-empty { display: grid; justify-items: center; gap: 8px; padding: 29px 18px; color: var(--nf-muted); font-size: 12px; text-align: center; }
.nf .nf-empty strong { color: #52677a; font-size: 13px; }
.nf .nf-empty p { max-width: 290px; font-size: 11px; line-height: 1.65; }
:is(.nf, dialog.nf-dialog) .nf-empty > svg { width: 30px; height: 30px; margin-bottom: 3px; color: #a6b5c2; }
.nf .nf-alert, dialog.nf-dialog .nf-alert { display: grid; gap: 4px; margin: 0; padding: 12px 13px; border: 1px solid #eadcbc; border-radius: 10px; background: #fffbf2; color: #8f723c; font-size: 11px; line-height: 1.55; }
:is(.nf, dialog.nf-dialog) .nf-alert strong { font-size: 12px; }
.nf .nf-alert.info, dialog.nf-dialog .nf-alert.info { border-color: #dae6f0; background: #f3f8fc; color: #56728a; }
.nf .nf-alert.error, dialog.nf-dialog .nf-alert.error { border-color: #efd1d1; background: #fff5f5; color: #a84545; }
:is(.nf, dialog.nf-dialog) .nf-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
:is(.nf, dialog.nf-dialog) .nf-metrics > div { display: grid; gap: 4px; min-width: 0; }
:is(.nf, dialog.nf-dialog) .nf-metrics span, :is(.nf, dialog.nf-dialog) .nf-metrics dt { color: var(--nf-muted); font-size: 11px; }
:is(.nf, dialog.nf-dialog) .nf-metrics strong, :is(.nf, dialog.nf-dialog) .nf-metrics dd { margin: 0; color: var(--nf-navy); font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; }
.nf .nf-metrics:has(> .nf-row) { grid-template-columns: minmax(0, 1fr); gap: 0; }
.nf .nf-metrics > .nf-row { display: flex; align-items: center; gap: 12px; }
.nf .nf-metrics .nf-row-title { font-size: 12px; }
.nf .nf-metrics .nf-row-end > strong { font-size: 14px; }
.nf:has(.nf-tab[data-id="dre"][aria-selected="true"]) .nf-metrics > .nf-row:last-child { margin-top: 3px; padding-top: 17px; border-top: 1px solid #ddc8a0; }
.nf:has(.nf-tab[data-id="dre"][aria-selected="true"]) .nf-metrics > .nf-row:last-child .nf-row-end > strong { font-size: 18px; }
:is(.nf, dialog.nf-dialog) .nf-bar-list { display: grid; gap: 17px; }
:is(.nf, dialog.nf-dialog) .nf-bar-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; color: #62758a; font-size: 11px; }
:is(.nf, dialog.nf-dialog) .nf-bar-row > strong { color: var(--nf-navy); font-size: 11px; font-variant-numeric: tabular-nums; }
:is(.nf, dialog.nf-dialog) .nf-bar-track { grid-column: 1 / -1; overflow: hidden; height: 6px; border-radius: 8px; background: #edf1f5; }
:is(.nf, dialog.nf-dialog) .nf-bar-fill { height: 100%; min-width: 0; max-width: 100%; border-radius: inherit; background: var(--nf-navy); }
:is(.nf, dialog.nf-dialog) .nf-bar-row:nth-child(2n) .nf-bar-fill { background: var(--nf-gold); }
:is(.nf, dialog.nf-dialog) .nf-bar-row:nth-child(3n) .nf-bar-fill { background: #7893aa; }
.nf .nf-table-wrap, dialog.nf-dialog .nf-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.nf table.nf-table, dialog.nf-dialog table.nf-table { width: 100%; border-collapse: collapse; font-size: 11px; text-align: left; }
.nf .nf-table th, dialog.nf-dialog .nf-table th { padding: 9px 8px; border-bottom: 1px solid #dae3ec; color: #6c7d8e; font-size: 10px; font-weight: 700; white-space: nowrap; }
.nf .nf-table td, dialog.nf-dialog .nf-table td { padding: 11px 8px; border-bottom: 1px solid #edf1f5; color: var(--nf-text); vertical-align: top; }
.nf .nf-table th:first-child, .nf .nf-table td:first-child { padding-left: 0; }
.nf .nf-table th:last-child, .nf .nf-table td:last-child { padding-right: 0; text-align: right; font-variant-numeric: tabular-nums; }
.nf .nf-table tbody tr:last-child td, dialog.nf-dialog .nf-table tbody tr:last-child td { border-bottom: 0; }
.nf .nf-table tfoot td, dialog.nf-dialog .nf-table tfoot td { border-top: 1px solid #dae3ec; font-weight: 800; }
.nf .nf-details, dialog.nf-dialog .nf-details { display: grid; gap: 0; margin: 0; }
.nf .nf-details:has(> dt), dialog.nf-dialog .nf-details:has(> dt) { grid-template-columns: minmax(95px, .8fr) minmax(0, 1.2fr); gap: 0 15px; align-items: baseline; }
.nf .nf-details > dt, .nf .nf-details > dd, dialog.nf-dialog .nf-details > dt, dialog.nf-dialog .nf-details > dd { min-width: 0; margin: 0; padding: 9px 0; border-bottom: 1px solid #edf1f5; font-size: 12px; overflow-wrap: anywhere; }
.nf .nf-details > dt, dialog.nf-dialog .nf-details > dt { color: var(--nf-muted); }
.nf .nf-details > dd, dialog.nf-dialog .nf-details > dd { font-weight: 700; text-align: right; }
:is(.nf, dialog.nf-dialog) .nf-details > div, :is(.nf, dialog.nf-dialog) .nf-detail-line { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid #edf1f5; font-size: 12px; }
:is(.nf, dialog.nf-dialog) .nf-details > div:last-child, :is(.nf, dialog.nf-dialog) .nf-detail-line:last-child { border-bottom: 0; }
:is(.nf, dialog.nf-dialog) .nf-details dt, :is(.nf, dialog.nf-dialog) .nf-detail-line > span:first-child { color: var(--nf-muted); }
:is(.nf, dialog.nf-dialog) .nf-details dd, :is(.nf, dialog.nf-dialog) .nf-detail-line > strong { margin: 0; color: var(--nf-navy); font-weight: 700; text-align: right; overflow-wrap: anywhere; }
:is(.nf, dialog.nf-dialog) .nf-details > .nf-total, :is(.nf, dialog.nf-dialog) .nf-detail-line.nf-total { padding-top: 14px; border-top: 1px solid #dce4ec; }
:is(.nf, dialog.nf-dialog) .nf-details .nf-total dd, :is(.nf, dialog.nf-dialog) .nf-detail-line.nf-total strong { font-size: 19px; }
:is(.nf, dialog.nf-dialog) .nf-chart { width: 100%; height: auto; max-height: 210px; display: block; overflow: visible; }
:is(.nf, dialog.nf-dialog) .nf-chart text { font-family: inherit; font-size: 10px; fill: #8492a0; }
:is(.nf, dialog.nf-dialog) .nf-chart .nf-chart-grid { stroke: #edf1f5; stroke-width: 1; }
:is(.nf, dialog.nf-dialog) .nf-chart .nf-chart-line { fill: none; stroke: var(--nf-navy); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
:is(.nf, dialog.nf-dialog) .nf-chart .nf-chart-area { fill: #102b470c; }
.nf .nf-help, dialog.nf-dialog .nf-help { margin: 0; color: var(--nf-muted); font-size: 11px; line-height: 1.6; }
:is(.nf, dialog.nf-dialog) .nf-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.nf .nf-filters button { min-height: 42px; padding: 8px 11px; border: 1px solid var(--nf-line); border-radius: 8px; background: #fff; color: #6c7d8e; font-size: 11px; font-weight: 700; }
.nf .nf-filters button[aria-pressed="true"], .nf .nf-filters button.active { border-color: var(--nf-navy); background: var(--nf-navy); color: #fff; }
.nf .nf-search { width: 100%; min-height: 44px; padding: 11px 13px; border: 1px solid #d8e1e9; border-radius: 10px; background: #fff; color: var(--nf-text); font: inherit; font-size: 16px; }
.nf .nf-search::placeholder { color: #96a2af; font-size: 12px; }
.nf .nf-panel-body > label { display: grid; gap: 7px; margin: 0; color: #65798b; font-size: 11px; font-weight: 700; }
.nf .nf-panel-body > label > select { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #d8e1e9; border-radius: 9px; background: #fff; color: var(--nf-text); font: inherit; font-size: 16px; }

/* Native dialogs stay in the top layer; form controls remain comfortable on mobile. */
dialog.nf-dialog { width: min(92vw, 500px); max-width: calc(100vw - 24px); max-height: min(88vh, 850px); max-height: min(88dvh, 850px); margin: auto; padding: 22px; overflow: auto; overscroll-behavior: contain; border: 1px solid #dce4eb; border-radius: 18px; background: #fff; box-shadow: 0 24px 90px #07172b3b; }
dialog.nf-dialog::backdrop { background: #07172b8c; backdrop-filter: blur(3px); }
dialog.nf-dialog .nf-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 0 0 19px; padding-bottom: 17px; border-bottom: 1px solid var(--nf-line); }
dialog.nf-dialog .nf-dialog-head h2 { padding-top: 2px; color: var(--nf-navy); font-size: 21px; line-height: 1.25; font-weight: 800; letter-spacing: -.5px; }
dialog.nf-dialog .nf-dialog-head p { margin: 5px 0 0; color: var(--nf-muted); font-size: 12px; }
dialog.nf-dialog .nf-dialog-head > button { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0; margin: -4px -4px 0 0; border: 0; border-radius: 50%; background: var(--nf-surface); color: #6b7c8c; font: inherit; font-size: 24px; line-height: 1; }
dialog.nf-dialog > p { color: #6c7d8e; font-size: 12px; line-height: 1.6; }
dialog.nf-dialog .nf-form { display: grid; gap: 15px; margin: 0; }
dialog.nf-dialog > .nf-help:not(:empty) { margin: 0 0 17px; }
dialog.nf-dialog > .nf-help:empty { display: none; }
dialog.nf-dialog .nf-troco-money { position: relative; display: block; }
dialog.nf-dialog .nf-troco-money > span { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 14px; font-weight: 400; pointer-events: none; }
dialog.nf-dialog .nf-form .nf-troco-money input[name="opening"] { padding-left: 42px !important; }
dialog.nf-dialog details { overflow: hidden; border: 1px solid var(--nf-line); border-radius: 9px; }
dialog.nf-dialog details.nf-shop-picker { position: relative; overflow: visible; border: 0; border-radius: 0; background: transparent; }
dialog.nf-dialog details.nf-shop-picker > summary { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 10px 14px; border: 1px solid #ccd7df; border-radius: 14px; background: #fff; color: #17232d; font-size: 14px; font-weight: 400; box-shadow: none; }
dialog.nf-dialog details.nf-shop-picker > summary > span[aria-hidden] { font-size: 0; width: 8px; height: 8px; border-right: 2px solid #586773; border-bottom: 2px solid #586773; transform: rotate(45deg); margin: -4px 3px 0 12px; flex-shrink: 0; }
dialog.nf-dialog details.nf-shop-picker > .establishment-picker-options { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 30; margin-top: 0; padding: 6px; max-height: 160px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #dce4e9; border-radius: 14px; box-shadow: 0 6px 18px #17232d14; background: #fff; }
dialog.nf-dialog .nf-shop-picker .establishment-picker-options button { min-height: 42px; padding: 10px 12px; border: 0; border-radius: 10px; box-shadow: none; font-size: 14px; font-weight: 400; }
dialog.nf-dialog details > summary { min-height: 44px; padding: 12px; background: #f7f9fb; color: var(--nf-navy); font-size: 12px; font-weight: 700; cursor: pointer; }
dialog.nf-dialog details > pre { max-width: 100%; max-height: 270px; padding: 12px; margin: 0; overflow: auto; background: #fbfcfd; color: #52677c; font-family: ui-monospace, Consolas, monospace; font-size: 11px; line-height: 1.55; white-space: pre-wrap; word-break: break-word; overflow-wrap: anywhere; }
dialog.nf-dialog .nf-form label, .nf .nf-form label { display: grid; gap: 7px; min-width: 0; margin: 0; padding: 0; border: 0; color: #5a6e80; font-size: 12px; font-weight: 700; }
dialog.nf-dialog .nf-form input:not([type="checkbox"]):not([type="radio"]), dialog.nf-dialog .nf-form select, dialog.nf-dialog .nf-form textarea,
.nf .nf-form input:not([type="checkbox"]):not([type="radio"]), .nf .nf-form select, .nf .nf-form textarea {
  display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 45px; margin: 0; padding: 11px 12px; border: 1px solid #d7e0e8; border-radius: 9px; background-color: #fff; color: var(--nf-text); font-family: inherit; font-size: 16px; font-weight: 400; line-height: 1.35; box-shadow: none;
}
dialog.nf-dialog .nf-form select, .nf .nf-form select { padding-right: 28px; }
dialog.nf-dialog .nf-form input:disabled, dialog.nf-dialog .nf-form select:disabled { background-color: #f3f6f8; color: #8793a0; }
dialog.nf-dialog .nf-form textarea, .nf .nf-form textarea { min-height: 82px; resize: vertical; }
dialog.nf-dialog .nf-form input::placeholder, dialog.nf-dialog .nf-form textarea::placeholder { color: #a1abb5; }
dialog.nf-dialog .nf-form input[type="checkbox"], dialog.nf-dialog .nf-form input[type="radio"] { width: 18px; height: 18px; margin: 2px 0; accent-color: var(--nf-navy); }
dialog.nf-dialog .nf-form label.nf-check { display: flex; align-items: center; gap: 9px; min-height: 42px; }
dialog.nf-dialog .nf-form fieldset { display: grid; gap: 12px; min-width: 0; padding: 13px; margin: 0; border: 1px solid var(--nf-line); border-radius: 10px; }
dialog.nf-dialog .nf-form legend { padding: 0 5px; color: #6d7d8e; font-size: 11px; font-weight: 700; }
dialog.nf-dialog .nf-form-grid, .nf .nf-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 13px 10px; }
dialog.nf-dialog .nf-form-grid > .full, .nf .nf-form-grid > .full { grid-column: 1 / -1; }
dialog.nf-dialog .nf-dialog-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; margin: 19px 0 0; padding: 16px 0 0; border-top: 1px solid var(--nf-line); }
dialog.nf-dialog .nf-dialog-actions > button { min-width: 110px; margin: 0; }
dialog.nf-dialog .nf-dialog-actions .nf-cancel-record { background: #b34438; color: #fff; border-color: #b34438; }
dialog.nf-dialog .nf-dialog-error { margin: 0; padding: 10px 12px; border: 1px solid #efd1d1; border-radius: 8px; background: #fff5f5; color: #ad4949; font-size: 12px; }
dialog.nf-dialog .nf-form .nf-help { margin-top: -3px; font-weight: 400; }
.nf .nf-toast, dialog.nf-dialog .nf-toast { position: fixed; z-index: 1000; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; gap: 9px; width: max-content; max-width: calc(100vw - 44px); padding: 15px 21px; border: 1px solid #ffffff1f; border-radius: 13px; background: #102b47f5; color: #fff; box-shadow: 0 12px 35px #071a3240; font-size: 13px; font-weight: 700; text-align: center; transform: translate(-50%, -50%); animation: nf-toast-in .18s ease-out; pointer-events: none; }
.nf .nf-toast svg, dialog.nf-dialog .nf-toast svg { width: 19px; height: 19px; color: #e0c791; }
#nf-toast.nf-toast { position: fixed; z-index: 1000; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; gap: 9px; width: max-content; max-width: calc(100vw - 44px); margin: 0; padding: 15px 21px; border: 1px solid #ffffff1f; border-radius: 13px; background: #102b47f5; color: #fff; box-shadow: 0 12px 35px #071a3240; font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.5; text-align: center; transform: translate(-50%, -50%); animation: nf-toast-in .18s ease-out; pointer-events: none; }
#nf-toast.nf-toast[hidden] { display: none !important; }
@keyframes nf-toast-in { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }
dialog.nf-dialog .nf-period-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
dialog.nf-dialog .nf-period-presets .nf-button { min-width: 0; min-height: 42px; padding: 9px 8px; border-color: #dce4eb; background: #f8fafc; color: #65788a; font-size: 11px; font-weight: 700; line-height: 1.35; }
dialog.nf-dialog .nf-period-presets .nf-button[aria-pressed="true"] { border-color: var(--nf-navy); background: var(--nf-navy); color: #fff; box-shadow: 0 2px 6px #102b4715; }
dialog.nf-dialog .nf-period-note { display: block; margin: 0; padding: 10px 12px; border-left: 2px solid var(--nf-gold); border-radius: 0 7px 7px 0; background: #faf8f3; color: #8b734a; font-size: 11px; line-height: 1.55; }
dialog.nf-dialog .nf-period-note:empty { display: none; }
dialog.nf-dialog .nf-period-note strong { color: #6f552c; font-weight: 700; }
dialog.nf-dialog:has(.nf-period-presets) .nf-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
dialog.nf-dialog .nf-calendar, .nf .nf-calendar { display: grid; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--nf-line); border-radius: 12px; background: #fff; }
dialog.nf-dialog .nf-calendar-head, .nf .nf-calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--nf-navy); font-size: 14px; font-weight: 700; }
dialog.nf-dialog .nf-calendar-head h3, .nf .nf-calendar-head h3 { min-width: 0; margin: 0; color: var(--nf-navy); font-size: 14px; font-weight: 800; line-height: 1.4; letter-spacing: -.15px; text-align: center; }
dialog.nf-dialog .nf-calendar-head button, .nf .nf-calendar-head button { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0; border: 1px solid var(--nf-line); border-radius: 8px; background: #f8fafc; color: var(--nf-navy); font: inherit; }
dialog.nf-dialog .nf-calendar-head button svg, .nf .nf-calendar-head button svg { width: 17px; height: 17px; }
dialog.nf-dialog .nf-calendar-grid, .nf .nf-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
dialog.nf-dialog .nf-calendar-weekday, .nf .nf-calendar-weekday { display: grid; place-items: center; min-height: 27px; color: var(--nf-muted); font-size: 10px; font-weight: 700; text-align: center; }
dialog.nf-dialog .nf-calendar-day, .nf .nf-calendar-day { display: grid; place-items: center; min-width: 0; min-height: 42px; padding: 7px 2px; border: 1px solid transparent; border-radius: 8px; background: #fff; color: #516779; font: inherit; font-size: 12px; }
dialog.nf-dialog .nf-calendar-day.in-range, .nf .nf-calendar-day.in-range { border-radius: 5px; background: #edf2f7; color: var(--nf-navy); }
dialog.nf-dialog .nf-calendar-day.today, .nf .nf-calendar-day.today { border-color: var(--nf-gold); }
dialog.nf-dialog .nf-calendar-day.outside:not([aria-pressed="true"]), .nf .nf-calendar-day.outside:not([aria-pressed="true"]) { color: #aab6c1; }
dialog.nf-dialog .nf-calendar-day[aria-pressed="true"], .nf .nf-calendar-day[aria-pressed="true"] { border-color: var(--nf-navy); border-radius: 8px; background: var(--nf-navy); color: #fff; font-weight: 800; box-shadow: 0 2px 5px #102b4718; }
dialog.nf-dialog .nf-calendar-day.today[aria-pressed="true"], .nf .nf-calendar-day.today[aria-pressed="true"] { box-shadow: inset 0 0 0 1px var(--nf-gold); }
dialog.nf-dialog .nf-calendar-help, .nf .nf-calendar-help { margin: 0; padding: 5px 0 0; color: var(--nf-muted); font-size: 11px; line-height: 1.5; text-align: center; }
.nf .nf-loading { display: grid; place-items: center; gap: 12px; min-height: 220px; padding: 30px; color: var(--nf-muted); font-size: 12px; }
.nf .nf-loading::before { content: ""; width: 26px; height: 26px; border: 2px solid #e3e9ee; border-top-color: var(--nf-gold); border-radius: 50%; animation: nf-spin .8s linear infinite; }
@keyframes nf-spin { to { transform: rotate(360deg); } }
@media (hover: hover) {
  .nf button.nf-card:hover { border-color: #bbcbd9; box-shadow: 0 4px 15px #102b470a; transform: translateY(-1px); }
  .nf .nf-tab:not([aria-selected="true"]):hover { background: #e9eff4; color: var(--nf-navy); }
  .nf .nf-button:not(:disabled):hover, dialog.nf-dialog .nf-button:not(:disabled):hover { border-color: #b5c5d3; background: #f2f6f9; }
  .nf .nf-button.primary:not(:disabled):hover, dialog.nf-dialog .nf-button.primary:not(:disabled):hover { border-color: #214768; background: #214768; }
  .nf button.nf-row:hover { background: #f8fafc; }
  dialog.nf-dialog .nf-calendar-day:not([aria-pressed="true"]):hover { background: #edf2f7; }
  dialog.nf-dialog .nf-period-presets .nf-button[aria-pressed="true"]:not(:disabled):hover { border-color: #214768; background: #214768; color: #fff; }
}
@media (min-width: 450px) {
  dialog.nf-dialog .nf-period-presets { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 390px) {
  .nf { gap: 15px; }
  .nf .nf-header h2 { font-size: 23px; }
  :is(.nf, dialog.nf-dialog) .nf-status { padding: 5px 7px; font-size: 9px; }
  :is(.nf, dialog.nf-dialog) .nf-hero { padding: 20px 17px 17px; }
  .nf .nf-tab { gap: 5px; padding: 8px 5px; font-size: 10px; }
  .nf .nf-tab svg { width: 15px; height: 15px; }
  .nf .nf-card { padding: 13px 11px; }
  :is(.nf, dialog.nf-dialog) .nf-panel-head, :is(.nf, dialog.nf-dialog) .nf-panel-body { padding: 13px; }
  dialog.nf-dialog { padding: 18px; }
  dialog.nf-dialog .nf-form-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .nf button, dialog.nf-dialog button { transition: none; }
  .nf .nf-toast, dialog.nf-dialog .nf-toast, #nf-toast.nf-toast { animation: none; }
  .nf .nf-loading::before { animation: none; }
}
@media print {
  body.nf-print { background: #fff; }
  body.nf-print > :not(#new-finance-screen):not(:has(#new-finance-screen)),
  body.nf-print :has(#new-finance-screen) > :not(#new-finance-screen):not(:has(#new-finance-screen)),
  body.nf-print #new-finance-screen > :not(.nf) { display: none; }
  body.nf-print #app-shell, body.nf-print #new-finance-screen { width: 100%; max-width: none; min-height: 0; padding: 0; margin: 0; border: 0; box-shadow: none; }
  body.nf-print #new-finance-screen .nf { display: grid; width: 100%; padding: 0; color: #111; background: #fff; box-shadow: none; }
  body.nf-print .nf .nf-tabs, body.nf-print .nf .nf-mode, body.nf-print .nf .nf-status,
  body.nf-print .nf .nf-actions, body.nf-print .nf .nf-panel-body > label,
  body.nf-print .nf button:not(.nf-card):not(.nf-period-button) { display: none; }
  body.nf-print .nf .nf-period-button { min-height: 0; padding: 0; border: 0; border-radius: 0; background: #fff; color: #111; font-size: 11pt; }
  body.nf-print .nf .nf-period-button::after { display: none; }
  body.nf-print .nf .nf-panel { break-inside: avoid; border-radius: 0; box-shadow: none; }
  body.nf-print .nf .nf-hero { border-color: #dce4eb; background: #fff; color: #111; box-shadow: none; }
  body.nf-print .nf .nf-hero-meta, body.nf-print .nf .nf-hero .nf-kicker { color: #555; }
  body.nf-print .nf .nf-hero::before, body.nf-print .nf .nf-hero::after { display: none; }
  body.nf-print .nf .nf-table-wrap { overflow: visible; }
  body.nf-print .nf .nf-table { font-size: 10pt; }
}
dialog.nf-dialog .nf-reconcile-actions { display:flex; justify-content:space-between; gap:12px; flex-wrap:nowrap; }
dialog.nf-dialog .nf-reconcile-actions button { min-height:42px; padding:10px 14px; border-radius:12px; font-weight:600; border:1px solid #cbd5df; background:#f8fafc; color:#334155; cursor:pointer; transition:background .15s, box-shadow .15s; }
dialog.nf-dialog .nf-reconcile-actions button[data-confirm-method] { background:#13845d; border-color:#13845d; color:#fff; box-shadow:0 2px 4px #123c2420; margin-left:auto; }
dialog.nf-dialog .nf-reconcile-actions button:hover { background:#eaf0f5; }
dialog.nf-dialog .nf-reconcile-actions button[data-confirm-method]:hover { background:#0d6b4a; }
dialog.nf-dialog .nf-reconcile-actions button:focus-visible { outline:3px solid #79b7ff; outline-offset:2px; }
dialog.nf-dialog .nf-cash-break { margin-top:20px; padding:18px; border:1px solid #dbe3ea; border-radius:14px; background:#f8fafc; }
dialog.nf-dialog .nf-cash-break h3 { margin:0 0 18px; }
dialog.nf-dialog .nf-cash-break label { display:block; margin-bottom:16px; }
dialog.nf-dialog .nf-save-difference { display:block; margin:16px 0 0 auto; padding:11px 16px; border:0; border-radius:12px; background:#13845d; color:white; font-weight:600; cursor:pointer; }
dialog.nf-dialog .nf-save-difference:disabled { opacity:.5; cursor:wait; }
dialog.nf-dialog .nf-check-mark { display:inline-flex; align-items:center; justify-content:center; flex:0 0 32px; height:32px; border-radius:50%; background:#e2f5eb; color:#13845d; font-size:24px; font-weight:800; margin:auto; line-height:1; }
