/* ============================================================
   Villa Plumbing Field Portal — Service Tickets
   List, Intake Queue, Detail Panel, Status chips.
   Class prefix: .svct-*
   ============================================================ */

.svct-root { font-family: Barlow, sans-serif; }

.svct-list {
  display: flex; flex-direction: column; gap: 8px;
}
.svct-row {
  display: flex; gap: 12px; align-items: center;
  background: #fff; border: 1px solid #e1e7ec; border-radius: 10px;
  padding: 10px 12px;
}
.svct-row:hover { background: #f7fafc; }
.svct-row-tx { flex: 1; min-width: 0; }
.svct-row-nm { font-weight: 700; color: #141310; }
.svct-row-sub { color: #4a6b65; font-size: 13px; margin-top: 2px; }
.svct-row-meta { color: #6b8189; font-size: 12px; margin-top: 4px; }

/* Status chips */
.svct-status {
  display: inline-block; padding: 2px 8px; border-radius: 999px;
  font-size: 11px; font-weight: 700; letter-spacing: .03em;
  background: #e7eef3; color: #34495e;
}
.svct-status.needs_intake { background:#fdf4d8; color:#7a5b00; }
.svct-status.draft       { background:#e8edf2; color:#34495e; }
.svct-status.awaiting_approval { background:#fff4dc; color:#7a4b00; }
.svct-status.queued      { background:#dcefff; color:#08446b; }
.svct-status.scheduled   { background:#d6f0e3; color:#0a5c48; }
.svct-status.en_route    { background:#cfe9e3; color:#0a5c48; }
.svct-status.on_site     { background:#bfe6f7; color:#08446b; }
.svct-status.closeout_pending { background:#ffe7c3; color:#7a4b00; }
.svct-status.invoiced    { background:#dcf5ef; color:#0a5c48; }
.svct-status.paid        { background:#cdeed4; color:#1f6b3a; }
.svct-status.cancelled   { background:#f5dcd6; color:#7a1f1a; }

/* Priority pill */
.svct-prio {
  display: inline-block; padding: 2px 7px; border-radius: 4px;
  font-size: 11px; font-weight: 700;
  background:#e7eef3; color:#34495e;
}
.svct-prio.Normal    { background:#e7eef3; color:#34495e; }
.svct-prio.High      { background:#ffe7c3; color:#7a4b00; }
.svct-prio.Emergency { background:#fbe1de; color:#7a1f1a; }

/* Intake Queue panel */
.svct-intake-queue {
  background:#fffbe8; border:1px solid #f6e4a4; border-radius:10px;
  padding: 12px; margin-bottom: 12px;
}
.svct-intake-queue h4 { margin: 0 0 8px 0; color:#7a5b00; }
.svct-intake-queue .svct-row { background:#fffefa; border-color:#f0e4b2; }

/* Detail panel */
.svct-detail {
  background:#fff; border:1px solid #e1e7ec; border-radius:12px;
  padding: 14px;
}
.svct-detail h4 { margin: 0 0 8px 0; color:#141310; }
.svct-detail .svct-row-meta { margin-top: 8px; }
.svct-detail-grid {
  display:grid; grid-template-columns: 1fr 1fr; gap:10px;
  margin-top: 8px;
}
.svct-detail-grid > div { font-size: 13px; color:#34495e; }
.svct-detail-grid > div b { display: block; color:#6b8189; font-size: 11px; font-weight:700; letter-spacing:.04em; text-transform: uppercase; margin-bottom: 2px; }

/* Emergency banner */
.svct-emergency-banner {
  background:#fbe1de; color:#7a1f1a; border:1px solid #f3c2bc;
  border-radius:10px; padding:10px 14px; font-weight:700;
  margin-bottom: 10px;
}

/* Action bar */
.svct-actions {
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px;
}
.svct-btn {
  background:#fff; border:1px solid #c5d2db; border-radius:8px;
  padding: 6px 12px; cursor: pointer; font-weight: 600; color:#141310;
}
.svct-btn:hover { background:#f0f5f8; }
.svct-btn.primary { background:#141310; color:#fff; border-color:#141310; }
.svct-btn.primary:hover { background:#1c3550; }
.svct-btn.danger { background:#a3322a; color:#fff; border-color:#a3322a; }

/* Empty state */
.svct-empty {
  padding: 14px; color:#6b8189; font-style: italic; text-align:center;
}
