.pr178-settings {
  --pr178-border: rgba(148, 163, 184, .22);
  --pr178-panel: rgba(10, 18, 34, .72);
  --pr178-soft: rgba(30, 41, 59, .66);
  display: grid;
  gap: 18px;
  color: var(--valenzo-text, #f8fafc);
}

.pr178-header,
.pr178-toolbar,
.pr178-footer,
.pr178-station-title,
.pr178-checks {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.pr178-header h2 { margin: 3px 0 6px; font-size: clamp(1.35rem, 2.4vw, 2rem); }
.pr178-header p { max-width: 760px; margin: 0; color: #aebbd0; }
.pr178-header small,
.pr178-toolbar small,
.pr178-footer small { display: block; color: #8fa3c0; }
.pr178-agent { flex: 0 0 auto; padding: 9px 12px; border: 1px solid var(--pr178-border); border-radius: 999px; color: #9fb0c7; font-size: .82rem; font-weight: 800; }
.pr178-agent.ok { color: #5ee6a8; border-color: rgba(52, 211, 153, .32); background: rgba(16, 185, 129, .08); }

.pr178-safety {
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  border: 1px solid rgba(56, 189, 248, .28);
  border-radius: 14px;
  background: rgba(14, 165, 233, .08);
}
.pr178-safety span { color: #b9cbe0; font-size: .88rem; }
.pr178-toolbar.routes { margin-top: 8px; }
.pr178-toolbar > span { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.pr178-toolbar button,
.pr178-footer button,
.pr178-station button,
.pr178-route button {
  min-height: 40px;
  border: 1px solid var(--pr178-border);
  border-radius: 11px;
  padding: 8px 12px;
  background: var(--pr178-soft);
  color: inherit;
  font-weight: 800;
  cursor: pointer;
}
.pr178-toolbar button.primary,
.pr178-footer button { color: #03131f; background: linear-gradient(135deg, #38bdf8, #34d399); border-color: transparent; }
.pr178-settings button.danger { color: #ff9a9a; background: rgba(127, 29, 29, .18); }

.pr178-stations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pr178-station,
.pr178-route,
.pr178-empty {
  border: 1px solid var(--pr178-border);
  border-radius: 16px;
  background: var(--pr178-panel);
  box-shadow: 0 16px 35px rgba(0, 0, 0, .12);
}
.pr178-station { display: grid; gap: 12px; padding: 15px; }
.pr178-station-title input {
  width: min(70%, 260px);
  border: 0;
  border-bottom: 1px solid var(--pr178-border);
  padding: 7px 2px;
  background: transparent;
  color: inherit;
  font-size: 1.05rem;
  font-weight: 900;
}
.pr178-station label,
.pr178-route label { display: grid; gap: 5px; min-width: 0; }
.pr178-station label > span,
.pr178-route label > span { color: #91a5bf; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.pr178-station input:not([type="checkbox"]):not([type="radio"]),
.pr178-station select,
.pr178-route input,
.pr178-route select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--pr178-border);
  border-radius: 10px;
  padding: 8px 10px;
  color: inherit;
  background: rgba(2, 8, 23, .78);
}
.pr178-printer-field select:disabled { cursor: not-allowed; opacity: .82; }
.pr178-printer-help {
  display: block;
  min-height: 1.1em;
  color: #8fa3c0;
  font-size: .78rem;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
}
.pr178-printer-field[data-printer-status="ready"] .pr178-printer-help { color: #5ee6a8; }
.pr178-printer-field[data-printer-status="missing"] .pr178-printer-help,
.pr178-printer-field[data-printer-status="error"] .pr178-printer-help,
.pr178-printer-field[data-printer-status="unavailable"] .pr178-printer-help { color: #fbbf74; }
.pr178-grid { display: grid; grid-template-columns: 1fr 110px; gap: 10px; }
.pr178-checks { justify-content: flex-start; flex-wrap: wrap; }
.pr178-checks label { display: flex; grid-auto-flow: column; align-items: center; gap: 7px; color: #c7d2e2; font-size: .86rem; }
.pr178-checks input { accent-color: #38bdf8; }

.pr178-routes { display: grid; gap: 8px; }
.pr178-route { display: grid; grid-template-columns: 130px minmax(150px, 1.35fr) minmax(140px, 1fr) 70px auto; align-items: end; gap: 9px; padding: 11px; }
.pr178-route .copies input { text-align: center; }
.pr178-empty { grid-column: 1 / -1; display: grid; place-items: center; gap: 5px; min-height: 110px; padding: 18px; text-align: center; color: #9aacbf; }
.pr178-empty b { color: inherit; font-size: 1rem; }
.pr178-footer { margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--pr178-border); }

html[data-valenzo-theme="light"] .pr178-settings {
  --pr178-border: rgba(51, 65, 85, .16);
  --pr178-panel: #fff;
  --pr178-soft: #f1f5f9;
  color: #0f172a;
}
html[data-valenzo-theme="light"] .pr178-header p,
html[data-valenzo-theme="light"] .pr178-header small,
html[data-valenzo-theme="light"] .pr178-toolbar small,
html[data-valenzo-theme="light"] .pr178-footer small,
html[data-valenzo-theme="light"] .pr178-station label > span,
html[data-valenzo-theme="light"] .pr178-route label > span { color: #52647b; }
html[data-valenzo-theme="light"] .pr178-station input:not([type="checkbox"]):not([type="radio"]),
html[data-valenzo-theme="light"] .pr178-station select,
html[data-valenzo-theme="light"] .pr178-route input,
html[data-valenzo-theme="light"] .pr178-route select { background: #f8fafc; color: #0f172a; }
html[data-valenzo-theme="light"] .pr178-checks label { color: #334155; }
html[data-valenzo-theme="light"] .pr178-printer-help { color: #52647b; }
html[data-valenzo-theme="light"] .pr178-printer-field[data-printer-status="ready"] .pr178-printer-help { color: #047857; }
html[data-valenzo-theme="light"] .pr178-printer-field[data-printer-status="missing"] .pr178-printer-help,
html[data-valenzo-theme="light"] .pr178-printer-field[data-printer-status="error"] .pr178-printer-help,
html[data-valenzo-theme="light"] .pr178-printer-field[data-printer-status="unavailable"] .pr178-printer-help { color: #b45309; }

@media (max-width: 820px) {
  .pr178-header,
  .pr178-toolbar,
  .pr178-footer { align-items: flex-start; flex-direction: column; }
  .pr178-stations { grid-template-columns: 1fr; }
  .pr178-route { grid-template-columns: 1fr 1fr; }
  .pr178-route > button { width: 100%; }
}

@media (max-width: 520px) {
  .pr178-route,
  .pr178-grid { grid-template-columns: 1fr; }
  .pr178-toolbar > span,
  .pr178-toolbar button,
  .pr178-footer button { width: 100%; }
  .pr178-agent { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  .pr178-settings *, .pr178-settings *::before, .pr178-settings *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
