/* NUST Aggregate Calculator - Styles */
.nust-agg { font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; }

/* Card */
.nust-card {
  max-width: 760px;
  margin: 18px auto;
  padding: 18px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(10,10,10,0.06);
  color: #111;
}

/* Dark mode */
.nust-card.dark {
  background: #111217;
  color: #e6e6e6;
  box-shadow: none;
}

/* Header */
.nust-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.nust-header h2 { font-size:20px; margin:0; color:#F43676; }

/* Lead */
.nust-lead { margin:12px 0 18px; color:inherit; opacity:0.9; }

/* Form */
.nust-form { display:block; gap:12px; }
.nust-fieldset { border:none; padding:0; margin:0 0 12px; display:flex; gap:12px; align-items:center; }
.radio { display:flex; align-items:center; gap:6px; font-size:14px; margin-right:6px; }

/* Rows/cols */
.row { display:flex; gap:12px; margin-bottom:12px; }
.col { flex:1; min-width:120px; display:flex; flex-direction:column; }
.col.full { flex:1 1 100%; }

label { font-size:13px; margin-bottom:6px; }
input[type="number"], input[type="text"] {
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #e6e6e6;
  font-size:15px;
}
.nust-card.dark input[type="number"], .nust-card.dark input[type="text"] {
  background:#0f1114; border:1px solid #222;
  color:#e6e6e6;
}

/* Buttons */
.actions { display:flex; gap:10px; margin-top:6px; }
.btn {
  padding:10px 14px;
  border-radius:10px;
  border:1px solid transparent;
  background:#f3f3f3;
  cursor:pointer;
  font-weight:600;
}
.btn.primary { background:#F43676; color:#fff; border-color:#F43676; }
.nust-card.dark .btn { background:#1b1c1f; color:#e6e6e6; border-color:#1b1c1f; }
.nust-card.dark .btn.primary { background:#F43676; color:#fff; }

/* Result */
.result-wrap { margin-top:18px; padding:12px; border-radius:10px; background: #fbfbfb; border:1px solid #f0f0f0; }
.nust-card.dark .result-wrap { background:#0c0d0f; border:1px solid #1a1a1a; }
.result-row { display:flex; gap:20px; flex-wrap:wrap; align-items:flex-start; }
.result-item { min-width:200px; }
.result-item .label { display:block; font-size:13px; color:#666; margin-bottom:6px; }
.value { font-size:22px; font-weight:700; color:#111; }
.nust-card.dark .value { color:#fff; }

/* Breakdown */
.breakdown { margin:0; padding-left:18px; color:inherit; }
.breakdown li { margin-bottom:6px; }

/* Info icons and footer */
.doc-footer { margin-top:14px; display:flex; gap:8px; align-items:center; justify-content:flex-end; }
.info-icon {
  width:34px; height:34px; border-radius:8px; border:1px solid #eee;
  background:#fff; color:#111; font-weight:700; cursor:pointer;
}
.nust-card.dark .info-icon { background:#0d0e11; border-color:#222; color:#e6e6e6; }

/* Tooltip (click toggled) */
.nust-tooltip {
  position:absolute;
  z-index:50;
  min-width:200px;
  max-width:320px;
  padding:10px;
  background:#111;
  color:#fff;
  border-radius:8px;
  font-size:13px;
}
.nust-tooltip.light { background:#111; color:#fff; }
.nust-tooltip.hidden { display:none; }

/* Responsive */
@media (max-width:700px) {
  .row { flex-direction:column; }
  .nust-card { margin:12px; padding:14px; }
}