/* Styles with manual toggle button */
.shieldexpress-wrap { max-width: 1100px; margin: 1rem auto; padding: .5rem; font-family: system-ui, -apple-system, Segoe UI, Roboto, Noto Sans, Arial, sans-serif; }
.shieldexpress-card { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; }
@media (max-width: 900px){ .shieldexpress-card { grid-template-columns: 1fr; } }
.shieldexpress-map { width: 100%; height: 460px; border-radius: 14px; overflow: hidden; box-shadow: 0 10px 25px rgba(0,0,0,.08); }
.legend { margin-top: 8px; display: flex; gap: 12px; font-size: 12px; color: #475569; align-items: center; flex-wrap: wrap; }
.legend .dot { display:inline-block; width:10px; height:10px; border-radius: 50%; margin-right:6px; }
.dot-origin { background:#2563eb; } .dot-stop { background:#f59e0b; } .dot-final { background:#16a34a; }

.se-pin .pin { display:block; width:14px; height:14px; border-radius:50%; box-shadow: 0 0 0 2px #fff; }
.se-ship .ship { display:block; width:18px; height:18px; border-radius:50%; background:#111827; box-shadow: 0 0 0 2px #fff; animation: pulse 1.2s infinite ease-in-out; }
@keyframes pulse { 0% { transform: scale(1); opacity:1 } 50% { transform: scale(1.25); opacity:.7 } 100% { transform: scale(1); opacity:1 } }

.se-btn { margin-left: auto; font-size: 12px; background:#0f172a; color:#fff; border: none; padding: 6px 10px; border-radius: 999px; cursor: pointer; }
.se-btn[aria-pressed="true"] { background:#334155; }

.shieldexpress-right { background:#ffffff; border:1px solid #e5e7eb; border-radius: 14px; padding: 16px; box-shadow: 0 6px 18px rgba(0,0,0,.04); }
.se-title { margin: 4px 0 12px; font-size: 22px; }
.se-meta { font-size: 14px; color:#374151; display:grid; gap:6px; margin-bottom: 12px; }
.se-package { width: 100%; height: auto; border-radius: 12px; border: 1px solid #e5e7eb; margin-bottom: 12px; }
.se-stops { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 10px; }
.stop-title { font-weight: 600; }
.stop-sub { font-size: 13px; color:#334155; }
.stop-note { font-size: 12px; color:#6b7280; }
.se-status { display: grid; gap: 8px; }
.badge { display:inline-block; background:#2563eb; color:#fff; padding: 6px 10px; border-radius: 999px; font-size: 12px; }
.badge.delivered { background:#16a34a; }
.progress { width: 100%; height: 8px; background:#f1f5f9; border-radius: 999px; overflow: hidden; }
.progress .bar { height: 100%; background:#2563eb; width: 0; transition: width .2s linear; }
.tiny-help { font-size: 11px; color:#6b7280; }
