/* ==========================================================================
   Hesaplama araçları — form, sonuç tabloları, parametre tablosu ve yazdırma
   ========================================================================== */

.calc-intro { color: var(--ink-2); font-size: 1.02rem; margin-bottom: 18px; max-width: 820px; }

/* style.css .table-info sınıfı Bootstrap'ın açık mavi "table-info" renk varyantıyla çakışıyor; hesaplama tablolarında nötr zemin */
.calc-page .table-info {
  --bs-table-color: var(--ink); --bs-table-bg: var(--surface); --bs-table-border-color: var(--border);
  --bs-table-striped-bg: var(--brand-50); --bs-table-striped-color: var(--ink);
  --bs-table-active-bg: var(--brand-100); --bs-table-active-color: var(--ink);
  --bs-table-hover-bg: var(--brand-50); --bs-table-hover-color: var(--ink);
  color: var(--ink); border-color: var(--border);
}
.calc-tiles .tile { height: 100%; }

/* ---------- Kenar menü ---------- */
.calc-nav-title { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 0 0 10px; }
@media (max-width: 991.98px) { .calc-side-nav { position: static; } }

/* ---------- Form ---------- */
.calc-panel-body { padding: 18px 20px 20px; }
.calc-form .form-text { font-size: .8rem; }
.calc-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.calc-fieldset legend { float: none; width: auto; margin-bottom: .5rem; }
.calc-toggle { display: flex; flex-wrap: wrap; gap: 6px; }
.calc-toggle .btn { font-size: .88rem; padding: .4rem .8rem; border-radius: 999px; font-weight: 600; }
.calc-toggle .btn i { margin-right: 0; }
.calc-switch { padding-top: 4px; }
.calc-switch .form-check-label { font-size: .92rem; }
.calc-month-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px 12px; padding: 12px; background: var(--bg); border-radius: 12px; border: 1px solid var(--border); }
.calc-month-grid .form-label { font-size: .8rem; margin-bottom: 2px; }
.calc-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.calc-form .is-invalid { border-color: var(--danger); }

/* ---------- Sonuçlar ---------- */
.calc-input-summary { color: var(--muted); font-size: .85rem; margin-bottom: 12px; }
.calc-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-bottom: 16px; }
.calc-stat { background: var(--brand-50); border: 1px solid var(--brand-100); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.calc-stat-label { font-size: .78rem; color: var(--muted); font-weight: 600; }
.calc-stat-value { font-size: 1.15rem; font-weight: 800; color: var(--brand-900); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.calc-stat-main { background: var(--brand-700); border-color: var(--brand-700); }
.calc-stat-main .calc-stat-label { color: rgba(255, 255, 255, .78); }
.calc-stat-main .calc-stat-value { color: #fff; }
.calc-result-title { font-size: 1rem; margin: 6px 0 10px; }
.calc-caption { caption-side: top; padding: 10px 14px 6px; font-size: .82rem; font-weight: 600; color: var(--muted); }
.calc-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.calc-kv th { font-weight: 500; color: var(--ink-2); background: transparent; }
.calc-kv td, .calc-kv th { padding: .5rem .85rem; }
.calc-kv .calc-row-sub th, .calc-kv .calc-row-sub td { color: var(--muted); font-size: .86rem; }
.calc-kv .calc-row-total th, .calc-kv .calc-row-total td { font-weight: 800; color: var(--brand-900); background: var(--brand-50); border-top: 2px solid var(--brand-100); }
.calc-grid thead th { font-size: .8rem; }
.calc-grid tbody th { font-weight: 600; white-space: nowrap; }
.calc-grid td, .calc-grid th { padding: .45rem .7rem; }
.calc-grid tfoot th, .calc-grid tfoot td { font-weight: 800; background: var(--brand-50); color: var(--brand-900); border-top: 2px solid var(--brand-100); }
.calc-payroll { font-size: .84rem; min-width: 1180px; }
.calc-payroll tbody th, .calc-payroll tfoot th { position: sticky; left: 0; z-index: 1; background: var(--surface); box-shadow: 1px 0 0 var(--border); }
.calc-payroll tbody tr:nth-of-type(odd) th { background: var(--brand-50); }
.calc-payroll tfoot th { background: var(--brand-50); }
.calc-table-wrap { -webkit-overflow-scrolling: touch; }
#calcResult .note { font-size: .88rem; }

/* ---------- Varsayımlar, parametreler, kaynaklar ---------- */
.calc-notes { background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; }
.calc-notes h2 { margin-bottom: 10px; }
.calc-notes ul { margin: 0; padding-left: 1.1rem; color: var(--ink-2); font-size: .9rem; }
.calc-notes li { margin-bottom: 6px; }
.calc-params-table { font-size: .84rem; min-width: 760px; }
.calc-params-table thead th { white-space: nowrap; }
.calc-params-table tbody th { font-weight: 600; min-width: 190px; vertical-align: top; }
.calc-params-table td { vertical-align: top; }
.calc-param-value { min-width: 180px; font-variant-numeric: tabular-nums; }
.calc-param-help { color: var(--ink-2); min-width: 260px; }
.calc-details { margin-top: 6px; }
.calc-details summary { cursor: pointer; color: var(--brand-600); font-weight: 600; font-size: .8rem; }
.calc-details ul { margin: 6px 0 0; padding-left: 1rem; font-size: .8rem; max-height: 260px; overflow: auto; }
.calc-sources ul li { margin-bottom: 6px; font-size: .9rem; }
.calc-sources i { font-size: .75em; margin-right: 4px; }

@media (max-width: 575.98px) {
  .calc-panel-body { padding: 14px 14px 16px; }
  .calc-toggle .btn { flex: 1 1 auto; }
  .calc-summary { grid-template-columns: 1fr 1fr; }
  .calc-stat-value { font-size: 1rem; }
  .calc-actions .btn { flex: 1 1 auto; }
  .calc-month-grid { grid-template-columns: 1fr 1fr; }
}

/* ---------- Yazdırma ---------- */
@media print {
  .calc-side-nav, .calc-form-card, .calc-params-toggle, .calc-sources, .calc-intro { display: none !important; }
  .calc-page .col-lg-8 { width: 100% !important; flex: 0 0 100%; max-width: 100%; }
  .calc-result-card { margin-top: 0 !important; }
  .calc-result-card .panel-head { padding-left: 0; }
  .calc-result-card .panel-body { padding: 0; }
  .calc-stat-main { background: #fff; border-color: #000; }
  .calc-stat-main .calc-stat-label, .calc-stat-main .calc-stat-value { color: #000; }
  .table-wrap { overflow: visible; border: 0; }
  .calc-payroll { min-width: 0; font-size: 7.5pt; }
  .calc-payroll tbody th, .calc-payroll tfoot th { position: static; }
  .table-info thead th { background: #fff !important; color: #000 !important; border-bottom: 2px solid #000; }
  #calcParamsTable.collapse:not(.show) { display: none !important; }
}
