:root{--tlo:#f6f7f9;--karta:#fff;--tekst:#1f2933;--cicho:#6b7280;--linia:#e5e7eb;--akcent:#2563eb;--dzis:#fff7e6;--dzis-ramka:#f59e0b;--zalegle:#fdecec;--zalegle-ramka:#dc2626;--blisko:#b45309}*{box-sizing:border-box}body{color:var(--tekst);background:var(--tlo);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px;line-height:1.5}h1{margin:0 0 .25rem;font-size:1.7rem}h2{color:var(--cicho);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem;font-size:1.1rem}.naglowek{background:var(--karta);border-bottom:1px solid var(--linia);align-items:center;gap:1.5rem;padding:.75rem 1.25rem;display:flex}.logo{font-weight:700}.naglowek nav{flex:1;gap:.5rem;display:flex}.naglowek nav button{font:inherit;cursor:pointer;color:var(--tekst);background:0 0;border:none;border-radius:8px;padding:.4rem .8rem}.naglowek nav button.aktywny{background:var(--tlo);font-weight:600}.kto{color:var(--cicho);align-items:center;gap:.75rem;display:flex}.ekran{max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.karta{background:var(--karta);border:1px solid var(--linia);border-radius:12px;margin:1rem 0;padding:1rem 1.25rem}.karta.dzis{background:var(--dzis);border-color:var(--dzis-ramka)}.karta.zalegle{background:var(--zalegle);border-color:var(--zalegle-ramka)}ul.terminy,ul.oceny{margin:0;padding:0;list-style:none}ul.terminy li{border-top:1px solid var(--linia);padding:.5rem 0}ul.terminy li:first-child{border-top:none}ul.terminy label{cursor:pointer;flex-direction:row;align-items:baseline;gap:.75rem;display:flex}ul.terminy input[type=checkbox]{flex:none;align-self:center;width:1.3rem;height:1.3rem}.rodzaj{flex:none;font-weight:600}.tresc{flex:1}li.zrobione .tresc,li.zrobione .rodzaj{color:var(--cicho);text-decoration:line-through}ul.oceny li{align-items:baseline;gap:.75rem;padding:.35rem 0;display:flex}.ocena{text-align:center;background:var(--tlo);border-radius:6px;min-width:2.2rem;padding:0 .3rem;font-weight:700}ul.oceny li span:nth-child(2){flex:1}.cicho{color:var(--cicho);font-size:.9rem}.data-dzis{color:var(--cicho);margin-top:0}.stopka{margin-top:2rem}.info{text-align:center;color:var(--cicho);padding:3rem 1rem}.blad{color:var(--zalegle-ramka)}.logowanie{max-width:400px;padding-top:4rem}.logowanie form{flex-direction:column;gap:1rem;display:flex}.logowanie label{flex-direction:column;gap:.3rem;font-weight:600;display:flex}.logowanie input{font:inherit;border:1px solid var(--linia);border-radius:8px;padding:.6rem .8rem}button{font:inherit;border:1px solid var(--akcent);background:var(--akcent);color:#fff;cursor:pointer;border-radius:8px;padding:.6rem 1.2rem}button:disabled{opacity:.6;cursor:default}button.cichy{color:var(--cicho);border-color:var(--linia);background:0 0;padding:.3rem .7rem;font-size:.9rem}.podtytul{margin-top:0}.odstep{margin-top:2rem}.odstep-maly{margin-top:1rem}button.karta.przedmiot{text-align:left;width:100%;color:var(--tekst);background:var(--karta);border:1px solid var(--linia);font:inherit;cursor:pointer;flex-direction:column;gap:.3rem;display:flex}button.karta.przedmiot:hover{border-color:var(--akcent)}.przedmiot-gora{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.przedmiot-nazwa{font-size:1.1rem;font-weight:700}.srednia{white-space:nowrap;text-align:right;font-size:1.2rem;font-weight:700}.srednia small{color:var(--cicho);font-size:.75rem;font-weight:400;display:block}.przedmiot-oceny{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.trend{color:var(--cicho);margin-left:.4rem;font-size:.9rem}.przedmiot-termin{color:var(--akcent);font-size:.95rem;font-weight:600}.przedmiot-termin.blisko,.cicho.blisko{color:var(--blisko)}.srednia-duza{margin:0;font-size:1.1rem}.opis-wielolinijkowy{white-space:pre-line}ul.oceny li.zrobione .opis-wielolinijkowy{color:var(--cicho);text-decoration:line-through}h3{margin:1rem 0 .4rem;font-size:1rem}.przelacznik{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.przelacznik button{background:var(--karta);color:var(--tekst);border-color:var(--linia)}.przelacznik button.aktywny{background:var(--akcent);color:#fff;border-color:var(--akcent)}ul.wiadomosci,ul.przeglad-ocen{margin:0;padding:0;list-style:none}ul.wiadomosci li{border-top:1px solid var(--linia)}ul.wiadomosci li:first-child{border-top:none}button.wiersz{text-align:left;width:100%;color:var(--tekst);background:0 0;border:none;border-radius:0;flex-direction:column;padding:.5rem 0;display:flex}button.wiersz:hover{color:var(--akcent)}button.wiersz.nieprzeczytana .wiersz-gora>span:first-child{font-weight:700}.wiersz-gora{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.wiersz-gora .cicho{white-space:nowrap}.gwiazdka{color:var(--blisko)}.dwie-kolumny{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.dwie-kolumny p{margin:0}.frekwencja-tytul{font-weight:600}.frekwencja-procent{font-size:1.6rem;font-weight:700}.frekwencja-liczby{margin-bottom:.5rem!important}ul.przeglad-ocen li{border-top:1px solid var(--linia);justify-content:space-between;align-items:baseline;gap:1rem;padding:.35rem 0;display:flex}ul.przeglad-ocen li:first-child{border-top:none}.przeglad-nazwa{flex:1}.przyciski{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.karta .przyciski{margin-bottom:0}.karta.nauczyciel p{margin:0}.znacznik{background:var(--dzis);color:var(--blisko);border-radius:999px;margin-left:.5rem;padding:.05rem .5rem;font-size:.8rem;font-weight:600}.tresc-wiadomosci{margin:0}.notatka-gora{justify-content:space-between;gap:1rem;margin:0;display:flex}.formularz,.filtry{flex-direction:column;gap:.8rem;display:flex}.filtry{flex-flow:wrap;align-items:flex-end}.formularz label,.filtry label{flex-direction:column;gap:.3rem;font-weight:600;display:flex}.filtry label{flex:1;min-width:14rem}.formularz select,.formularz input,.formularz textarea,.filtry select{font:inherit;border:1px solid var(--linia);background:#fff;border-radius:8px;padding:.5rem .7rem;font-weight:400}.okienko-tlo{background:#1f293359;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.okienko{background:var(--karta);border-radius:12px;width:100%;max-width:400px;padding:1.25rem 1.5rem}.okienko p{margin:0 0 .5rem}ul.materialy{margin:0;padding:0;list-style:none}ul.materialy li{border-top:1px solid var(--linia);padding:.6rem 0}ul.materialy li:first-child{border-top:none}.material-gora{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.material-tytul{color:var(--akcent);font-weight:600;text-decoration:none}.material-tytul:hover{text-decoration:underline}.material-opis{margin:.2rem 0 0}.znacznik.sprawdzony{color:#047857;background:#ecfdf3;margin:.25rem 0 0;display:inline-block}.formularz label.pole-zaznacz{flex-direction:row;align-items:center;gap:.6rem;font-weight:400}.pole-zaznacz input[type=checkbox]{width:1.3rem;height:1.3rem}
