/* Create-label wizard */
.sl-tabs { display:flex; gap:.4rem; margin-bottom:1rem; }
.sl-tab {
  border:1px solid var(--line); background:rgba(255,255,255,.55); color:var(--ink);
  border-radius:999px; padding:.45rem 1rem; font:inherit; font-weight:600; cursor:pointer;
}
.sl-tab.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.sl-steps {
  list-style:none; display:flex; flex-wrap:wrap; gap:.45rem; padding:0; margin:0 0 1.25rem;
}
.sl-steps li {
  font-size:.82rem; font-weight:600; color:var(--muted);
  padding:.35rem .7rem; border-radius:999px; background:rgba(0,0,0,.04);
}
.sl-steps li.on { background:var(--ink); color:#fff; }
.sl-steps li.done { background:#e8f6ee; color:var(--ok); }
.sl-step-pane { display:none; animation:rise .28s ease both; }
.sl-step-pane.on { display:block; }
.sl-step-title { font-family:var(--font-display); font-size:1.25rem; margin:0 0 .35rem; }
.sl-step-nav { display:flex; gap:.5rem; margin-top:1.25rem; flex-wrap:wrap; }
.sl-carrier-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-top:1rem;
}
@media (max-width:800px){ .sl-carrier-grid { grid-template-columns:1fr; } }
.sl-carrier-card {
  text-align:left; border:1px solid var(--line); background:#fff; border-radius:16px;
  padding:1rem 1.1rem; cursor:pointer; font:inherit; display:grid; gap:.25rem;
  transition:border-color .15s ease, transform .15s ease;
}
.sl-carrier-card strong { font-family:var(--font-display); font-size:1.15rem; }
.sl-carrier-card span { color:var(--muted); font-size:.85rem; }
.sl-carrier-card:hover { border-color:#c9b8a4; transform:translateY(-1px); }
.sl-carrier-card.on { border-color:var(--signal); box-shadow:0 0 0 2px rgba(224,122,58,.18); }
#service_select { min-height:220px; }
.sl-price-table input { width:90px; }
.sl-muted-sm { font-size:.82rem; color:var(--muted); }
.sl-bulk-sample {
  border:1px dashed #c9b8a4; border-radius:14px; padding:.9rem 1rem; margin-bottom:1rem;
  background:rgba(255,255,255,.55);
}
.sl-sample-pre {
  margin:0; padding:.75rem .85rem; border-radius:10px; background:#1c2833; color:#f4efe6;
  font-size:.78rem; line-height:1.45; overflow:auto; white-space:pre;
}
.sl-bulk-banner {
  margin:0 0 1rem; padding:.7rem 1rem; border-radius:12px;
  background:#fff4e8; border:1px solid #f0d2b0; color:#7a3e12; font-size:.9rem;
}
.sl-upload-zone {
  position:relative; border:2px dashed #c9b8a4; border-radius:16px;
  background:linear-gradient(180deg, #fff, #f7f3ec); padding:1.5rem 1rem;
  text-align:center; transition:border-color .15s ease, background .15s ease;
}
.sl-upload-zone.drag { border-color:var(--signal); background:#fff8f1; }
.sl-upload-zone.has-file { border-style:solid; border-color:var(--ok,#2f8f5b); }
.sl-upload-input {
  position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%;
  z-index:2;
}
.sl-upload-inner {
  display:grid; gap:.35rem; justify-items:center; pointer-events:none; position:relative; z-index:1;
}
.sl-upload-inner strong { font-family:var(--font-display); font-size:1.15rem; }
.sl-upload-inner span { color:var(--muted); font-size:.9rem; }
.sl-upload-filename { font-weight:700 !important; color:var(--ink) !important; }
#btn-pick-csv { pointer-events:auto; position:relative; z-index:3; margin-top:.4rem; }

@media (max-width: 700px) {
  .sl-steps { gap: .35rem; }
  .sl-steps li { font-size: .72rem; padding: .3rem .55rem; }
  .sl-step-title { font-size: 1.1rem; }
  .sl-step-nav { flex-direction: column-reverse; }
  .sl-step-nav .sl-btn { width: 100%; }
  #service_select { min-height: 180px; font-size: 16px; }
  .sl-sample-pre { font-size: .7rem; }
  .sl-upload-zone { padding: 1.15rem .75rem; }
}
