/* PRODUKCJA-APP — design wg hardpower.pl (Clash Display, czerwień #d70000, żółty CTA #FCC300)
   Tło JASNE (decyzja Bartka) — czerń marki tylko w górnym pasku. */

@font-face { font-family: 'Clash Display'; src: url('fonts/ClashDisplay-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Clash Display'; src: url('fonts/ClashDisplay-500.woff2') format('woff2'); font-weight: 500 700; font-display: swap; }

:root {
  --bg: #f7f7f7;            /* black-50 z palety HP — jasne tło */
  --card: #ffffff;
  --text: #1f1f1f;          /* black-900 */
  --muted: #666666;         /* black-500 */
  --brand-black: #1f1f1f;
  --accent: #d70000;        /* primary-700 HP — czerwień na jasnym tle */
  --accent-dark: #b10303;   /* primary-800 */
  --accent-soft: #fff0f0;   /* primary-50 */
  --yellow: #FCC300;        /* żółty CTA HARDPOWER */
  --yellow-dark: #e0ad00;
  --ok: #15803d; --warn: #d97706; --red: #dc2626;
  --border: #e3e3e3;        /* black-100 */
  --radius: 10px;
  --font-display: 'Clash Display', 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; margin: 0; }
body { font-family: 'Segoe UI', system-ui, sans-serif; background: var(--bg); color: var(--text); font-size: 15px; }
main { max-width: 1280px; margin: 0 auto; padding: 20px 16px 60px; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, .brand, .btn, .status { font-family: var(--font-display); }
h1 { font-size: 26px; font-weight: 500; margin-bottom: 14px; letter-spacing: .2px; }
h1 small { font-size: 14px; font-weight: 400; font-family: 'Segoe UI', sans-serif; }
h2 { font-size: 18px; font-weight: 500; margin-bottom: 10px; }
h3 { font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: 1.2px; color: var(--muted); margin-bottom: 12px; }
.muted { color: var(--muted); } .mono { font-family: Consolas, monospace; }
.accent { color: var(--accent); } .red { color: var(--red); }

/* topbar — czerń marki HP */
.topbar { background: var(--brand-black); color: #eee; display: flex; align-items: center; gap: 24px; padding: 0 20px; height: 54px; position: sticky; top: 0; z-index: 10; border-bottom: 3px solid var(--accent); }
.brand { font-weight: 500; font-size: 17px; letter-spacing: .5px; color: #fff; }
.brand span { color: var(--accent); font-weight: 500; }
.nav-links { display: flex; gap: 4px; flex: 1; }
.nav-links a { padding: 6px 14px; border-radius: 6px; color: #c8c8c8; font-family: var(--font-display); }
.nav-links a:hover, .nav-links a.active { background: #383838; color: #fff; }
.nav-links .btn-new { background: var(--yellow); color: #1f1f1f; font-weight: 600; }
.nav-links .btn-new:hover { background: var(--yellow-dark); color: #000; }
.nav-user { display: flex; align-items: center; gap: 12px; }
.user-badge { background: #383838; padding: 4px 12px; border-radius: 20px; font-size: 13px; }
.nav-user a { color: #c8c8c8; }

/* login */
.login-box { max-width: 380px; margin: 12vh auto; background: var(--card); padding: 36px; border-radius: var(--radius); box-shadow: 0 4px 24px rgba(0,0,0,.08); border-top: 4px solid var(--accent); }
.login-box h1 { text-align: center; margin-bottom: 26px; font-size: 22px; }
.login-box label { display: block; margin-bottom: 14px; font-size: 13px; color: var(--muted); }

/* cards & forms */
.card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px; margin-bottom: 16px; }
input, select, textarea { width: 100%; padding: 8px 10px; border: 1px solid #c8c8c8; border-radius: 6px; font: inherit; background: #fff; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
label { font-size: 13px; color: #434343; }
label input, label select, label textarea { margin-top: 4px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; max-width: 860px; }
.span2 { grid-column: span 2; }
fieldset { border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px 14px; }
legend { font-size: 13px; color: var(--muted); padding: 0 6px; }
.row { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin-top: 6px; }
.inline { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.inline input[type=radio], .inline input[type=checkbox] { width: auto; margin: 0; accent-color: var(--accent); }
.actions { display: flex; gap: 10px; }

.btn { display: inline-block; padding: 8px 18px; border: 1px solid #c8c8c8; border-radius: 6px; background: #fff; font: inherit; font-family: var(--font-display); cursor: pointer; }
.btn:hover { background: #f0f0f0; }
.btn-primary { background: var(--yellow); border-color: var(--yellow); color: #1f1f1f; font-weight: 600; }
.btn-primary:hover { background: var(--yellow-dark); border-color: var(--yellow-dark); }
.btn-block { width: 100%; }
.btn-sm { padding: 4px 12px; font-size: 13px; }
.btn-ok { border-color: var(--ok); color: var(--ok); }
.btn-ok:hover { background: #ecfdf3; }
.btn-warn { border-color: var(--warn); color: var(--warn); }
.btn-warn:hover { background: #fffbeb; }
.btn-x { border-color: #c8c8c8; color: var(--muted); }
/* strzałki kolejności detali na specyfikacji */
.btn-mini { padding: 1px 7px; font-size: 12px; line-height: 1.4; min-width: 0; }
.nowrap { white-space: nowrap; }

.flash { padding: 10px 16px; border-radius: 8px; margin-bottom: 14px; }
.flash-ok { background: #ecfdf3; color: var(--ok); border: 1px solid #bbf7d0; }
.flash-error { background: var(--accent-soft); color: var(--red); border: 1px solid #fecaca; }

/* dashboard */
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border: 1px solid #c8c8c8; border-radius: 20px; background: #fff; font-family: var(--font-display); font-size: 13px; font-weight: 500; letter-spacing: .3px; }
.chip b { background: #f0f0f0; border-radius: 10px; padding: 0 7px; font-size: 12px; }
.chip:hover { border-color: var(--brand-black); }
.chip-on { background: var(--brand-black); color: #fff; border-color: var(--brand-black); }
.chip-on b { background: #383838; color: #fff; }
.chip-red { border-color: var(--accent); color: var(--accent); }
.chip-red b { background: var(--accent-soft); color: var(--accent); }
.chip-red.chip-on { background: var(--accent); color: #fff; }
.chip-red.chip-on b { background: var(--accent-dark); color: #fff; }
.chip-amber { border-color: #b45309; color: #b45309; }
.chip-amber b { background: #fef3c7; color: #b45309; }
.chip-amber.chip-on { background: #b45309; color: #fff; border-color: #b45309; }
.chip-amber.chip-on b { background: #92400e; color: #fff; }
.chip-green { border-color: var(--ok); color: var(--ok); }
.chip-green b { background: #ecfdf3; color: var(--ok); }
.chip-green.chip-on { background: var(--ok); color: #fff; }
.chip-green.chip-on b { background: #166534; color: #fff; }

.alert-section { margin-bottom: 20px; }
.alert-section h2 { color: var(--accent); }
.alert-card { display: block; background: var(--accent-soft); border: 1px solid #ff9494; border-left: 5px solid var(--accent); border-radius: 8px; padding: 12px 16px; margin-bottom: 8px; }
.alert-card:hover { background: #ffdddd; }
.alert-body { margin-top: 4px; color: #920a0a; }
.alert-meta { color: var(--accent); font-size: 13px; margin-left: 8px; }
.warn-section { margin-bottom: 20px; }
.warn-section h2 { color: var(--warn); }
.warn-card { display: block; background: #fffbeb; border: 1px solid #fcd34d; border-left: 5px solid var(--yellow-dark); border-radius: 8px; padding: 10px 16px; margin-bottom: 8px; }

.list-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.filters { display: flex; gap: 8px; }
.filters input { width: 260px; } .filters select { width: auto; }

table.orders { width: 100%; border-collapse: collapse; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.orders th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .6px; color: var(--muted); padding: 10px 12px; border-bottom: 2px solid var(--brand-black); background: #fafafa; font-family: var(--font-display); font-weight: 500; }
.orders th a.sort { color: inherit; }
.orders th a.sort:hover { color: var(--accent); }
.orders td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.orders tbody tr { cursor: pointer; }
.orders tbody tr:hover { background: #fdf6f6; }
.orders .detal { max-width: 340px; }
.orders .dodano { color: var(--muted); font-size: 12px; white-space: nowrap; }  /* data dodania zlecenia */
.orders .empty { text-align: center; color: var(--muted); padding: 30px; cursor: default; }

.badge { display: inline-flex; flex-direction: column; line-height: 1.25; padding: 3px 10px; border-radius: 6px; font-size: 13px; font-weight: 600; }
.badge small { font-weight: 400; font-size: 11px; }
.badge-green { background: #ecfdf3; color: var(--ok); }
.badge-yellow { background: #fff8e1; color: #a16207; }
.badge-red { background: var(--accent-soft); color: var(--accent); }
.badge-orange { background: #fff7ed; color: #c2410c; border: 1px solid #fdba74; }
.zrobione-form { margin-bottom: 14px; padding: 10px 12px; background: #fafafa; border-radius: 8px; }

.status { display: inline-block; padding: 3px 11px; border-radius: 20px; font-size: 12px; font-weight: 500; white-space: nowrap; letter-spacing: .3px; }
.status-NOWE { background: #eef2ff; color: #4338ca; }
.status-POTWIERDZONE { background: #fff7ed; color: #c2410c; }
.status-MATERIAL { background: #fff8e1; color: #a16207; }
.status-W_PRODUKCJI { background: #eff6ff; color: #1d4ed8; }
/* czesciowo gotowe: zolte, bo czesc jedzie, a reszta wciaz siedzi na hali (BB 13.08.2026) */
.status-GOTOWE_CZESCIOWO { background: #fefce8; color: #a16207; }
.status-GOTOWE_DO_WYSYLKI { background: #ecfdf3; color: var(--ok); }
.status-WYSLANE { background: #f0fdf4; color: #166534; }
.status-ANULOWANE { background: #f0f0f0; color: var(--muted); }

.progress-txt { font-size: 12px; color: var(--muted); margin-right: 6px; }
.progress { display: inline-block; width: 60px; height: 7px; background: #e3e3e3; border-radius: 4px; overflow: hidden; vertical-align: middle; }
.progress span { display: block; height: 100%; background: var(--accent); }

/* postęp opisowy (nazwa etapu) */
.post { display: inline-block; font-size: 12.5px; font-weight: 600; padding: 2px 8px; border-radius: 6px; white-space: nowrap; margin-right: 4px; }
.post-active { background: #eff6ff; color: #1d4ed8; }
.post-ready { background: #ecfdf3; color: var(--ok); }
.post-waiting { background: #f0f0f0; color: var(--muted); font-weight: 400; }
.post-przerwane { background: var(--accent-soft); color: var(--accent); }
.post-done { background: #ecfdf3; color: #166534; }
.post-none { background: none; color: var(--muted); }
.material { font-size: 13px; }
/* stany materiału — każdy w innym kolorze, żeby dało się je odróżnić rzutem oka */
.mat-check { color: #b45309; font-weight: 600; }   /* do sprawdzenia — bursztyn */
.mat-ok    { color: #0369a1; font-weight: 600; }   /* jest na hali — niebieski */
.mat-cut   { color: #15803d; font-weight: 600; }   /* pocięty — zielony, gotowy do obróbki */
.mat-kom   { display: block; color: #b45309; font-weight: 600; font-size: 12px;
             max-width: 240px; white-space: normal; line-height: 1.25; margin-top: 2px; }  /* komentarz = brakuje składnika (bursztyn) */

/* zakładka GOTOWOŚĆ — lampki M N P W (BB 19.09.2026, moduł testowy) */
.lampka { display: inline-block; min-width: 26px; padding: 3px 0; text-align: center; border-radius: 4px; border: 1px solid transparent; font: 700 13px Consolas, monospace; }
.lampka-ok   { background: #ecfdf3; color: var(--ok); border-color: #86efac; }
.lampka-brak { background: var(--accent); color: #fff; border-color: var(--accent); }
.lampka-nn   { background: #f0f0f0; color: #9a9a9a; border-color: #d0d0d0; }   /* nie sprawdzone */
.lampka-btn { cursor: pointer; }
.lampka-btn:hover { outline: 2px solid var(--brand-black); outline-offset: 1px; }
.got-tabela tbody tr { cursor: default; }
.got-tabela tbody tr:target { background: #fffbe6; }   /* wiersz, w którym przed chwilą kliknięto */
.got-nr { color: var(--accent); } .got-nr:hover, .got-pdf:hover, .got-dopisz:hover { text-decoration: underline; }
.got-pdf { color: var(--accent); white-space: nowrap; font-size: 13px; }
.got-legenda { display: block; line-height: 2.2; }
.got-legenda-wiersz { margin: -4px 0 10px; }
.got-rys { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
/* lista: cztery opisane kolumny ze stanem słownie (same literki w kratkach były nieczytelne — BB 19.09) */
.got-th { min-width: 132px; }
.got-kom { vertical-align: top; border-left: 1px solid var(--border); white-space: normal; min-width: 132px; max-width: 210px; }
.got-kom-brak { background: #fff5f5; }
.got-pill { display: inline-block; padding: 4px 12px; border-radius: 14px; border: 1px solid transparent; font: 600 13px 'Segoe UI', system-ui, sans-serif; white-space: nowrap; }
.got-pill-ok   { background: #ecfdf3; color: var(--ok); border-color: #86efac; }
.got-pill-brak { background: var(--accent); color: #fff; border-color: var(--accent); }
.got-pill-nn   { background: #f3f3f3; color: #777; border-color: #d0d0d0; border-style: dashed; }
table.orders.got-tabela td.got-kom { vertical-align: top; padding-top: 14px; }   /* pigułki w wierszu w jednej linii */
.got-kom .inline-form { display: block; line-height: 1; }   /* pigułka-przycisk na tej samej wysokości co zwykła */
.got-pill-btn { cursor: pointer; }
.got-pill-btn:hover { box-shadow: 0 0 0 2px var(--brand-black); }
.got-szcz, .got-uw { display: block; margin-top: 5px; font-size: 12px; line-height: 1.3; color: var(--muted); }
.got-uw { color: #7c2d12; font-weight: 600; }
.got-dopisz { color: var(--accent); }
/* światła jak na skrzyżowaniu (BB 19.09): zielone = jest wszystko, żółte = czegoś nie ma, czerwone = nic nie ma.
   Trzy lampy w obudowie, świeci jedna; kolejność z góry: czerwona, żółta, zielona. */
.swiatla { display: inline-flex; flex-direction: column; gap: 3px; padding: 4px; border-radius: 9px; background: #2a2a2a; vertical-align: middle; }
.swiatla i { display: block; width: 12px; height: 12px; border-radius: 50%; background: #4a4a4a; }
.swiatla-nic i:nth-child(1)   { background: #ff2d2d; box-shadow: 0 0 6px 1px rgba(255, 45, 45, .85); }
.swiatla-czesc i:nth-child(2) { background: #ffc400; box-shadow: 0 0 6px 1px rgba(255, 196, 0, .85); }
.swiatla-ok i:nth-child(3)    { background: #22c55e; box-shadow: 0 0 6px 1px rgba(34, 197, 94, .85); }
.got-sw, .got-th-sw { width: 36px; padding-left: 10px !important; padding-right: 0 !important; text-align: center; }
.got-tytul { display: flex; align-items: center; gap: 14px; }
.got-tytul .swiatla i { width: 15px; height: 15px; }
.kropka { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin: 0 5px 0 8px; vertical-align: baseline; }
.chip .kropka { margin: 0; }
.kropka-nic { background: #ff2d2d; } .kropka-czesc { background: #ffc400; } .kropka-ok { background: #22c55e; }
/* spis załączników na liście */
.got-spis { font-size: 12px; line-height: 1.35; min-width: 150px; max-width: 220px; white-space: normal; vertical-align: top; }
table.orders.got-tabela td.got-spis { vertical-align: top; padding-top: 14px; }
.got-spis a { display: block; color: var(--accent); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 1px 0; }
.got-spis a:hover { text-decoration: underline; }
.got-spis a.got-spis-edyt { color: var(--ok); font-weight: 600; }
.got-spis a.got-spis-inne { color: #6d28d9; }
.got-spis-gr { margin-top: 7px; font: 600 10px var(--font-display); letter-spacing: 1px; text-transform: uppercase; color: #8a8a8a; border-bottom: 1px solid var(--border); padding-bottom: 1px; }
.got-spis-gr:first-child { margin-top: 0; }
.got-przeloz { border: 0; background: none; font: inherit; font-size: 12px; color: var(--muted); cursor: pointer; padding: 0 4px; }
.got-przeloz:hover { color: var(--text); text-decoration: underline; }
.got-pliki + .got-drop { margin: 10px 0 8px; }
/* ta zakładka ma szeroką tabelę — na dużych ekranach bierze więcej miejsca niż reszta appki */
main:has(.got-tabela) { max-width: 1560px; }
.got-wiersz { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--border); }
.got-nazwa { min-width: 210px; font-weight: 600; }
.got-stan-ok { color: var(--ok); font-weight: 600; } .got-stan-brak { color: var(--accent); font-weight: 700; }
.got-uwaga { flex: 1 1 62%; min-width: 220px; width: auto; margin-left: 40px; }   /* własny wiersz: uwaga + Zapisz + podpis */
.got-meta { white-space: nowrap; }
.got-dane { grid-template-columns: 100px 1fr; }
.got-lampka-plik { margin-left: 3px; }
/* szósta pozycja w menu (Gotowość): napisy w linkach się nie łamią, a na węższych ekranach
   pasek lekko się zacieśnia — żeby menu zostało w jednej linii tak jak przed dodaniem zakładki */
.nav-links a { white-space: nowrap; }
@media (min-width: 901px) and (max-width: 1600px) {
  .topbar { gap: 12px; padding: 0 14px; }
  .nav-links { gap: 2px; }
  .nav-links a { padding: 6px 9px; font-size: 14px; }
  .brand { font-size: 15px; }
}
.got-drop { border: 2px dashed #c8c8c8; border-radius: var(--radius); padding: 16px; margin-bottom: 12px; text-align: center; color: var(--muted); }
.got-drop-on { border-color: var(--accent); background: var(--accent-soft); color: var(--text); }
.got-drop-row { justify-content: center; margin-top: 10px; }
.got-drop input[type=file] { width: auto; max-width: 100%; }
.got-pliki li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--border); }

/* „Inne ustalenia" pisane z ręki (BB 21.09) */
.got-notatka textarea { width: 100%; font: inherit; font-size: 13.5px; line-height: 1.5; padding: 10px 12px;
  border: 1px solid var(--border); border-radius: var(--radius); resize: vertical; }
.got-notatka textarea:focus { outline: none; border-color: var(--accent); }
.got-notatka-row { align-items: center; gap: 12px; margin: 8px 0 12px; flex-wrap: wrap; }

/* powtarzalny detal — pliki z wcześniejszego zlecenia (BB 21.09) */
.got-podp { border-left: 3px solid var(--accent); }
.got-podp-zl { padding: 8px 0; border-bottom: 1px solid var(--border); }
.got-podp-zl:last-of-type { border-bottom: 0; }
.got-podp-nag { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; margin-bottom: 2px; }
.got-podp .got-pliki li { border-bottom: 0; padding: 3px 0 3px 14px; }
.got-wez { border: 0; background: none; font: inherit; font-size: 12.5px; color: var(--accent); cursor: pointer; padding: 0 4px; white-space: nowrap; }
.got-wez:hover { text-decoration: underline; }

/* karta zlecenia */
.order-head { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.order-head h1 { margin-bottom: 4px; }
.order-head .status { vertical-align: middle; margin-left: 8px; }
.order-sub { color: var(--muted); }
.status-form { display: flex; gap: 8px; align-items: center; }
.status-form select { width: auto; }

.cols { display: grid; grid-template-columns: 1fr 340px; gap: 16px; }
@media (max-width: 900px) {
  .cols { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .span2 { grid-column: span 1; }
  table.orders { display: block; overflow-x: auto; white-space: nowrap; }  /* telefon: przewijanie tabeli */
  /* telefon: dluzsze nazwy w menu ("Import PDF zlecenia") lamia sie do drugiej linii zamiast wystawac poza pasek */
  .topbar { height: auto; flex-wrap: wrap; gap: 10px; padding: 8px 12px; }
  .nav-links { flex-wrap: wrap; }
  .nav-links a { padding: 6px 8px; font-size: 13px; }
}

.datagrid { display: grid; grid-template-columns: 150px 1fr; gap: 6px 12px; }
.datagrid dt { color: var(--muted); font-size: 13px; padding-top: 2px; }
.datagrid dd { font-weight: 500; }
.uwagi { background: #fff8e1; border-left: 3px solid var(--yellow); border-radius: 6px; padding: 6px 10px; }
.uwagi-wewn { background: #f0f0f0; border-radius: 6px; padding: 6px 10px; font-style: italic; }

.material-form .row { margin-bottom: 8px; }
.material-form input[type=date] { width: auto; }
.material-form input[name=material_gatunek] { max-width: 160px; }
.material-form .material-komentarz { flex: 1; min-width: 260px; }
.material-form .material-komentarz input { flex: 1; width: auto; }
/* komentarz do materiału jako zatwierdzony wpis (BB 29.08.2026) */
[hidden] { display: none !important; }
.mat-kom-box { margin-top: 10px; padding: 10px 14px; background: #fff8e6; border-left: 4px solid #f59e0b; border-radius: 6px; }
.mat-kom-tresc { font-size: 15px; font-weight: 600; color: #7c2d12; white-space: pre-wrap; }
.mat-kom-meta { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12px; color: var(--muted); }
.mat-kom-form { margin-top: 10px; }

.suggest { background: #ecfdf3; border: 1px solid #bbf7d0; border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

.etapy { list-style: none; }
.etap { border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px; margin-bottom: 8px; }
.etap-zrobione { background: #f8fdf9; }
.etap-w_trakcie { border-color: #93c5fd; background: #f8fbff; }
.etap-przerwane { border-color: #ff9494; background: var(--accent-soft); }
.etap-line { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.etap-nazwa { font-weight: 600; font-family: var(--font-display); }
.etap-meta { font-size: 13px; color: var(--muted); }
.etap-akcje { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; align-items: center; }
.etap-akcje form { display: inline-flex; gap: 6px; align-items: center; }
.ilosc-form input { width: 90px; }
.etapy .empty { color: var(--muted); padding: 10px; }

.pliki { list-style: none; margin-bottom: 10px; }
.pliki li { padding: 4px 0; }
.pliki a { color: var(--accent); }
.pliki a:hover { text-decoration: underline; }
.pliki input[type=file] { font-size: 12px; }
/* kosz przy zalaczniku — recznie usuniecie zle podpietego pliku */
.inline-form { display: inline; }
.btn-link-red { background: none; border: 0; color: var(--muted); cursor: pointer; padding: 0 4px; font-size: 13px; }
.btn-link-red:hover { color: var(--accent); }

.historia { list-style: none; max-height: 420px; overflow-y: auto; }
.historia li { padding: 7px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.historia li:last-child { border: none; }

/* import PDF */
.dropzone { padding: 0; overflow: hidden; }
.drop-inner { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 44px 20px; border: 2px dashed #c8c8c8; border-radius: var(--radius); cursor: pointer; text-align: center; transition: all .15s; }
.drop-inner:hover, .drop-inner.over { border-color: var(--accent); background: var(--accent-soft); }
.drop-ikona { font-size: 42px; }
.drop-info { font-size: 13px; color: var(--muted); margin-top: 8px; line-height: 1.5; }
.drop-info a { color: var(--accent); text-decoration: underline; }

.processing { text-align: center; padding: 50px 20px; }
.spinner { width: 44px; height: 44px; border: 4px solid #e3e3e3; border-top-color: var(--accent); border-radius: 50%; margin: 0 auto 18px; animation: kreci 0.9s linear infinite; }
@keyframes kreci { to { transform: rotate(360deg); } }

.import-zrodlo { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.pytania-ai { background: #fff8e1; border-color: var(--yellow); }
.pytania-ai ul { margin-left: 20px; }
.pytania-ai li { padding: 3px 0; }
.surowy-tekst { font-size: 12px; background: #f7f7f7; padding: 12px; border-radius: 8px; max-height: 400px; overflow: auto; white-space: pre-wrap; }
.poz-table td { padding: 5px 6px; }
.poz-table input, .poz-table select { padding: 5px 8px; font-size: 13.5px; }
.poz-table tbody tr { cursor: default; }
.poz-table tbody tr:hover { background: none; }
