/* ROOT */
.fa-calculator { --fa-radius:12px; --fa-gap:16px; --fa-pad:14px; --fa-muted:#64748b; --fa-border:#e2e8f0; --fa-card:#f8fafc; }

/* GLOBAL KILL (legacy) */
.fa-calc-summary{ display:none!important; } /* stary blok z duplikatem kosztów */

/* GRID – fallback; JS i tak ustawi inline */
.fa-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(360px,1fr));
  gap:20px;
  align-items:start;
}

/* KARTY */
.fa-card{
  background:#fff;
  border:1px solid var(--fa-border);
  border-radius:16px;
  padding:16px;
  box-shadow:0 1px 0 rgba(15,23,42,.03), 0 10px 20px -12px rgba(15,23,42,.06);
}
.fa-card > h3{
  margin:0 0 10px 0;
  font-size:18px;
  font-weight:700;
  color:#0f172a;
}

/* FORM W KARTACH – fallback; JS ustawia kolumny inline po szerokości karty */
.fa-card .fa-calc-form{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap:12px 16px;
}
.fa-field{ display:flex; flex-direction:column; gap:6px; }
.fa-field label{ font-size:12px; color:var(--fa-muted); }
.fa-field input[type="text"],
.fa-field input[type="number"],
.fa-field select{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--fa-border);
  border-radius:10px;
  background:#fff;
}
.fa-field.fa-span{ grid-column:1 / -1; }

/* INLINY (Ekspres/Weekend/VAT/Noc w jednej linii) */
.fa-inline{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:10px;
}
.fa-chip{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; border:1px solid var(--fa-border); background:#fff;
  border-radius:999px; font-size:13px; white-space:nowrap;
}
.fa-chip input[type="checkbox"]{ accent-color:#0ea5e9; }

/* PRZYCISKI */
.fa-actions{ margin-top:12px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.fa-btn{ appearance:none; border:0; padding:10px 14px; background:#0284c7; color:#fff; border-radius:10px; cursor:pointer; font-weight:600; }
.fa-btn.secondary{ background:#e2e8f0; color:#0f172a; }

/* PRESETY */
.fa-preset{ border:1px dashed #94a3b8; background:#f1f5f9; color:#0f172a; padding:6px 10px; border-radius:999px; font-size:12px; }

/* ROZBICIE KOSZTÓW */
.fa-break{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px; }
.fa-bucket{ background:#fff; border:1px solid var(--fa-border); border-radius:14px; padding:10px; }
.fa-bucket h4{ margin:4px 6px 8px; font-size:14px; color:#0f172a; }
#fa_break_fixed, #fa_break_var{ margin:0; padding:0; list-style:none; }
#fa_break_fixed li, #fa_break_var li{
  display:flex; justify-content:space-between; align-items:center;
  padding:6px 8px; border-radius:8px;
}
#fa_break_fixed li:nth-child(odd), #fa_break_var li:nth-child(odd){ background:#f8fafc; }
#fa_break_fixed .label, #fa_break_var .label{ color:#334155; font-size:13px; }
#fa_break_fixed .val,   #fa_break_var .val{ font-weight:700; }

/* PODSUMOWANIE */
.fa-summary{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:12px; }
.fa-sum{ background:#fff; border:1px solid var(--fa-border); border-radius:14px; padding:10px 12px; }
.fa-sum[data-key="gross"]{ border-color:#bae6fd; box-shadow:0 0 0 3px #e0f2fe inset; }
.fa-sum .k{ display:block; font-size:12px; color:var(--fa-muted); }
.fa-sum .v{ display:block; margin-top:6px; font-weight:800; }

/* MODAL */
#fa_rates_modal{ position:fixed; inset:0; background:rgba(15,23,42,.55); display:grid; place-items:center; padding:20px; z-index:9999; }
#fa_rates_modal[hidden]{ display:none!important; }
#fa_rates_modal .fa-modal{
  background:#fff; width:min(980px, 92vw); border-radius:16px; border:1px solid var(--fa-border);
  box-shadow:0 30px 50px -25px rgba(2,8,23,.4);
}
#fa_rates_modal .fa-modal-head{ padding:14px 16px; border-bottom:1px solid var(--fa-border); }
#fa_rates_modal .fa-modal-body{ padding:14px 16px; max-height:70vh; overflow:auto; }
#fa_rates_modal .fa-modal-foot{ padding:14px 16px; border-top:1px solid var(--fa-border); display:flex; justify-content:flex-end; gap:10px; }
.fa-rates-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:12px 14px; }
.fa-rate label{ display:block; font-size:12px; color:var(--fa-muted); margin-bottom:6px; }
.fa-rate input{ width:100%; padding:9px 10px; border:1px solid var(--fa-border); border-radius:10px; }

/* Awaryjne ukrycie starych pustych pól gdyby przetrwały */
.fa-calculator label[for="fa_break_fixed"],
.fa-calculator label[for="fa_break_var"]{ display:none!important; }
