/* SPN banking dashboard: original information and permissions, clearer hierarchy. */
#section-dashboard { --bank-accent:#13785b; --bank-surface:#fff; --bank-ink:#142d3d; --bank-line:#dce6eb; --bank-muted:#5c7080; }
html[data-theme="dark"] #section-dashboard { --bank-accent:#70dec0; --bank-surface:#142330; --bank-ink:#edf5f8; --bank-line:#2b4050; --bank-muted:#afc1cc; }
#section-dashboard .pro-dashboard-head { align-items:center; margin:12px 0 24px; }
#section-dashboard .pro-dashboard-head h2 { font-size:30px; letter-spacing:-.04em; margin:10px 0 8px; }
#section-dashboard .pro-dashboard-head p { font-size:13px; color:var(--bank-muted); }
#section-dashboard .pro-live-line { color:var(--bank-accent); font-size:10px; letter-spacing:.02em; }
#section-dashboard .connection-warning { color:#bd740d; }
#section-dashboard .connection-warning .pro-live-dot { background:#e5a130; box-shadow:none; }
#section-dashboard .pro-kpi-grid { gap:16px!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; margin-bottom:20px; }
#section-dashboard .pro-kpi { min-height:145px; border-radius:18px; padding:22px; border:1px solid var(--bank-line); background:var(--bank-surface)!important; box-shadow:0 3px 12px #102b3d04; }
#section-dashboard .pro-kpi:before { display:none; }
#section-dashboard .pro-kpi-top { font-size:12px; text-transform:none; letter-spacing:0; color:var(--bank-muted); }
#section-dashboard .pro-kpi-body { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:space-between; margin-top:18px; }
#section-dashboard .pro-kpi strong { font-size:clamp(23px,2.1vw,34px); font-weight:700; font-variant-numeric:tabular-nums; color:var(--bank-ink); letter-spacing:-.045em; }
#section-dashboard .pro-kpi small { margin-top:12px; font-size:11px; line-height:1.5; white-space:normal; color:var(--bank-muted); }
#section-dashboard .pro-kpi .pro-spark { width:78px; height:30px; }
#section-dashboard .pro-kpi:first-child { background:#123747!important; border-color:#123747; }
#section-dashboard .pro-kpi:first-child .pro-kpi-top,#section-dashboard .pro-kpi:first-child small { color:#c7e2e4; }
#section-dashboard .pro-kpi:first-child strong { color:#fff; }
#section-dashboard .pro-kpi:nth-child(2) strong { color:var(--bank-accent); }
#section-dashboard .pro-kpi:nth-child(3) strong { color:#be4b52; }
html[data-theme="dark"] #section-dashboard .pro-kpi:nth-child(3) strong { color:#ff9298; }
#section-dashboard .pro-kpi:nth-child(n+4) { min-height:119px; padding-top:17px; padding-bottom:17px; }
#section-dashboard .pro-kpi:nth-child(n+4) strong { font-size:23px; }
#section-dashboard .pro-kpi:nth-child(n+4) .pro-spark { display:none; }
#section-dashboard .pro-panel { border-radius:18px; padding:22px!important; border-color:var(--bank-line); background:var(--bank-surface)!important; box-shadow:0 3px 12px #102b3d04; }
#section-dashboard .panel-head h2 { text-transform:none; font-size:16px; letter-spacing:-.02em; color:var(--bank-ink); }
#section-dashboard .panel-head p { color:var(--bank-muted); font-size:11px; line-height:1.5; }
#section-dashboard .pro-actions-panel { margin-bottom:20px; }
#section-dashboard .pro-action-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
#section-dashboard .pro-action { flex-direction:column; justify-content:flex-start; text-align:center; min-height:108px; padding:16px 10px; border-radius:14px; background:transparent; border:1px solid var(--bank-line); gap:10px; }
#section-dashboard .pro-action:hover { border-color:var(--bank-accent); background:#13815e0a; transform:translateY(-1px); }
#section-dashboard .pro-action>span { color:var(--bank-accent); background:#13957512; border-radius:12px; width:38px; height:38px; }
#section-dashboard .pro-action strong { font-size:12px; color:var(--bank-ink); line-height:1.4; }
#section-dashboard .pro-action small { display:none; }
#section-dashboard .pro-dashboard-grid-top { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important; gap:20px!important; margin-bottom:20px; }
#section-dashboard .pro-cash-panel { grid-column:auto!important; }
#section-dashboard .pro-dashboard-grid-bottom { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:20px!important; margin-bottom:20px; }
#section-dashboard .pro-dashboard-grid-bottom>.pro-panel { grid-column:auto!important; }
#section-dashboard .pro-dashboard-grid-bottom>.pro-analysis-panel { grid-column:1/-1!important; }
#section-dashboard .pro-recent-list { max-height:320px; overflow-y:auto; }
#section-dashboard .pro-recent-item { padding:14px 0; background:transparent!important; border:none; border-bottom:1px solid var(--bank-line); border-radius:0; }
#section-dashboard .pro-recent-main strong { font-size:12px; }
#section-dashboard .pro-recent-main small,#section-dashboard .pro-recent-side small { font-size:10px; }
#section-dashboard .pro-recent-side strong { font-size:13px; font-variant-numeric:tabular-nums; }
#section-dashboard .pro-month-card { padding:14px; background:transparent; border-color:var(--bank-line); }
#section-dashboard .pro-month-card small,#section-dashboard .pro-month-card small b { font-size:10px; }
#section-dashboard .pro-month-card>strong { font-size:16px; }
#section-dashboard .pro-monthly-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
#section-dashboard .pro-monthly-year-total { font-size:11px; }
#section-dashboard .pro-dashboard-status { margin-top:18px; background:transparent; font-size:10px; }
#systemUpdatesOpenV21 { width:100%; margin-top:14px; min-height:40px; font-size:12px; white-space:normal; }
.update-banner { align-items:center; justify-content:space-between; gap:12px; margin:12px 0; }
.update-banner:not(.hidden) { display:flex; }
.updates-dialog { padding:24px; width:min(640px,94vw); }
.update-version-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:22px 0; }
.update-version-grid>div { padding:14px; border:1px solid var(--line); border-radius:12px; }
.update-version-grid span,.update-version-grid strong { display:block; }
.update-version-grid span { font-size:11px; color:var(--muted); }
.update-version-grid strong { margin-top:8px; font-size:22px; }
#updateStatusV21 { font-size:14px; line-height:1.6; }
.update-help,.updates-dialog>small { font-size:12px; line-height:1.7; color:var(--muted); }
.updates-dialog .button-row { flex-wrap:wrap; }
@media(max-width:1100px) {
  #section-dashboard .pro-action-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #section-dashboard .pro-kpi { padding:16px; }
  #section-dashboard .pro-monthly-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:820px) {
  #section-dashboard .pro-dashboard-head { margin:12px 0 18px; }
  #section-dashboard .pro-dashboard-head h2 { font-size:26px; }
  #section-dashboard .pro-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
  #section-dashboard .pro-kpi:first-child { grid-column:1/-1; min-height:142px; padding:22px; }
  #section-dashboard .pro-kpi:first-child strong { font-size:36px; }
  #section-dashboard .pro-kpi:last-child { grid-column:1/-1; }
  #section-dashboard .pro-kpi strong,#section-dashboard .pro-kpi:nth-child(n+4) strong { font-size:21px; white-space:normal; overflow-wrap:anywhere; }
  #section-dashboard .pro-kpi { min-height:133px; padding:16px; }
  #section-dashboard .pro-kpi .pro-spark { display:none; }
  #section-dashboard .pro-kpi-top { font-size:11px; align-items:flex-start; }
  #section-dashboard .pro-kpi small { font-size:10px; }
  #section-dashboard .pro-dashboard-grid-top,#section-dashboard .pro-dashboard-grid-bottom { grid-template-columns:minmax(0,1fr)!important; gap:14px!important; }
  #section-dashboard .pro-panel { padding:18px!important; }
  #section-dashboard .pro-history-panel { order:-1; }
  #section-dashboard .pro-action { padding:14px 6px; min-height:105px; }
  #section-dashboard .pro-action strong { font-size:11px; }
  #section-dashboard .pro-monthly-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #section-dashboard .pro-monthly-year-total { justify-content:flex-start; gap:10px; }
  .update-version-grid { grid-template-columns:1fr; gap:8px; }
  .update-version-grid>div { display:flex; justify-content:space-between; align-items:center; }
  .update-version-grid strong { margin:0; font-size:18px; }
  .update-banner:not(.hidden) { align-items:flex-start; flex-direction:column; }
}

/* V8.5.28: financial meaning wins over layout position and theme. */
[data-financial-sign="positive"] { color:#147b46!important; }
[data-financial-sign="negative"] { color:#b52d3e!important; }
[data-financial-sign="neutral"] { color:var(--muted,#607080)!important; }
html[data-theme="dark"] [data-financial-sign="positive"] { color:#6ce5ab!important; }
html[data-theme="dark"] [data-financial-sign="negative"] { color:#ff9298!important; }
#section-dashboard .pro-kpi:first-child [data-financial-sign="positive"] { color:#75edb7!important; }
#section-dashboard .pro-kpi:first-child [data-financial-sign="negative"] { color:#ff9298!important; }
#section-dashboard .pro-kpi:first-child [data-financial-sign="neutral"] { color:#c7e2e4!important; }
