/* Darkenz Finanse – samodzielny, responsywny widget */
.dfb-app { --dfb-ink:#16273e;--dfb-muted:#68778a;--dfb-line:#e2e9f1;--dfb-green:#0a8f6a;--dfb-bg:#f6f9fc;--dfb-blue:#1452a0; color:var(--dfb-ink);font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:15px;line-height:1.48;max-width:1180px;margin:26px auto 36px;isolation:isolate;box-sizing:border-box }
.dfb-app *, .dfb-app *::before,.dfb-app *::after {box-sizing:border-box}
.dfb-app [hidden] {display:none!important}
.dfb-app h2,.dfb-app h3,.dfb-app p {margin:0;padding:0;line-height:1.4;color:inherit}
.dfb-app button,.dfb-app input,.dfb-app select {font:inherit;letter-spacing:normal;box-shadow:none}
.dfb-app button {cursor:pointer;transition:background-color .18s,border-color .18s,transform .18s}
.dfb-app button:focus-visible,.dfb-app input:focus-visible,.dfb-app select:focus-visible {outline:3px solid #78bded;outline-offset:2px}
.dfb-app .dfb-hero {background:linear-gradient(118deg,#0d2441 0%,#173b62 64%,#0c6d70 130%);border:1px solid #223b57;color:#fff;border-radius:20px;padding:32px 36px;display:flex;gap:22px;align-items:center;justify-content:space-between}
.dfb-app .dfb-kicker {font-size:11px;font-weight:800;color:#8fe2d2;letter-spacing:.15em;display:block;margin-bottom:12px}
.dfb-app .dfb-hero h2 {color:white;font-size:34px;font-weight:780;letter-spacing:-.03em;line-height:1.16;margin:0 0 9px}
.dfb-app .dfb-hero p {color:#d2e5f1;font-size:15px}
.dfb-app .dfb-month-switch {background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;padding:8px;border-radius:14px;min-width:272px;flex-shrink:0;position:relative;gap:6px}
.dfb-app .dfb-month-switch>div {min-width:0;flex:1;text-align:center}
.dfb-app .dfb-month-switch button {border:0;background:rgba(255,255,255,.12);color:#fff;font-size:25px;width:34px;height:36px;border-radius:8px;padding:0;line-height:1}
.dfb-app .dfb-month-switch button:hover {background:rgba(255,255,255,.27)}
.dfb-app .dfb-month-switch strong {font-size:14px;text-transform:capitalize;color:#fff;display:block;white-space:nowrap}
.dfb-app .dfb-month-label {display:block;color:#add8df;font-size:11px}
.dfb-app .dfb-month-switch input[type=month] {display:block;position:absolute;bottom:-36px;right:0;width:156px;height:28px;min-height:0;border:1px solid var(--dfb-line);border-radius:7px;background:#fff;color:#17314e;font-size:12px;padding:3px 5px}
.dfb-app .dfb-privacy {font-size:12px;color:#435e73;background:#e9f6f4;border:1px solid #c4e8e1;border-radius:10px;margin:12px 0 18px;padding:10px 14px}
.dfb-app .dfb-alert {background:#fff1ed;border:1px solid #edbdb6;color:#933d30;border-radius:10px;padding:12px;margin:10px 0}
.dfb-app .dfb-cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}
.dfb-app .dfb-stat {padding:20px 20px 19px;background:#fff;border:1px solid var(--dfb-line);border-radius:14px;box-shadow:0 3px 15px rgba(28,56,90,.035);min-width:0}
.dfb-app .dfb-stat span {display:block;color:#64758c;font-size:13px;font-weight:650;margin-bottom:11px}
.dfb-app .dfb-stat strong {display:block;color:#123456;font-size:clamp(19px,2.3vw,26px);letter-spacing:-.04em;font-weight:800;overflow-wrap:anywhere;line-height:1.25}
.dfb-app .dfb-stat small {display:block;font-size:11px;color:var(--dfb-muted);margin-top:8px}
.dfb-app .dfb-stat[data-card=balance] {border-top:3px solid var(--dfb-green)}
.dfb-app .dfb-stat[data-card=after] {border-top:3px solid var(--dfb-blue)}
.dfb-app .dfb-stat.dfb-negative strong {color:#bf3a34}
.dfb-app .dfb-columns {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0, .97fr);gap:16px;align-items:start}
.dfb-app .dfb-side {display:flex;flex-direction:column;gap:16px;min-width:0}
.dfb-app .dfb-panel {background:#fff;border:1px solid var(--dfb-line);border-radius:15px;padding:23px;box-shadow:0 4px 18px rgba(28,56,90,.035);min-width:0}
.dfb-app .dfb-panel-heading {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}
.dfb-app .dfb-panel-heading h3 {font-size:20px;font-weight:780;color:#18334f;line-height:1.23;letter-spacing:-.025em;margin-top:4px}
.dfb-app .dfb-eyebrow {font-weight:800;font-size:10px;letter-spacing:.15em;color:#0e897a}
.dfb-app .dfb-entry form {display:flex;flex-direction:column;gap:15px}
.dfb-app label {color:#2d4259;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;margin:0}
.dfb-app input:not([type=checkbox]),.dfb-app select {min-width:0;width:100%;color:#22374d;background:#fff;border:1px solid #cad7e4;border-radius:8px;padding:10px 12px;font-size:14px;height:44px;min-height:44px;margin:0}
.dfb-app input::placeholder {color:#98a3b1}
.dfb-app .dfb-two {display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.dfb-app .dfb-check {display:flex;flex-direction:row;align-items:flex-start;gap:9px;line-height:1.5;cursor:pointer;font-weight:550}
.dfb-app .dfb-check input {margin:3px 0 0;width:17px;height:17px;accent-color:#0a8368;flex-shrink:0}
.dfb-app .dfb-help {color:#748395;font-size:12px;line-height:1.55;margin:0}
.dfb-app .dfb-primary {background:#087c6c;border:1px solid #087c6c;color:#fff;font-weight:780;border-radius:9px;padding:13px 18px;min-height:46px;width:100%}
.dfb-app .dfb-primary:hover {background:#086856}
.dfb-app .dfb-text-btn {border:0!important;background:none!important;font-size:12px!important;color:#1862a7!important;padding:0!important}
.dfb-app .dfb-toast {min-height:1px;color:#087c6c;font-size:13px;font-weight:650}
.dfb-app .dfb-toast.dfb-error {color:#b72e2a}
.dfb-app .dfb-breakdown {display:flex;flex-direction:column;gap:16px}
.dfb-app .dfb-category-row {display:flex;flex-direction:column;gap:6px}
.dfb-app .dfb-category-head {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
.dfb-app .dfb-category-head span {color:#46596c;overflow-wrap:anywhere}
.dfb-app .dfb-category-head strong {color:#233b55;font-weight:720;white-space:nowrap}
.dfb-app .dfb-category-track,.dfb-app .dfb-track {height:9px;border-radius:50px;background:#e9eff4;overflow:hidden}
.dfb-app .dfb-category-fill {height:100%;border-radius:50px;background:#3d88b2;max-width:100%}
.dfb-app .dfb-category-row:nth-child(4n+2) .dfb-category-fill {background:#10a18b}
.dfb-app .dfb-category-row:nth-child(4n+3) .dfb-category-fill {background:#d7a454}
.dfb-app .dfb-category-row:nth-child(4n) .dfb-category-fill {background:#8777bd}
.dfb-app .dfb-progress-text {display:flex;justify-content:space-between;gap:8px;margin-top:16px;margin-bottom:8px;align-items:center}
.dfb-app .dfb-progress-text strong {font-size:18px;color:#0b816e}
.dfb-app .dfb-progress-text span {font-size:12px;color:#66768b}
.dfb-app .dfb-track {margin-bottom:18px;height:10px}
.dfb-app .dfb-track-fill {height:100%;width:0;background:#0b9980;border-radius:50px;transition:width .25s}
.dfb-app .dfb-side .dfb-help {margin-top:10px}
.dfb-app .dfb-ledger,.dfb-app .dfb-tools {margin-top:17px}
.dfb-app .dfb-ledger .dfb-panel-heading {margin-bottom:12px}
.dfb-app .dfb-ledger .dfb-panel-heading select {width:200px;min-height:39px;height:39px}
.dfb-app .dfb-list {width:100%}
.dfb-app .dfb-ledger-row {display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e7ecf2}
.dfb-app .dfb-ledger-row:last-child {border-bottom:0}
.dfb-app .dfb-ledger-icon {width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:800;background:#faebe7;color:#b95e42;font-size:17px}
.dfb-app .dfb-ledger-icon.dfb-in {background:#e3f7ed;color:#0d8656}
.dfb-app .dfb-ledger-middle {min-width:0}
.dfb-app .dfb-ledger-middle strong {font-size:13px;display:block;overflow-wrap:anywhere;color:#2c3d51;font-weight:730}
.dfb-app .dfb-ledger-middle small {display:block;color:#718297;font-size:12px;margin-top:3px}
.dfb-app .dfb-money {color:#bc4d3e;white-space:nowrap;font-size:14px}
.dfb-app .dfb-money.dfb-positive {color:#0b8962}
.dfb-app .dfb-row-actions {display:flex;gap:5px}
.dfb-app .dfb-row-actions button {border:1px solid #dfe7f1;border-radius:7px;background:#fff;color:#365472;padding:7px 9px;font-size:11px;font-weight:650;min-height:32px}
.dfb-app .dfb-row-actions button:hover {background:#f0f5fa}
.dfb-app .dfb-row-actions .dfb-delete {color:#b64538}
.dfb-app .dfb-empty {padding:18px;border-radius:10px;background:#f6f9fc;font-size:13px;color:#6a7d92}
.dfb-app .dfb-muted {font-size:13px;font-weight:400;color:#8593a5}
.dfb-app .dfb-tools .dfb-panel-heading {margin-bottom:15px}
.dfb-app .dfb-tool-buttons {display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.dfb-app .dfb-tool-buttons button {border:1px solid #c8d8e6;padding:10px 12px;border-radius:8px;background:#f8fbff;color:#245077;font-size:12px;font-weight:720}
.dfb-app .dfb-tool-buttons button:hover {background:#e8f3fd}
.dfb-app .dfb-tool-buttons .dfb-danger-btn {color:#a34036;border-color:#ebccc7;background:#fffafa}
.dfb-app .dfb-visually-hidden {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dfb-app .dfb-footer-note {font-size:12px;color:#708095;text-align:center;padding:19px 12px 4px;line-height:1.6}
@media (max-width:900px) { .dfb-app .dfb-cards {grid-template-columns:repeat(2,minmax(0,1fr))} .dfb-app .dfb-columns {grid-template-columns:minmax(0,1fr)} }
@media (max-width:620px) {
 .dfb-app {font-size:14px;margin:12px auto 26px}
 .dfb-app .dfb-hero {padding:22px 17px 42px;display:block;border-radius:14px}
 .dfb-app .dfb-hero h2 {font-size:29px}
 .dfb-app .dfb-hero p {font-size:13px}
 .dfb-app .dfb-month-switch {margin-top:15px;width:100%;min-width:0}
 .dfb-app .dfb-month-switch input[type=month] {right:0;bottom:-35px}
 .dfb-app .dfb-cards {gap:8px}
 .dfb-app .dfb-stat {padding:14px 11px;border-radius:10px}
 .dfb-app .dfb-stat span {font-size:12px;margin-bottom:8px}
 .dfb-app .dfb-stat strong {font-size:19px}
 .dfb-app .dfb-stat small {font-size:10px}
 .dfb-app .dfb-panel {padding:17px 14px;border-radius:12px}
 .dfb-app .dfb-panel-heading h3 {font-size:18px}
 .dfb-app .dfb-ledger-row {grid-template-columns:30px minmax(0,1fr) auto;gap:8px}
 .dfb-app .dfb-ledger-icon {width:29px;height:32px}
 .dfb-app .dfb-ledger-middle strong {font-size:12px}
 .dfb-app .dfb-money {font-size:12px}
 .dfb-app .dfb-row-actions {grid-column:2/4;justify-content:flex-end;margin-top:-4px}
 .dfb-app .dfb-ledger .dfb-panel-heading {flex-wrap:wrap}
 .dfb-app .dfb-ledger .dfb-panel-heading select {width:100%}
 .dfb-app .dfb-privacy {font-size:11px}
}
@media (prefers-reduced-motion:reduce) { .dfb-app * {transition:none!important;scroll-behavior:auto!important} }

/* 1.2: dodatki są schowane domyślnie, nie ingerują w główny formularz */
.dfb-app .dfb-addons {margin-top:17px}
.dfb-app .dfb-addons-disclosure {border:1px solid #cad8e6;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 18px rgba(28,56,90,.025)}
.dfb-app .dfb-addons-summary {list-style:none;cursor:pointer;display:flex;align-items:center;gap:15px;padding:20px 23px;color:#18334f;background:linear-gradient(100deg,#f7fbff,#edf8f7)}
.dfb-app .dfb-addons-summary::-webkit-details-marker {display:none}
.dfb-app .dfb-addons-summary:focus-visible {outline:3px solid #78bded;outline-offset:-3px}
.dfb-app .dfb-addons-summary-icon {flex:0 0 42px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#d9efeb;color:#087a6d;font-size:23px;font-weight:800}
.dfb-app .dfb-addons-summary-copy {display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.dfb-app .dfb-addons-summary-copy strong {font-weight:800;font-size:17px}
.dfb-app .dfb-addons-summary-copy small {font-weight:450;font-size:12px;color:#607688;line-height:1.4}
.dfb-app .dfb-addons-chevron {font-size:26px;font-weight:650;color:#126a75;transition:transform .18s}
.dfb-app .dfb-addons-disclosure[open] .dfb-addons-chevron {transform:rotate(180deg)}
.dfb-app .dfb-addons-inner {padding:21px 23px 24px;border-top:1px solid #e1ebf0}
.dfb-app .dfb-addons-intro {font-size:13px;color:#657a8b;line-height:1.55;margin-bottom:17px}
.dfb-app .dfb-addons-tabs {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.dfb-app .dfb-addons-tabs button {background:#f6f9fb;color:#36536a;border:1px solid #cad9e2;border-radius:11px;padding:10px 14px;font-size:13px;font-weight:700;min-height:42px}
.dfb-app .dfb-addons-tabs button[aria-pressed=true] {background:#0b766c;color:#fff;border-color:#0b766c}
.dfb-app [data-extra-panel] h3 {font-size:18px;font-weight:800;color:#173450;margin-bottom:9px}
.dfb-app [data-extra-panel]>.dfb-help {margin-bottom:16px}
.dfb-app .dfb-extra-highlight,.dfb-app .dfb-extra-warning {border-radius:9px;padding:13px 14px;margin:12px 0 14px;font-size:13px;line-height:1.5}
.dfb-app .dfb-extra-highlight {background:#eef9f5;border:1px solid #cfe9dd;color:#185b4c}
.dfb-app .dfb-extra-warning {background:#fff6e8;border:1px solid #efd4a4;color:#79501c}
.dfb-app .dfb-calendar-line {border-bottom:1px solid #e8eff4;display:flex;align-items:center;gap:13px;padding:11px 0}
.dfb-app .dfb-calendar-line:last-child {border-bottom:0}
.dfb-app .dfb-calendar-date {display:flex;align-items:center;justify-content:center;background:#e8f1fa;color:#18486c;border-radius:10px;flex:0 0 43px;height:43px;font-size:17px;font-weight:800}
.dfb-app .dfb-calendar-description {flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dfb-app .dfb-calendar-description strong {font-size:13px;color:#254257;overflow-wrap:anywhere}
.dfb-app .dfb-calendar-description small {font-size:12px;color:#76879a}
.dfb-app .dfb-calendar-amount {font-size:14px;color:#24455d;white-space:nowrap}
.dfb-app .dfb-forecast-scroll {overflow-x:auto;max-width:100%}
.dfb-app .dfb-forecast-table {border-collapse:collapse;width:100%;min-width:540px;font-size:13px}
.dfb-app .dfb-forecast-table th,.dfb-app .dfb-forecast-table td {text-align:right;border-bottom:1px solid #e4ecf2;padding:10px 9px;vertical-align:middle;color:#304961}
.dfb-app .dfb-forecast-table th:first-child {text-align:left;text-transform:capitalize}
.dfb-app .dfb-forecast-table thead th {background:#f3f8fb;color:#23445d;font-weight:800}
.dfb-app .dfb-forecast-table .dfb-forecast-negative {color:#bd3e34;font-weight:800}
.dfb-app .dfb-debt-inputs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dfb-app .dfb-debt-result {padding:18px;margin:16px 0;background:#eff7f7;border:1px solid #d3e5e8;border-radius:12px;color:#1b4057;font-size:13px}
.dfb-app .dfb-debt-result .dfb-debt-big {font-size:26px;display:block;color:#116d63;line-height:1.25;margin:6px 0}
.dfb-app .dfb-debt-result small {font-size:12px;color:#526a7c}
@media (max-width:700px) {.dfb-app .dfb-debt-inputs {grid-template-columns:1fr} .dfb-app .dfb-addons-inner {padding:16px} .dfb-app .dfb-addons-summary {padding:16px;gap:10px} .dfb-app .dfb-addons-summary-icon {width:36px;height:36px;flex-basis:36px}.dfb-app .dfb-addons-summary-copy strong{font-size:15px}}

@media (max-width:620px) {
 .dfb-app .dfb-forecast-scroll {overflow:visible}
 .dfb-app .dfb-forecast-table {display:block;min-width:0;width:100%}
 .dfb-app .dfb-forecast-table thead {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .dfb-app .dfb-forecast-table tbody {display:grid;gap:9px}
 .dfb-app .dfb-forecast-table tbody tr {display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;background:#f8fafc;border:1px solid #e0eaf1;padding:12px;border-radius:10px}
 .dfb-app .dfb-forecast-table tbody th,.dfb-app .dfb-forecast-table tbody td {border:0;text-align:left;padding:0;display:flex;flex-direction:column;align-items:flex-start;font-size:13px}
 .dfb-app .dfb-forecast-table tbody th {grid-column:1/-1;color:#16435f;font-size:14px}
 .dfb-app .dfb-forecast-table tbody td::before {content:attr(data-label);font-size:10px;font-weight:700;color:#6b8196;margin-bottom:2px}
 .dfb-app .dfb-forecast-table tbody td:last-child {grid-column:1/-1;background:#ebf3f5;padding:9px 11px;border-radius:7px}
}
