/* Chardins Calculations UI-only enhancement · v4.15.9.0.3
   Scoped styles only. No global button, modal, navigation or calculation rules are overridden. */

.calc-ui-cost-chip{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border:1px solid rgba(11,31,51,.16);
  border-radius:999px;
  background:#fff;
  color:#24394b;
  font-size:11px;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
  box-shadow:0 1px 3px rgba(11,31,51,.06);
}
.calc-ui-cost-chip.transport{border-color:rgba(62,92,118,.30);background:#f5f8fb;color:#25455d}
.calc-ui-cost-chip.fuel{border-color:rgba(103,112,93,.28);background:#f6f8f3;color:#465442}
.calc-ui-cost-chip.entry{border-color:rgba(71,113,139,.27);background:#f3f8fb;color:#315e76}
.calc-ui-cost-chip.guide{border-color:rgba(95,77,116,.28);background:#f7f4fa;color:#5a476d}
.calc-ui-cost-chip.expense{border-color:rgba(151,102,50,.28);background:#fbf7f1;color:#805724}
.calc-ui-cost-chip.tour{border-color:rgba(90,99,111,.25);background:#f6f7f8;color:#4e5965}
.calc-ui-cost-chip.hotel-premium{border-color:rgba(177,137,62,.42);background:#fffaf0;color:#765719}
.calc-ui-cost-chip.hotel-standard{border-color:rgba(47,94,104,.30);background:#f2f8f8;color:#315f66}
.calc-ui-cost-chip.supplier{border-color:rgba(103,77,101,.30);background:#f8f4f7;color:#654b63}

.calc-ui-fast-hotel-price,
.calc-ui-planner-hotel-price,
.calc-ui-stay-price,
.calc-ui-day-hotel-price{
  display:block;
  margin-top:4px;
  color:#765719;
  font-size:11px;
  font-weight:750;
  line-height:1.35;
}
.calc-ui-fast-hotel-price{margin-top:2px;font-size:10.5px}

.calc-ui-accommodation-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:12px 0 16px;
  padding:14px 16px;
  border:1px solid rgba(11,31,51,.20);
  border-radius:14px;
  background:#f9fafb;
  box-shadow:0 6px 18px rgba(11,31,51,.07);
}
.calc-ui-night-status{display:flex;flex-direction:column;gap:3px;min-width:0}
.calc-ui-night-status strong{font-size:13px;line-height:1.4;color:#142d42}
.calc-ui-night-status strong b{color:#9a651c}
.calc-ui-night-status small{font-size:11px;line-height:1.4;color:#64717c}
.calc-ui-accommodation-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}

.calc-ui-hotel-editor #hsRooms select,
.calc-ui-hotel-editor #hsSource{
  width:100%;
  min-height:42px;
  font-size:13px;
}
.calc-ui-hotel-source{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:12px;
  margin:14px 0;
  align-items:stretch;
}
.calc-ui-hotel-source>.ws-field,
.calc-ui-hotel-price-preview{
  border:1px solid rgba(11,31,51,.18);
  border-radius:13px;
  background:#fff;
  padding:13px;
  box-shadow:0 4px 14px rgba(11,31,51,.055);
}
.calc-ui-hotel-price-preview{display:flex;flex-direction:column;justify-content:center;gap:7px;min-width:0}
.calc-ui-hotel-price-preview>strong{font-size:13px;line-height:1.4;color:#173147}
.calc-ui-hotel-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.calc-ui-hotel-price-grid>div{
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(11,31,51,.12);
  border-radius:10px;
  background:#f8fafb;
}
.calc-ui-hotel-price-grid span{display:block;margin-bottom:3px;color:#6b7780;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.calc-ui-hotel-price-grid b{display:block;color:#142d42;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.calc-ui-hotel-price-grid small{display:block;margin-top:3px;color:#74808a;font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}

.calc-ui-detailed-cost-matrix{
  margin:16px 0;
  border:1px solid rgba(11,31,51,.20);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(11,31,51,.075);
}
.calc-ui-matrix-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  padding:18px 20px 15px;
  border-bottom:1px solid rgba(11,31,51,.14);
  background:#f8fafb;
}
.calc-ui-matrix-header h3{margin:3px 0 4px;color:#102a41;font:600 19px/1.2 Georgia,serif}
.calc-ui-matrix-header p{max-width:780px;margin:0;color:#687580;font-size:11.5px;line-height:1.5}
.calc-ui-matrix-select{display:flex;flex-direction:column;gap:5px;min-width:245px;color:#56636d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.calc-ui-matrix-select select{min-height:40px;padding:0 10px;border:1px solid rgba(11,31,51,.23);border-radius:9px;background:#fff;color:#183147;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0}

.calc-ui-cost-summary{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));border-bottom:1px solid rgba(11,31,51,.13)}
.calc-ui-cost-summary>div{padding:12px 13px;border-right:1px solid rgba(11,31,51,.10);background:#fff}
.calc-ui-cost-summary>div:last-child{border-right:0}
.calc-ui-cost-summary span{display:block;min-height:26px;color:#697681;font-size:10px;font-weight:750;line-height:1.25;text-transform:uppercase;letter-spacing:.045em}
.calc-ui-cost-summary strong{display:block;margin-top:4px;color:#163047;font-size:17px;line-height:1.15}
.calc-ui-cost-summary .net{background:#102a41}
.calc-ui-cost-summary .net span{color:rgba(255,255,255,.68)}
.calc-ui-cost-summary .net strong{color:#e0bd76}

.calc-ui-cost-table-wrap{width:100%;overflow:auto}
.calc-ui-cost-table{width:100%;min-width:930px;border-collapse:collapse;font-size:11.5px;line-height:1.4}
.calc-ui-cost-table th{
  padding:9px 12px;
  border-bottom:1px solid rgba(11,31,51,.15);
  background:#fbfcfd;
  color:#65727d;
  font-size:9.5px;
  font-weight:800;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.055em;
  white-space:nowrap;
}
.calc-ui-cost-table td{padding:10px 12px;border-bottom:1px solid rgba(11,31,51,.08);color:#40515f;vertical-align:top}
.calc-ui-cost-table tbody tr:hover{background:#fbfcfd}
.calc-ui-cost-table td:first-child{width:60px;color:#6d7881;font-weight:750;white-space:nowrap}
.calc-ui-cost-table td:nth-child(2){width:115px}
.calc-ui-cost-table td:nth-child(3){min-width:190px}
.calc-ui-cost-table td:nth-child(4){min-width:260px;color:#687681}
.calc-ui-cost-table td:nth-child(5){min-width:150px;white-space:nowrap}
.calc-ui-cost-table td:last-child{width:115px;text-align:right;white-space:nowrap;color:#142d42}
.calc-ui-cost-table tr.warn td{background:#fff8f2;color:#865930}
.calc-ui-cost-table tfoot td{padding:13px 12px;border-top:1px solid rgba(11,31,51,.20);border-bottom:0;background:#f7f9fa}
.calc-ui-cost-table tfoot td:first-child{color:#142d42}
.calc-ui-cost-table tfoot small{display:block;margin-top:2px;color:#74808a;font-size:10px;font-weight:500}
.calc-ui-cost-kind{display:inline-flex;align-items:center;min-height:21px;padding:3px 7px;border:1px solid rgba(11,31,51,.13);border-radius:999px;background:#f6f8fa;color:#52616d;font-size:9.5px;font-weight:800;white-space:nowrap}
.calc-ui-cost-kind.hotel{background:#fff9ee;border-color:rgba(177,137,62,.32);color:#775a20}
.calc-ui-cost-kind.vehicle,.calc-ui-cost-kind.fuel{background:#f2f7fa;border-color:rgba(62,92,118,.24);color:#355b70}
.calc-ui-cost-kind.guide{background:#f7f4fa;border-color:rgba(95,77,116,.24);color:#5b486c}
.calc-ui-cost-kind.entry,.calc-ui-cost-kind.meal,.calc-ui-cost-kind.included-stops{background:#f2f8fa;border-color:rgba(71,113,139,.23);color:#346174}
.calc-ui-cost-kind.mandatory,.calc-ui-cost-kind.additional{background:#fbf7f1;border-color:rgba(151,102,50,.23);color:#7b572c}
.calc-ui-cost-kind.supplier{background:#f8f4f7;border-color:rgba(103,77,101,.24);color:#674e64}

.calc-ui-legacy-costs{margin:0;border-top:1px solid rgba(11,31,51,.13);background:#fafbfc}
.calc-ui-legacy-costs summary{display:flex;align-items:center;gap:9px;padding:12px 18px;cursor:pointer;color:#253e51;font-size:11.5px;font-weight:800}
.calc-ui-legacy-costs summary span{color:#78838c;font-size:10px;font-weight:500}
.calc-ui-legacy-cost-list{padding:0 18px 14px}
.calc-ui-legacy-cost-list>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid rgba(11,31,51,.08)}
.calc-ui-legacy-cost-list span{display:flex;flex-direction:column;gap:2px}
.calc-ui-legacy-cost-list strong{color:#243c50;font-size:11.5px}
.calc-ui-legacy-cost-list small{color:#737f89;font-size:10.5px}
.calc-ui-legacy-cost-list b{color:#142d42;font-size:12px;white-space:nowrap}

@media (max-width:1100px){
  .calc-ui-cost-summary{grid-template-columns:repeat(4,minmax(120px,1fr))}
  .calc-ui-cost-summary>div:nth-child(4){border-right:0}
  .calc-ui-hotel-source{grid-template-columns:1fr}
}
@media (max-width:720px){
  .calc-ui-accommodation-tools{align-items:stretch;padding:13px}
  .calc-ui-accommodation-actions{display:grid;grid-template-columns:1fr 1fr}
  .calc-ui-accommodation-actions .btn{width:100%;min-height:42px}
  .calc-ui-matrix-header{align-items:stretch;flex-direction:column;padding:15px}
  .calc-ui-matrix-select{width:100%;min-width:0}
  .calc-ui-cost-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc-ui-cost-summary>div{border-bottom:1px solid rgba(11,31,51,.09)}
  .calc-ui-cost-summary .net{grid-column:1/-1}
  .calc-ui-hotel-price-grid{grid-template-columns:1fr}
  .calc-ui-cost-chip{font-size:10.5px}
}

.calc-ui-night-plan-detail{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  width:100%;
}
.calc-ui-night-plan-detail:empty{display:none}
.calc-ui-night-plan-detail>div{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 10px;
  border:1px solid rgba(11,31,51,.12);
  border-radius:9px;
  background:#fff;
}
.calc-ui-night-plan-detail>div.suggested{border-color:rgba(47,94,104,.24);background:#f4f9f8}
.calc-ui-night-plan-detail>div.missing{border-color:rgba(167,103,47,.25);background:#fff8f2}
.calc-ui-night-plan-detail>div.ok{grid-column:1/-1;border-color:rgba(62,116,84,.25);background:#f4f9f5}
.calc-ui-night-plan-detail b{font-size:10.5px;color:#263e51}
.calc-ui-night-plan-detail span{font-size:10.5px;line-height:1.35;color:#687580}
.calc-ui-night-more{grid-column:1/-1;color:#74808a;font-size:10.5px}
@media (max-width:720px){.calc-ui-night-plan-detail{grid-template-columns:1fr}}
@media (max-width:720px){.calc-ui-accommodation-tools{grid-template-columns:1fr}}
