/* The Tool Bakery — Pregnancy Due Date Calculator (modern, dark-friendly) */
#ttb-pddc, #ttb-pddc * { box-sizing: border-box; }
#ttb-pddc { --bg:#111; --card:#1a1a1a; --muted:#9aa0a6; --accent:#22c55e; --border:#333; --text:#fff; }
#ttb-pddc { color: var(--text); background: transparent; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, Helvetica, sans-serif; }

.ttb-pddc-title { color:#000; font-size: 1.75rem; margin: 0 0 12px 0; }

.ttb-pddc-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 16px;
  margin: 12px 0;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}

.ttb-pddc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 900px){
  .ttb-pddc-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .ttb-pddc-grid { grid-template-columns: 1fr; }
}

.ttb-pddc-field label { display:block; font-weight: 600; margin-bottom: 6px; color:#fff; }
.ttb-pddc-field input[type="date"],
.ttb-pddc-field input[type="number"],
.ttb-pddc-field select {
  width: 100%; padding: 10px 12px; border-radius: 10px;
  background: #0f0f0f; border:1px solid var(--border); color:#fff;
  outline: none;
}
.ttb-pddc-field small { color: var(--muted); display:block; margin-top: 4px; }

.ttb-pddc-actions {
  grid-column: 1 / -1;
  display: flex; gap: 10px; margin-top: 6px;
}

.ttb-pddc-btn {
  background: var(--accent); color:#000;
  border: 1px solid #16a34a; border-radius: 999px; padding: 10px 16px;
  font-weight: 700; cursor: pointer;
  transition: transform .05s ease, box-shadow .2s ease;
}
.ttb-pddc-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(34,197,94,0.3); }
.ttb-pddc-btn:active { transform: translateY(0); }

.ttb-pddc-btn-ghost { background: transparent; color:#fff; border-color: var(--border); }
.ttb-pddc-btn-outline { background: transparent; color:#fff; border-color: var(--border); }

.ttb-pddc-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:10px; }

/* KPI cards */
.ttb-pddc-result-grid {
  display:grid; gap:10px;
  grid-template-columns: repeat(2, minmax(0,1fr));
}
@media (max-width: 900px){
  .ttb-pddc-result-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .ttb-pddc-result-grid { grid-template-columns: 1fr; }
}
.ttb-pddc-kpi {
  background:#0f0f0f; border:1px solid var(--border);
  padding:12px; border-radius:12px;
}
.ttb-pddc-kpi-label { color: var(--muted); font-size:.9rem; display:block; }
.ttb-pddc-kpi-value { color:#fff; font-size:1.2rem; font-weight:800; }

/* Progress */
.ttb-pddc-progress-wrap { margin: 14px 0; }
.ttb-pddc-progress-bar { background:#0b0b0b; border:1px solid var(--border); border-radius:999px; height:12px; overflow:hidden; }
.ttb-pddc-progress { height:100%; width:0%; background:linear-gradient(90deg, #22c55e, #86efac); }

.ttb-pddc-progress-label { color: var(--muted); margin-top:6px; font-size:.9rem; }

/* Table */
.ttb-pddc-table { width:100%; border-collapse: collapse; margin-top:12px; }
.ttb-pddc-table th, .ttb-pddc-table td {
  border:1px solid var(--border); padding:10px; text-align:left; color:#fff;
}
.ttb-pddc-table th { background:#0f0f0f; }

.ttb-pddc-subtitle { margin:0 0 8px 0; color:#fff; }

.ttb-pddc-disclaimer { color: var(--muted); font-size:.9rem; margin-top: 14px; }

/* Hide export controls during print (also enforced in JS iframe) */
@media print {
  .ttb-pddc-export { display:none !important; }
}
