.sp-rules { margin-top: 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--warning) 45%, var(--border)); background: color-mix(in srgb, var(--warning) 8%, var(--panel)); }
.sp-rules summary { cursor: pointer; }
.sp-rules ul { margin: 8px 0 0 18px; padding: 0; display: grid; gap: 4px; }
.sp-search { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.sp-search .input { flex: 1 1 180px; font-size: 18px; letter-spacing: 1px; }
.sp-passport { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: start; }
.sp-badge { width: 72px; height: 72px; border-radius: 16px; display: grid; place-items: center; background: #b91c1c; color: #fff; font-weight: 800; font-size: 16px; text-align: center; line-height: 1.1; }
.sp-badge.r-aerial { background: #c2410c; }
.sp-badge.r-rescue { background: #1d4ed8; }
.sp-badge.r-water { background: #0e7490; }
.sp-badge.r-hazmat { background: #a16207; }
.sp-badge.r-officer { background: #4b5563; }
.sp-badge.r-tanker { background: #15803d; }
.sp-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); margin-top: 10px; }
.sp-veh { display: grid; gap: 2px; padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--panel); color: var(--text); text-align: left; cursor: pointer; font: inherit; }
.sp-veh.is-spotted { border-color: color-mix(in srgb, var(--success) 60%, var(--border)); }
.sp-veh strong { font-variant-numeric: tabular-nums; }
.sp-progress { height: 8px; border-radius: 999px; background: var(--panel-2); overflow: hidden; margin-top: 4px; }
.sp-progress > span { display: block; height: 100%; background: var(--success); }
.sp-map { height: 280px; border-radius: 12px; border: 1px solid var(--border); margin-top: 6px; }
.sp-sub { padding: 12px; border: 1px solid var(--border); border-radius: 12px; display: grid; gap: 6px; }
.sp-checks { display: grid; gap: 6px; }
.sp-checks label { display: flex; gap: 8px; align-items: flex-start; }
.sp-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 18px; padding: 4px 8px; border-radius: 8px; background: var(--panel-2); border: 1px solid var(--border); }
.sp-reports { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
