/* Portal klienta — styl minimalny; własny plik, bez zewnętrznych zasobów (CSP default-src 'self'). */
body { font-family: system-ui, sans-serif; margin: 0; color: #1d2733; background: #f6f8fa; }
.pasek { display: flex; justify-content: space-between; align-items: center; padding: .6rem 1rem; background: #12304a; color: #fff; }
.wyloguj { display: flex; gap: .75rem; align-items: center; margin: 0; }
main { max-width: 60rem; margin: 1.5rem auto; padding: 0 1rem; }
.logowanie { display: grid; gap: .75rem; max-width: 22rem; }
.logowanie label { display: grid; gap: .25rem; }
.blad { color: #a40000; font-weight: 600; }
.logo { color: #fff; text-decoration: none; }
table { border-collapse: collapse; width: 100%; background: #fff; }
th, td { text-align: left; padding: .5rem .75rem; border-bottom: 1px solid #dde3ea; }
th { background: #eaf0f6; }
/* Status bramki: kolor NIE jest jedynym nośnikiem informacji — zawsze jest też tekst. */
.status { padding: .1rem .5rem; border-radius: .75rem; font-size: .9rem; background: #e5e9ee; }
.status-ok { background: #d8f0dc; }
.status-ostrzezenie { background: #fff0c2; }
.status-alarm { background: #f8d0d0; font-weight: 600; }
.zakladki { display: flex; gap: .25rem; margin: 1rem 0 .5rem; }
.zakladki a { padding: .35rem .9rem; border: 1px solid #b8c4d0; border-radius: .4rem; text-decoration: none; color: #12304a; background: #fff; }
.zakladki a.aktywna { background: #12304a; color: #fff; }
.filtr { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin-bottom: .75rem; }
.filtr label { display: grid; gap: .2rem; }
.podpowiedz { color: #55657a; font-size: .9rem; margin-top: 0; }
.podsumowanie { background: #fff; border: 1px solid #dde3ea; padding: .1rem 1rem; margin-bottom: 1rem; }
.wykres { position: relative; height: 20rem; margin-bottom: 1rem; background: #fff; }
td.liczba { text-align: right; font-variant-numeric: tabular-nums; }
tr.niepelny td { background: #fff8e1; }
.ostrzezenie { color: #8a4b00; }
