/* Franczyzowy - silnik: okno zamówienia raportu + adnotacja przy KRS-Pulse */

.fs-modal-bg{
  position:fixed; inset:0; z-index:99999;
  background:rgba(11,11,11,.55); backdrop-filter:blur(3px);
  display:none; align-items:center; justify-content:center; padding:20px;
}
.fs-modal-bg.on{ display:flex; }

.fs-modal{
  background:#fff; color:#0b0b0b; border-radius:14px; max-width:520px; width:100%;
  max-height:90vh; overflow:auto; position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  font:15px/1.6 "Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  animation:fs-in .18s ease-out;
}
@keyframes fs-in{ from{opacity:0; transform:translateY(10px) scale(.985)} to{opacity:1; transform:none} }

.fs-x{
  position:absolute; top:12px; right:14px; background:none; border:0;
  font-size:26px; line-height:1; color:#898781; cursor:pointer; padding:4px 8px;
}
.fs-x:hover{ color:#0b0b0b; }

.fs-head{ padding:26px 28px 18px; border-bottom:1px solid #e1e0d9; }
.fs-kicker{ font-size:10.5px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:#898781; margin-bottom:6px; }
.fs-head h3{ margin:0 0 8px; font-size:22px; letter-spacing:-.02em; }
.fs-head p{ margin:0; font-size:13.5px; color:#52514e; }

.fs-body{ padding:20px 28px; }
.fs-body label{
  display:block; font-size:11px; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; color:#898781; margin:0 0 6px;
}
.fs-body input, .fs-body select{
  width:100%; padding:11px 13px; font:inherit; font-size:15px;
  border:1px solid rgba(11,11,11,.14); border-radius:9px; background-color:#fcfcfb; color:#0b0b0b;
}
/* Motyw (Astra / nowy wygląd) daje polom stałe height:40px i appearance:none -
   przy naszym paddingu tekst listy był ucięty od dołu, a strzałka znikała. */
.fs-body input, .fs-body select{ height:auto; min-height:46px; line-height:1.4; box-sizing:border-box; }
.fs-body select{
  -webkit-appearance:none; appearance:none; padding-right:40px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2352514e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
}
.fs-body input:focus, .fs-body select:focus{ outline:2px solid #087D1C; outline-offset:-1px; }
.fs-hint{ font-size:12.5px; color:#898781; margin:10px 0 0; }

.fs-sum{ margin-top:18px; border:1px solid #e1e0d9; border-radius:9px; background:#f6f6f3; padding:12px 14px; }
.fs-sum-h{ font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:#898781; margin-bottom:8px; }
.fs-sum-r{ display:flex; justify-content:space-between; gap:14px; font-size:12.5px;
  padding:3px 0; border-bottom:1px solid #eceae4; }
.fs-sum-r:last-child{ border-bottom:0; }
.fs-sum-r span{ color:#52514e; } .fs-sum-r b{ text-align:right; }

.fs-foot{ padding:16px 28px 24px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.fs-go{
  background:#087D1C; color:#fff; border:0; border-radius:9px;
  padding:12px 24px; font:inherit; font-size:15px; font-weight:600; cursor:pointer;
}
.fs-go:hover{ background:#066516; }
.fs-go:disabled{ opacity:.55; cursor:default; }
.fs-status{ font-size:13px; color:#52514e; }
.fs-status.ok{ color:#006300; font-weight:600; }
.fs-status.err{ color:#d03b3b; }

/* potwierdzenie zamówienia */
.fs-ok{ padding:40px 32px 32px; text-align:center; }
.fs-ok-ikona{ width:56px; height:56px; margin:0 auto 18px; border-radius:50%; display:grid; place-items:center;
  background:#e7f2e8; color:#087D1C; }
.fs-ok h3{ margin:0 0 6px; font-size:22px; letter-spacing:-.02em; outline:none; }
.fs-ok-co{ margin:0 0 16px; font-weight:600; color:#0b0b0b; }
.fs-ok p{ font-size:15px; line-height:1.6; color:#3d4743; margin:0 auto 12px; max-width:40ch; }
.fs-ok p b{ color:#0b0b0b; }
.fs-ok .fs-ok-pod{ font-size:13.5px; color:#5d6863; }
.fs-ok-akcje{ display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:22px; }
.fs-ok .fs-go{ background:#087D1C; text-decoration:none; display:inline-block; }
.fs-ok .fs-go:hover{ background:#066216; }
.fs-link{ background:none; border:0; font:inherit; font-size:14px; color:#5d6863; cursor:pointer;
  padding:8px 12px; text-decoration:underline; text-underline-offset:3px; }
.fs-link:hover{ color:#0b0b0b; }
.fs-link:focus-visible, .fs-ok .fs-go:focus-visible{ outline:2px solid #087D1C; outline-offset:3px; }

/* pola lokalizacji w oknie */
.fs-row{ display:flex; gap:10px; }
.fs-loc{ margin-top:14px; padding-top:12px; border-top:1px solid #e1e0d9; }
.fs-loc > div{ margin-bottom:10px; }
.fs-picks{ display:grid; gap:6px; }
.fs-pick{
  display:flex; gap:9px; align-items:baseline; padding:9px 11px;
  border:1px solid rgba(11,11,11,.14); border-radius:8px; background:#fcfcfb;
  cursor:pointer; font-size:13.5px;
}
.fs-pick:hover{ border-color:#087D1C; }
.fs-pick.on{ border-color:#087D1C; box-shadow:inset 0 0 0 1px #087D1C; }
.fs-badge{
  font-size:10px; text-transform:uppercase; letter-spacing:.05em;
  padding:1px 6px; border-radius:4px; background:#eceae4; color:#898781;
}
.fs-meta{ margin-left:auto; color:#898781; font-size:12px; text-align:right; line-height:1.35; }

@media (prefers-color-scheme:dark){
  .fs-modal{ background:#1a1a19; color:#fff; }
  .fs-head{ border-bottom-color:#2c2c2a; }
  .fs-head p, .fs-sum-r span{ color:#c3c2b7; }
  .fs-body input, .fs-body select{ background-color:#222220; color:#fff; border-color:rgba(255,255,255,.14); }
  .fs-sum{ background:#222220; border-color:#2c2c2a; }
  .fs-sum-r{ border-bottom-color:#2c2c2a; }
  .fs-loc{ border-top-color:#2c2c2a; }
  .fs-pick{ background:#222220; border-color:rgba(255,255,255,.14); }
  .fs-badge{ background:#2a2a27; }
  .fs-ok-co, .fs-ok p b{ color:#fff; }
  .fs-ok p{ color:#c3c2b7; }
  .fs-ok-ikona{ background:#1d3322; color:#7FD08C; }
}
