:root{color-scheme:light;--ink:#192b41;--navy:#102139;--navy2:#1b304b;--sub:#64748b;--border:#e1e8f0;--bg:#f3f6fb;--gold:#ffba39;--green:#16845c;--red:#bb4055;--white:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}a{color:#22538b;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;background:white;border:1px solid #ccd7e3;border-radius:10px;color:var(--ink);min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid #f5bc63;outline-offset:1px;border-color:#d89833}input[type="month"],input[type="date"]{min-width:155px}label{font-size:13px;font-weight:650;color:#334559}textarea{resize:vertical;min-height:100px}.small{font-size:13px}.muted{color:var(--sub)}.required{color:var(--red)}
.app{min-height:calc(100vh - 32px);display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:var(--navy);padding:26px 18px;color:#e5edf8;display:flex;flex-direction:column;gap:32px}.brand{display:flex;align-items:center;gap:10px;color:#fff}.brand:hover{text-decoration:none}.brand-logo{display:inline-flex;align-items:center;justify-content:center;flex:none;height:44px;min-width:44px;border-radius:13px;background:var(--gold);color:#0e2038;font-size:14px;font-weight:900;letter-spacing:.4px}.brand-logo.big{margin:auto;height:60px;width:60px;font-size:19px}.brand strong{display:block;font-size:18px;letter-spacing:-.4px}.brand small{display:block;margin-top:2px;font-size:11px;color:#9dafc5}.sidebar nav{display:grid;gap:4px}.nav-link{display:block;color:#c7d5e7;padding:13px 15px;border-radius:11px;font-size:14px;font-weight:600}.nav-link:hover,.nav-link.current{background:#273c58;color:#fff;text-decoration:none}.nav-link.current{box-shadow:inset 3px 0 0 var(--gold)}.sidebar-bottom{margin-top:auto;border-top:1px solid #324963;padding-top:20px}.user-info{font-size:13px;font-weight:700;margin-bottom:14px}.user-info small{display:block;font-size:12px;font-weight:400;color:#9dafc5;margin-top:3px;word-wrap:break-word}.logout{background:none;border:0;color:#d6e3f4;padding:7px 0}.logout:hover{text-decoration:underline}
.content{width:min(100%,1430px);margin:0 auto;padding:38px 38px 60px;min-width:0}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}.top h1{font-size:clamp(24px,3vw,32px);letter-spacing:-.8px;margin:4px 0 0}.eyebrow{letter-spacing:2px;font-weight:800;color:#d59220;font-size:10px;margin:0}.top-date{font-size:13px;color:var(--sub);white-space:nowrap}.site-footer{background:var(--navy);color:#b6c6dd;text-align:center;font-size:11px;padding:10px}
.toolbar,.toolbar-actions,.actions,.month-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar{justify-content:space-between;margin:0 0 18px}.toolbar p{margin:0}.month-filter{gap:9px}.month-filter label{white-space:nowrap}.month-filter input{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 16px;border:1px solid transparent;border-radius:10px;background:var(--gold);color:#182942;font-weight:800;font-size:13px;line-height:1.2;text-decoration:none;min-height:44px}.btn:hover{background:#f4ac2c;text-decoration:none}.btn.secondary{background:#e8eef5;color:#25405f}.btn.secondary:hover{background:#d9e4ee}.btn.subtle{background:var(--navy2);color:#fff}.btn.subtle:hover{background:#2a4565}.btn.danger{background:#fbebee;color:#b03045}.btn.danger:hover{background:#f5d5dc}.btn.wide{width:100%}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.metrics-three{margin-bottom:22px}.metric{background:#fff;border:1px solid var(--border);border-radius:15px;padding:20px 22px;min-width:0;box-shadow:0 2px 8px #25406008}.metric p{font-size:13px;color:var(--sub);margin:0 0 12px}.metric strong{font-size:clamp(19px,2vw,27px);font-weight:850;white-space:nowrap;letter-spacing:-.6px}.metric small{display:block;margin-top:9px;font-size:11px;color:#7d8da2}.metric.featured{background:var(--navy);border-color:var(--navy);color:#fff}.metric.featured p,.metric.featured small{color:#adbed2}.metric.success strong{color:var(--green)}.metric.expense strong{color:var(--red)}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.panel{background:#fff;border:1px solid var(--border);border-radius:15px;padding:22px;margin-bottom:20px;box-shadow:0 2px 10px #263e5808;min-width:0}.panel h2{font-size:18px;letter-spacing:-.3px;margin:0 0 17px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-head h2{margin:0}.section-head a{font-size:12px}.category-row{padding:10px 0}.category-row>div{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px}.category-row strong{white-space:nowrap}.category-row progress{width:100%;height:10px;accent-color:#f0ac38;border-radius:10px;margin-top:9px}.recent-item{padding:11px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}.recent-item:last-child{border:0}.recent-item small{display:block;color:var(--sub);font-size:11px;margin-bottom:5px}.recent-item strong{font-size:13px}.recent-item .amount{white-space:nowrap;font-size:13px;font-weight:800}.amount.income{color:var(--green)}.amount.expense{color:var(--red)}.amount.transfer{color:#4561ab}.empty{padding:18px 0;text-align:center}
.table-panel{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:14px 17px;border-bottom:1px solid #e8edf3;text-align:left;vertical-align:middle}thead th{background:#f9fbfe;color:#5e718a;font-size:11px;letter-spacing:.2px}tbody tr:last-child td{border-bottom:0}td strong{display:block}td small{display:block;color:var(--sub);font-size:11px;margin-top:5px}td.right,th.right{text-align:right}.nowrap{white-space:nowrap}.danger-link{color:var(--red)}.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.filters label{flex:1;min-width:120px}.filters button{align-self:end}.filters .clear{padding:12px 0}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border);padding:14px 20px;font-size:12px}.pager>div{display:flex;gap:8px}.form-panel{max-width:820px}.intro{margin:0 0 22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.full{grid-column:1/-1}.form-grid .actions{margin-top:6px}.stack{display:grid;gap:16px}.stack .actions{justify-content:flex-start}.category-edit{display:flex;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid var(--border)}.category-edit:last-child{border:0}.category-name{flex:1;min-width:120px}.category-name small{display:block;color:var(--sub);font-size:11px;margin-bottom:2px}.category-active{width:130px;flex:none}.category-layout{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)}.alert{background:#e2f6eb;border:1px solid #b5e8ca;color:#155a40;padding:14px 16px;border-radius:10px;font-size:13px;margin-bottom:20px}.alert.error{background:#fff0f1;border-color:#f3c9d0;color:#a02b42}
.login-body{background:linear-gradient(130deg,#101f35,#253d60);min-height:100vh;display:grid;place-items:center;padding:20px}.login-box{width:min(100%,450px);padding:35px;background:#fff;border-radius:19px;box-shadow:0 16px 60px #0003}.login-heading{text-align:center;margin-bottom:30px}.login-heading h1{font-size:26px;margin:14px 0 5px}.login-heading p{color:var(--sub);font-size:13px;margin:0}.login-box .small{text-align:center;margin-top:20px}.login-box h1{color:var(--ink)}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics .featured{grid-column:1/-1}.content{padding:30px 22px}.two-col{grid-template-columns:1fr}.category-layout{grid-template-columns:1fr}}
@media(max-width:750px){.app{display:block}.sidebar{padding:14px;gap:14px}.sidebar nav{display:flex;gap:5px;overflow-x:auto;white-space:nowrap}.nav-link{padding:9px 12px}.sidebar-bottom{margin-top:0;padding-top:8px;border-top:1px solid #324963;display:flex;align-items:center;justify-content:space-between;gap:12px}.user-info{margin:0;font-size:11px}.user-info small{display:none}.brand-logo{height:36px;min-width:36px}.brand strong{font-size:16px}.brand small{font-size:10px}.content{padding:24px 14px 44px}.top-date{display:none}.metrics{grid-template-columns:1fr}.metrics .featured{grid-column:auto}.toolbar{align-items:stretch}.toolbar-actions{width:100%}.toolbar-actions .btn{flex:1}.panel{padding:18px}.table-panel{padding:0}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.metric strong{font-size:26px}.category-edit{display:grid;grid-template-columns:1fr auto}.category-name{grid-column:1/-1}.category-active{width:auto}.login-box{padding:24px}.top h1{font-size:25px}}

/* FBK Manager 1.1 — Raporty finansowe */
.report-filters .filters{align-items:end}.report-filters .filters label{min-width:170px}.report-filters .filters button{white-space:nowrap}
.report-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:22px 0 17px}.report-heading h2{font-size:clamp(20px,2.6vw,27px);margin:4px 0 6px}.report-heading .muted{margin:0}.report-kicker{text-transform:uppercase;letter-spacing:.14em;color:#be8022;font-weight:800;font-size:10px;margin:0}.report-actions{display:flex;gap:8px;flex-wrap:wrap}
.report-metrics{margin-bottom:20px}.report-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:#425770}.report-legend span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.report-legend .legend-income::before{background:#16845c}.report-legend .legend-expense::before{background:#bb4055}.income-category progress{accent-color:#16845c}
.report-chart-scroll{overflow-x:auto}.report-chart-table{min-width:630px}.report-chart-table td,.report-chart-table th{padding:11px 12px}.report-chart-table .report-plot{width:40%;min-width:180px}.report-plot progress{display:block;width:100%;height:11px;margin:2px 0;border:0;accent-color:#16845c}.report-plot .plot-expense{accent-color:#bb4055}.report-chart-table .report-active-month{background:#fff8e8}.report-chart-table tfoot th{background:#f1f5fa;border-top:2px solid #cbd5e1;color:#192b41}
.report-transfer-numbers{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin-bottom:12px}.report-transfers p:last-child{margin-bottom:0}.report-table-heading{padding:19px 20px 0}.report-disclaimer{line-height:1.55;margin:0 0 20px}
@media(max-width:750px){.report-filters .filters label{min-width:100%;flex-basis:100%}.report-filters .filters button{width:100%}.report-actions .btn{flex:1}.report-heading{align-items:stretch}.report-chart-table .report-plot{min-width:145px}.report-table-heading{padding:18px 18px 0}}
@media print{
  @page{size:A4; margin:13mm}
  :root{color-scheme:light}
  body{background:#fff;color:#122039;font-size:11px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .app{display:block;min-height:0}.sidebar,.site-footer,.no-print,.top-date,.report-actions{display:none!important}
  .content{max-width:none;width:100%;padding:0}.top{margin-bottom:8mm}.top h1{font-size:21px}.report-heading{margin:0 0 5mm}
  .report-heading h2{font-size:19px}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:5mm}
  .metric{padding:13px;box-shadow:none;border-color:#d5dce5;break-inside:avoid}.metric strong{font-size:16px}.metric p,.metric small{font-size:10px}.metric.featured{background:#102139!important;color:white!important}
  .two-col{grid-template-columns:1fr 1fr;gap:8px}.panel{padding:13px;margin:0 0 5mm;box-shadow:none;border-color:#d5dce5;break-inside:avoid}.panel h2{font-size:14px}.category-row{padding:5px 0}.category-row progress{height:7px}
  .report-chart-table{min-width:0}.report-chart-table td,.report-chart-table th{padding:4px 6px;font-size:9px}.report-chart-table .report-plot{min-width:110px}.report-plot progress{height:8px}
  .report-transfer-numbers{gap:10px}.report-disclaimer{font-size:9px}.report-transfers{break-inside:avoid}
}


/* FBK Manager 1.3 — nowy pulpit (style ograniczone do .fbk-dashboard) */
.fbk-dashboard{--dash-navy:#102139;--dash-gold:#ffba39;--dash-border:#e1e8f0}
.fbk-dash-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.fbk-period{display:grid;gap:9px;min-width:min(100%,320px)}
.fbk-period label{font-weight:750;color:#475569}
.fbk-period-controls{display:flex;gap:9px;align-items:center}
.fbk-period-controls input{margin:0;min-width:0;flex:1}
.fbk-hero{background:linear-gradient(115deg,#102139 0%,#1d3757 100%);border-radius:22px;padding:30px 32px;color:white;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.85fr);gap:25px;margin-bottom:32px;box-shadow:0 14px 30px #10213918}
.fbk-kicker{display:block;color:#c9891d;font-size:10px;font-weight:850;letter-spacing:1.7px}
.fbk-hero .fbk-kicker{color:#ffca6b}
.fbk-hero-primary p{font-size:15px;color:#d1ddeb;margin:14px 0 8px}
.fbk-hero-primary>strong{display:block;font-size:clamp(30px,3.3vw,48px);font-weight:850;letter-spacing:-1.6px;line-height:1.15;overflow-wrap:anywhere}
.fbk-hero-primary small{display:block;color:#a9bed5;font-size:12px;margin-top:15px;line-height:1.5}
.fbk-hero-accounts{display:grid;gap:10px;align-content:center}
.fbk-hero-account{padding:15px 18px;border:1px solid #ffffff28;background:#ffffff0d;border-radius:13px}
.fbk-hero-account span{display:block;color:#bfd0e3;font-size:12px;margin-bottom:7px}
.fbk-hero-account strong{font-size:clamp(18px,2vw,25px);letter-spacing:-.6px;overflow-wrap:anywhere}
.fbk-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 15px}
.fbk-section-title h2{margin:5px 0 0;font-size:21px;letter-spacing:-.5px}
.fbk-period-tag{padding:7px 11px;background:#e6edf5;border-radius:9px;color:#526981;font-weight:750;font-size:12px}
.fbk-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px}
.fbk-stat{background:white;border:1px solid var(--dash-border);border-radius:17px;padding:22px 23px;box-shadow:0 4px 14px #213d5909;min-width:0}
.fbk-stat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#64748b;font-size:13px;font-weight:650}
.fbk-stat-symbol{display:grid;place-items:center;flex:none;background:#eff3f8;border-radius:10px;width:32px;height:32px;color:#536b86;font-size:19px}
.fbk-stat-income .fbk-stat-symbol{background:#e5f6ee;color:#16845c}
.fbk-stat-expense .fbk-stat-symbol{background:#fff0f2;color:#bb4055}
.fbk-stat>strong{display:block;margin:15px 0 10px;font-size:clamp(22px,2.4vw,32px);font-weight:850;letter-spacing:-.9px;overflow-wrap:anywhere}
.fbk-stat-income>strong,.fbk-positive{color:#16845c}
.fbk-stat-expense>strong,.fbk-negative{color:#bb4055}
.fbk-stat small{display:block;font-size:11px;color:#8391a4;line-height:1.5}
.fbk-dashboard .panel{border-radius:17px;box-shadow:0 4px 14px #213d5909}
.fbk-dashboard .category-row progress{accent-color:#ffba39}
@media(max-width:1100px){.fbk-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fbk-hero{grid-template-columns:1fr}.fbk-hero-accounts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.fbk-dash-toolbar{align-items:stretch}.fbk-period{width:100%}.fbk-hero{padding:23px 20px;border-radius:17px}.fbk-hero-accounts,.fbk-stat-grid{grid-template-columns:1fr}.fbk-stat{padding:19px}.fbk-stat-grid{gap:11px;margin-bottom:26px}.fbk-section-title h2{font-size:19px}.fbk-dash-toolbar .toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fbk-dash-toolbar .toolbar-actions .btn:last-child{grid-column:1/-1}}
@media print{.fbk-dash-toolbar{display:none}.fbk-hero{background:#102139!important;color:white!important;break-inside:avoid}.fbk-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fbk-stat{break-inside:avoid}}

/* FBK Manager 1.4 — Dashboard PRO: dopracowanie gęstości, kategorii i operacji */
.fbk-dashboard .fbk-hero{padding:24px 28px;gap:20px;margin-bottom:24px;border-radius:19px}
.fbk-dashboard .fbk-hero-primary p{margin:9px 0 5px}
.fbk-dashboard .fbk-hero-primary>strong{font-size:clamp(29px,3vw,43px)}
.fbk-dashboard .fbk-hero-primary small{margin-top:10px}
.fbk-dashboard .fbk-hero-account{padding:11px 15px}
.fbk-dashboard .fbk-section-title{margin-bottom:11px}
.fbk-dashboard .fbk-section-title h2{font-size:20px}
.fbk-dashboard .fbk-stat-grid{gap:13px;margin-bottom:24px}
.fbk-dashboard .fbk-stat{padding:17px 20px;border-radius:15px}
.fbk-dashboard .fbk-stat>strong{margin:11px 0 7px;font-size:clamp(22px,2.25vw,29px)}
.fbk-dashboard .fbk-stat-symbol{height:29px;width:29px}
.fbk-dashboard .category-row progress{appearance:none;-webkit-appearance:none;border:0;width:100%;height:9px;overflow:hidden;background:#f0f3f7;border-radius:999px;accent-color:#ffba39}
.fbk-dashboard .category-row progress::-webkit-progress-bar{background:#f0f3f7;border-radius:999px}
.fbk-dashboard .category-row progress::-webkit-progress-value{background:#ffba39;border-radius:999px}
.fbk-dashboard .category-row progress::-moz-progress-bar{background:#ffba39;border-radius:999px}
.fbk-dashboard .fbk-recent-item{gap:16px;align-items:center}
.fbk-dashboard .fbk-recent-details{min-width:0}
.fbk-dashboard .fbk-recent-details>strong{overflow-wrap:anywhere;line-height:1.4}
.fbk-dashboard .fbk-recent-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;color:#75859b;font-size:11px;margin-bottom:6px}
.fbk-dashboard .fbk-recent-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:none}
.fbk-dashboard .fbk-tx-badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:750;background:#eaf0f7;color:#506783}
.fbk-dashboard .fbk-tx-income{background:#e6f6ee;color:#13744e}
.fbk-dashboard .fbk-tx-expense{background:#fff0f2;color:#a9344b}
.fbk-dashboard .fbk-tx-transfer{background:#eef1ff;color:#4d5caa}
@media(max-width:750px){
 .fbk-dashboard .fbk-hero{padding:20px 18px;margin-bottom:23px}
 .fbk-dashboard .fbk-hero-account{padding:11px 13px}
 .fbk-dashboard .fbk-stat-grid{gap:10px}
 .fbk-dashboard .fbk-stat{padding:16px}
 .fbk-dashboard .fbk-recent-side{gap:5px}
}


/* FBK Manager 1.5 — oficjalne logo FBK, bez zmian w logice aplikacji */
.sidebar .brand-logo,
.login-heading .brand-logo {
  background: #fff url('/assets/logo-fbk.png') center / contain no-repeat;
  color: transparent;
  font-size: 0;
  letter-spacing: 0;
  border-radius: 10px;
  width: 98px;
  min-width: 98px;
  height: 54px;
  overflow: hidden;
}
.sidebar .brand {gap: 12px;}
.sidebar .brand strong {font-size: 17px;}
.sidebar .brand small {font-size: 11px;}
.login-heading .brand-logo.big {
  width: 185px;
  min-width: 185px;
  height: 96px;
  margin: 0 auto;
  background-color: #fff;
}
@media(max-width:750px) {
  .sidebar .brand-logo {width: 82px; min-width: 82px; height: 46px;}
  .sidebar .brand strong {font-size: 15px;}
  .sidebar .brand small {font-size: 10px;}
}

/* FBK Manager 1.6 — korekta brandingu i wykres na pulpicie */
.sidebar .brand{gap:10px;align-items:center}
.sidebar .brand-logo{width:76px;min-width:76px;height:58px;border-radius:9px;background-size:contain}
.sidebar .fbk-brand-copy{min-width:0;flex:1}
.sidebar .fbk-brand-copy strong{font-size:15px;line-height:1.2;letter-spacing:-.4px;white-space:nowrap}
.sidebar .fbk-brand-copy small{font-size:10px;line-height:1.3;margin-top:5px;overflow-wrap:normal}
.fbk-dashboard .fbk-chart-panel{margin-bottom:26px;padding:24px}
.fbk-dashboard .fbk-chart-legend{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-bottom:16px;color:#50647d;font-size:12px;font-weight:700}
.fbk-dashboard .fbk-chart-legend span{display:inline-flex;align-items:center;gap:7px}
.fbk-dashboard .fbk-chart-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}
.fbk-dashboard .fbk-legend-income{background:#16845c}
.fbk-dashboard .fbk-legend-expense{background:#c33f59}
.fbk-dashboard .fbk-chart-scroll{overflow-x:auto;padding:6px 0 0}
.fbk-dashboard .fbk-chart-grid{display:grid;grid-template-columns:repeat(12,minmax(48px,1fr));gap:8px;min-width:650px;border-bottom:1px solid #dbe5ef;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#eef2f7 calc(25% - 1px),#eef2f7 25%);height:230px}
.fbk-dashboard .fbk-chart-month{height:100%;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;align-items:stretch}
.fbk-dashboard .fbk-chart-bars{height:196px;display:flex;gap:4px;align-items:flex-end;justify-content:center;padding:0 5px}
.fbk-dashboard .fbk-chart-bar{width:18px;max-width:45%;min-height:0;border-radius:5px 5px 0 0;transition:opacity .15s}
.fbk-dashboard .fbk-chart-bar:hover{opacity:.75}
.fbk-dashboard .fbk-chart-income{background:#16845c}
.fbk-dashboard .fbk-chart-expense{background:#c33f59}
.fbk-dashboard .fbk-chart-label{text-align:center;height:30px;padding-top:8px;color:#65758b;font-size:10px;white-space:nowrap}
.fbk-dashboard .fbk-chart-details{margin-top:18px;color:#40566f;font-size:13px}
.fbk-dashboard .fbk-chart-details summary{cursor:pointer;font-weight:700}
.fbk-dashboard .fbk-chart-table-wrap{overflow-x:auto;margin-top:10px}
.fbk-dashboard .fbk-chart-table-wrap table{width:100%;border-collapse:collapse}
.fbk-dashboard .fbk-chart-table-wrap th,.fbk-dashboard .fbk-chart-table-wrap td{padding:9px 12px;border-bottom:1px solid #e4eaf2;text-align:left}
@media(max-width:750px){.sidebar .brand-logo{width:74px;min-width:74px;height:53px}.sidebar .fbk-brand-copy strong{font-size:15px}.fbk-dashboard .fbk-chart-panel{padding:17px}.fbk-dashboard .fbk-chart-grid{min-width:630px}}

/* FBK Manager 1.7.2: trendy miesięczne na kafelkach */
.fbk-dashboard .fbk-trend{display:inline-flex;align-items:center;gap:5px;width:fit-content;max-width:100%;margin-top:10px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:750;line-height:1.4;overflow-wrap:anywhere}
.fbk-dashboard .fbk-trend-good{background:#e5f6ee;color:#116d4b}
.fbk-dashboard .fbk-trend-bad{background:#fff0f2;color:#a72f47}
.fbk-dashboard .fbk-trend-flat{background:#eef2f7;color:#566b83}

/* 1.7.3: wyraźne, semantyczne kolory porównania miesiąc do miesiąca */
.fbk-dashboard .fbk-stat .fbk-trend{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;width:fit-content;max-width:100%;margin-top:10px;padding:6px 10px;border-radius:9px;font-size:12px;font-weight:750;line-height:1.5}
.fbk-dashboard .fbk-stat .fbk-trend-good{background:#e5f6ee;color:#116d4b}
.fbk-dashboard .fbk-stat .fbk-trend-bad{background:#fff0f2;color:#a72f47}
.fbk-dashboard .fbk-stat .fbk-trend-flat{background:#eef2f7;color:#566b83}
.fbk-dashboard .fbk-stat .fbk-trend-arrow{font-size:16px;line-height:1;font-weight:900;flex-shrink:0}

/* FBK Manager 1.7.4 — wyłącznie lifting wizualny */
/* 1. Jeden wskaźnik kierunku: trend w miesięcznych kafelkach. */
.fbk-dashboard .fbk-stat-head{min-height:24px}
.fbk-dashboard .fbk-trend{letter-spacing:.005em}
/* 2. Czytelniejszy wykres SVG bez zmiany danych ani skali. */
.fbk-dashboard .fbk-chart-panel{padding:20px 22px;margin-bottom:20px}
.fbk-dashboard .fbk-chart-legend{margin-bottom:10px}
.fbk-dashboard .fbk-chart-details{margin-top:12px}
.fbk-dashboard .fbk-chart-details summary:hover{color:#102139}
/* 3. Niższy panel środków i bardziej zwarte sekcje. */
.fbk-dashboard .fbk-hero{padding:19px 25px;gap:18px;margin-bottom:20px}
.fbk-dashboard .fbk-hero-primary p{margin:6px 0 4px}
.fbk-dashboard .fbk-hero-primary small{margin-top:8px}
.fbk-dashboard .fbk-hero-account{padding:9px 14px}
.fbk-dashboard .fbk-hero-account span{margin-bottom:5px}
.fbk-dashboard .fbk-stat-grid{margin-bottom:20px}
.fbk-dashboard .fbk-section-title{margin-bottom:9px}
.fbk-dashboard .fbk-dash-toolbar{margin-bottom:16px}
/* 4. Analiza kosztów nie rozciąga się do wysokości listy operacji. */
.fbk-dashboard .fbk-analysis-grid{align-items:start;gap:16px}
.fbk-dashboard .fbk-analysis-grid>.panel{margin-bottom:0;padding:20px 22px}
.fbk-dashboard .fbk-category-panel .section-head{margin-bottom:12px}
.fbk-dashboard .fbk-category-panel .category-row{padding:7px 0}
/* 5. Subtelne reakcje na najechanie i dostępne stany focus. */
@media (hover:hover){
 .fbk-dashboard .fbk-stat,.fbk-dashboard .fbk-hero-account,.fbk-dashboard .fbk-analysis-grid>.panel{transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}
 .fbk-dashboard .fbk-stat:hover,.fbk-dashboard .fbk-analysis-grid>.panel:hover{border-color:#c9d7e6;box-shadow:0 8px 22px #213d5912;transform:translateY(-1px)}
 .fbk-dashboard .fbk-hero-account:hover{background:#ffffff16;border-color:#ffffff40}
 .sidebar .nav-link:hover{transition:background-color .16s ease}
 .fbk-dashboard .btn{transition:background-color .16s ease,box-shadow .16s ease}
 .fbk-dashboard .btn:hover{box-shadow:0 3px 10px #10213918}
}
.fbk-dashboard a:focus-visible,.fbk-dashboard button:focus-visible,.sidebar a:focus-visible{outline:3px solid #ffb936;outline-offset:3px}
@media(max-width:750px){
 .fbk-dashboard .fbk-hero{padding:18px;margin-bottom:18px}
 .fbk-dashboard .fbk-chart-panel{padding:16px}
 .fbk-dashboard .fbk-analysis-grid>.panel{padding:17px}
}
@media(prefers-reduced-motion:reduce){
 .fbk-dashboard .fbk-stat,.fbk-dashboard .fbk-hero-account,.fbk-dashboard .fbk-analysis-grid>.panel,.fbk-dashboard .btn{transition:none!important;transform:none!important}
}
@media print{.fbk-dashboard .fbk-stat,.fbk-dashboard .fbk-analysis-grid>.panel{box-shadow:none!important;transform:none!important}}

/* FBK Manager 1.7.5 — konta administratorów */
.fbk-admin-panel{margin-bottom:20px}
.fbk-admin-panel h2{margin:0 0 12px}
.fbk-admin-panel>.muted{margin:0 0 18px}
.fbk-admin-list{margin-top:12px}
.fbk-admin-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #e3eaf2}
.fbk-admin-row strong{color:#112641}
.fbk-admin-row .muted{font-size:12px;margin-top:5px}
.fbk-admin-self{display:inline-block;border-radius:999px;background:#e6f5ee;color:#116b4a;font-size:11px;padding:3px 8px;font-weight:700}
.fbk-admin-last{text-align:right}
.fbk-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fbk-admin-form label{display:grid;gap:6px;font-weight:650;font-size:13px}
.fbk-admin-form input{width:100%;min-width:0}
.fbk-admin-wide{grid-column:1/-1}
@media(max-width:680px){.fbk-admin-form{grid-template-columns:1fr}.fbk-admin-row{align-items:start;flex-direction:column}.fbk-admin-last{text-align:left}}

/* FBK Manager 1.7.6 — przypięte menu boczne podczas przewijania.
   Zmiana wyłącznie wizualna, bez JS/PHP i bez wpływu na finanse. */
@media (min-width:751px) {
  .app > .sidebar {
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #50627b transparent;
  }
}
@media (max-width:750px) {
  .app > .sidebar {
    position: static;
    top: auto;
    height: auto;
    min-height: 0;
    overflow: visible;
  }
}
@media print {
  .app > .sidebar { position: static !important; height: auto !important; overflow: visible !important; }
}
