/* RustPress admin — fleet control center (SPEC-ITER1 §9.2). Owner: admin-flota.
   Scoped under .rp-fleet (route wrappers) and .rp-fleet-* (modals), on top of admin.css + widgets.css.
   Light admin, one palette (widgets.css variables), responsive down to 375 px. */

.rp-fleet { --rp-fleet-gap: 16px; --rp-fleet-radius: 6px; max-width: 1480px; }
.rp-fleet .rp-fleet-kpis { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); }
.rp-fleet .rp-card { border-radius: var(--rp-fleet-radius); box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.rp-fleet .rp-card-head { align-items: flex-start; }
.rp-fleet .rp-card-head h2 { font-size: 14px; font-weight: 600; color: var(--rp-text-strong); }
.rp-fleet .rp-card-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rp-fleet .rp-kpi { border-radius: var(--rp-fleet-radius); box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.rp-fleet .rp-kpi-value { font-size: 22px; }
.rp-fleet .rp-tabs [role=tablist] { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; }
.rp-fleet .rp-tabs [role=tab] { white-space: nowrap; }
.rp-fleet .rp-filters { background: #fff; border: 1px solid var(--rp-border-light); border-radius: var(--rp-fleet-radius); padding: 10px 12px; margin: 0 0 var(--rp-fleet-gap); }
.rp-fleet .rp-filters label { color: var(--rp-text); font-weight: 500; }
.rp-fleet .rp-filters .rp-check { display: flex; flex-direction: row; align-items: center; gap: 6px; align-self: center; }

/* ------------------------------------------------------------ header & navigation */
.rp-fleet-head { margin: 4px 0 14px; }
.rp-fleet-crumbs { font-size: 12px; color: var(--rp-muted); margin-bottom: 4px; }
.rp-fleet-crumbs a { color: var(--rp-muted); text-decoration: none; }
.rp-fleet-crumbs a:hover, .rp-fleet-crumbs a:focus { color: var(--rp-blue); text-decoration: underline; }
.rp-fleet-head-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 16px; }
.rp-fleet-head-text { min-width: 0; }
.rp-fleet-head h1 { font-size: 23px; font-weight: 600; line-height: 1.25; margin: 0; color: var(--rp-text-strong); overflow-wrap: anywhere; }
.rp-fleet-sub { color: var(--rp-muted); margin: 4px 0 0; }
.rp-fleet-head-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.rp-fleet-meta { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.rp-fleet-dot { color: #a7aaad; }
.rp-fleet-subnav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.rp-fleet-subnav a { display: inline-block; padding: 5px 12px; border-radius: 999px; border: 1px solid var(--rp-border-light); background: #fff; color: var(--rp-text); text-decoration: none; font-weight: 500; }
.rp-fleet-subnav a:hover, .rp-fleet-subnav a:focus-visible { border-color: var(--rp-blue); color: var(--rp-blue); }
.rp-fleet-subnav a.is-current { background: var(--rp-dark); border-color: var(--rp-dark); color: #fff; }
.rp-fleet-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; margin: 0 0 12px; }
.rp-fleet-toolbar .rp-filters { margin: 0; flex: 1 1 auto; }

/* ------------------------------------------------------------ layout */
.rp-fleet-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: var(--rp-fleet-gap); align-items: start; }
.rp-fleet-grid > * { min-width: 0; }
.rp-fleet-grid-2-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.rp-fleet-row { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.rp-fleet-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; border: 0; padding: 0; margin: 0; }
.rp-fleet-panel .rp-card-body { overflow-wrap: anywhere; }
.rp-fleet-help { margin: 2px 0 0; color: var(--rp-muted); font-size: 12px; font-weight: 400; }
.rp-fleet-minihead { font-size: 13px; font-weight: 600; color: var(--rp-text-strong); margin: 14px 0 6px; }
.rp-fleet-muted { color: var(--rp-muted); font-size: 12px; }
small.rp-fleet-muted { display: block; }
.rp-fleet-good { color: var(--rp-good); }
.rp-fleet-bad { color: var(--rp-bad); }
.rp-fleet-hint { margin-top: 4px; padding: 4px 8px; background: var(--rp-info-bg); color: var(--rp-info); border-radius: 4px; font-size: 12px; }
.rp-fleet-more { margin: 10px 0 0; }
.rp-fleet-pre { white-space: pre-wrap; }
.rp-fleet-json { background: #f6f7f7; border: 1px solid var(--rp-border-light); border-radius: 4px; padding: 10px; font: 12px/1.5 var(--rp-mono); white-space: pre-wrap; overflow-wrap: anywhere; max-height: 420px; overflow: auto; margin: 0; }
.rp-fleet-secret { display: inline-block; padding: 6px 8px; background: #f6f7f7; border: 1px dashed var(--rp-border); font-size: 13px; user-select: all; overflow-wrap: anywhere; }
.rp-fleet-value { white-space: normal; overflow-wrap: anywhere; font-size: 12px; }
.button.rp-fleet-danger { color: var(--rp-red-dark); border-color: var(--rp-red-dark); }
.button.rp-fleet-danger:hover, .button.rp-fleet-danger:focus { background: var(--rp-bad-bg); color: var(--rp-red-dark); border-color: var(--rp-red-dark); }

/* ------------------------------------------------------------ states */
.rp-fleet-loading { display: grid; gap: 10px; padding: 6px 0; }
.rp-skel { display: block; height: 12px; border-radius: 4px; background: linear-gradient(90deg, #eceef0 0%, #f6f7f7 50%, #eceef0 100%); background-size: 200% 100%; animation: rp-fleet-shimmer 1.2s ease-in-out infinite; }
.rp-skel-chart { height: 180px; width: 100%; }
@keyframes rp-fleet-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
.rp-fleet-error { margin: 0; }
.rp-fleet-empty { text-align: center; padding: 22px 12px; color: var(--rp-muted); }
.rp-fleet-empty p { margin: 4px 0; }
.rp-fleet-empty .rp-fleet-empty-title { color: var(--rp-text-strong); font-weight: 600; font-size: 14px; }
.rp-fleet-empty .button { margin-top: 8px; }

/* ------------------------------------------------------------ stats, meters, lists */
.rp-fleet-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 0 0 var(--rp-fleet-gap); }
.rp-fleet-stat { display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid var(--rp-border-light); border-radius: var(--rp-fleet-radius); padding: 10px 12px; min-width: 0; }
.rp-fleet-stats .rp-fleet-stat { box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.rp-fleet-panel .rp-fleet-stats { margin-bottom: 12px; }
.rp-fleet-stat-label { color: var(--rp-muted); font-size: 12px; }
.rp-fleet-stat-value { color: var(--rp-text-strong); font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.2; overflow-wrap: anywhere; }
.rp-fleet-stat-note { color: var(--rp-muted); font-size: 11px; }
.rp-fleet-stat.is-good { border-left: 3px solid var(--rp-good); }
.rp-fleet-stat.is-bad { border-left: 3px solid var(--rp-bad); }
.rp-fleet-stat.is-warn { border-left: 3px solid #dba617; }
.rp-fleet-stat.is-good .rp-fleet-stat-value { color: var(--rp-good); }
.rp-fleet-stat.is-bad .rp-fleet-stat-value { color: var(--rp-bad); }
.rp-fleet-stats-lg .rp-fleet-stat-value { font-size: 24px; }
.rp-fleet-stat-gauge { flex-direction: row; align-items: center; gap: 10px; }
.rp-fleet-meter { display: inline-block; width: 100%; max-width: 160px; height: 6px; background: var(--rp-neutral-bg); border-radius: 3px; overflow: hidden; vertical-align: middle; }
.rp-fleet-meter > span { display: block; height: 100%; border-radius: 3px; background: var(--rp-chart-1); }
.rp-fleet-meter > span.is-bad { background: var(--rp-bad); }
.rp-fleet-meter > span.is-warn { background: #dba617; }
.rp-fleet-meter > span.is-good { background: var(--rp-good); }
.rp-fleet-metercell { display: grid; grid-template-columns: minmax(60px, 140px) auto; align-items: center; gap: 8px; }
.rp-fleet-dl { display: grid; grid-template-columns: minmax(120px, max-content) 1fr; gap: 6px 14px; margin: 0; }
.rp-fleet-dl dt { color: var(--rp-muted); }
.rp-fleet-dl dd { margin: 0; color: var(--rp-text-strong); min-width: 0; overflow-wrap: anywhere; }
.rp-fleet-feed, .rp-fleet-rank, .rp-fleet-issues, .rp-fleet-findings, .rp-fleet-history, .rp-fleet-settings-list, .rp-fleet-404 { list-style: none; margin: 0; padding: 0; }
.rp-fleet-feed > li, .rp-fleet-issues > li, .rp-fleet-findings > li { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid #f0f0f1; }
.rp-fleet-feed > li:last-child, .rp-fleet-issues > li:last-child, .rp-fleet-findings > li:last-child { border-bottom: 0; }
.rp-fleet-feed > li > .rp-pill, .rp-fleet-issues > li > .rp-pill, .rp-fleet-findings > li > .rp-pill { flex: none; margin-top: 1px; }
.rp-fleet-feed > li > div, .rp-fleet-issues > li > div, .rp-fleet-findings > li > div { min-width: 0; }
.rp-fleet-rank > li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 7px 0; border-bottom: 1px solid #f0f0f1; }
.rp-fleet-rank > li:last-child { border-bottom: 0; }
.rp-fleet-rank-main { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
.rp-fleet-rank-side { display: flex; align-items: center; gap: 8px; flex: none; white-space: nowrap; }
.rp-fleet-rank-side .rp-fleet-meter { width: 90px; }
.rp-fleet-rowacts { display: flex; gap: 6px; margin-top: 6px; }
.rp-fleet-settings-list li { display: grid; grid-template-columns: minmax(0, max-content) 1fr; gap: 4px 12px; padding: 6px 0; border-bottom: 1px solid #f0f0f1; }
.rp-fleet-findings > li.is-this-rule { background: var(--rp-warn-bg); }
.rp-fleet-history > li { padding: 8px 0; border-bottom: 1px solid #f0f0f1; }
.rp-fleet-history details { margin-top: 6px; }
.rp-fleet-counts .is-bad { color: var(--rp-bad); font-weight: 600; }
.rp-fleet-counts .is-warn { color: var(--rp-warn); font-weight: 600; }

/* ------------------------------------------------------------ chips */
.rp-fleet-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.rp-fleet-chip { display: inline-flex; align-items: center; gap: 6px; padding: 2px 9px; border-radius: 999px; background: #fff; border: 1px solid var(--rp-border-light); font-size: 12px; color: var(--rp-text); white-space: nowrap; }
.rp-fleet-chip.is-button { cursor: pointer; font: inherit; font-size: 12px; }
.rp-fleet-chip.is-button:hover, .rp-fleet-chip.is-button:focus-visible { border-color: var(--rp-blue); color: var(--rp-blue); }
.rp-fleet-swatch { width: 9px; height: 9px; border-radius: 50%; flex: none; }
td .rp-fleet-chips { margin: 0; }

/* ------------------------------------------------------------ mini tables */
.rp-fleet-mini { width: 100%; border-collapse: collapse; font-size: 13px; }
.rp-fleet-mini thead th { text-align: left; font-weight: 600; color: var(--rp-muted); font-size: 12px; padding: 6px 8px; border-bottom: 1px solid var(--rp-border-light); white-space: nowrap; }
.rp-fleet-mini tbody th { text-align: left; font-weight: 600; color: var(--rp-text-strong); padding: 7px 8px; border-bottom: 1px solid #f0f0f1; }
.rp-fleet-mini td { padding: 7px 8px; border-bottom: 1px solid #f0f0f1; vertical-align: top; color: var(--rp-text); }
.rp-fleet-mini tbody tr:last-child td { border-bottom: 0; }
.rp-fleet-mini tbody tr:hover td { background: #f8f9fa; }
.rp-fleet-mini .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rp-fleet-mini code { font-size: 12px; overflow-wrap: anywhere; }
.rp-fleet-mini .rp-sitelink small { display: block; }
.rp-fleet-checks td.rp-fleet-actions { white-space: nowrap; text-align: right; }
.rp-fleet .rp-table-scroll { position: relative; }
.rp-fleet .rp-list-table .rp-sitelink a { font-weight: 600; }
.rp-fleet .rp-list-table td .rp-delta { font-size: 13px; }
.rp-fleet-paged .tablenav.top { margin-top: 0; }

/* ------------------------------------------------------------ vitals, scores */
.rp-fleet-vitals { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.rp-fleet-vital { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border: 1px solid var(--rp-border-light); border-radius: var(--rp-fleet-radius); }
.rp-fleet-vitalbar { display: flex; height: 8px; border-radius: 4px; overflow: hidden; background: var(--rp-neutral-bg); }
.rp-fleet-vitalbar .is-good { background: #0a875f; }
.rp-fleet-vitalbar .is-ni { background: #dba617; }
.rp-fleet-vitalbar .is-poor { background: var(--rp-bad); }
.rp-fleet-scores { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.rp-fleet-score, .rp-fleet-score-main { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 12px; color: var(--rp-muted); text-align: center; }
.rp-fleet-score-main { font-weight: 600; color: var(--rp-text-strong); }

/* ------------------------------------------------------------ forms */
.rp-fleet-form .rp-card-body { display: grid; gap: 12px; }
.rp-fleet-form, .rp-fleet-bulk { display: grid; gap: 12px; }
.rp-fleet-field { display: grid; gap: 4px; min-width: 0; }
.rp-fleet-field > label, .rp-fleet-label { font-weight: 600; color: var(--rp-text-strong); }
.rp-fleet-field .description { margin: 0; color: var(--rp-muted); font-size: 12px; }
.rp-fleet-field input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not(.small-text), .rp-fleet-field textarea, .rp-fleet-field select { width: 100%; max-width: 100%; }
.rp-fleet-field .rp-fleet-inline select, .rp-fleet-field .rp-fleet-inline input:not(.small-text) { width: auto; flex: 1 1 160px; }
.rp-fleet-panel textarea { max-width: 100%; }
.rp-fleet-panel .rp-filters, .rp-modal .rp-filters { border: 0; padding: 0; background: none; }
.rp-fleet-field-error { color: var(--rp-bad); font-size: 12px; }
.rp-fleet-form-error:empty { display: none; }
.rp-fleet-formgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 12px 18px; }
.rp-fleet-formgrid > .rp-fleet-field:has(textarea), .rp-fleet-formgrid > .rp-fleet-field:has(.rp-fleet-exceptions) { grid-column: 1 / -1; }
.rp-fleet-range { display: inline-flex; align-items: center; gap: 8px; }
.rp-fleet-range input[type=range] { width: 160px; }
.rp-fleet-lock { margin-left: auto; font-size: 12px; color: var(--rp-muted); }
.rp-fleet-levelsettings .rp-settings-group > h2 { font-size: 14px; color: var(--rp-text-strong); }
.rp-fleet-details { margin: 0 0 12px; }
.rp-fleet-details > summary { cursor: pointer; color: var(--rp-blue); font-weight: 500; padding: 4px 0; }
.rp-fleet-details[open] > summary { margin-bottom: 8px; }
.rp-fleet-howto { background: #fff; border: 1px solid var(--rp-border-light); border-radius: var(--rp-fleet-radius); padding: 8px 14px; }
.rp-fleet-howto ol { margin: 4px 0 8px 18px; }

/* settingField inputs (widgets.css) shrink with the card on narrow screens */
.rp-fleet .rp-setting, .rp-fleet-bulk .rp-setting { min-width: 0; }
.rp-fleet .rp-setting-body fieldset, .rp-fleet-bulk .rp-setting-body fieldset { min-width: 0; }
.rp-fleet .rp-setting-body input.regular-text, .rp-fleet .rp-setting-body select, .rp-fleet .rp-setting-body textarea,
.rp-fleet-bulk .rp-setting-body input.regular-text, .rp-fleet-bulk .rp-setting-body select, .rp-fleet-bulk .rp-setting-body textarea { max-width: 100%; }
.rp-fleet .rp-map-row > *, .rp-fleet-bulk .rp-map-row > * { min-width: 0; }
.rp-fleet .rp-setting-body, .rp-fleet-bulk .rp-setting-body { grid-template-columns: minmax(0, 1fr); }
.rp-fleet .rp-setting-body > div, .rp-fleet-bulk .rp-setting-body > div { min-width: 0; }
.rp-fleet .rp-setting-body input.regular-text, .rp-fleet-bulk .rp-setting-body input.regular-text { width: min(100%, 34em); }
.rp-fleet .rp-map-row input.regular-text, .rp-fleet-bulk .rp-map-row input.regular-text { width: 100%; }

/* bulk wizard / treatment editor: the hidden Guardar of settingField is clicked programmatically */
.rp-fleet-draftfield .rp-setting-actions { display: none; }
.rp-fleet-bulk h3 { margin: 6px 0 0; font-size: 14px; }
.rp-fleet-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.rp-fleet-choice { display: flex; gap: 8px; align-items: flex-start; padding: 9px 11px; border: 1px solid var(--rp-border-light); border-radius: var(--rp-fleet-radius); background: #fff; cursor: pointer; }
.rp-fleet-choice.is-current { border-color: var(--rp-blue); box-shadow: 0 0 0 1px var(--rp-blue); background: #f6faff; }
.rp-fleet-choice span { display: grid; gap: 2px; }
.rp-fleet-choice small { color: var(--rp-muted); }
.rp-fleet-bulk-config { display: grid; gap: 10px; padding: 10px 12px; background: #f6f7f7; border-radius: var(--rp-fleet-radius); }
.rp-fleet-bulk-config[hidden] { display: none; }
.rp-fleet-bulk-summary { font-weight: 600; color: var(--rp-text-strong); margin: 0; }
.rp-fleet-treatment-row { position: relative; }
.rp-fleet-treatment-remove { position: absolute; top: 12px; right: 14px; }
.rp-fleet-treatment-row .rp-setting-head { padding-right: 60px; }

/* site picker */
.rp-fleet-picker { display: grid; gap: 10px; }
.rp-fleet-picker label { display: grid; gap: 4px; font-weight: 600; }
.rp-fleet-picklist { display: grid; gap: 2px; max-height: 340px; overflow: auto; border: 1px solid var(--rp-border-light); border-radius: 4px; padding: 4px; }
.rp-fleet-pickrow { display: flex; gap: 10px; align-items: flex-start; padding: 6px 8px; border-radius: 4px; cursor: pointer; font-weight: 400 !important; }
.rp-fleet-pickrow:hover { background: #f6f7f7; }
.rp-fleet-pickrow span { display: grid; gap: 1px; min-width: 0; }
.rp-fleet-pickrow small { color: var(--rp-muted); overflow-wrap: anywhere; }
.rp-fleet-pickrow.is-new { background: var(--rp-good-bg); cursor: default; }

/* ------------------------------------------------------------ alerts */
.rp-fleet-rules { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 12px; }
.rp-fleet-rule { border: 1px solid var(--rp-border-light); border-radius: var(--rp-fleet-radius); padding: 10px 12px; background: #fff; display: grid; gap: 6px; align-content: start; }
.rp-fleet-rule.is-off { background: #fafafa; }
.rp-fleet-rule.is-off header strong { color: var(--rp-muted); }
.rp-fleet-rule header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; align-items: center; }
.rp-fleet-rule p { margin: 0; }
.rp-fleet-params { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.rp-fleet-param { display: grid; gap: 2px; font-size: 12px; color: var(--rp-muted); }
.rp-fleet-param input.small-text { width: 90px; }
.rp-fleet-rule .rp-setting-actions { margin-top: 2px; flex-wrap: wrap; }

/* ------------------------------------------------------------ compliance */
.rp-fleet-sandbox { display: grid; gap: 10px; }
.rp-fleet-highlight { background: #f6f7f7; border-radius: 4px; padding: 10px; white-space: pre-wrap; line-height: 1.7; margin: 8px 0; }
.rp-fleet-mark { padding: 1px 2px; border-radius: 3px; }
.rp-fleet-mark.is-violation { background: #f9c9cb; color: #6b1617; }
.rp-fleet-mark.is-warning { background: #f7e2a0; color: #5b3f00; }
.rp-fleet-mark.is-info { background: #cfe3f7; color: #0d3e66; }
.rp-fleet-exceptions { display: grid; gap: 6px; }
.rp-fleet-exception { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(120px, 1fr) minmax(120px, 1fr) auto; gap: 6px; align-items: center; }
.rp-fleet-exceptions > .button { justify-self: start; }
.rp-fleet-preview { width: 100%; min-height: 140px; border: 1px solid var(--rp-border-light); border-radius: 4px; background: #fff; }

/* ------------------------------------------------------------ policies index */
.rp-fleet-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 12px; margin: 0 0 var(--rp-fleet-gap); }
.rp-fleet-card { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr auto; gap: 2px 10px; padding: 14px; background: #fff; border: 1px solid var(--rp-border-light); border-radius: var(--rp-fleet-radius); color: var(--rp-text); text-decoration: none; box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: border-color .12s, box-shadow .12s; }
.rp-fleet-card:hover, .rp-fleet-card:focus-visible { border-color: var(--rp-blue); box-shadow: 0 2px 8px rgba(34,113,177,.15); color: var(--rp-text); }
.rp-fleet-card-icon { grid-row: 1 / span 3; font-size: 22px; line-height: 1; }
.rp-fleet-card-title { font-weight: 600; color: var(--rp-text-strong); font-size: 14px; }
.rp-fleet-card-text { color: var(--rp-muted); font-size: 12px; }
.rp-fleet-card-fact { font-size: 12px; color: var(--rp-blue-dark); font-weight: 500; }
.rp-fleet-card-fact:empty { display: none; }
.rp-fleet-vars { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin: 0; }
.rp-fleet-vars dd { margin: 0; color: var(--rp-muted); }

/* ------------------------------------------------------------ AI bot matrix */
.rp-fleet-matrix-wrap { border: 1px solid var(--rp-border-light); border-radius: 4px; max-height: 70vh; }
.rp-fleet-matrix { border-collapse: separate; border-spacing: 0; font-size: 12px; min-width: 100%; }
.rp-fleet-matrix th, .rp-fleet-matrix td { padding: 4px 5px; border-bottom: 1px solid #f0f0f1; background: #fff; text-align: center; }
.rp-fleet-matrix thead th { position: sticky; top: 0; z-index: 2; background: #f6f7f7; border-bottom: 1px solid var(--rp-border-light); }
.rp-fleet-matrix tbody th, .rp-fleet-matrix thead th:first-child { position: sticky; left: 0; z-index: 1; text-align: left; min-width: 170px; max-width: 240px; background: #fff; border-right: 1px solid var(--rp-border-light); font-weight: 500; }
.rp-fleet-matrix thead th:first-child { z-index: 3; background: #f6f7f7; }
.rp-fleet-matrix tr.is-fleet th, .rp-fleet-matrix tr.is-fleet td { background: #f6faff; }
.rp-fleet-bot span { display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font-weight: 600; color: var(--rp-text-strong); max-height: 140px; }
.rp-fleet-bot.is-answer { background: #eef7f6 !important; }
.rp-fleet-bot.is-answer span { color: #0b5e5e; }
.rp-fleet-policy { font-size: 12px; min-height: 26px; padding: 0 22px 0 6px; width: 116px; max-width: none; border-radius: 3px; }
.rp-fleet-policy.is-allow { background-color: var(--rp-good-bg); color: var(--rp-good); border-color: #68de7c; }
.rp-fleet-policy.is-block { background-color: var(--rp-bad-bg); color: var(--rp-bad); border-color: #f86368; }
.rp-fleet-policy.is-inherit { color: var(--rp-muted); background-color: #fff; }
.rp-fleet-policy option { color: var(--rp-text-strong); background: #fff; }
.rp-fleet-cell { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 4px; border: 1px solid transparent; font-weight: 700; font-size: 13px; cursor: pointer; padding: 0; line-height: 1; }
span.rp-fleet-cell { cursor: default; }
.rp-fleet-cell.is-allow { background: var(--rp-good-bg); color: var(--rp-good); }
.rp-fleet-cell.is-block { background: var(--rp-bad-bg); color: var(--rp-bad); }
.rp-fleet-cell.src-default { opacity: .55; }
.rp-fleet-cell.src-fleet { border-color: #0b5e5e; }
.rp-fleet-cell.src-account { border-color: #5b2b9f; border-width: 2px; }
.rp-fleet-cell.src-experiment { border-color: var(--rp-warn); border-style: dashed; border-width: 2px; }
.rp-fleet-cell.src-site { border-color: var(--rp-info); border-width: 2px; box-shadow: inset 0 0 0 1px #fff; }
button.rp-fleet-cell:hover { filter: brightness(.95); }
button.rp-fleet-cell:focus-visible { outline: 2px solid var(--rp-blue); outline-offset: 1px; }
.rp-fleet-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; list-style: none; margin: 10px 0 0; padding: 0; font-size: 12px; color: var(--rp-muted); }
.rp-fleet-legend li { display: inline-flex; align-items: center; gap: 6px; }

/* ------------------------------------------------------------ 404 drawer */
.rp-fleet-404 > li { padding: 10px 0; border-bottom: 1px solid #f0f0f1; display: grid; gap: 6px; }
.rp-fleet-404-head { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.rp-fleet-404-head code { font-weight: 600; }
.rp-fleet-suggest { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12px; color: var(--rp-muted); }

/* ------------------------------------------------------------ network dashboard promo */
.rp-fleet-promo { margin: 0 0 16px; border-left: 4px solid var(--rp-blue); }
.rp-fleet-promo .rp-card-body { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.rp-fleet-promo h2 { margin: 0 0 4px; font-size: 16px; }
.rp-fleet-promo p { margin: 0 0 4px; max-width: 70ch; }
.rp-fleet-promo-facts { color: var(--rp-muted); font-weight: 500; }
.rp-fleet-promo-links { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1100px) {
  .rp-fleet-grid-2-1 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 782px) {
  .rp-fleet { --rp-fleet-gap: 12px; }
  .rp-fleet-head h1 { font-size: 20px; }
  .rp-fleet-head-actions { width: 100%; }
  .rp-fleet .rp-filters { padding: 8px; }
  .rp-fleet .rp-filters > label, .rp-fleet .rp-filters .rp-daterange, .rp-fleet .rp-filters .rp-daterange label { flex: 1 1 140px; }
  .rp-fleet .rp-filters select, .rp-fleet .rp-filters input:not([type=checkbox]):not([type=radio]) { width: 100%; min-width: 0; }
  .rp-fleet .rp-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .rp-fleet .rp-kpi { padding: 10px; }
  .rp-fleet .rp-kpi-value { font-size: 19px; }
  .rp-fleet-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-fleet-dl { grid-template-columns: 1fr; gap: 2px; }
  .rp-fleet-dl dd { margin-bottom: 6px; }
  /* List tables become stacked cards: every cell is shown with its column name. */
  .rp-fleet .rp-list-table tbody td:not(.column-primary):not(.check-column) { display: block; padding: 2px 10px 2px 10px; border: 0; }
  .rp-fleet .rp-list-table tbody td:not(.column-primary):not(.check-column)::before { content: attr(data-colname) ": "; color: var(--rp-muted); font-size: 12px; }
  .rp-fleet .rp-list-table tbody td.column-primary { padding-bottom: 4px; }
  .rp-fleet .rp-list-table tbody tr { border-bottom: 1px solid var(--rp-border-light); }
  .rp-fleet .rp-list-table tbody tr > :last-child { padding-bottom: 10px; }
  .rp-fleet-sites-mini .is-wide { display: none; }
  .rp-fleet-exception { grid-template-columns: 1fr; }
  .rp-fleet-checks thead { display: none; }
  .rp-fleet-checks, .rp-fleet-checks tbody, .rp-fleet-checks tr, .rp-fleet-checks td { display: block; }
  .rp-fleet-checks tr { padding: 8px 0; border-bottom: 1px solid var(--rp-border-light); }
  .rp-fleet-checks td { border: 0; padding: 3px 0; }
  .rp-fleet-checks td.rp-fleet-actions { text-align: left; }
  .rp-fleet-rank > li { flex-wrap: wrap; }
  .rp-fleet-matrix tbody th, .rp-fleet-matrix thead th:first-child { min-width: 120px; max-width: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  .rp-skel { animation: none; }
}
