/* TSL Tools — układ ekranów aplikacji (RUNDA_01). ZASADA ANTI-DRIFT z projektu UX: tu tylko układ (grid, szerokości, odstępy
   z tokenów) — kolory, czcionki, promienie i cienie wyłącznie przez tokeny z industry.css / tsl-screen.css. */
.stos { display: flex; flex-direction: column; gap: var(--space-4); }
.wiersz { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.wiersz-koniec { justify-content: flex-end; }
.siatka-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.siatka-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.formularz { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-6); max-width: 760px; }
.formularz .pelna { grid-column: 1 / -1; }
.formularz-waski { max-width: 420px; display: flex; flex-direction: column; gap: var(--space-4); }
.panel { padding: var(--space-6); }
.panel-waski { max-width: 820px; }
.blad-pola { font-size: 12px; color: var(--st-crit-fg); margin-top: 4px; }
.pomoc-pola { font-size: 12px; color: var(--ink-55); margin-top: 4px; }
.komunikat { padding: var(--space-3) var(--space-4); border-left: 3px solid var(--st-run-fg); background: var(--st-run-bg); font-size: 13px; }
.komunikat.is-crit { border-left-color: var(--st-crit-fg); background: var(--st-crit-bg); }
.komunikat.is-ok { border-left-color: var(--st-ok-fg); background: var(--st-ok-bg); }
.komunikat.is-warn { border-left-color: var(--st-warn-fg); background: var(--st-warn-bg); }
.znacznik-demo { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; color: var(--st-warn-fg); background: var(--st-warn-bg); }
.znacznik-zywo { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; color: var(--st-crit-fg); background: var(--st-crit-bg); }
.tabela-owijka { overflow-x: auto; }
.tabela-owijka .table td, .tabela-owijka .table th { padding: 8px 10px; border-bottom: 1px solid var(--ink-row-rule); }
.mono { font-family: ui-monospace, Consolas, monospace; font-size: 12px; word-break: break-all; }
.wylogowanie { display: inline; margin: 0; }
.ekran-logowania { min-height: 100vh; display: grid; place-items: center; padding: var(--app-content-pad-sm); }
.karta-logowania { width: min(420px, 100%); padding: var(--space-8); background: var(--color-bg); }
.karta-logowania .sidebar-mark { color: var(--color-accent-900); border-color: var(--color-accent-900); }
.naglowek-karty { display: flex; align-items: center; gap: 9px; margin-bottom: var(--space-6); }
.firmy-demo { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.firmy-demo .btn { text-align: left; }
.pozycja-planu { padding: var(--space-4); margin-bottom: var(--space-4); }
.pozycja-planu .wpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-3); }
.pasek-postepu { height: 6px; background: var(--color-neutral-200); }
.pasek-postepu > span { display: block; height: 100%; width: 0; background: var(--color-accent); }
.ukryte { display: none; }
[hidden] { display: none !important; }   /* atrybut hidden (JS) wygrywa z display: grid/flex klas układu */
.stan-silnika { font-size: 11px; color: var(--ink-55); flex: none; min-width: 90px; text-align: right; }
@media (max-width: 900px) {
  .formularz, .siatka-2, .siatka-3, .pozycja-planu .wpis { grid-template-columns: 1fr; }
}
