.pcmsf-wrap { max-width: 980px; margin: 24px auto; padding: 0 14px; font-family: Arial, sans-serif; }
.pcmsf-card { background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; padding: 18px; box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.pcmsf-header h2 { margin: 0 0 10px; }
.pcmsf-progress { width: 100%; height: 10px; background: #f0f0f0; border-radius: 20px; overflow: hidden; }
.pcmsf-progress-bar { height: 10px; background: #111; width: 12.5%; transition: width .2s ease; }
.pcmsf-step-label { margin-top: 8px; color: #444; font-size: 13px; }

.pcmsf-step { display: none; margin-top: 16px; }
.pcmsf-step.is-active { display: block; }

.pcmsf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pcmsf-grid label { display: flex; flex-direction: column; font-size: 13px; gap: 6px; }
.pcmsf-grid input { padding: 10px; border: 1px solid #ddd; border-radius: 10px; outline: none; }
.pcmsf-grid input:focus { border-color: #111; }
.pcmsf-invalid { border-color: #d33 !important; }

.pcmsf-note { font-size: 12px; color: #666; margin: 8px 0 14px; }

.pcmsf-actions { display: flex; gap: 10px; margin-top: 16px; }
.pcmsf-btn { padding: 10px 14px; border-radius: 10px; border: 1px solid #111; background: #111; color: #fff; cursor: pointer; }
.pcmsf-secondary { background: #fff; color: #111; }
.pcmsf-btn:disabled { opacity: .5; cursor: not-allowed; }
.pcmsf-hidden { display: none !important; }

.pcmsf-status { margin-top: 12px; font-size: 14px; }
.pcmsf-status.ok { color: #0a7; }
.pcmsf-status.err { color: #d33; }

.pcmsf-table { width: 100%; margin-top: 10px; border: 1px solid #eee; border-radius: 10px; overflow: hidden; }
.pcmsf-row { display: grid; grid-template-columns: 140px repeat(6, 1fr); }
.pcmsf-row > div { border-bottom: 1px solid #eee; border-right: 1px solid #eee; padding: 8px; }
.pcmsf-row > div:last-child { border-right: 0; }
.pcmsf-head > div { background: #fafafa; font-weight: 700; }
.pcmsf-row input { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 10px; }

.pcmsf-routes { display: grid; gap: 10px; }
.pcmsf-route-row { display: grid; grid-template-columns: 120px 1fr 150px 150px; gap: 10px; align-items: center; }
.pcmsf-route-row input { padding: 10px; border: 1px solid #ddd; border-radius: 10px; }
.pcmsf-check { font-size: 12px; display: flex; gap: 6px; align-items: center; }

.pcmsf-axles .pcmsf-row { grid-template-columns: 160px repeat(7, 1fr); }

@media (max-width: 900px) {
  .pcmsf-grid { grid-template-columns: 1fr; }
  .pcmsf-route-row { grid-template-columns: 1fr; }
  .pcmsf-row { grid-template-columns: 1fr; }
  .pcmsf-row > div { border-right: 0; }
}


.pcmsf-success {
  text-align: center;
  padding: 60px 20px;
}
.pcmsf-success h2 {
  font-size: 28px;
  margin-bottom: 10px;
}
.pcmsf-success p {
  font-size: 16px;
  color: #555;
}
