#csc-app{
  max-width: 920px;
  margin: 20px auto;
  background: #f4f6fb;
  padding: 20px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.06);
}
.csc-title{ font-size: 28px; font-weight: 900; margin-bottom: 12px; }

.csc-field{ margin-bottom: 14px; min-width: 0; }
.csc-label{ display:block; font-weight: 700; margin-bottom: 6px; }
.csc-help{ font-size: 13px; opacity: 0.75; margin-top: 6px; line-height: 1.25; max-width: 48ch; }

.csc-input{
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.18);
  background: #fff;
  box-sizing: border-box;
}
.csc-input.csc-disabled{ opacity: 0.6; }

.csc-row2{ display:grid; grid-template-columns: 1fr; gap: 14px; align-items: start; }
.csc-amount-row{ grid-template-columns: 1fr; }
.csc-or{ display:none; }

@media (min-width: 820px){
  .csc-row2{ grid-template-columns: 1fr 1fr; }
  .csc-amount-row{ grid-template-columns: 1fr 70px 1fr; }
  .csc-or{ display:flex; align-items:center; justify-content:center; font-weight: 800; opacity: 0.65; margin-top: 34px; }
}

.csc-inline{ display:flex; align-items:center; gap: 10px; margin-top: 6px; }
.csc-checkbox{ width: 18px; height: 18px; }
.csc-label-inline{ font-weight: 700; }

.csc-btn-row{ display:flex; gap:10px; margin-top: 10px; }
.csc-btn{
  padding: 14px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.15);
  background: #e9eef8;
  font-weight: 800;
  cursor: pointer;
}
.csc-btn-main{ flex: 0 0 85%; }
.csc-btn-reset{ flex: 0 0 15%; background:#fff; }

.csc-results{ margin-top: 18px; }

.csc-loading, .csc-error, .csc-summary, .csc-chart, .csc-table-wrap, .csc-card{
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
}
.csc-loading, .csc-error{ padding: 14px; }

.csc-summary{ padding: 14px; }
.csc-summary-grid{ display:grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 820px){ .csc-summary-grid{ grid-template-columns: repeat(5, 1fr); } }
.csc-summary-item .t{ font-size: 12px; opacity: 0.75; font-weight: 700; }
.csc-summary-item .v{ font-size: 16px; font-weight: 900; margin-top: 4px; }

.csc-actions{ display:flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.csc-action-btn{ padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(0,0,0,0.15); background: #fff; font-weight: 800; cursor: pointer; }

.csc-chart{ padding: 14px; margin-top: 12px; }

.csc-section-title{ margin-top: 14px; font-weight: 900; }

.csc-table-wrap{ overflow-x:auto; padding: 10px; margin-top: 10px; }
.csc-table{ width:100%; border-collapse: collapse; font-size: 14px; }
.csc-table th, .csc-table td{ padding: 10px 10px; border-bottom: 1px solid rgba(0,0,0,0.06); text-align: left; white-space: nowrap; }

.csc-desktop-only{ display:none; }
.csc-mobile-only{ display:block; }
@media (min-width: 820px){
  .csc-desktop-only{ display:block; }
  .csc-mobile-only{ display:none; }
}

.csc-cards{ display:grid; grid-template-columns: 1fr; gap: 12px; margin-top: 10px; }
.csc-card{ padding: 14px; }
.csc-card-title{ font-weight: 900; margin-bottom: 10px; }
.csc-row{ display:flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(0,0,0,0.06); }
.csc-row:last-child{ border-bottom: none; }
.csc-k{ font-weight: 700; opacity: 0.75; }
.csc-v{ font-weight: 900; }
