/* D192 „NIP + Pobierz z GUS” (NipGus.dc.html): NIP 56 px mono with the button beside it (under it in
   a narrow column on T, E1-02a), the badge „Dane z GUS”, the locked fields with a padlock. */
.fjn-ng { display: flex; flex-direction: column; gap: 12px; }
.fjn-ng [hidden] { display: none; }
.fjn-ng__nip { display: flex; flex-direction: column; gap: 6px; }
.fjn-ng__label { font-size: 15px; font-weight: 700; color: var(--fjn-text); }
.fjn-ng__opt { font-weight: 400; color: #454D57; }
.fjn-ng__row { display: flex; gap: 8px; align-items: stretch; }
.fjn-ng__nipin { flex: 1; min-width: 0; height: 56px; box-sizing: border-box; padding: 0 12px; border: 1px solid #AEB5BE; border-radius: 8px; background: #fff; font: 700 17px var(--fjn-font-mono); color: var(--fjn-text); }
.fjn-ng__nipin:not(:placeholder-shown), .fjn-ng__nipin:focus { border: 2px solid var(--fjn-brand-600); padding: 0 11px; outline: none; box-shadow: none; }
.fjn-ng__nipin::placeholder { font-weight: 400; color: #6B737D; }
.fjn-ng__nipin[aria-invalid="true"] { border: 2px solid #B3261E; padding: 0 11px; }
.fjn-ng__btn { flex: none; height: 56px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; border: 1px solid var(--fjn-brand-600); border-radius: 8px; background: #fff; color: var(--fjn-brand-600); font: 700 15px var(--fjn-font); white-space: nowrap; cursor: pointer; }
.fjn-ng__btn:disabled { background: #EDEFF1; border-color: #D8DCE1; color: #6B737D; cursor: default; }
.fjn-ng__btn:disabled .fjn-ng__ico { opacity: .4; }
.fjn-ng__spin { display: none; width: 18px; height: 18px; border: 3px solid #C9D3E0; border-top-color: var(--fjn-brand-600); border-radius: 50%; box-sizing: border-box; animation: fjn-ng-spin .8s linear infinite; }
.fjn-ng.is-wait .fjn-ng__spin { display: inline-block; }
.fjn-ng.is-wait .fjn-ng__ico { display: none; }
@keyframes fjn-ng-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .fjn-ng__spin { animation-duration: 2.4s; } }
.fjn-ng__error { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: 14px; font-weight: 700; color: #B3261E; }
.fjn-ng__error svg { flex: none; margin-top: 2px; }
.fjn-ng__hint { margin: 0; font-size: 13px; color: #454D57; }
.fjn-ng__miss { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 8px; background: #FDF1DC; color: #8A5300; font-size: 14px; }
.fjn-ng__miss svg { flex: none; margin-top: 1px; }
.fjn-ng__ok { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.fjn-ng__badge { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; height: 26px; padding: 0 10px; border-radius: 13px; background: #E2F2E8; color: #1B6B41; font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; }
.fjn-ng__locked { font-size: 13px; color: #454D57; }
.fjn-ng__fields { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; }
.fjn-ng.is-wait .fjn-ng__fields { opacity: .5; }
.fjn-ng__field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.fjn-ng__field--wide { grid-column: 1 / -1; }
.fjn-ng__box { display: flex; align-items: center; gap: 8px; height: 56px; padding: 0 12px; box-sizing: border-box; border: 1px solid #AEB5BE; border-radius: 8px; background: #fff; }
.fjn-ng__box:focus-within { border: 2px solid var(--fjn-brand-600); padding: 0 11px; }
.fjn-ng__field.fjn-field--error .fjn-ng__box { border: 2px solid #B3261E; padding: 0 11px; }
.fjn-ng__input { flex: 1; min-width: 0; height: 100%; border: 0; padding: 0; background: none; font: 16px var(--fjn-font); color: var(--fjn-text); text-overflow: ellipsis; }
.fjn-ng__input.fjn-mono { font-family: var(--fjn-font-mono); }
.fjn-ng__input:focus, .fjn-ng__input:focus-visible { outline: none; box-shadow: none; }
.fjn-ng__input::placeholder { color: #6B737D; }
.fjn-ng__lock { display: none; flex: none; opacity: .6; }
.fjn-ng[data-state="found"] .fjn-ng__box { background: #F4F5F6; border: 1px solid #D8DCE1; padding: 0 12px; }
.fjn-ng[data-state="found"] .fjn-ng__input { color: #2B3138; }
.fjn-ng[data-state="found"] .fjn-ng__lock { display: block; }
@media (min-width: 768px) {
  .fjn-ng__btn { padding: 0 18px; }
  .fjn-ng__fields { grid-template-columns: 160px minmax(0, 1fr); }
}
/* T, the narrow column of „Do oferty” (E1-02a): the button under the field, full width (pyt. 136 a) */
@media (min-width: 768px) and (max-width: 1279px) {
  .fjn-ng--stack .fjn-ng__row { flex-direction: column; }
  .fjn-ng--stack .fjn-ng__nipin { flex: none; }
  .fjn-ng--stack .fjn-ng__fields { grid-template-columns: 112px minmax(0, 1fr); }
  .fjn-ng--stack .fjn-ng__label { white-space: nowrap; }
}
.fjn-form-grid .fjn-ng { grid-column: 1 / -1; }  /* E0-21: the fragment over the whole card */
/* E1-02a „Nabywca na fakturze” under „Klient (opcjonalnie)” */
.fjn-quick__buyer { display: flex; flex-direction: column; gap: 12px; padding-top: 14px; border-top: 1px solid var(--fjn-surface-2); }
.fjn-quick__buyer-title { margin: 0; font-size: 13px; font-weight: 700; color: #454D57; }
