/* Kundenportal - eigene Ergänzungen zu Bootstrap 5 */
:root {
  --portal-primary: #0b5ed7;
  --portal-dark: #12263f;
}

body { min-height: 100vh; display: flex; flex-direction: column; background: #f4f6fa; }
main { flex: 1 0 auto; }
footer { flex-shrink: 0; }

.navbar-portal { background: var(--portal-dark); }
.navbar-portal .navbar-brand { font-weight: 600; letter-spacing: .02em; }

/* Kacheln der Startseite */
.tile {
  display: block; height: 100%; text-decoration: none; color: inherit;
  border: 0; border-radius: .75rem; box-shadow: 0 1px 3px rgba(0,0,0,.08);
  transition: transform .12s ease, box-shadow .12s ease;
}
.tile:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0,0,0,.14); color: inherit; }
.tile .tile-icon { font-size: 2rem; line-height: 1; }
.tile .tile-value { font-size: 1.9rem; font-weight: 600; line-height: 1.1; }
.tile .tile-accent { height: 5px; border-radius: .75rem .75rem 0 0; }

/* Jahresauswahl */
.year-pills .nav-link { border-radius: 2rem; padding: .35rem .95rem; color: var(--portal-dark); }
.year-pills .nav-link.active { background: var(--portal-primary); color: #fff; }
.year-pills .badge { font-weight: 500; }

/* Tabellen */
.table-portal th { white-space: nowrap; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: #5b6b80; }
.table-portal td.num, .table-portal th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.year-heading { border-bottom: 2px solid var(--portal-primary); padding-bottom: .25rem; }

.login-card { max-width: 26rem; margin: 6vh auto 0; border: 0; border-radius: .9rem; box-shadow: 0 8px 28px rgba(0,0,0,.12); }

@media print {
  .navbar, footer, .no-print { display: none !important; }
  body { background: #fff; }
}
