/**
 * TextPilot – Forms
 * Form controls, tables, alerts, accordion, progress bars.
 */

/* ── Forms ────────────────────────────────────────────────────────────── */
.form-control, .form-select {
  border-color: var(--tp-border);
  border-radius: var(--tp-radius-sm);
  box-shadow: var(--shadow-xs);
  transition: border-color .15s, box-shadow .15s;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--tp-brand);
  box-shadow: 0 0 0 3px rgba(14,174,193,.16), var(--shadow-xs);
}
.form-label { font-weight: 600; font-size: .84rem; color: #374151; }

/* ── Alerts ───────────────────────────────────────────────────────────── */
.alert { border-radius: var(--tp-radius-sm); font-size: .875rem; }

/* ── Accordion ────────────────────────────────────────────────────────── */
.accordion-button {
  font-weight: 500; font-size: .875rem;
  transition: background .15s ease, color .15s ease;
  cursor: pointer;
}
.accordion-button:hover { background: rgba(14,174,193,.07); color: var(--tp-brand); }
.accordion-button:not(.collapsed) { color: var(--tp-brand); background: rgba(14,174,193,.05); font-weight: 600; }
.accordion-button:focus { box-shadow: 0 0 0 3px rgba(14,174,193,.16); }
.accordion-item { border-color: var(--tp-border-light); transition: border-color .15s ease; }
.accordion-item:hover { border-color: rgba(14,174,193,.30); }

/* ── Progress ─────────────────────────────────────────────────────────── */
.progress        { border-radius: 99px; background: var(--tp-border); }
.progress-bar    { border-radius: 99px; }
.tp-progress-xs  { height: 4px; }
.tp-progress-fill { width: var(--pct, 0%); }

/* ── Tables ───────────────────────────────────────────────────────────── */
.table > thead > tr > th {
  font-size: .68rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .08em;
  color: var(--tp-text-muted);
  background: var(--tp-bg);
  padding: .8rem 1.1rem;
  border-bottom: 1px solid var(--tp-border);
}
.table > tbody > tr { transition: background .1s; }
.table > tbody > tr:hover > * { background: rgba(244,246,251,.8) !important; }
.table > tbody > tr > td {
  border-bottom-color: var(--tp-border-light);
  padding: .8rem 1.1rem;
  font-size: .875rem;
  color: var(--tp-text-secondary);
}
.table > tbody > tr > td:first-child { color: var(--tp-text); font-weight: 500; }
.table-vcenter td    { vertical-align: middle; }
.tp-table-cell-sm    { font-size: .8rem;  color: var(--tp-text-secondary); }
.tp-table-cell-xs    { font-size: .75rem; color: var(--tp-text-secondary); }
.tp-table-cell-trunc { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── Dark Mode: Forms ─────────────────────────────────────────────────── */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
  background: #1E2438; border-color: var(--tp-border); color: var(--tp-text);
}
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus { background: #1E2438; border-color: var(--tp-brand); }
[data-theme="dark"] .form-label { color: var(--tp-text-secondary); }

/* ── Dark Mode: Tables ────────────────────────────────────────────────── */
[data-theme="dark"] .table > thead > tr > th  { background: #1A1F2E; color: var(--tp-text-muted); border-bottom-color: var(--tp-border); }
[data-theme="dark"] .table > tbody > tr > td  { border-bottom-color: var(--tp-border-light); color: var(--tp-text-secondary); }
[data-theme="dark"] .table > tbody > tr > td:first-child { color: var(--tp-text); }
[data-theme="dark"] .table > tbody > tr:hover > * { background: rgba(255,255,255,.03) !important; }

/* ── Dark Mode: Accordion ─────────────────────────────────────────────── */
[data-theme="dark"] .accordion-button { background: #1A1F2E; color: var(--tp-text); border-color: var(--tp-border); }
[data-theme="dark"] .accordion-button:hover { background: rgba(14,174,193,.10); color: #5DD8E8; }
[data-theme="dark"] .accordion-button:not(.collapsed) { background: rgba(14,174,193,.1); }
[data-theme="dark"] .accordion-item  { border-color: var(--tp-border); }
[data-theme="dark"] .accordion-item:hover { border-color: rgba(14,174,193,.40); }
[data-theme="dark"] .accordion-body  { background: var(--tp-surface); }

/* ── Dark Mode: Progress ──────────────────────────────────────────────── */
[data-theme="dark"] .progress { background: var(--tp-border); }
