/* Portal PRO – dodatki do motywu Akademii (ak.css): logowanie, formularze, listy rewizji, dziennik. */
.pg { font: 700 20px/1 var(--ak-f-head); letter-spacing: -.04em } .ak-wordmark { font: 700 18px/1 var(--ak-f-head); letter-spacing: .14em; text-transform: uppercase; border: 1px solid var(--ak-line-strong); padding: 6px 10px }
main { min-height: 60vh }
.login { max-width: 520px; margin: 0 auto; padding: var(--ak-s7) var(--ak-gutter); display: grid; gap: 18px }
form.f { display: grid; gap: 12px; border: 1px solid var(--ak-line); padding: 18px; background: var(--ak-bg) }
form.f label { display: grid; gap: 6px; font: 500 var(--ak-fs-xs)/1 var(--ak-f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ak-muted) }
form.f input, form.f select, form.f textarea { font: 400 15px/1.4 var(--ak-f-ui); padding: 10px 12px; border: 1px solid var(--ak-line-strong); background: var(--ak-surface); color: var(--ak-ink); border-radius: 0; width: 100%; box-sizing: border-box }
form.f input:focus, form.f select:focus, form.f textarea:focus { outline: 2px solid var(--pd-hi); outline-offset: 0 }
.row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center }
.ok-box { border: 1px solid var(--ak-ok); background: var(--ak-ok-bg); padding: 12px 16px; font-size: 13.5px } .err-box { border: 1px solid var(--ak-bad); background: var(--ak-bad-bg); padding: 12px 16px; font-size: 13.5px }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); border: 1px solid var(--ak-line); background: var(--ak-surface) }
.cards > div { padding: 18px 20px; border-right: 1px solid var(--ak-line); border-bottom: 1px solid var(--ak-line); display: grid; gap: 8px; align-content: start }
.ak-btn.sm { padding: 8px 12px; font-size: 13px } .ak-btn.danger { border-color: var(--ak-bad); background: var(--ak-bad); }
.ak-btn.ghost.danger { background: transparent; color: var(--ak-bad) }
td.l { text-align: left; white-space: normal } .mono { font-family: var(--ak-f-mono); font-size: 12px }
pre.json { font: 12px/1.45 var(--ak-f-mono); background: var(--ak-panel); padding: 12px; overflow: auto; max-height: 420px; margin: 0 }
.gate-rows td.bad { color: var(--ak-bad); font-weight: 600 }
details.sec { border: 1px solid var(--ak-line); background: var(--ak-surface) } details.sec > summary { padding: 12px 16px; cursor: pointer; font-weight: 600 } details.sec > .in { padding: 0 16px 16px; display: grid; gap: 12px }
nav.tabs a.on { background: var(--ak-panel) }
@media (max-width: 860px) { .cards > div { border-right: 0 } }
.cards.wide { grid-template-columns: minmax(0, 1fr) } .cards.wide > div { border-right: 0 }

/* logo dostawcy w nagłówku; w ciemnym motywie na białej plakietce (logo producenta bez wersji negatywowej) */
.ak-wordmark img { height: 28px; width: auto; display: block }
@media (prefers-color-scheme: dark) { .ak-wordmark img { background: #fff; padding: 4px 8px; height: 36px } }
