* { box-sizing: border-box; }

/* Lightweight operational console; intentionally uses old CSS primitives for
   compatibility with legacy iOS Safari and low-power mobile browsers. */
.ops-monitor-page .section-heading { align-items:center; }
.ops-status { display:inline-block; padding:6px 10px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.06em; }
.ops-status-ok,.ops-ok { color:#087744; background:#e6f6ed; }.ops-status-degraded,.ops-warning { color:#865b0d; background:#fff4d8; }.ops-status-down { color:#8c3030; background:#fce9e9; }
.ops-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ops-panel { min-width:0; padding:20px; }
.ops-component-list { display:grid; gap:0; }
.ops-component { display:grid; grid-template-columns:10px minmax(100px,1fr) auto minmax(80px,.8fr); align-items:center; gap:9px; min-height:42px; padding:7px 0; border-bottom:1px solid #edf1f5; font-size:12px; }
.ops-component:last-child { border-bottom:0; }.ops-component-state { font-weight:800; }.ops-component small { color:var(--app-muted,#657487); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ops-dot { display:inline-block; width:9px; height:9px; border-radius:50%; background:#9aa7b5; vertical-align:middle; }.ops-dot-ok { background:#1e9b62; }.ops-dot-degraded { background:#d69216; }.ops-dot-down { background:#d94b4b; }.ops-dot-paused { background:#8b95a5; }.ops-dot-unknown { background:#9aa7b5; }
.ops-table-wrap { overflow:auto; }.ops-table { min-width:420px; }.ops-table td,.ops-table th { white-space:nowrap; }
.ops-details { display:grid; grid-template-columns:minmax(140px,.8fr) minmax(0,1.2fr); gap:0; margin:0; font-size:12px; }.ops-details dt,.ops-details dd { padding:9px 0; border-bottom:1px solid #edf1f5; }.ops-details dt { color:var(--app-muted,#657487); font-weight:700; }.ops-details dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.ops-settings-form { display:grid; gap:12px; }.ops-settings-form label { display:grid; gap:5px; color:var(--app-muted,#657487); font-size:12px; font-weight:700; }.ops-settings-form input[type=number],.ops-settings-form input[type=tel] { min-height:36px; width:100%; border:1px solid #cbd6e3; border-radius:7px; padding:7px 9px; background:#fff; color:inherit; font:inherit; }.ops-settings-form .ops-check { display:flex; grid-template-columns:none; align-items:flex-start; gap:7px; color:inherit; font-weight:600; }.ops-settings-form .ops-check input { margin-top:2px; accent-color:#173b55; }
@media (max-width:760px) { .ops-grid{grid-template-columns:1fr;gap:14px}.ops-panel{padding:15px}.ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-component{grid-template-columns:10px minmax(90px,1fr) auto}.ops-component small{grid-column:2/-1}.ops-details{grid-template-columns:1fr 1fr} }
@media (max-width:420px) { .ops-kpis{grid-template-columns:1fr}.ops-status{margin-top:8px} }

body.app-shell {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(182, 138, 67, .13), transparent 34rem),
    var(--app-bg);
  color: var(--app-text);
  font: 13px/1.45 var(--hp-font-family);
  overflow-x: hidden;
}

.app-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 22px var(--app-gutter) 28px;
}

.app-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.app-brand { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 78px; height: 78px; overflow: hidden; border: 2px solid #d4b77b; border-radius: 50%; background: #fffdf8; box-shadow: 0 6px 16px rgba(16, 36, 60, .13); }
.app-brand img { display: block; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.16) saturate(1.12); }
.app-header .app-title-wrap { flex: 1 1 auto; min-width: 220px; }
.app-social-link { display: inline-flex; align-items: center; gap: 7px; align-self: center; padding: 7px 11px; border: 1px solid #d4b77b; border-radius: 999px; color: #10243c; background: #fffdf8; font-size: 12px; font-weight: 800; text-decoration: none; }
.app-social-link:hover { border-color: #b68a43; background: #f3ead9; }
.app-social-link img { width: 22px; height: 22px; display: block; }

.app-title-wrap h1 {
  margin: 0;
  font-size: 28px;
  letter-spacing: 0;
  line-height: 1.12;
}

.app-subtitle {
  margin-top: 5px;
  color: var(--app-muted);
  font-size: 13px;
}

.app-actions,
.form-footer,
.card-title,
.rule-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.app-actions { justify-content: flex-end; }
.card-title { justify-content: space-between; margin-bottom: 14px; }
.card-title h2 { margin: 0; font-size: 18px; }

.card-title-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.btn,
button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
  background: var(--app-primary);
  color: #fff;
  padding: 8px 12px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 800;
  border: 0;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(25, 118, 210, .18);
  line-height: 1.2;
  white-space: nowrap;
}

.btn:hover,
button:hover { background: var(--app-primary-dark); }
.btn-secondary { background: var(--app-secondary); box-shadow: 0 2px 6px rgba(96, 125, 139, .18); }
.btn-danger, button.btn-danger { background: var(--app-danger); box-shadow: 0 2px 6px rgba(229, 57, 53, .16); }

.telemetry-executive-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.telemetry-executive-card { min-width:0; min-height:116px; display:flex; flex-direction:column; justify-content:space-between; gap:8px; margin:0; padding:16px 18px; }
.telemetry-executive-card > span,.telemetry-executive-card > small { color:var(--app-muted); font-size:12px; line-height:1.3; }
.telemetry-executive-card > strong { display:block; min-width:0; color:var(--app-text); font-size:29px; line-height:1.05; overflow-wrap:anywhere; }
.telemetry-executive-card > strong em { font-size:14px; font-style:normal; font-weight:700; }
.telemetry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.telemetry-note { padding:6px 10px; border-radius:999px; color:#245b3a; background:#e8f5e9; font-size:11px; font-weight:800; white-space:nowrap; }
.telemetry-kpi-primary { border-color:#90caf9; background:linear-gradient(135deg,#eef7ff,#fff); }
.telemetry-kpi-primary strong { color:#1565c0; }
.telemetry-kpi-ok { border-color:#a5d6a7; }
.telemetry-kpi-ok strong { color:#2e7d32; }
.telemetry-kpi-warning { border-color:#f0c36d; background:#fffaf0; }
.telemetry-kpi-warning strong,.telemetry-error { color:#b3261e; }
.telemetry-success { color:#2e7d32; font-weight:800; }
.telemetry-details { display:grid; grid-template-columns:120px 1fr; margin:0 0 14px; font-size:12px; }
.telemetry-details dt,.telemetry-details dd { padding:8px 0; border-bottom:1px solid #edf1f5; }
.telemetry-details dt { color:var(--app-muted); font-weight:700; }.telemetry-details dd { margin:0; overflow-wrap:anywhere; }
.telemetry-pill { display:inline-block; padding:3px 7px; border-radius:999px; background:#eef1f5; font-size:11px; font-weight:800; }
.telemetry-pill-converted { color:#216e39; background:#e6f6ed; }.telemetry-pill-failed,.telemetry-pill-unauthorized,.telemetry-pill-invalid_url,.telemetry-pill-rate_limited { color:#8c3030; background:#fce9e9; }.telemetry-pill-preflight { color:#245b82; background:#e7f2fb; }
@media (max-width:960px) { .telemetry-executive-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px) { .telemetry-grid{grid-template-columns:1fr}.telemetry-executive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.telemetry-executive-card{padding:14px}.telemetry-executive-card > strong{font-size:25px}.telemetry-note{white-space:normal} }
@media (max-width:420px) { .telemetry-executive-grid{grid-template-columns:1fr} }

.app-quick-access {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 18px;
}

.app-quick-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  background: #e3f2fd;
  color: #0d47a1;
  border: 1px solid #bbdefb;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.app-quick-link:hover,
.app-quick-link.active {
  background: var(--app-primary);
  color: #fff;
  border-color: var(--app-primary);
}

.card {
  background: rgba(255, 255, 255, .96);
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  padding: 16px;
  margin-bottom: 18px;
  box-shadow: var(--app-shadow);
  min-width: 0;
}

.card-tall { min-height: 216px; }

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.kpi-grid-six {
  grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
}

/* Painel de inteligência: denso, visual e com histórico limitado na interface. */
.learning-kpis { grid-template-columns: repeat(5, minmax(140px, 1fr)); gap: 10px; }
.learning-kpi { min-height: 108px; padding: 13px 15px; position: relative; overflow: hidden; }
.learning-kpi span { display: block; color: var(--app-muted); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.learning-kpi strong { display: block; margin-top: 8px; color: var(--app-text); font-size: 25px; line-height: 1.08; }
.learning-kpi small { display: block; margin-top: 6px; color: var(--app-muted); font-size: 11px; }
.learning-kpi-primary { border-color: #90caf9; background: linear-gradient(135deg, #eef7ff, #fff); }
.learning-kpi-primary strong { color: var(--app-primary); }
.learning-kpi-savings { border-color: #b39ddb; background: linear-gradient(135deg, #f7f2ff, #fff); }
.learning-kpi-savings strong { color: #6a1b9a; }
.learning-kpi-ok { border-color: #a5d6a7; }
.learning-kpi-ok strong { color: #2e7d32; font-size: 17px; }
.learning-head { margin-bottom: 12px; }
.learning-head h1 { margin-bottom: 3px; }
.learning-head p { margin: 0; }
.learning-control-card { padding: 13px 15px; }
.learning-control-card .card-header { margin-bottom: 10px; }
.learning-control-card h2, .learning-table-card h2 { margin: 0; font-size: 16px; }
.learning-muted { display: block; color: var(--app-muted); font-size: 11px; margin-top: 2px; }
.learning-policy { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; color: var(--app-muted); font-size: 11px; }
.learning-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #90a4ae; display: inline-block; }
.learning-status-dot.is-on { background: #43a047; box-shadow: 0 0 0 3px rgba(67,160,71,.13); }
.learning-count { color: var(--app-primary); font-size: 11px; font-weight: 900; }
.learning-table-card { padding-bottom: 10px; }
.learning-table table { min-width: 680px; }
.learning-table th, .learning-table td { padding: 8px 9px; }
.learning-type { color: #546e7a; font-size: 11px; font-weight: 900; }
.learning-evidence { white-space: nowrap; color: var(--app-muted); font-size: 11px; }
.learning-evidence b { color: var(--app-text); font-size: 13px; }
.learning-meter { width: 70px; height: 4px; margin-top: 5px; border-radius: 99px; background: #e6edf5; overflow: hidden; }
.learning-meter i { display: block; height: 100%; border-radius: inherit; background: #43a047; }
.learning-badge { display: inline-block; border-radius: 999px; padding: 3px 7px; font-size: 10px; font-weight: 900; text-transform: lowercase; background: #eceff1; color: #455a64; }
.learning-badge-complete, .learning-badge-approved { color: #1b5e20; background: #e8f5e9; }
.learning-badge-shadow { color: #8d6e00; background: #fff8e1; }
.learning-badge-error, .learning-badge-disabled { color: #b71c1c; background: #ffebee; }
.learning-runs { padding: 0; overflow: hidden; }
.learning-runs summary { cursor: pointer; list-style: none; padding: 13px 15px; color: var(--app-text); font-size: 13px; font-weight: 900; }
.learning-runs summary::-webkit-details-marker { display: none; }
.learning-runs summary::after { content: '＋'; float: right; color: var(--app-muted); }
.learning-runs[open] summary::after { content: '−'; }
.learning-runs .table-wrapper { border: 0; border-top: 1px solid var(--app-border); border-radius: 0; }

@media (max-width: 760px) {
  .learning-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .learning-policy { line-height: 1.7; }
}

/* Match the full authenticated canvas used by Overview and Rules. */
.legacy-admin-shell .marketplace-management-page,
.legacy-admin-shell .alerts-console,
.legacy-admin-shell .ops-health {
  display: block;
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Alerts management: readable executive scale with fuller desktop width.
   Kept scoped and based on legacy-safe CSS primitives for older Safari. */
@media (min-width: 900px) {
  .legacy-admin-shell .alerts-console {
    position: relative;
    left: 50%;
    width: calc(100% + 16px);
    margin-left: 0;
    margin-right: 0;
    transform: translateX(-50%);
  }
}

/* Keep alert management on the same horizontal canvas as Overview and Rules.
   The shared authenticated shell now supplies the canonical platform gutter. */
@media (min-width: 900px) {
  .legacy-admin-shell .alerts-console {
    position: static;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }
}

.alerts-console .alerts-console-hero { padding: 24px 26px; }
.alerts-console .alerts-console-hero h2 { font-size: 29px; }
.alerts-console .alerts-console-hero p { font-size: 14px; }
.alerts-console .alerts-eyebrow { font-size: 11px; }
.alerts-console .alerts-kpi { min-height: 132px; padding: 19px 20px; }
.alerts-console .alerts-kpi span { font-size: 11px; }
.alerts-console .alerts-kpi strong { font-size: 34px; }
.alerts-console .alerts-kpi small { font-size: 13px; }
.alerts-console .alerts-admin-card { padding: 23px; }
.alerts-console .alerts-card-heading h3 { font-size: 20px; }
.alerts-console .alerts-card-heading p { font-size: 14px; }
.alerts-console .alerts-inline-form label,
.alerts-console .alerts-edit-grid label,
.alerts-console .alerts-item-edit-grid label { font-size: 13px; }
.alerts-console .alerts-inline-form input,
.alerts-console .alerts-edit-grid input,
.alerts-console .alerts-edit-grid select,
.alerts-console .alerts-item-edit-grid input,
.alerts-console .alerts-item-edit-grid select,
.alerts-console .alerts-item-edit-grid textarea { min-height: 40px; padding: 9px 11px; }
.alerts-console .alerts-record summary { min-height: 72px; padding: 12px 15px; }
.alerts-console .alerts-record-main strong { font-size: 15px; }
.alerts-console .alerts-record-main small,
.alerts-console .alerts-record-meta { font-size: 12px; }
.alerts-console .alerts-list-fold > summary { min-height: 46px; font-size: 13px; }
.alerts-console .alerts-list-fold > summary span { font-size: 12px; }
.alerts-console .alerts-record-foot { font-size: 12px; }
.alerts-console .alerts-mini-metrics strong { font-size: 25px; }
.alerts-console .alerts-mini-metrics span { font-size: 11px; }
.alerts-console .alerts-events-list div { font-size: 12px; }

@media (max-width: 760px) {
  .alerts-console .alerts-console-hero { padding: 19px; }
  .alerts-console .alerts-console-hero h2 { font-size: 24px; }
  .alerts-console .alerts-kpi { min-height: 108px; padding: 16px; }
  .alerts-console .alerts-kpi strong { font-size: 30px; }
  .alerts-console .alerts-admin-card { padding: 17px; }
  .alerts-console .alerts-card-heading h3 { font-size: 19px; }
  .alerts-console .alerts-card-heading p { font-size: 13px; }
  .alerts-console .alerts-inline-form label,
  .alerts-console .alerts-edit-grid label,
  .alerts-console .alerts-item-edit-grid label { font-size: 12px; }
  .alerts-console .alerts-record summary { min-height: 70px; }
}

/* Vitrine pública: tema amarelo Mercado Livre */
.marketplace-standalone { --market-gold: #c29a57; --market-ink: #10243c; --market-blue: #10243c; }
.marketplace-standalone .marketplace-hero { color: #fffdf8; background: linear-gradient(115deg, #10243c 0%, #173654 64%, #8f6b35 100%); box-shadow: 0 14px 30px rgba(16, 36, 60, .20); }
.marketplace-standalone .marketplace-eyebrow { color: #e4c98f; }
.marketplace-standalone .marketplace-hero p { color: #f4ead9; }
.marketplace-standalone .marketplace-hero-mark { border-color: rgba(255,255,255,.35); color: #f4d99e; background: rgba(255,255,255,.10); font-size: 11px; letter-spacing: .12em; }
.marketplace-standalone .marketplace-storefront { border-color: #dfc99e; }
.marketplace-standalone .offer-badge { color: #7a5b27; border-color: #ddc18a; background: #f8eedc; }
.marketplace-standalone .offer-product-icon { color: #7a5b27; background: linear-gradient(135deg, #f7ecd8, #fffdf8); }
.marketplace-standalone .offer-cta,
.marketplace-standalone .marketplace-search button,
.marketplace-standalone .marketplace-pagination .btn { color: #fff; background: var(--market-blue); box-shadow: 0 4px 10px rgba(52, 131, 250, .22); }
.marketplace-standalone .offer-cta:hover,
.marketplace-standalone .marketplace-search button:hover,
.marketplace-standalone .marketplace-pagination .btn:hover { background: #296dcc; }

.marketplace-affiliate-disclosure {
  width: 100%;
  margin-top: 34px;
  padding: 24px 0 8px;
  color: #3d3527;
  border-top: 1px solid rgba(194, 154, 87, .72);
  font-size: 11px;
  line-height: 1.6;
}
.marketplace-footer-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; padding-bottom: 20px; }
.marketplace-footer-about { min-width: 0; }
.marketplace-footer-about > strong { display: block; margin-bottom: 5px; color: #173b55; font-size: 16px; letter-spacing: .01em; }
.marketplace-footer-about p { margin: 0; color: #6e675a; white-space: nowrap; }
.marketplace-footer-nav { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
.marketplace-footer-nav span { color: #6d501e; font-weight: 800; }
.marketplace-footer-nav a { color: #72551e; font-weight: 700; text-decoration: none; }
.marketplace-footer-nav a:hover { color: #173b55; text-decoration: underline; text-underline-offset: 3px; }
.marketplace-footer-disclosure { padding: 12px 0; color: #6e675a; border-top: 1px solid rgba(194, 154, 87, .3); font-size: 10px; }
.marketplace-footer-disclosure strong { color: #6d501e; }
.marketplace-footer-copy { color: #8a8275; font-size: 10px; }
.marketplace-affiliate-disclosure strong { color: #6d501e; }
.marketplace-policy-modal[hidden] { display: none; }
.marketplace-policy-modal { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; padding: 18px; }
.marketplace-policy-backdrop { position: absolute; inset: 0; background: rgba(16, 36, 60, .52); }
.marketplace-policy-dialog { position: relative; width: min(520px, 100%); max-height: min(80vh, 520px); overflow: auto; padding: 24px; color: #24384a; border: 1px solid #dfc99e; border-radius: 16px; background: #fffdf8; box-shadow: 0 18px 55px rgba(16, 36, 60, .28); }
.marketplace-policy-dialog h2 { margin: 0 26px 12px 0; color: #173b55; font-size: 20px; }
.marketplace-policy-dialog h3 { margin: 18px 0 6px; color: #6d501e; font-size: 14px; }
.marketplace-policy-dialog p { margin: 0 0 10px; line-height: 1.6; }
.marketplace-policy-close { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; color: #173b55; border: 0; border-radius: 50%; background: #f5ead3; font-size: 23px; line-height: 1; cursor: pointer; }
.marketplace-policy-close:hover { background: #ead5ad; }

/* Mercado Livre storefront */
.marketplace-hero {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  margin-bottom: 18px;
  padding: 26px 30px;
  color: #fff;
  border-radius: 18px;
  background: linear-gradient(115deg, #102a43 0%, #174a72 58%, #1976d2 100%);
  box-shadow: 0 14px 30px rgba(16, 42, 67, .18);
  overflow: hidden;
}
.marketplace-hero-brand { display: block; flex: 0 0 auto; width: 112px; height: 112px; border: 3px solid rgba(228, 201, 143, .9); border-radius: 50%; object-fit: cover; background: #fffdf8; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); filter: contrast(1.16) saturate(1.12); }
.marketplace-instagram { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; color: #f4d99e; font-size: 12px; font-weight: 800; text-decoration: none; }
.marketplace-instagram:hover { color: #fff; }
.marketplace-instagram img { display: block; width: 20px; height: 20px; }
.marketplace-hero > div { text-align: left; }
.marketplace-eyebrow { color: #90caf9; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.marketplace-hero h2 { margin: 7px 0 4px; font-size: clamp(22px, 3vw, 32px); line-height: 1.1; }
.marketplace-hero h1 { margin: 7px 0 4px; font-size: clamp(22px, 3vw, 32px); line-height: 1.1; }
.marketplace-hero p { margin: 0; color: #d9ecff; font-size: 13px; }
.marketplace-hero-mark { display: grid; place-items: center; width: 74px; height: 74px; border: 1px solid rgba(255,255,255,.35); border-radius: 22px; color: #fff; font-size: 22px; font-weight: 950; transform: rotate(8deg); background: rgba(255,255,255,.12); }
.marketplace-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.marketplace-kpi { padding: 14px 16px; border: 1px solid #dbe7f2; border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: 0 5px 16px rgba(18, 55, 86, .06); }
.marketplace-kpi span, .marketplace-kpi small { display: block; color: var(--app-muted); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.marketplace-kpi strong { display: block; margin: 6px 0 2px; color: #12344d; font-size: 25px; line-height: 1.1; }
.marketplace-kpi-accent { background: linear-gradient(135deg, #eef8ff, #fff); border-color: #b8dcf8; }
.marketplace-kpi-accent strong { color: var(--app-primary); font-size: 18px; }
.marketplace-storefront { padding: 20px; }
.marketplace-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.marketplace-toolbar h2 { margin: 0 0 3px; color: #12344d; font-size: 20px; }
.marketplace-toolbar > div > span { color: var(--app-muted); font-size: 12px; }
.marketplace-search { display: flex; align-items: center; gap: 7px; }
.marketplace-search input { min-width: 240px; margin: 0; }
.marketplace-search button { padding: 9px 13px; }
.marketplace-search a { color: var(--app-muted); font-size: 11px; font-weight: 800; text-decoration: none; }
.marketplace-offer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(245px, 1fr)); gap: 15px; }
.offer-card { display: flex; min-height: 315px; flex-direction: column; overflow: hidden; border: 1px solid #dce8f1; border-radius: 15px; background: #fff; box-shadow: 0 7px 20px rgba(18, 55, 86, .07); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.offer-card:hover { border-color: #90caf9; box-shadow: 0 12px 28px rgba(25, 118, 210, .16); transform: translateY(-3px); }
.offer-card-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid #edf3f7; }
.offer-badge { padding: 4px 7px; border-radius: 5px; color: #0d47a1; background: #e3f2fd; font-size: 9px; font-weight: 950; letter-spacing: .08em; }
.offer-store-meta { display: flex; align-items: center; margin-left: auto; min-width: 0; }
.offer-store-logo { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; width: 44px; height: 28px; margin: 0 9px 0 0; overflow: hidden; border-radius: 5px; background: #fff; box-shadow: 0 2px 5px rgba(18, 55, 86, .14); }
.offer-store-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.offer-store-logo img { position: relative; z-index: 1; justify-self: center; align-self: center; margin: 0; }
.offer-store-logo-ml { width: 44px; height: 28px; border: 1px solid #eee5d6; }
.offer-store-logo-ml-image { display: block; place-self: center; width: 100%; height: 100%; object-fit: contain; overflow: hidden; filter: contrast(1.08) saturate(1.12); }
.offer-store-logo-amazon { width: 44px; height: 28px; padding: 4px 10px; border-radius: 5px; background: #fff; box-shadow: 0 2px 5px rgba(18, 55, 86, .14); }
.offer-store-logo-amazon img { width: 22px; height: 22px; object-fit: contain; transform: scale(.82); }
.offer-store-logo-shopee { width: 44px; height: 28px; border-radius: 6px; background: #fff; box-shadow: 0 2px 5px rgba(18, 55, 86, .14); }
.offer-store-logo-shopee img { width: 24px; height: 24px; object-fit: contain; justify-self: center; align-self: center; }
.offer-store-logo-generic { color: #fff; background: #78909c; font-size: 12px; font-weight: 900; }
.offer-time { color: #8495a3; font-size: 10px; }
.offer-card-body { display: flex; flex: 1; flex-direction: column; padding: 17px 17px 12px; }
.offer-image { display: block; width: 100%; height: 156px; margin: -2px 0 15px; border-radius: 10px; object-fit: contain; background: #f7fafc; }
.offer-image-pending { color: transparent; }
.offer-image-failed { visibility: hidden; }
.offer-product-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 12px; border-radius: 12px; color: #1565c0; background: linear-gradient(135deg, #e7f4ff, #f2f8fc); font-size: 13px; font-weight: 950; }
.offer-card h3 { display: -webkit-box; min-height: 42px; margin: 0 0 14px; overflow: hidden; color: #173b55; font-size: 14px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.offer-price-block { display: grid; grid-template-rows: 16px 11px 29px 15px; align-content: start; min-height: 71px; }
.offer-price-block-has-before { grid-template-rows: 16px 18px 29px 15px; min-height: 78px; }
.offer-price-block-has-before .offer-price-label { margin-top: 6px; line-height: 12px; }
.offer-price-label { color: #8799a6; font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.offer-price-before-slot,
.offer-price-condition-slot { min-width: 0; min-height: 0; }
.offer-price-before { color: #b42318; font-size: 13px; font-weight: 800; line-height: 16px; text-decoration: line-through; }
.offer-price { margin-top: 0; color: #102a43; font-size: 25px; font-weight: 950; letter-spacing: -.03em; line-height: 29px; }
.offer-price-condition { color: #1e9b62; font-size: 11px; font-weight: 800; line-height: 15px; }
.offer-commercial-meta { display: grid; grid-template-rows: 31px 24px; align-content: start; min-height: 55px; margin-top: auto; }
.offer-condition-slot,
.offer-validation-slot { min-width: 0; min-height: 0; }
.offer-international { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; color: #6b4b16; font-size: 10px; font-weight: 850; line-height: 18px; }
.offer-international img { display: block; width: 18px; height: 12px; flex: 0 0 auto; border-radius: 2px; object-fit: cover; }
.offer-subscribe-save { display: inline-block; max-width: 100%; padding: 3px 7px; border: 1px solid #b9e7cf; border-radius: 7px; background: #effbf4; vertical-align: top; }
.offer-subscribe-save img { display: block; width: auto; max-width: 100%; height: 22px; object-fit: contain; object-position: left center; }
.offer-subscribe-save-fallback { display: none; color: #146c43; font-size: 11px; font-weight: 900; }
.offer-coupon { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 6px 8px; border: 1px dashed #f0b44c; border-radius: 7px; color: #8a5700; background: #fff8e8; font-size: 10px; font-weight: 800; }
.offer-coupon code { max-width: 112px; overflow: hidden; color: #704600; text-overflow: ellipsis; white-space: nowrap; }
.offer-no-coupon { color: #8495a3; font-size: 10px; line-height: 24px; }
.offer-price-signal { margin: 0; color: #7b8d99; font-size: 9px; font-weight: 800; line-height: 1.25; }
.offer-price-signal span { font-weight: 700; }
.offer-price-signal-checked { color: #32845d; }
.offer-price-signal-variable { color: #9a6b18; }
.offer-price-signal-conservative { color: #9a6b18; }
.offer-condition-note { margin-top: 7px; color: #7b8d99; font-size: 9px; font-weight: 800; line-height: 1.25; }
.offer-card-footer { padding: 12px 14px 14px; border-top: 1px solid #edf3f7; }
.offer-cta { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 10px 12px; border-radius: 8px; color: #fff; background: #1976d2; font-size: 12px; font-weight: 900; text-decoration: none; box-shadow: 0 4px 10px rgba(25, 118, 210, .2); }
.offer-cta:hover { background: #0d5cad; }
.offer-cta span { font-size: 15px; line-height: 1; }
.offer-trust { display: block; margin-top: 7px; color: #8da0ad; font-size: 9px; text-align: center; }
.marketplace-empty { grid-column: 1 / -1; padding: 55px 20px; color: var(--app-muted); text-align: center; }
.marketplace-empty-icon { margin: auto; color: #90caf9; font-size: 38px; }
.marketplace-empty h3 { margin: 10px 0 3px; color: #31536b; }
.marketplace-empty p { margin: 0; }
.marketplace-pagination { justify-content: center; margin-top: 20px; }

@media (max-width: 760px) {
  .marketplace-hero { padding: 22px; }
  .marketplace-hero-mark { width: 58px; height: 58px; border-radius: 17px; font-size: 18px; }
  .marketplace-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marketplace-toolbar { align-items: stretch; flex-direction: column; }
  .marketplace-search { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .marketplace-search input,
  .marketplace-search select,
  .marketplace-search button { width: 100%; min-width: 0; min-height: 44px; font-size: 16px; }
  .marketplace-search a { justify-self: center; padding: 3px 8px; font-size: 12px; }
  .offer-card h3 { min-height: 60px; margin-bottom: 11px; line-height: 1.35; -webkit-line-clamp: 3; }
}

@media (max-width: 480px) {
  .marketplace-standalone { padding: 8px 8px 18px; }
  .marketplace-hero { align-items: flex-start; gap: 10px; margin-bottom: 12px; padding: 18px 16px; border-radius: 14px; }
  .app-brand { width: 64px; height: 64px; }
  .marketplace-hero-brand { width: 86px; height: 86px; border-width: 2px; }
  .marketplace-hero h1 { max-width: 250px; margin-top: 6px; font-size: 24px; }
  .marketplace-hero p { max-width: 270px; font-size: 12px; line-height: 1.45; }
  .marketplace-hero-mark { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 14px; font-size: 15px; }
  .marketplace-storefront { padding: 12px; border-radius: 14px; }
  .marketplace-toolbar { gap: 11px; margin-bottom: 14px; }
  .marketplace-toolbar h2 { font-size: 18px; }
  .marketplace-affiliate-disclosure { margin-top: 24px; padding-top: 18px; font-size: 10px; }
  .marketplace-footer-main { display: block; padding-bottom: 14px; }
  .marketplace-footer-about { margin-bottom: 14px; }
  .marketplace-footer-about p { white-space: normal; }
  .marketplace-footer-nav { justify-content: flex-start; gap: 10px 14px; }
  .marketplace-offer-grid { grid-template-columns: 1fr; gap: 11px; }
  .offer-card { min-height: 0; border-radius: 13px; }
  .offer-card-head { padding: 10px 12px; }
  .offer-card-body { padding: 12px 12px 10px; }
  .offer-image { height: 178px; margin: -1px 0 12px; border-radius: 9px; }
  .offer-card h3 { min-height: 60px; margin-bottom: 11px; font-size: 15px; line-height: 1.35; -webkit-line-clamp: 3; }
  .offer-price-block { grid-template-rows: 16px 13px 28px 15px; min-height: 72px; }
  .offer-price-block-has-before { grid-template-rows: 16px 18px 28px 15px; min-height: 77px; }
  .offer-price-block-has-before .offer-price-label { margin-top: 6px; line-height: 12px; }
  .offer-commercial-meta { grid-template-rows: 31px 24px; min-height: 55px; }
  .offer-price { font-size: 24px; }
  .offer-card-footer { padding: 10px 12px 12px; }
  .offer-cta { min-height: 44px; font-size: 13px; }
  .marketplace-pagination { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .marketplace-pagination .badge { justify-self: center; order: -1; }
  .marketplace-pagination .btn { width: 100%; min-height: 44px; }
}

.daily-kpi-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(235px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.daily-kpi-card {
  border: 1px solid #dbe3ee;
  border-radius: 9px;
  background: linear-gradient(180deg, #fff, #f8fbff);
  padding: 12px 13px;
  box-shadow: var(--app-shadow);
  min-height: 132px;
}

.daily-kpi-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 10px;
}

.daily-kpi-head strong {
  font-size: 13px;
  color: var(--app-text);
}

.daily-kpi-head span {
  color: var(--app-muted);
  font-size: 11px;
  white-space: nowrap;
}

.daily-kpi-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
  padding: 6px 0;
  border-top: 1px solid #e8eef6;
}

.daily-kpi-row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.daily-kpi-row span {
  color: var(--app-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.daily-kpi-row strong {
  color: var(--app-primary);
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
}

.daily-kpi-row.daily-kpi-separator {
  margin-top: 4px;
  border-top-color: #c7d4e5;
}

.coupon-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.coupon-legend-item {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.coupon-table-wrapper {
  max-height: calc(100vh - 280px);
}

.coupon-table {
  min-width: 1040px;
}

.coupon-row td {
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.coupon-row td:first-child {
  border-left: 4px solid transparent;
}

.coupon-row-current td,
.coupon-row-new td {
  background: linear-gradient(90deg, rgba(67, 160, 71, .16), rgba(67, 160, 71, .05));
}

.coupon-row-stable td {
  background: #fafcff;
}

.coupon-row-moderate td,
.coupon-row-slow td {
  background: linear-gradient(90deg, rgba(251, 140, 0, .14), rgba(251, 140, 0, .05));
}

.coupon-row-expired td,
.coupon-row-stale td {
  background: linear-gradient(90deg, rgba(229, 57, 53, .15), rgba(229, 57, 53, .06));
}

.coupon-row-current td:first-child,
.coupon-row-current td:first-child .badge,
.coupon-legend-item.coupon-row-current,
.coupon-row-new td:first-child,
.coupon-row-new td:first-child .badge,
.coupon-legend-item.coupon-row-new {
  background: #43a047;
  color: #fff;
}

.coupon-row-current td:first-child,
.coupon-row-new td:first-child { border-left-color: #43a047; }

.coupon-row-stable td:first-child .badge,
.coupon-legend-item.coupon-row-stable {
  background: #90a4ae;
  color: #fff;
}

.coupon-row-stable td:first-child { border-left-color: #90a4ae; }

.coupon-row-moderate td:first-child .badge,
.coupon-legend-item.coupon-row-moderate,
.coupon-row-slow td:first-child .badge,
.coupon-legend-item.coupon-row-slow {
  background: #fb8c00;
  color: #fff;
}

.coupon-row-moderate td:first-child,
.coupon-row-slow td:first-child { border-left-color: #fb8c00; }

.coupon-row-expired td:first-child .badge,
.coupon-legend-item.coupon-row-expired,
.coupon-row-stale td:first-child .badge,
.coupon-legend-item.coupon-row-stale {
  background: #e53935;
  color: #fff;
}

.coupon-row-expired td:first-child,
.coupon-row-stale td:first-child { border-left-color: #e53935; }

.coupon-row-current,
.coupon-row-new {
  animation: couponPulse 1.5s ease-in-out 1;
}

.coupons-toolbar {
  margin-bottom: 16px;
  gap: 14px 16px;
  align-items: end;
  padding: 12px 12px 10px;
  border: 1px solid #dce4ef;
  border-radius: 9px;
  background: #f8fbff;
}

.coupons-toolbar label {
  min-width: 0;
}

@keyframes couponPulse {
  0% { box-shadow: inset 0 0 0 0 rgba(67, 160, 71, 0); }
  50% { box-shadow: inset 0 0 0 9999px rgba(67, 160, 71, .06); }
  100% { box-shadow: inset 0 0 0 0 rgba(67, 160, 71, 0); }
}

.kpi {
  background: linear-gradient(180deg, #fff, #f8fbff);
  border: 1px solid var(--app-border);
  border-left: 6px solid var(--app-primary);
  border-radius: var(--app-radius);
  padding: 15px 16px;
  box-shadow: var(--app-shadow);
  min-height: 96px;
}

.kpi div {
  color: var(--app-text);
  font-size: 13px;
  font-weight: 800;
}

.kpi strong {
  display: block;
  margin-top: 4px;
  color: var(--app-primary);
  font-size: 28px;
  font-weight: 950;
  line-height: 1.05;
}

.kpi-compact {
  min-height: 84px;
  padding: 12px 13px;
}

.kpi-compact strong {
  font-size: 24px;
}

.kpi span,
.muted,
.small {
  color: var(--app-muted);
  font-size: 12px;
}

.layout-main {
  display: grid;
  grid-template-columns: minmax(320px, .85fr) minmax(520px, 1.15fr);
  gap: 18px;
  align-items: stretch;
  min-width: 0;
}

.layout-secondary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  min-width: 0;
}

.layout-stacked {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
}

.ops-grid,
.policy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ops-grid div,
.policy-grid div {
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  background: #f8fafc;
  padding: 12px;
  min-width: 0;
}

.ops-grid span,
.policy-grid span {
  display: block;
  color: var(--app-muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.ops-grid strong,
.policy-grid strong {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.table-wrapper {
  overflow: auto;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: #fff;
}

.table-wrapper.compact { max-height: 520px; }

table {
  width: 100%;
  min-width: 920px;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  font-size: 13px;
}

.compact table { min-width: 680px; }

th,
td {
  border-bottom: 1px solid var(--app-border);
  padding: 9px 10px;
  text-align: left;
  vertical-align: top;
}

th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #eef2f7;
  color: #374151;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

tr:last-child td { border-bottom: 0; }
tr:hover td { background: #f9fbff; }

.wide-text {
  max-width: 620px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.unidentified-toolbar {
  grid-template-columns: minmax(260px, 1fr) auto;
}

.unidentified-store-table table {
  min-width: 1180px;
}

.unidentified-message pre {
  max-width: 680px;
  max-height: 260px;
  margin: 0;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
  color: inherit;
}

.kpi strong.kpi-date {
  font-size: 18px;
  line-height: 1.25;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
}

.nowrap { white-space: nowrap; }

.empty {
  color: var(--app-muted);
  text-align: center;
  padding: 22px 10px;
}

.empty-block {
  border: 1px dashed var(--app-border);
  border-radius: var(--app-radius);
  background: #f8fafc;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #64748b;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.badge-ok,
.badge.confirmed,
.badge.matched { background: var(--app-success); }
.badge-warning { background: var(--app-warning); }
.badge.rejected_ai { background: var(--app-danger); }

.coupon-code {
  font-size: 15px;
  letter-spacing: .4px;
  overflow-wrap: anywhere;
}

label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: var(--app-muted);
  font-size: 12px;
  font-weight: 900;
  min-width: 0;
}

input,
textarea,
select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--app-border);
  border-radius: 8px;
  padding: 7px 8px;
  color: var(--app-text);
  background: #fff;
  font: inherit;
}

textarea {
  resize: vertical;
  min-height: 64px;
}

.stack {
  display: grid;
  gap: 10px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  align-items: end;
}

.inline-actions {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.inline-actions button {
  padding: 6px 9px;
  font-size: 11px;
}

.form-grid-wide {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.span-2 { grid-column: span 2; }
.span-full { grid-column: 1 / -1; }
.form-submit { align-self: end; }

.checkrow {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  color: #334155;
  min-height: 34px;
}

.checkrow input { width: auto; accent-color: var(--app-primary); }

.checkrow-strong {
  font-size: 13px;
  color: var(--app-text);
}

.control-band {
  display: grid;
  grid-template-columns: minmax(120px, auto) minmax(170px, auto) 1fr;
  gap: 10px 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.control-group {
  display: grid;
  gap: 4px;
}

.control-group-label {
  color: var(--app-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.control-row {
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.status-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 0 0 14px;
}

.status-filter .btn {
  width: auto;
  min-width: 0;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.1;
  box-shadow: none;
}

.status-filter .btn-secondary {
  border: 1px solid #d6e0ea;
  color: #526575;
  background: #f7f9fc;
}

.status-filter .btn-secondary:hover {
  color: var(--app-primary-dark);
  background: #edf4fb;
}

.form-footer {
  justify-content: space-between;
}

.rules-list {
  display: grid;
  gap: 14px;
}

.rules-top {
  align-items: start;
}

.rules-builder {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  align-items: end;
}

.rules-builder.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.catalog-list {
  display: grid;
  gap: 10px;
}

.catalog-item {
  width: 100%;
  text-align: left;
  border: 1px solid var(--app-border);
  border-radius: calc(var(--app-radius) - 2px);
  background: #f8fbff;
  padding: 10px 12px;
  color: var(--app-text);
  box-shadow: none;
}

.catalog-item:hover {
  background: #eef6ff;
}

.catalog-main,
.product-summary,
.destination-text {
  display: grid;
  gap: 4px;
}

.catalog-main strong,
.product-summary strong,
.destination-text h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
}

.catalog-main span,
.product-summary span {
  color: var(--app-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.catalog-meta,
.destination-badges,
.product-summary-right {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.destination-tree {
  display: grid;
  gap: 14px;
}

.rules-page .card {
  padding: 13px;
}

.rules-page .note {
  margin-top: 10px;
}

.rules-page .rules-builder {
  gap: 8px;
}

.rules-quick-card {
  margin-bottom: 12px;
}

.quick-rule-form {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(360px, 1.25fr) minmax(220px, .75fr);
  gap: 12px;
  align-items: stretch;
}

.quick-section {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.quick-section-title {
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.quick-inline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  min-width: 0;
}

.quick-product {
  grid-template-columns: minmax(0, 1.2fr) minmax(120px, .55fr);
}

.quick-product .quick-section-title,
.quick-product label:nth-of-type(3),
.quick-product label:nth-of-type(4) {
  grid-column: 1 / -1;
}

.quick-options {
  align-content: start;
}

.compact-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 8px;
}

.compact-controls .checkrow {
  min-height: 28px;
}

.catalog-compact-card {
  margin-bottom: 14px;
}

.catalog-list-compact {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 8px;
}

.catalog-list-compact .catalog-item {
  display: grid;
  gap: 6px;
  padding: 8px 10px;
  max-width: 100%;
  overflow: hidden;
}

.catalog-list-compact .catalog-main strong {
  font-size: 13px;
}

.catalog-list-compact .catalog-main span {
  font-size: 11px;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.catalog-list-compact .catalog-meta {
  justify-content: flex-start;
  min-width: 0;
}

.catalog-list-compact .catalog-item,
.catalog-list-compact .catalog-main,
.catalog-list-compact .catalog-meta {
  min-width: 0;
}

.catalog-list-compact .badge {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

.rules-page .rules-builder.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rules-page .destination-tree {
  gap: 12px;
}

.destination-card {
  border: 1px solid #cbd5e1;
  border-radius: var(--app-radius);
  background: linear-gradient(180deg, #fff, #f8fbff);
  box-shadow: var(--app-shadow);
  padding: 14px;
}

.destination-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-bottom: 11px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e2e8f0;
}

.identity-add-product {
  margin-bottom: 14px;
  padding: 10px;
  border: 1px dashed #cbd5e1;
  border-radius: calc(var(--app-radius) - 2px);
  background: #f8fafc;
}

.identity-contact-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid #dbe3ee;
  border-radius: 10px;
  background: #fff;
}

.identity-add-product label {
  gap: 6px;
}

.identity-add-product textarea {
  min-height: 76px;
}

.products-section-title {
  margin: 0 0 8px;
  color: #475569;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0;
}

.destination-products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #e2e8f0;
  align-items: start;
}

.product-item {
  border: 1px solid #dbe3ee;
  border-radius: calc(var(--app-radius) - 2px);
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.destination-products .product-item:nth-of-type(even) {
  background: #f6f9fd;
}

.destination-products .product-item:nth-of-type(even) input,
.destination-products .product-item:nth-of-type(even) textarea,
.destination-products .product-item:nth-of-type(even) select {
  background: #fff;
}

.product-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid transparent;
}

.product-item summary::-webkit-details-marker {
  display: none;
}

.product-item[open] summary {
  border-bottom-color: var(--app-border);
  background: #f8fafc;
}

.product-edit {
  padding: 9px 10px;
}

.product-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
}

.product-edit .rule-actions {
  align-self: stretch;
  display: flex;
  justify-content: flex-end;
  align-content: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 0 0;
  border-left: 0;
  border-top: 1px solid #e5e7eb;
  margin-top: 0;
}

.product-edit .rule-actions button {
  width: 86px;
  min-width: 86px;
  padding: 7px 8px;
  font-size: 11px;
}

.product-edit .rule-actions button + button {
  margin-top: 0;
}

.product-main {
  display: grid;
  grid-template-columns:minmax(0,1fr) 110px;
  gap: 8px;
  min-width: 0;
  align-items:start;
}

.product-main label {
  gap: 4px;
  font-size: 11px;
}

.product-main textarea {
  min-height: 42px;
  height: 42px;
  resize: vertical;
}

.product-main .span-2 {
  grid-column:1 / -1;
}

.product-main input,
.product-main textarea,
.product-main select {
  padding: 7px 8px;
  font-size: 12px;
}

.product-main .control-band {
  grid-column:1 / -1;
  padding: 6px 8px;
  gap: 8px;
  align-self:stretch;
}

.product-main .control-group-label {
  font-size: 10px;
}

.product-main .checkrow {
  padding: 4px 7px;
  font-size: 11px;
}

@media (max-width: 1360px) {
  .destination-products {
    grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  }

  .product-main {
    grid-template-columns:minmax(0,1fr) 110px;
  }

  .product-main .control-band,
  .product-main .span-2:last-of-type {
    grid-column:1 / -1;
  }
}

@media (min-width: 1700px) {
  .destination-products {
    grid-template-columns: repeat(auto-fit, minmax(390px, 1fr));
  }
}

@media (max-width: 980px) {
  .identity-contact-form,
  .product-row,
  .product-main {
    grid-template-columns:1fr;
  }

  .product-edit .rule-actions {
    border-left:0;
    border-top:1px solid #e5e7eb;
    padding-left:0;
    padding-top:8px;
    display:flex;
    min-width:0;
  }

  .product-edit .rule-actions button {
    width: 86px;
    min-width: 86px;
  }
}

.product-summary-right .badge,
.catalog-meta .badge {
  background: #e2e8f0;
  color: #334155;
}

.rule-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: #fff;
  padding: 14px;
}

.rule-form {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.rule-head {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) 140px 100px 80px 70px;
  gap: 10px;
  align-items: end;
}

.rule-terms {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.inline-form {
  align-self: start;
}

.settings-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.settings-layout .card { margin-bottom: 0; }

.prompt-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.prompt-field {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: #f8fafc;
}

.prompt-field > span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #475569;
}

.prompt-field textarea {
  min-height: 220px;
  resize: vertical;
  line-height: 1.45;
  background: #fff;
}

.sticky-save {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  position: sticky;
  bottom: 12px;
  padding: 10px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--app-shadow);
}

.note {
  margin-top: 12px;
  color: var(--app-muted);
  border-left: 4px solid var(--app-primary);
  padding: 8px 10px;
  background: #f8fafc;
  border-radius: 0 8px 8px 0;
}

.flash {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  border-radius: var(--app-radius);
  padding: 10px 12px;
  margin-bottom: 16px;
  box-shadow: var(--app-shadow);
  overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
  .kpi-grid-six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .layout-main,
  .layout-secondary,
  .settings-layout,
  .quick-rule-form {
    grid-template-columns: 1fr;
  }

  .quick-product {
    grid-template-columns: minmax(0, 1fr) minmax(150px, .4fr);
  }

  .form-grid-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rules-builder,
  .rules-builder.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rule-head,
  .rule-terms {
    grid-template-columns: 1fr 1fr;
  }

  .control-band {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 760px) {
  .app-container {
    width: 100%;
    max-width: none;
    padding: 14px 12px 22px;
  }

  .app-header {
    display: block;
  }

  .app-subtitle {
    overflow-wrap: anywhere;
  }

  .app-actions {
    margin-top: 14px;
  }

  .app-actions,
  .app-quick-access {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
    width: 100%;
  }

  .app-actions .btn,
  .app-quick-link {
    width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
  }

  .app-title-wrap h1 {
    font-size: 24px;
  }

  .kpi-grid,
  .form-grid,
  .form-grid-wide,
  .rules-builder,
  .quick-rule-form,
  .quick-product,
  .quick-inline,
  .ops-grid,
  .policy-grid,
  .rule-head,
  .rule-terms,
  .rule-card {
    grid-template-columns: 1fr;
  }

  .span-2 { grid-column: auto; }
  .span-full { grid-column: auto; }
  .card {
    padding: 14px;
  }

  .form-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .form-footer button,
  .sticky-save button {
    width: 100%;
  }

  .sticky-save {
    position: static;
  }

  table {
    font-size: 12px;
  }

  th,
  td {
    padding: 8px;
  }

  .destination-head,
  .product-item summary {
    grid-template-columns: 1fr;
    display: grid;
    align-items: start;
  }

  .product-row,
  .product-main {
    grid-template-columns: 1fr;
  }

  .product-main .span-2 {
    grid-column: auto;
  }

  .control-row {
    display: grid;
  }
}

/* Executive hierarchy for the operational console. */
.ops-monitor-page { margin-bottom: 22px; }
.ops-monitor-page .section-heading { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #e6ebf1; }
.ops-eyebrow { display:block; margin-bottom:4px; color:#8a672e; font-size:10px; font-weight:900; letter-spacing:.12em; }
.ops-monitor-page h2,.ops-panel h2 { letter-spacing:-.01em; }
.ops-monitor-page .section-heading p,.ops-panel .section-heading p { margin-top:5px; line-height:1.5; }
.ops-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:0; }
.ops-kpis .kpi-card { min-height:112px; padding:15px 16px; border-top:3px solid #d9e2eb; }
.ops-kpis .kpi-card span { display:block; min-height:28px; color:var(--app-muted); font-size:10px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.ops-kpis .kpi-card strong { display:block; margin-top:7px; font-size:24px; line-height:1.05; letter-spacing:-.03em; }
.ops-kpis .kpi-card small { display:block; margin-top:7px; color:var(--app-muted); font-size:11px; line-height:1.35; }
.ops-kpis .ops-kpi-primary { border-top-color:#1e9b62; background:linear-gradient(135deg,#f0fbf5,#fff); }.ops-kpi-primary strong{color:#087744}
.ops-grid { gap:16px; margin-bottom:16px; }.ops-panel { padding:18px 20px; }.ops-panel .section-heading { margin-bottom:12px; padding-bottom:10px; }
.ops-component { min-height:45px; padding:8px 0; }.ops-component strong,.ops-component-state,.ops-component small { line-height:1.35; }.ops-component small { min-width:0; }
.ops-table th,.ops-table td { padding:10px 12px; }.ops-table th { font-size:10px; }.ops-table td { line-height:1.35; }
.ops-details dt,.ops-details dd { padding:10px 0; line-height:1.35; }.ops-settings-form { gap:13px; }.ops-settings-form label { line-height:1.35; }
.ops-monitor-page + .ops-grid { margin-top:0; }
@media (max-width:1180px) { .ops-kpis{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:760px) { .ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ops-kpis .kpi-card{min-height:100px;padding:12px}.ops-kpis .kpi-card strong{font-size:20px}.ops-kpis .kpi-card span{min-height:24px}.ops-monitor-page .section-heading{display:block}.ops-monitor-page .ops-status{margin-top:10px}.ops-panel{padding:15px}.ops-component{grid-template-columns:10px minmax(90px,1fr) auto;gap:7px}.ops-component small{grid-column:2/-1}.ops-details{font-size:11px} }
@media (max-width:420px) { .ops-kpis{grid-template-columns:1fr}.ops-kpis .kpi-card{min-height:84px}.ops-kpis .kpi-card span{min-height:0}.ops-kpis .kpi-card strong{font-size:22px} }

/* Ops notification controls: explicit left-aligned cards and readable policy. */
.ops-console-heading { align-items:center; }
.ops-settings-form { gap:16px; }
.ops-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ops-settings-grid label { min-width:0; }
.ops-settings-grid label small { color:var(--app-muted,#657487); font-size:10px; font-weight:500; line-height:1.35; }
.ops-channel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ops-channel-card { display:grid!important; grid-template-columns:20px minmax(0,1fr); align-items:start!important; gap:10px!important; width:100%; min-height:70px; padding:12px!important; border:1px solid #d4e0eb; border-radius:10px; background:#f8fbfd; color:var(--app-text)!important; cursor:pointer; }
.ops-channel-card:hover { border-color:#9db6ca; background:#f2f8fc; }
.ops-channel-card input { width:17px; height:17px; margin:2px 0 0!important; accent-color:#173b55; }
.ops-channel-copy { display:block; min-width:0; text-align:left; }
.ops-channel-copy strong,.ops-channel-copy small { display:block; text-align:left; }
.ops-channel-copy strong { color:#173b55; font-size:12px; }
.ops-channel-copy small { margin-top:4px; color:var(--app-muted,#657487); font-size:10px; font-weight:600; line-height:1.35; }
.ops-policy-note { padding:6px 9px; border-radius:999px; color:#53687b; background:#eef3f7; font-size:10px; font-weight:800; white-space:nowrap; }
.ops-alert-policy { margin-bottom:16px; }
.ops-policy-table { min-width:760px; }
.ops-policy-table td { white-space:normal; vertical-align:top; }
.ops-policy-table td strong,.ops-policy-table td small { display:block; }
.ops-policy-table td small { margin-top:3px; color:var(--app-muted,#657487); font-size:10px; }
.ops-policy-table td:nth-child(2) { white-space:nowrap; color:#29445b; font-weight:800; }
@media (max-width:760px) { .ops-settings-grid,.ops-channel-grid{grid-template-columns:1fr}.ops-policy-note{display:inline-block;margin-top:8px}.ops-console-heading{display:block} }

/* End-to-end health map: compact first screen, progressive detail below. */
.ops-health { max-width:1760px; margin:0 auto 28px; }
.ops-kpis-core { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-bottom:12px; }.ops-kpi { min-width:0; min-height:94px; padding:13px 14px; border:1px solid #dce7ef; border-top:3px solid #8aa8bc; border-radius:10px; background:#fff; box-shadow:0 5px 14px rgba(25,55,78,.07); }.ops-kpi span,.ops-kpi small { display:block; color:var(--app-muted); font-size:10px; line-height:1.3; }.ops-kpi span { font-weight:900; letter-spacing:.04em; text-transform:uppercase; }.ops-kpi strong { display:block; margin:9px 0 5px; color:#14344e; font-size:24px; line-height:1; letter-spacing:-.04em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ops-kpi-status { border-top-color:#21a878; background:linear-gradient(135deg,#f0fbf6,#fff); }.ops-kpi-status strong { color:#087744; }
.ops-flow-card,.ops-panel { border:1px solid #dce7ef; border-radius:12px; background:rgba(255,255,255,.97); box-shadow:0 5px 14px rgba(25,55,78,.06); }.ops-flow-card { padding:15px 16px; margin-bottom:12px; }.ops-section-title { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:11px; }.ops-section-title h2 { margin:0; color:#14344e; font-size:16px; letter-spacing:-.02em; }.ops-section-title .ops-eyebrow { margin-bottom:3px; }.ops-muted { color:var(--app-muted); font-size:10px; }
.ops-flow { display:flex; align-items:stretch; gap:5px; overflow-x:auto; padding:2px 0 5px; }.ops-flow-node { flex:1 0 112px; min-height:66px; padding:9px 10px; border:1px solid #d7e5ee; border-radius:9px; background:linear-gradient(145deg,#f7fbfd,#edf5f8); }.ops-flow-node b,.ops-flow-node strong,.ops-flow-node small { display:block; }.ops-flow-node b { color:#1b9b87; font-size:10px; }.ops-flow-node strong { margin-top:5px; color:#173b55; font-size:12px; }.ops-flow-node small { margin-top:4px; color:#688093; font-size:10px; text-transform:capitalize; }.ops-flow > i { align-self:center; color:#8aa8ba; font-size:23px; font-style:normal; }
.ops-integration-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }.ops-integration-card { min-width:0; min-height:178px; padding:15px; border:1px solid #dce7ef; border-radius:12px; background:#fff; box-shadow:0 5px 14px rgba(25,55,78,.06); }.ops-card-ml { border-top:3px solid #f0a32b; }.ops-card-shopee { border-top:3px solid #ee5a40; }.ops-card-browser { border-top:3px solid #4e8ed0; }.ops-card-affiliate { border-top:3px solid #21a878; }.ops-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; }.ops-card-top h3 { margin:0; color:#173b55; font-size:15px; }.ops-mini-status { padding:4px 7px; border-radius:999px; font-size:9px; font-weight:900; text-transform:uppercase; }.ops-mini-ok { color:#087744; background:#e5f7ed; }.ops-mini-degraded,.ops-mini-auth { color:#86621b; background:#fff4d6; }.ops-mini-down { color:#a33232; background:#fce9e9; }.ops-mini-disabled,.ops-mini-paused { color:#596c7c; background:#edf2f5; }
.ops-facts { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }.ops-facts div { min-width:0; padding:7px 8px; border-radius:7px; background:#f5f8fa; }.ops-facts small,.ops-facts strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ops-facts small { color:#718698; font-size:9px; text-transform:uppercase; }.ops-facts strong { margin-top:3px; color:#173b55; font-size:11px; }.ops-card-note { margin:12px 0 0; color:var(--app-muted); font-size:10px; line-height:1.4; }.ops-card-note code { font-size:9px; }
.ops-lower-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:12px; }.ops-panel { min-width:0; padding:15px 16px; }.ops-service-list,.ops-worker-list { display:grid; gap:0; }.ops-service { display:grid; grid-template-columns:9px minmax(110px,1fr) auto minmax(90px,.8fr); align-items:center; gap:8px; min-height:33px; border-bottom:1px solid #edf2f5; font-size:10px; }.ops-service:last-child,.ops-worker:last-child { border-bottom:0; }.ops-service strong,.ops-service b,.ops-service small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ops-service b { color:#4f687a; font-size:9px; text-transform:uppercase; }.ops-service small { color:var(--app-muted); }.ops-worker { display:grid; grid-template-columns:9px minmax(100px,1fr) auto 34px; align-items:center; gap:8px; min-height:31px; border-bottom:1px solid #edf2f5; color:#27465e; font-size:10px; }.ops-worker span:not(.ops-dot) { color:var(--app-muted); }.ops-worker b { text-align:right; color:#173b55; }.ops-metric-lines p { display:flex; justify-content:space-between; gap:10px; margin:0; padding:8px 0; border-bottom:1px solid #edf2f5; font-size:11px; }.ops-metric-lines p:last-child { border-bottom:0; }.ops-metric-lines span { color:var(--app-muted); }.ops-metric-lines b { text-align:right; color:#173b55; }.ops-metric-lines em { font-style:normal; font-size:10px; }.ops-auth { color:#a36d12!important; }.ops-down { color:#a33232!important; }
.ops-details-drawer { margin-bottom:10px; border:1px solid #dce7ef; border-radius:10px; background:#fff; }.ops-details-drawer summary { padding:12px 14px; color:#173b55; cursor:pointer; font-size:11px; font-weight:900; list-style:none; }.ops-details-drawer summary::-webkit-details-marker { display:none; }.ops-details-drawer summary:before { content:'+'; display:inline-block; width:16px; color:#21a878; font-size:16px; }.ops-details-drawer[open] summary:before { content:'−'; }.ops-details-drawer .ops-settings-form,.ops-details-drawer .ops-table-wrap { padding:0 14px 14px; }
@media (max-width:1180px) { .ops-integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-kpis-core{grid-template-columns:repeat(5,minmax(0,1fr))}.ops-kpi{padding:11px 10px}.ops-kpi strong{font-size:21px} }
@media (max-width:760px) { .ops-kpis-core{grid-template-columns:repeat(5,minmax(116px,1fr));overflow-x:auto;padding-bottom:3px}.ops-integration-grid,.ops-lower-grid{grid-template-columns:1fr;gap:10px}.ops-integration-card{min-height:0}.ops-panel{padding:13px}.ops-section-title{align-items:flex-start}.ops-service{grid-template-columns:9px minmax(100px,1fr) auto}.ops-service small{grid-column:2/-1;padding-bottom:5px}.ops-flow-node{flex-basis:105px} }
@media (max-width:420px) { .ops-kpis-core{grid-template-columns:1fr 1fr;overflow:visible}.ops-kpi{min-height:82px}.ops-kpi strong{font-size:22px}.ops-flow{gap:3px}.ops-flow-node{flex-basis:96px}.ops-flow>i{font-size:18px} }

/* Compact top navigation on mobile/tablet: retain pills instead of full-width rows. */
@media (max-width:820px) {
  .app-quick-access.hp-nav { display:flex; align-items:flex-start; justify-content:flex-start; gap:4px; width:100%; margin-bottom:12px; }
  .hp-nav .hp-nav-global { flex:0 0 100%; width:100%; justify-content:flex-end; }
  .hp-nav > .hp-nav-group:not(.hp-nav-global) { flex:0 0 100%; width:100%; max-width:100%; min-width:0; display:flex; flex-wrap:wrap; align-items:center; }
  .hp-nav .hp-nav-divider { display:none; }
  .hp-nav .app-quick-link { display:inline-flex; flex:0 0 auto; width:auto!important; min-width:0; min-height:26px; margin:2px; padding:5px 8px; border-radius:999px; font-size:10px; line-height:1.15; white-space:nowrap; }
}

/* Compact controls and semaphore-only service lists. */
.ops-service { grid-template-columns:9px minmax(120px,1fr) minmax(100px,1.2fr); }
.ops-worker { grid-template-columns:9px minmax(120px,1fr) 38px; }
.ops-service b,.ops-worker span:not(.ops-dot) { display:none; }
.ops-legend { display:flex; align-items:center; gap:6px; padding-top:3px; }.ops-legend .ops-dot { width:7px; height:7px; }
.ops-drawer-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 14px 12px; color:var(--app-muted); font-size:10px; }.ops-drawer-heading form { margin:0; }.btn-compact { padding:6px 9px; font-size:10px; box-shadow:none; }
.ops-details-drawer .ops-settings-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.ops-details-drawer .ops-channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.ops-details-drawer .ops-channel-card { min-height:38px; padding:8px!important; grid-template-columns:18px minmax(0,1fr); }.ops-details-drawer .ops-settings-form > .btn { width:auto; justify-self:start; padding:7px 11px; }
@media (max-width:760px) { .ops-details-drawer .ops-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-details-drawer .ops-channel-grid{grid-template-columns:1fr 1fr}.ops-drawer-heading{align-items:flex-start}.ops-service{grid-template-columns:9px minmax(110px,1fr) minmax(85px,1fr)} }
@media (max-width:420px) { .ops-details-drawer .ops-settings-grid,.ops-details-drawer .ops-channel-grid{grid-template-columns:1fr}.ops-drawer-heading{display:block}.ops-drawer-heading form{margin-top:8px}.ops-drawer-heading .btn{width:auto} }

/* Use the panel width efficiently: service and worker indicators flow in two columns. */
.ops-service-list,.ops-worker-list { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
.ops-service,.ops-worker { min-width:0; min-height:38px; font-size:12px; }
.ops-service { grid-template-columns:11px minmax(0,1fr) minmax(0,1.25fr); gap:9px; }
.ops-worker { grid-template-columns:11px minmax(0,1fr) 38px; gap:9px; }
.ops-service .ops-dot,.ops-worker .ops-dot { width:10px; height:10px; }
@media (max-width:420px) { .ops-service-list,.ops-worker-list { grid-template-columns:1fr; } }

/* A short, restrained screen pulse makes a newly degraded/down snapshot visible. */
.ops-health-alert::before { content:""; position:fixed; z-index:1000; inset:0; pointer-events:none; border:8px solid rgba(214,55,55,.9); background:rgba(214,55,55,.16); box-shadow:inset 0 0 90px rgba(214,55,55,.48); animation:ops-alert-flash 1.2s ease-in-out 3; }
.ops-health-alert::after { content:"ATENÇÃO · FALHA DETECTADA"; position:fixed; z-index:1001; top:18px; left:50%; pointer-events:none; transform:translateX(-50%); padding:11px 18px; border-radius:8px; background:#b4232c; color:#fff; box-shadow:0 6px 22px rgba(100,10,20,.38); font-size:13px; font-weight:900; letter-spacing:.08em; text-align:center; animation:ops-alert-banner 1.2s ease-in-out 3; }
.ops-alert-preview::before { animation:ops-alert-flash 1.2s ease-in-out infinite; }
.ops-alert-preview::after { animation:ops-alert-banner 1.2s ease-in-out infinite; }
.ops-alert-banner { position:fixed!important; z-index:1002!important; top:14px!important; left:50%!important; width:calc(100% - 28px)!important; max-width:440px!important; box-sizing:border-box!important; margin:0!important; padding:13px 18px!important; transform:translateX(-50%)!important; border:2px solid #ff9da3!important; border-radius:10px!important; background:#b4232c!important; color:#fff!important; box-shadow:0 8px 28px rgba(100,10,20,.48)!important; font-size:15px!important; font-weight:950!important; letter-spacing:.08em!important; line-height:1.2!important; text-align:center!important; pointer-events:none!important; animation:ops-alert-banner 1.2s ease-in-out 3; }
.ops-alert-preview .ops-alert-banner { animation:ops-alert-banner 1.2s ease-in-out infinite; }
.ops-health-alert::after { display:none; }
/* iOS 10 Safari is more reliable with the alert banner in normal flow. */
.ops-monitor-page { position:relative; }
.ops-health-alert::before { display:none; }
.ops-alert-screen { position:absolute; z-index:1000; top:0; left:0; width:100%; height:100%; min-height:100vh; box-sizing:border-box; border:12px solid rgba(214,55,55,.9); background:rgba(214,55,55,.10); box-shadow:inset 0 0 90px rgba(214,55,55,.42); pointer-events:none; animation:ops-alert-flash-flow 1.2s ease-in-out 3; }
.ops-alert-preview .ops-alert-screen { animation:ops-alert-flash-flow 1.2s ease-in-out infinite; }
.ops-alert-banner { position:relative!important; top:auto!important; left:auto!important; width:100%!important; max-width:none!important; min-height:48px; display:flex!important; align-items:center; justify-content:center; margin:0 0 12px!important; transform:none!important; }
.ops-alert-preview .ops-alert-banner { animation:ops-alert-banner-flow 1.2s ease-in-out infinite; }
 .ops-queue-card { margin:0 0 12px; padding:15px 16px; border:1px solid #dce7ef; border-radius:12px; background:rgba(255,255,255,.97); box-shadow:0 5px 14px rgba(25,55,78,.06); }
 .ops-queue-grid { display:grid; gap:0; }
 .ops-queue-row { display:grid; grid-template-columns:minmax(220px,1.8fr) repeat(5,minmax(76px,1fr)); align-items:center; gap:10px; min-height:54px; padding:8px 0; border-bottom:1px solid #edf2f5; }
 .ops-queue-row:last-child { border-bottom:0; }
.ops-queue-row > div { min-width:0; }
.ops-queue-row > div:not(.ops-queue-name) { padding:7px 8px; border:1px solid #edf2f5; border-radius:8px; background:#fbfdff; }
.ops-queue-row small { display:block; color:var(--app-muted); font-size:9px; line-height:1.25; }
 .ops-queue-row > div:not(.ops-queue-name) strong { display:block; margin-top:3px; color:#173b55; font-size:12px; white-space:nowrap; }
 .ops-queue-name { display:grid; grid-template-columns:10px minmax(0,1fr); column-gap:8px; align-items:center; }
 .ops-queue-name strong { min-width:0; color:#173b55; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .ops-queue-name small { grid-column:2; }
 .ops-queue-degraded { background:linear-gradient(90deg,rgba(255,248,231,.65),transparent); }
 .ops-queue-disabled { opacity:.65; }
 .ops-queue-disabled .ops-queue-name strong { color:#667887; }
 .ops-dot-disabled { background:#8b95a5; }
 .ops-public-price-card { margin:0 0 12px; padding:15px 16px; border:1px solid #dce7ef; border-radius:12px; background:rgba(255,255,255,.97); box-shadow:0 5px 14px rgba(25,55,78,.06); }
 .ops-public-price-grid { display:grid; grid-template-columns:repeat(5,minmax(110px,1fr)); gap:8px; }
 .ops-public-price-grid > div { min-width:0; padding:9px 10px; border:1px solid #edf2f5; border-radius:8px; background:#fbfdff; }
 .ops-public-price-grid small { display:block; color:var(--app-muted); font-size:9px; line-height:1.25; }
 .ops-public-price-grid strong { display:block; margin-top:4px; color:#173b55; font-size:16px; line-height:1.1; }
@media (max-width:760px) { .ops-queue-card { padding:13px; overflow:hidden; } .ops-queue-grid { overflow-x:auto; } .ops-queue-row { min-width:720px; } .ops-queue-row > div:not(.ops-queue-name) { padding:7px 6px; } .ops-public-price-card { padding:13px; overflow:hidden; } .ops-public-price-grid { grid-template-columns:repeat(5,minmax(112px,1fr)); overflow-x:auto; padding-bottom:2px; } }
.ops-probe-suite { margin:0 0 12px; padding:15px 16px 3px; border:1px solid #dce7ef; border-radius:12px; background:rgba(255,255,255,.97); box-shadow:0 5px 14px rgba(25,55,78,.06); }
.ops-probe-suite-title { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:2px; padding-bottom:11px; border-bottom:1px solid #e8eef2; }
.ops-probe-suite-title h2 { margin:0; color:#14344e; font-size:16px; letter-spacing:-.02em; }
.ops-probe-block.ops-queue-card,.ops-probe-block.ops-public-price-card { margin:0; padding:13px 0 11px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.ops-probe-block.ops-queue-card { border-bottom:1px solid #e8eef2; }
.ops-probe-block .ops-section-title { margin-bottom:10px; }
.ops-probe-block .ops-section-title h3 { margin:0; color:#173b55; font-size:14px; letter-spacing:-.01em; }
@media (max-width:760px) { .ops-probe-suite { padding:13px 13px 2px; } .ops-probe-suite-title h2 { font-size:17px; } .ops-probe-block.ops-queue-card,.ops-probe-block.ops-public-price-card { padding:12px 0 10px; } }
.ops-probe-summary { display:grid; grid-template-columns:repeat(6,minmax(100px,1fr)); gap:8px; margin:12px 0; }
.ops-probe-summary > div { min-width:0; padding:9px 10px; border:1px solid #e7eef2; border-radius:8px; background:#f8fbfc; }
.ops-probe-summary small,.ops-pipeline-step small { display:block; color:var(--app-muted); font-size:9px; line-height:1.25; }
.ops-probe-summary strong { display:block; margin-top:3px; color:#173b55; font-size:17px; line-height:1.1; }
.ops-pipeline-start { display:flex; align-items:center; gap:9px; margin:0 0 12px; padding:10px 12px; border:1px solid #bcdcca; border-radius:9px; background:#f1fbf5; }
.ops-pipeline-start > div { min-width:0; flex:1; }.ops-pipeline-start strong { display:block; color:#145c3a; font-size:13px; }.ops-pipeline-start small { color:#537466; font-size:10px; }.ops-pipeline-start > b { color:#145c3a; font-size:17px; white-space:nowrap; }.ops-pipeline-start em { margin-left:4px; font-style:normal; font-size:10px; font-weight:700; }
.ops-pipeline-lanes { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.ops-pipeline-lane { min-width:0; padding:10px; border:1px solid #e5edf1; border-radius:10px; background:#fbfdfe; }.ops-pipeline-lane-title { display:flex; align-items:center; gap:7px; margin-bottom:9px; color:#173b55; font-size:13px; }.ops-pipeline-steps { display:flex; align-items:stretch; gap:5px; }.ops-pipeline-steps > i { align-self:center; color:#8ba0ad; font-size:18px; font-style:normal; }.ops-pipeline-step { display:flex; align-items:center; gap:6px; min-width:0; flex:1; padding:7px 6px; border:1px solid #e7eef2; border-radius:7px; background:#fff; }.ops-pipeline-index { display:grid; place-items:center; width:18px; height:18px; flex:0 0 18px; border-radius:50%; background:#e8f4ed; color:#167349; font-size:9px; font-weight:900; }.ops-pipeline-step div { min-width:0; flex:1; }.ops-pipeline-step strong { display:block; overflow:hidden; color:#27465e; font-size:10px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }.ops-pipeline-step b { color:#167349; font-size:11px; white-space:nowrap; }.ops-probe-queue-summary { padding-top:2px; }.ops-probe-queue-summary .ops-section-title { margin-bottom:8px; }.ops-probe-queue-summary .ops-section-title h3 { margin:0; color:#173b55; font-size:14px; }
.ops-pipeline-group-label { margin:0 0 5px; color:#718a99; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.ops-pipeline-outcome-label { margin-top:10px; }.ops-pipeline-outcomes .ops-pipeline-step { background:#f8fbfc; }.ops-pipeline-outcomes > i { color:#a1adb4; font-size:14px; }.ops-pipeline-step-failed .ops-pipeline-index { background:#fde9e8; color:#bd3c3c; }.ops-pipeline-step-unavailable .ops-pipeline-index { background:#fff2d8; color:#a86b09; }.ops-pipeline-step-pending .ops-pipeline-index { background:#eef1f3; color:#71818a; }.ops-pipeline-lane-total { margin-top:7px; padding-top:7px; border-top:1px solid #e5edf1; color:#718a99; font-size:9px; text-align:right; }.ops-pipeline-lane-total strong { margin-left:4px; color:#25506b; font-size:11px; }
@media (max-width:760px) { .ops-probe-summary { grid-template-columns:repeat(5,minmax(100px,1fr)); overflow-x:auto; padding-bottom:2px; } .ops-pipeline-lanes { grid-template-columns:1fr; } .ops-pipeline-steps { overflow-x:auto; padding-bottom:2px; } .ops-pipeline-step { min-width:125px; } }
.ops-pipeline-branch { display:flex; align-items:center; justify-content:center; gap:8px; height:18px; color:#718a99; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.ops-pipeline-branch span { width:1px; height:17px; background:#b8cbd4; }.ops-pipeline-branch i { font-style:normal; }
.ops-pipeline-lanes { grid-template-columns:1fr; gap:8px; }.ops-pipeline-lane { padding:9px 10px; }.ops-pipeline-steps { align-items:stretch; }.ops-pipeline-step { flex-basis:0; }.ops-pipeline-step b { color:#8aa0ad; font-size:13px; }.ops-pipeline-step em { display:block; margin-top:3px; overflow:hidden; color:#8a9ca7; font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }.ops-pipeline-step-off { opacity:.55; background:#f2f5f6; }.ops-pipeline-step-off .ops-pipeline-index { background:#e1e7e9; color:#71818a; }.ops-pipeline-step-off b { color:#8a9ca7; font-size:9px; text-transform:uppercase; }
.ops-pipeline-index { display:flex; align-items:center; justify-content:center; padding:0; line-height:18px; text-align:center; }
.ops-telemetry-card { margin:0 0 12px; padding:15px 16px; border:1px solid #dce7ef; border-radius:12px; background:rgba(255,255,255,.97); box-shadow:0 5px 14px rgba(25,55,78,.06); }
.ops-telemetry-summary { display:grid; grid-template-columns:repeat(5,minmax(110px,1fr)); gap:8px; margin:12px 0; }
.ops-telemetry-summary > div { min-width:0; padding:9px 10px; border:1px solid #e7eef2; border-radius:8px; background:#f8fbfc; }
.ops-telemetry-summary small { display:block; color:var(--app-muted); font-size:9px; line-height:1.25; }
.ops-telemetry-summary strong { display:block; margin-top:3px; color:#173b55; font-size:17px; line-height:1.1; }
.ops-telemetry-table-wrap { overflow-x:auto; }
.ops-telemetry-table { width:100%; min-width:680px; border-collapse:collapse; color:#27465e; font-size:10px; }
.ops-telemetry-table th { padding:7px 8px; color:#718a99; border-bottom:1px solid #dfe9ee; font-size:9px; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
.ops-telemetry-table td { padding:8px; border-bottom:1px solid #edf2f5; white-space:nowrap; }
.ops-telemetry-table tr:last-child td { border-bottom:0; }
.ops-telemetry-table td:first-child { width:34%; white-space:normal; }
.ops-telemetry-table td:first-child strong,.ops-telemetry-table td:first-child small { display:block; }
.ops-telemetry-table td:first-child small { margin-top:2px; color:var(--app-muted); font-size:9px; }
.ops-telemetry-tag { display:inline-block; padding:3px 6px; border-radius:999px; background:#edf3f6; color:#587181; font-size:9px; }
.ops-telemetry-result { display:inline-flex; align-items:center; gap:5px; color:#557080; }
.ops-telemetry-result i { width:7px; height:7px; border-radius:50%; background:#8a9ba5; }
.ops-telemetry-verified i,.ops-telemetry-resolved i,.ops-telemetry-ok i { background:#21a878; }
.ops-telemetry-inconclusive i,.ops-telemetry-ambiguous i,.ops-telemetry-excluded_landing i { background:#e7a52b; }
.ops-telemetry-failed i,.ops-telemetry-error i { background:#c84343; }
.ops-telemetry-empty { color:var(--app-muted); text-align:center; }
.ops-telemetry-details { margin-top:10px; border-top:1px solid #e7eef2; }
.ops-telemetry-details summary { padding:10px 2px 2px; color:#36586e; cursor:pointer; font-size:10px; font-weight:800; }
.ops-telemetry-subtable { margin-top:6px; }
.ops-pipeline-summary-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; margin:0 0 10px; }.ops-pipeline-summary-row .ops-pipeline-start,.ops-pipeline-summary-row .ops-pipeline-failure-card { min-width:0; margin:0; min-height:58px; box-sizing:border-box; }.ops-pipeline-summary-row .ops-pipeline-start { padding:10px 12px; }.ops-pipeline-summary-row .ops-pipeline-failure-card { grid-template-columns:10px minmax(0,1fr) auto minmax(92px,auto); gap:12px; padding:10px 12px; }.ops-pipeline-summary-row .ops-pipeline-start small { display:none; }.ops-pipeline-summary-row .ops-pipeline-failure-card small { overflow:hidden; line-height:1.25; white-space:normal; }.ops-pipeline-summary-row .ops-pipeline-failure-card time { max-width:none; padding-left:12px; border-left:1px solid rgba(156,103,103,.28); overflow:hidden; line-height:1.25; text-overflow:ellipsis; }
.ops-pipeline-failure-card { display:grid; grid-template-columns:10px minmax(0,1fr) auto auto; align-items:center; gap:9px; margin:8px 0 10px; padding:10px 12px; border:1px solid #efcaca; border-radius:9px; background:#fff7f7; }.ops-pipeline-failure-card > div { min-width:0; }.ops-pipeline-failure-card strong,.ops-pipeline-failure-card small { display:block; }.ops-pipeline-failure-card strong { color:#8f2f2f; font-size:12px; }.ops-pipeline-failure-card small { margin-top:2px; color:#9c6767; font-size:10px; }.ops-pipeline-failure-card > b { color:#a33232; font-size:18px; }.ops-pipeline-failure-card time { color:#9c6767; font-size:10px; white-space:nowrap; }.ops-pipeline-failure-clear { border-color:#cbe5d3; background:#f4fbf6; }.ops-pipeline-failure-clear strong,.ops-pipeline-failure-clear > b { color:#187344; }.ops-pipeline-failure-clear small,.ops-pipeline-failure-clear time { color:#5a866b; }
@media (max-width:760px) { .ops-pipeline-steps { overflow-x:auto; } .ops-pipeline-step { min-width:125px; } }
@media (max-width:760px) { .ops-telemetry-card { padding:13px; overflow:hidden; } .ops-telemetry-summary { grid-template-columns:repeat(5,minmax(112px,1fr)); overflow-x:auto; padding-bottom:2px; } .ops-telemetry-table { min-width:650px; } }
@keyframes ops-alert-flash-flow { 0%,100% { opacity:0; } 18%,42% { opacity:1; } 60% { opacity:.2; } }
@keyframes ops-alert-banner-flow { 0%,100% { opacity:.45; } 18%,42% { opacity:1; } 60% { opacity:.65; } }

/* Oppenselect management: compact executive layout with old-Safari fallbacks. */
.marketplace-management-page { width:100%; max-width:1760px; margin:0 auto 26px; }
.marketplace-management-page > .kpi-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.marketplace-management-page > .kpi-grid .kpi { min-height:88px; padding:12px 14px; }
.marketplace-management-page > .kpi-grid .kpi strong { font-size:25px; }
.marketplace-management-page > .card { margin-bottom:12px; padding:15px 16px; }
.marketplace-management-page .card-title { margin-bottom:11px; }
.marketplace-management-page .card-title h2 { font-size:17px; }
.marketplace-management-page .card-title .muted { font-size:11px; }
.marketplace-management-page .table-wrapper { max-width:100%; }
.marketplace-management-page table { font-size:12px; }
.marketplace-management-page th,.marketplace-management-page td { padding:8px 9px; }
.marketplace-management-page .note { margin:8px 0; font-size:11px; line-height:1.4; }
.marketplace-management-page .form-grid { gap:9px; }
.marketplace-management-page .form-submit { gap:8px; }
.marketplace-management-page .form-submit button,.marketplace-management-page .form-submit .btn { margin-bottom:0; }
.marketplace-management-page select,.marketplace-management-page input { min-height:34px; }
@media (min-width:768px) and (max-width:1100px) {
  .marketplace-management-page > .kpi-grid .kpi div { font-size:12px; }
  .marketplace-management-page > .kpi-grid .kpi strong { font-size:27px; }
  .marketplace-management-page table { font-size:13px; }
  .marketplace-management-page th,.marketplace-management-page td { padding:9px 8px; }
  .marketplace-management-page .card-title h2 { font-size:18px; }
  .marketplace-management-page .note { font-size:12px; }
}
@media (max-width:900px) {
  .marketplace-management-page > .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .marketplace-management-page .settings-layout { grid-template-columns:1fr; gap:12px; }
}
@media (max-width:420px) {
  .marketplace-management-page > .kpi-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .marketplace-management-page > .kpi-grid .kpi { padding:10px; }
  .marketplace-management-page > .kpi-grid .kpi strong { font-size:22px; }
  .marketplace-management-page > .card { padding:12px; }
}

/* Healthy path is communicated by the surface itself; the extra "OK" text is unnecessary. */
.ops-flow-node { min-height:78px; border:2px solid #45b982; background:linear-gradient(145deg,#effbf4,#e4f6ec); }
.ops-flow-node strong { margin-top:8px; color:#17623f; font-size:17px; line-height:1.2; white-space:normal; overflow-wrap:anywhere; }
.ops-flow-node small { display:none; }
.ops-flow-degraded,.ops-flow-down,.ops-flow-unknown { border-color:#d69216; background:linear-gradient(145deg,#fff9e8,#fff1cf); }
.ops-flow-down { border-color:#d94b4b; background:linear-gradient(145deg,#fff0f0,#fce0e0); }
.ops-integration-card { border-top-width:5px; border-top-color:#21a878; }
.ops-mini-ok { display:none; }
.ops-integration-card:has(.ops-mini-degraded),.ops-integration-card:has(.ops-mini-auth) { border-top-color:#d69216; }
.ops-integration-card:has(.ops-mini-down) { border-top-color:#d94b4b; }
@keyframes ops-alert-flash { 0%,100% { opacity:0; } 18%,42% { opacity:1; } 60% { opacity:.15; } }
@keyframes ops-alert-banner { 0%,100% { opacity:.25; transform:translateX(-50%) scale(.96); } 18%,42% { opacity:1; transform:translateX(-50%) scale(1); } 60% { opacity:.5; transform:translateX(-50%) scale(.98); } }
@media (prefers-reduced-motion:reduce) { .ops-health-alert::before { animation:none; opacity:.65; } }

/* NOC v2: dashboard focused on diagnosis rather than documentation. */
.noc-page{max-width:1760px;margin:0 auto 32px;color:#17354d}
.noc-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:4px 0 20px}
.noc-hero h1{margin:5px 0 4px;font-size:30px;letter-spacing:-.04em}
.noc-hero p{margin:0;color:#6a7f91;font-size:13px}
.noc-eyebrow{display:block;color:#0d6e73;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.noc-overall{display:grid;grid-template-columns:10px auto;align-items:center;column-gap:8px;min-width:150px;padding:13px 15px;border:1px solid #dce7ef;border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(25,55,78,.06)}
.noc-overall strong{font-size:17px;letter-spacing:.05em}.noc-overall small{grid-column:1/-1;margin-top:5px;color:#728496;font-size:10px}
.noc-state-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#8b9aa5;box-shadow:0 0 0 3px rgba(139,154,165,.14)}
.noc-state-ok .noc-state-dot{background:#159b68;box-shadow:0 0 0 3px rgba(21,155,104,.14)}.noc-state-degraded .noc-state-dot{background:#d28c12;box-shadow:0 0 0 3px rgba(210,140,18,.14)}.noc-state-down .noc-state-dot{background:#d14343;box-shadow:0 0 0 3px rgba(209,67,67,.14)}
.noc-state-unknown .noc-state-dot,.noc-state-transitional .noc-state-dot{background:#7d8b98}
.noc-alert-banner{display:flex;gap:12px;align-items:center;margin:0 0 14px;padding:12px 15px;border:1px solid #e5b84f;border-radius:10px;background:#fff8e7;color:#754f08;font-size:12px}.noc-alert-banner strong{font-size:11px;letter-spacing:.08em}
.noc-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.noc-summary{min-height:86px;padding:13px;border:1px solid #dce7ef;border-top:3px solid #91a9b9;border-radius:10px;background:#fff;box-shadow:0 5px 14px rgba(25,55,78,.05)}.noc-summary-primary{border-top-color:#159b68;background:linear-gradient(135deg,#effaf4,#fff)}.noc-summary span,.noc-summary small{display:block;color:#6c7e8c;font-size:10px}.noc-summary span{font-weight:900;letter-spacing:.05em;text-transform:uppercase}.noc-summary strong{display:block;margin:8px 0 4px;color:#17354d;font-size:22px;line-height:1;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noc-summary-primary strong{color:#087744}.noc-section{margin-bottom:14px;padding:17px;border:1px solid #dce7ef;border-radius:13px;background:rgba(255,255,255,.98);box-shadow:0 5px 14px rgba(25,55,78,.05)}.noc-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}.noc-section-head h2{margin:3px 0 0;color:#17354d;font-size:18px;letter-spacing:-.025em}.noc-muted{color:#758797;font-size:10px}.noc-domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.noc-domain-card{min-width:0;padding:14px;border:1px solid #e0e9ef;border-radius:11px;background:#fbfdfe}.noc-domain-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.noc-domain-head h3{margin:0;color:#17354d;font-size:14px}.noc-domain-head p{margin:4px 0 0;color:#718494;font-size:10px;line-height:1.35}.noc-domain-state{display:inline-flex;align-items:center;justify-content:center;min-width:47px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.04em;background:#eef2f4;color:#607482}.noc-domain-state.noc-state-ok{background:#e7f8ef;color:#087744}.noc-domain-state.noc-state-degraded{background:#fff3d3;color:#875b05}.noc-domain-state.noc-state-down{background:#fde7e7;color:#a5252b}
.noc-check-list{display:grid;gap:7px}.noc-check{display:grid;grid-template-columns:9px minmax(0,1fr);column-gap:8px;align-items:center;min-height:29px;padding:6px 7px;border-radius:7px;background:#fff}.noc-check strong{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noc-check small{grid-column:2;color:#758797;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noc-check.noc-state-degraded{background:#fffaf0}.noc-check.noc-state-down{background:#fff3f3}.noc-check.noc-state-unknown,.noc-check.noc-state-transitional{background:#f5f7f8}
.noc-flow{display:flex;align-items:stretch;gap:7px;overflow-x:auto}.noc-flow-node{flex:1 0 150px;min-height:78px;padding:11px 12px;border:1px solid #d9e5ec;border-radius:10px;background:#f8fbfc}.noc-flow-node b{display:block;color:#0d6e73;font-size:10px}.noc-flow-node strong{display:block;margin:7px 0 4px;font-size:13px}.noc-flow-node small{display:block;color:#718494;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noc-flow-node.noc-state-degraded{border-color:#e7c46f;background:#fffaf0}.noc-flow-node.noc-state-down{border-color:#e3a3a3;background:#fff2f2}.noc-flow>i{align-self:center;color:#9aabb6;font-size:24px;font-style:normal}
.noc-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.noc-panel{min-width:0}.noc-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px}.noc-provider{display:grid;grid-template-columns:9px minmax(0,1fr);column-gap:8px;align-items:center;padding:9px 10px;border:1px solid #e2eaf0;border-radius:8px;background:#fbfdfe}.noc-provider strong{font-size:11px}.noc-provider small{grid-column:2;margin-top:3px;color:#718494;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noc-provider.noc-state-degraded{background:#fffaf0;border-color:#ead7a0}.noc-provider.noc-state-down{background:#fff3f3;border-color:#e6b4b4}.noc-queue-list{display:grid;gap:6px}.noc-queue{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:8px 10px;border-top:1px solid #edf1f4}.noc-queue strong{font-size:10px}.noc-queue span{color:#728596;font-size:10px}.noc-queue em{font-style:normal;font-size:9px;font-weight:900;text-transform:uppercase}.noc-queue .noc-state-ok{color:#087744}.noc-queue .noc-state-degraded{color:#9b680a}.noc-queue .noc-state-down{color:#a5252b}
.noc-loyalty-callout{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 10px;border-bottom:1px solid #edf1f4}.noc-loyalty-callout strong,.noc-loyalty-callout b{font-size:11px}.noc-loyalty-callout small{display:block;margin-top:3px;color:#718494;font-size:9px}.noc-note{margin:12px 0 0;color:#718494;font-size:10px;line-height:1.4}.noc-delivery-grid,.noc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.noc-delivery-grid>div,.noc-metrics>div{padding:10px;border-radius:8px;background:#f7fafb}.noc-delivery-grid small,.noc-metrics small{display:block;color:#718494;font-size:9px}.noc-delivery-grid strong,.noc-metrics strong{display:block;margin-top:5px;color:#17354d;font-size:17px}.noc-telemetry .noc-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:12px}.noc-panel details,.noc-telemetry details{border-top:1px solid #edf1f4;padding-top:10px}.noc-panel summary,.noc-telemetry summary{cursor:pointer;color:#0d4e86;font-size:11px;font-weight:800}.noc-detail-text{color:#718494;font-size:10px;line-height:1.5}.noc-detail-text p{margin:8px 0}.noc-incidents>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.noc-incidents>summary::-webkit-details-marker{display:none}.noc-incidents h2{margin:3px 0 0;font-size:17px}.noc-incident-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:14px 0 8px;color:#718494;font-size:10px}.noc-incident-list{display:grid;gap:6px}.noc-incident-list>div{display:grid;grid-template-columns:1fr auto 1.2fr;gap:10px;padding:8px 10px;border-radius:7px;background:#fff5f5;font-size:10px}.noc-incident-list small{color:#718494}.noc-settings>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.noc-settings>summary::-webkit-details-marker{display:none}.noc-settings h2{margin:3px 0 0;font-size:17px}.noc-settings-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin-top:14px}.noc-settings-form label{display:grid;gap:5px;color:#607482;font-size:10px;font-weight:800}.noc-settings-form input[type=number],.noc-settings-form input[type=tel]{width:100%;box-sizing:border-box;padding:9px;border:1px solid #d5e1e8;border-radius:7px;background:#fff}.noc-check-option{display:flex!important;align-items:center;gap:7px;height:36px}.noc-empty{color:#718494;font-size:11px}
.noc-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.noc-resource-card{min-width:0;min-height:104px;padding:16px 15px;border:1px solid #e1eaf0;border-radius:9px;background:#f7fafb;display:grid;grid-template-rows:auto minmax(27px,1fr) auto;row-gap:9px;align-items:start;line-height:1.35}.noc-resource-label{display:block;color:#718494;font-size:9px;line-height:1.25;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.noc-resource-value{display:block;margin:0;color:#17354d;font-size:16px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.noc-resource-detail{display:block;margin:0;color:#718494;font-size:9px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1180px){.noc-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.noc-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-telemetry .noc-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.noc-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.noc-page{margin-bottom:20px}.noc-hero{display:block}.noc-overall{margin-top:13px}.noc-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.noc-summary{min-height:78px;padding:10px}.noc-summary strong{font-size:19px}.noc-domain-grid,.noc-two-col{grid-template-columns:1fr}.noc-section{padding:13px}.noc-section-head{display:block}.noc-section-head .noc-muted{display:block;margin-top:6px}.noc-provider-grid{grid-template-columns:1fr}.noc-telemetry .noc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-settings-form button{grid-column:1/-1}.noc-incident-list>div{grid-template-columns:1fr auto}.noc-incident-list small{grid-column:1/-1}.noc-incident-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.noc-summary-grid{grid-template-columns:1fr 1fr}.noc-summary small{font-size:9px}.noc-flow-node{flex-basis:125px}.noc-queue{grid-template-columns:minmax(0,1fr) auto}.noc-queue span:nth-of-type(2){display:none}.noc-settings-form{grid-template-columns:1fr}}

/* NOC compacto: preservar slots iguais em telas estreitas. */
.noc-summary{height:86px;box-sizing:border-box}.noc-delivery-grid>div{min-height:58px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.noc-provider{min-height:54px;box-sizing:border-box}
@media(max-width:760px){
  .noc-summary{height:88px;min-height:88px}.noc-delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.noc-delivery-grid>div{min-height:64px;padding:9px}.noc-delivery-grid strong{font-size:16px}.noc-check{min-height:36px}.noc-flow-node{min-height:86px}.noc-provider{min-height:60px}
}
@media(max-width:420px){
  .noc-summary{height:92px;min-height:92px}.noc-summary strong{font-size:18px}.noc-summary small{line-height:1.25;min-height:23px}.noc-delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-delivery-grid>div{min-height:68px}.noc-delivery-grid small{font-size:8px}.noc-delivery-grid strong{font-size:15px}
}

/* Alerta crítico do NOC: preserva o sinal visual forte em desktop, tablet e
   browsers antigos. O pseudo-elemento não intercepta cliques. */
.noc-alert::before{
  display:none;
}
.noc-alert-screen{
  position:fixed;
  z-index:1200;
  top:0;
  right:0;
  bottom:0;
  left:0;
  width:100%;
  min-height:100vh;
  box-sizing:border-box;
  pointer-events:none;
  border:10px solid rgba(200,50,59,.94);
  background:rgba(200,50,59,.08);
  box-shadow:inset 0 0 88px rgba(200,50,59,.44);
  animation:noc-alert-screen-pulse 1.15s ease-in-out 4;
}
.noc-alert-preview .noc-alert-screen{animation-iteration-count:infinite}
.noc-alert .noc-hero{
  border-bottom:3px solid #c8323b;
}
.noc-alert .noc-overall{
  border-color:#d65a60;
  background:#fff0f0;
  color:#a5222b;
}
.noc-alert-banner{
  position:relative;
  z-index:1;
  border:2px solid #c8323b;
  background:linear-gradient(90deg,#fff0f0,#fff7f7);
  color:#99232b;
  box-shadow:0 5px 18px rgba(200,50,59,.16);
}
.noc-alert-banner strong::before{
  content:"●";
  display:inline-block;
  margin-right:7px;
  color:#c8323b;
  animation:noc-alert-dot 1.15s ease-in-out 4;
}
@keyframes noc-alert-pulse{
  0%,100%{opacity:.95}
  50%{opacity:.28}
}
@keyframes noc-alert-screen-pulse{
  0%,100%{opacity:.32}
  18%,42%{opacity:1}
  60%{opacity:.58}
}
@keyframes noc-alert-dot{
  0%,100%{opacity:1}
  50%{opacity:.25}
}
@media(prefers-reduced-motion:reduce){
  .noc-alert-screen,.noc-alert-banner strong::before{animation:none;opacity:.72}
}

/* Compact infrastructure and delivery rows around the semaphore. */
.ops-metric-lines p { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:8px; font-size:12px; }
.ops-metric-lines p:before { content:""; width:10px; height:10px; border-radius:50%; background:#1e9b62; }
.ops-metric-lines p > b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ops-metric-lines em { display:none; }

/* Operational decision reference: markdown-like documentation kept readable
   on desktop and on older iPad Safari without horizontal overflow. */
.ops-decision-card { margin:12px 0 28px; padding:16px; border:1px solid #dce7ef; border-radius:12px; background:rgba(255,255,255,.98); box-shadow:0 5px 14px rgba(25,55,78,.06); }
.ops-decision-card .ops-section-title { margin-bottom:12px; }
.ops-decision-card h2 { margin:0; color:#14344e; font-size:17px; line-height:1.2; }
.ops-md-note { margin-bottom:12px; padding:10px 12px; border-left:3px solid #4f9dba; background:#f5fafc; color:#35556a; font-size:11px; line-height:1.5; }
.ops-md-note p,.ops-md-footnote { margin:0; }
.ops-decision-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ops-decision-store { min-width:0; padding:11px 12px; border:1px solid #e1ebef; border-top:4px solid #21a878; border-radius:9px; background:#fbfdfe; }
.ops-decision-ml { border-top-color:#f0b429; }.ops-decision-shopee { border-top-color:#ee6f45; }.ops-decision-amazon { border-top-color:#8796a3; }
.ops-decision-store h3 { margin:0 0 9px; color:#173b55; font-size:14px; line-height:1.2; }.ops-decision-store h3 small { color:#7c8d98; font-size:9px; font-weight:700; }
.ops-decision-row { display:grid; grid-template-columns:88px minmax(0,1fr); gap:8px; padding:7px 0; border-top:1px solid #e8eff2; font-size:10px; line-height:1.4; }
.ops-decision-row:first-of-type { border-top:0; }.ops-decision-row b { color:#547082; font-size:9px; letter-spacing:.04em; text-transform:uppercase; }.ops-decision-row span { min-width:0; color:#35556a; overflow-wrap:anywhere; }
.ops-decision-rules { margin-top:11px; padding-top:10px; border-top:1px solid #e5edf1; }.ops-decision-rules h3 { margin:0 0 6px; color:#173b55; font-size:13px; }
.ops-decision-rule { display:grid; grid-template-columns:180px minmax(0,1fr); gap:10px; padding:6px 0; border-top:1px solid #edf2f4; color:#35556a; font-size:10px; line-height:1.4; }.ops-decision-rule b { color:#547082; }.ops-decision-rule span { min-width:0; overflow-wrap:anywhere; }
.ops-md-footnote { margin-top:10px; color:#78909e; font-size:9px; line-height:1.4; }
@media (max-width:900px) { .ops-decision-grid { grid-template-columns:1fr; gap:8px; }.ops-decision-store { padding:10px; }.ops-decision-row { grid-template-columns:105px minmax(0,1fr); } }
@media (max-width:520px) { .ops-decision-card { padding:12px; }.ops-decision-card h2 { font-size:16px; }.ops-decision-row,.ops-decision-rule { grid-template-columns:1fr; gap:3px; }.ops-decision-row b { font-size:9px; }.ops-decision-row span,.ops-decision-rule span { font-size:10px; }.ops-decision-rule { gap:2px; } }
.ops-metric-lines p > b.ops-ok,.ops-metric-lines p > b.ops-warning,.ops-metric-lines p > b.ops-degraded { font-size:0; }
.ops-metric-lines p > b.ops-ok:after { content:""; display:inline-block; width:10px; height:10px; border-radius:50%; background:#1e9b62; }
.ops-metric-lines p > b.ops-warning:after,.ops-metric-lines p > b.ops-degraded:after { content:""; display:inline-block; width:10px; height:10px; border-radius:50%; background:#d69216; }
.ops-metric-lines p:nth-child(4):before { background:#1e9b62; }
.ops-lower-grid:last-of-type .ops-metric-lines p { grid-template-columns:minmax(0,1fr) auto; }
.ops-lower-grid:last-of-type .ops-metric-lines p:before { display:none; }
.ops-service,.ops-worker { font-size:13px; min-height:40px; }
.ops-service .ops-dot,.ops-worker .ops-dot { width:12px; height:12px; }
.ops-service { grid-template-columns:12px minmax(0,1fr); gap:10px; }
.ops-worker { grid-template-columns:12px minmax(0,1fr); gap:10px; }

/* iPad/Safari 10 tablet profile: readable labels without sacrificing the map. */
@media (min-width:768px) and (max-width:1100px) {
  .ops-panel { padding:16px 17px; }
  .ops-service,.ops-worker { grid-template-columns:14px minmax(0,1fr); gap:13px; min-height:42px; font-size:14px; }
.ops-service .ops-dot,.ops-worker .ops-dot { width:13px; height:13px; }
.ops-dot-transitional { background:#7f9bad; }
  .ops-section-title h2 { font-size:17px; }
  .ops-metric-lines p { font-size:13px; }
}
@media (min-width:600px) and (max-width:820px) {
  .ops-lower-grid { grid-template-columns:1fr; }
}

/* Tablet typography pass: preserve the existing geometry and use the spare space for type. */
@media (min-width:768px) and (max-width:1100px) {
  .ops-flow-node strong { font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .ops-flow-node small { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .ops-card-top h3 { font-size:17px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .ops-facts small { font-size:11px; }
  .ops-facts strong { font-size:13px; }
  .ops-card-note { font-size:12px; }
  .ops-metric-lines p { font-size:14px; }
  .ops-details-drawer summary { font-size:14px; }
  .ops-table { font-size:12px; }
}


/* Notification toggles stay content-sized instead of stretching across the drawer. */
.ops-details-drawer .ops-channel-grid { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.ops-details-drawer .ops-channel-card { flex:0 1 auto; width:auto!important; min-width:0; min-height:34px; padding:6px 9px!important; grid-template-columns:16px max-content; gap:6px!important; }
.ops-details-drawer .ops-channel-card input { width:15px; height:15px; }
@media (max-width:420px) { .ops-details-drawer .ops-channel-grid { display:flex; }.ops-details-drawer .ops-channel-card { max-width:100%; } }

/* Alerts administration: compact executive overview with progressive detail. */
.alerts-console { width:100%; max-width:1760px; margin:0 auto 26px; }
.alerts-console-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:22px 24px; margin-bottom:16px; border:1px solid #dbe5ef; border-radius:14px; background:linear-gradient(120deg,#f4f9fd,#fffdf8); box-shadow:var(--app-shadow); }
.alerts-console-hero h2 { margin:0; color:#10243c; font-size:25px; letter-spacing:-.03em; }.alerts-console-hero p,.alerts-card-heading p { margin:6px 0 0; color:var(--app-muted); }.alerts-eyebrow { display:block; margin-bottom:5px; color:#8a672e; font-size:10px; font-weight:900; letter-spacing:.13em; }.alerts-hero-actions { display:flex; gap:8px; flex-wrap:wrap; }
.alerts-admin-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }.alerts-kpi { min-height:122px; padding:17px 18px; border:1px solid #dbe5ef; border-top:4px solid #91a8bd; border-radius:12px; background:#fff; box-shadow:var(--app-shadow); }.alerts-kpi span { display:block; color:var(--app-muted); font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.alerts-kpi strong { display:block; margin-top:10px; color:#10243c; font-size:29px; letter-spacing:-.04em; line-height:1; }.alerts-kpi small { display:block; margin-top:9px; color:var(--app-muted); }.alerts-kpi-blue{border-top-color:#1976d2;background:linear-gradient(135deg,#f2f8ff,#fff)}.alerts-kpi-blue strong{color:#1565a8}.alerts-kpi-green{border-top-color:#1e9b62;background:linear-gradient(135deg,#f1fbf5,#fff)}.alerts-kpi-green strong{color:#087744}.alerts-kpi-gold{border-top-color:#c18b2c;background:linear-gradient(135deg,#fffaf0,#fff)}.alerts-kpi-gold strong{color:#956b1e}.alerts-kpi-red{border-top-color:#d94b4b;background:linear-gradient(135deg,#fff6f6,#fff)}.alerts-kpi-red strong{color:#b33b3b}
.alerts-store-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; width:100%; }.alerts-store-option { position:relative; display:flex!important; align-items:center; gap:7px!important; min-height:36px; margin:0; padding:7px 9px; border:1px solid #d5e0e9; border-radius:8px; color:#29445b!important; background:#f8fafc; font-size:11px; font-weight:800!important; cursor:pointer; transition:border-color .15s,background .15s,box-shadow .15s; }.alerts-store-option:hover { border-color:#9db6ca; background:#f1f7fb; }.alerts-store-option input { width:16px!important; min-height:16px!important; margin:0; accent-color:#1976d2; }.alerts-store-option span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.alerts-console-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.alerts-admin-card { margin-bottom:0; padding:20px; }.alerts-card-heading { margin-bottom:14px; }.alerts-card-heading h3 { margin:0; color:#10243c; font-size:17px; }.alerts-heading-with-meta { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }.alerts-section-count { padding:6px 9px; border-radius:999px; color:#53687b; background:#eef3f7; font-size:11px; font-weight:800; white-space:nowrap; }
.alerts-inline-form { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:12px; }.alerts-inline-form label,.alerts-edit-grid label,.alerts-item-edit-grid label { display:grid; gap:5px; color:var(--app-muted); font-size:11px; font-weight:800; }.alerts-inline-form input,.alerts-edit-grid input,.alerts-edit-grid select,.alerts-item-edit-grid input,.alerts-item-edit-grid select,.alerts-item-edit-grid textarea { width:100%; min-height:36px; padding:8px 10px; border:1px solid #cad7e3; border-radius:7px; background:#fff; color:var(--app-text); font:inherit; font-weight:500; }.alerts-inline-form label span { display:flex; align-items:center; gap:6px; }.alerts-inline-form label span input { max-width:82px; }.alerts-inline-form-user { grid-template-columns:1.1fr 1fr auto; }.alerts-data-card { padding-bottom:12px; }
.alerts-record-list { display:grid; gap:8px; }.alerts-record { overflow:hidden; border:1px solid #e0e8ef; border-radius:10px; background:#fbfdff; }.alerts-record summary { display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(130px,.8fr) auto 18px; align-items:center; gap:14px; min-height:64px; padding:10px 13px; cursor:pointer; list-style:none; }.alerts-record summary::-webkit-details-marker { display:none; }.alerts-record summary:hover { background:#f4f8fb; }.alerts-record-main { min-width:0; }.alerts-record-main strong,.alerts-record-main small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.alerts-record-main strong { color:#1b344d; font-size:13px; }.alerts-record-main small,.alerts-record-meta { margin-top:4px; color:var(--app-muted); font-size:11px; }.alerts-record-meta { margin:0; }.alerts-chevron { color:#6b8193; font-size:18px; text-align:center; }.alerts-record[open] .alerts-chevron { transform:rotate(180deg); }.alerts-record-body { padding:15px; border-top:1px solid #e0e8ef; background:#fff; }
.alerts-edit-grid { display:grid; grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) minmax(150px,.7fr) auto; align-items:end; gap:12px; }.alerts-edit-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }.alerts-record-foot { display:flex; align-items:center; gap:15px; flex-wrap:wrap; margin-top:14px; padding-top:12px; border-top:1px solid #edf1f5; color:var(--app-muted); font-size:11px; }.alerts-record-foot form { margin-left:auto; }.alerts-item-edit-grid { display:grid; grid-template-columns:minmax(240px,1.5fr) minmax(130px,.7fr) minmax(130px,.6fr); gap:12px; align-items:end; }.alerts-field-wide { grid-column:1/-1; }.alerts-stores { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-height:36px; margin:0; padding:8px 10px; border:1px solid #cad7e3; border-radius:7px; color:var(--app-muted); font-size:11px; }.alerts-stores legend { padding:0 4px; font-size:11px; font-weight:800; }.alerts-stores label { display:flex; align-items:center; gap:4px; color:var(--app-text); font-weight:600; }.alerts-item-edit-grid textarea { min-height:66px; resize:vertical; }.alerts-item-edit-grid label small { font-weight:500; }.alerts-mini-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.alerts-mini-metrics div { padding:13px; border-radius:9px; background:#f4f7fa; }.alerts-mini-metrics strong,.alerts-mini-metrics span { display:block; }.alerts-mini-metrics strong { color:#153c5b; font-size:22px; }.alerts-mini-metrics span { margin-top:3px; color:var(--app-muted); font-size:10px; text-transform:uppercase; }.alerts-events-list { display:grid; gap:0; }.alerts-events-list div { display:grid; grid-template-columns:125px 80px 1fr; gap:8px; align-items:center; padding:9px 0; border-bottom:1px solid #edf1f5; font-size:11px; }.alerts-events-list div:last-child { border-bottom:0; }.alerts-events-list span,.alerts-events-list small { color:var(--app-muted); }.alerts-events-list strong { color:#18724b; font-size:10px; }.alerts-empty { padding:22px; color:var(--app-muted); text-align:center; }.status-pending_confirmation { color:#86621b; background:#fff5d9; }.status-paused { color:#755d1c; background:#fff5d9; }.status-unsubscribed,.status-blocked,.status-deleted { color:#8c3030; background:#fce9e9; }
.alerts-settings-form { grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
@media (max-width:1050px) { .alerts-admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.alerts-record summary{grid-template-columns:minmax(180px,1.3fr) minmax(100px,.8fr) auto 18px}.alerts-edit-grid{grid-template-columns:1fr 1fr}.alerts-edit-grid label:nth-child(3){grid-column:1}.alerts-edit-actions{grid-column:2;grid-row:2}.alerts-item-edit-grid{grid-template-columns:1fr 1fr}.alerts-field-wide{grid-column:1/-1} }
@media (max-width:760px) { .alerts-console-hero{display:block;padding:17px}.alerts-console-hero h2{font-size:21px}.alerts-hero-actions{margin-top:14px}.alerts-console-grid{grid-template-columns:1fr;gap:12px}.alerts-admin-card{padding:15px}.alerts-inline-form,.alerts-inline-form-user{grid-template-columns:1fr}.alerts-inline-form label span{justify-content:flex-start}.alerts-inline-form .btn{width:100%}.alerts-heading-with-meta{display:block}.alerts-section-count{display:inline-block;margin-top:10px}.alerts-record summary{grid-template-columns:minmax(0,1fr) auto 18px;gap:8px}.alerts-record-meta{grid-column:1}.alerts-record summary .status-pill{grid-column:2;grid-row:1}.alerts-record summary .alerts-chevron{grid-column:3;grid-row:1}.alerts-edit-grid,.alerts-item-edit-grid{grid-template-columns:1fr}.alerts-edit-grid label:nth-child(3),.alerts-edit-actions,.alerts-field-wide{grid-column:auto;grid-row:auto}.alerts-edit-actions{justify-content:stretch}.alerts-edit-actions .btn{flex:1}.alerts-record-foot{display:block}.alerts-record-foot span{display:block;margin-bottom:5px}.alerts-record-foot form{margin:12px 0 0}.alerts-record-foot .btn{width:100%}.alerts-mini-metrics{grid-template-columns:repeat(3,1fr)}.alerts-events-list div{grid-template-columns:1fr auto}.alerts-events-list small{grid-column:1/-1} }
@media (max-width:420px) { .alerts-admin-kpis{grid-template-columns:1fr}.alerts-kpi{min-height:96px}.alerts-lower-grid{display:block}.alerts-lower-grid>section{margin-bottom:12px}.alerts-mini-metrics strong{font-size:18px} }
@media (max-width:760px) { .alerts-store-options{grid-template-columns:1fr 1fr}.alerts-store-option:last-child{grid-column:1/-1} }

/* Alerts administration: one spacing rhythm for every card group. */
.alerts-console { --alerts-card-gap:16px; }
.alerts-console-hero { margin-bottom:var(--alerts-card-gap); }
.alerts-admin-kpis { gap:var(--alerts-card-gap); margin-bottom:var(--alerts-card-gap); }
.alerts-console-grid { gap:var(--alerts-card-gap); margin-bottom:var(--alerts-card-gap); }
.alerts-console > .alerts-admin-card { margin-bottom:var(--alerts-card-gap); }
.alerts-console > .alerts-admin-card:last-of-type { margin-bottom:var(--alerts-card-gap); }
.alerts-console .alerts-admin-card { border-radius:12px; }
.alerts-console .alerts-card-heading { min-height:54px; margin-bottom:16px; }
.alerts-console .alerts-card-heading h3 { line-height:1.2; }
.alerts-console .alerts-record-list { gap:10px; }
.alerts-console .alerts-record-body { padding:16px; }
.alerts-console .alerts-lower-grid { margin-bottom:0; }
.alerts-console .alerts-lower-grid > section { margin-bottom:0; }
.alerts-list-fold { margin-top:4px; border:1px solid #dce6ee; border-radius:10px; background:#fbfdff; }
.alerts-list-fold > summary { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:42px; padding:10px 12px; color:#173b55; cursor:pointer; list-style:none; font-size:12px; font-weight:900; }
.alerts-list-fold > summary::-webkit-details-marker { display:none; }
.alerts-list-fold > summary:before { content:'+'; display:inline-block; width:18px; color:#1976a8; font-size:18px; }
.alerts-list-fold[open] > summary:before { content:'−'; }
.alerts-list-fold > summary span { margin-left:auto; color:var(--app-muted); font-size:11px; font-weight:700; }
.alerts-list-fold .alerts-record-list { padding:0 9px 9px; }
.alerts-settings-form input[type="checkbox"] { width:15px!important; min-width:15px!important; min-height:15px!important; height:15px!important; margin:0!important; padding:0!important; accent-color:#1976a8; }
.alerts-settings-form .alerts-field-wide > span { display:inline-flex; align-items:center; gap:7px; width:auto; max-width:100%; min-height:32px; padding:6px 9px; border:1px solid #d4e0e9; border-radius:8px; color:#29445b; background:#f7fafc; font-size:11px; font-weight:800; }
.alerts-settings-form .alerts-field-wide > small { display:block; margin-top:4px; font-size:10px; line-height:1.3; }
@media (min-width:768px) and (max-width:1024px) { .alerts-console-hero{padding:17px 19px}.alerts-console-hero h2{font-size:23px}.alerts-admin-card{padding:16px}.alerts-card-heading h3{font-size:18px}.alerts-card-heading p{font-size:12px}.alerts-settings-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.alerts-inline-form-user{grid-template-columns:1fr 1fr auto}.alerts-record summary{min-height:68px}.alerts-record-main strong{font-size:14px}.alerts-record-meta{font-size:12px} }
@media (min-width:768px) and (max-width:1100px) { .alerts-admin-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.alerts-kpi{min-height:104px;padding:13px 12px}.alerts-kpi strong{font-size:25px}.alerts-kpi small{font-size:11px} }
@media (max-width:760px) {
  .alerts-console { --alerts-card-gap:12px; }
  .alerts-console .alerts-card-heading { min-height:0; margin-bottom:13px; }
  .alerts-console .alerts-record-body { padding:13px; }
}

/* Flex-gap fallback for older Safari: sibling margins preserve the same
   spacing when `gap` is ignored by the browser. */
.form-submit,
.audit-request-actions,
.review-actions,
.audit-run-actions,
.app-actions,
.form-footer,
.rule-actions,
.inline-actions,
.alerts-hero-actions,
.alerts-edit-actions { display:flex; align-items:center; flex-wrap:wrap; }
.form-submit { align-self:end; gap:10px; }
.form-submit > * + *,
.audit-request-actions > * + *,
.review-actions > * + *,
.audit-run-actions > * + *,
.app-actions > * + *,
.form-footer > * + *,
.rule-actions > * + *,
.inline-actions > * + *,
.alerts-hero-actions > * + *,
.alerts-edit-actions > * + * { margin-left:10px; }
.form-submit,
.audit-request-actions,
.review-actions,
.audit-run-actions,
.app-actions,
.form-footer,
.rule-actions,
.inline-actions,
.alerts-hero-actions,
.alerts-edit-actions { gap:0; }
@media (max-width:760px) {
  .form-submit,
  .audit-request-actions,
  .review-actions,
  .app-actions,
  .form-footer,
  .rule-actions,
  .inline-actions,
  .alerts-hero-actions,
  .alerts-edit-actions { row-gap:8px; }
  .form-submit > * + *,
  .audit-request-actions > * + *,
  .review-actions > * + *,
  .audit-run-actions > * + *,
  .app-actions > * + *,
  .form-footer > * + *,
  .rule-actions > * + *,
  .inline-actions > * + *,
  .alerts-hero-actions > * + *,
  .alerts-edit-actions > * + * { margin-left:0; }
  .form-submit > *,
  .audit-request-actions > *,
  .review-actions > *,
  .audit-run-actions > *,
  .form-footer > *,
  .rule-actions > *,
  .inline-actions > *,
  .alerts-hero-actions > *,
.alerts-edit-actions > * { margin-right:10px; margin-bottom:8px; }
}

/* A form action row must breathe away from the field/table block above it.
   This is intentionally independent from horizontal button spacing. */
.form-submit,
.form-grid + .form-submit,
.table-wrapper + .form-submit,
.note + .form-submit,
.ops-channel-grid + .btn,
.ops-settings-grid + .btn { margin-top:12px; }
@media (max-width:760px) {
  .form-submit,
  .form-grid + .form-submit,
  .table-wrapper + .form-submit,
  .note + .form-submit,
  .ops-channel-grid + .btn,
  .ops-settings-grid + .btn { margin-top:14px; }
}
.audit-run-table { width: 100%; overflow-x: auto; }
.audit-run-table-header, .audit-run-summary { display: grid; grid-template-columns: minmax(220px, 1.45fr) repeat(8, minmax(100px, 1fr)); min-width: 1280px; gap: 0; align-items: center; }
.audit-run-table-header { min-height: 34px; padding: 0 10px; color: #667085; background: #f7f9fc; border: 1px solid #e4e9f0; border-radius: 7px 7px 0 0; font-size: 11px; font-weight: 800; letter-spacing: .01em; text-transform: uppercase; }
.audit-run-table-header span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.audit-run { margin: 0; padding: 0 10px; border: 1px solid #e4e9f0; border-top: 0; background: #fff; }
.audit-run:last-child { border-radius: 0 0 7px 7px; }
.audit-run-summary { cursor: pointer; min-height: 52px; font-size: 13px; list-style: none; }
.audit-run-summary::-webkit-details-marker { display: none; }
.audit-run-summary > span { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 8px 9px; border: 0; border-radius: 0; }
.audit-run-summary:hover { background: #f8fafc; }
.audit-run-actions { display: flex !important; flex-direction: row !important; align-items: center; gap: 4px; }
.audit-run-actions form { margin: 0; }
.audit-icon-button { display: inline-grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 1px solid #cbd5e1; border-radius: 5px; color: #315b82; background: #f8fafc; font-size: 16px; line-height: 1; cursor: pointer; }
.audit-icon-button:hover { color: #173b55; background: #eaf3fb; border-color: #9dbbd3; }
.audit-icon-danger { color: #a33a3a; }
.audit-icon-danger:hover { color: #fff; background: #b42318; border-color: #b42318; }
.audit-run-summary b { color: #1f2937; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.audit-run-summary small { color: #667085; margin-top: 3px; line-height: 1.2; }
.audit-run-title { background: #eef4fb !important; border-color: #cbdced !important; }
.audit-status-done { background: #eef8f1 !important; border-color: #c8e6d0 !important; }
.audit-status-failed { background: #fff3f2 !important; border-color: #f2c8c5 !important; }
.audit-run-body { min-width: 0; padding: 14px 0 4px 20px; border-top: 1px solid #e5e7eb; }
.audit-case { margin: 10px 0; padding: 10px 12px; background: #fff; border: 1px solid #dfe5ec; border-radius: 8px; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.audit-case summary, .audit-message summary { cursor: pointer; }
.audit-case > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; min-height: 28px; overflow: hidden; list-style: none; white-space: nowrap; }
.audit-case > summary::-webkit-details-marker { display: none; }
.audit-case-title { min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; color: #253247; }
.audit-case-meta { display: block; flex: 0 0 auto; margin: 0; color: #667085; font-size: 12px; white-space: nowrap; }
.audit-case-overview { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.audit-pill { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: #edf4fb; color: #315b82; font-size: 12px; }
.audit-pill-warning { background: #fff4df; color: #8a5a00; }
.audit-section-label { font-size: 13px; color: #475467; margin: 14px 0 5px; }
.audit-mapping { margin: 12px 0; }
.audit-mapping-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) 24px minmax(0, 1fr); gap: 8px; padding: 9px 0; border-bottom: 1px solid #e5e7eb; }
.audit-mapping-row span { background: #f8fafc; border-radius: 5px; padding: 6px 8px; overflow-wrap: anywhere; }
.audit-mapping-row span:last-child { background: #eef8f1; color: #176b35; }
.audit-reason { padding: 6px 0 2px 158px; }
.audit-confirmed { color: #176b35; background: #f0faf3; border: 1px solid #ccebd4; padding: 9px 10px; border-radius: 6px; }
.audit-diagnosis { color: #475467; font-size: 13px; }
.audit-message { margin-top: 12px; }
.audit-message p { white-space: pre-wrap; background: #fff; padding: 10px; border-left: 3px solid #d1d5db; }
.audit-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; }
.audit-request-panel { padding: 16px; margin-bottom: 14px; background: #f7f9fc; border: 1px solid #e4e9f0; border-radius: 10px; }
.audit-active-banner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 18px; align-items: center; padding: 14px 16px; margin-bottom: 16px; color: #23405f; background: linear-gradient(135deg, #eef6ff, #f6f9fd); border: 1px solid #bdd7f2; border-radius: 9px; }
.audit-active-heading { display: flex; align-items: center; gap: 9px; min-width: 0; }
.audit-active-heading strong { color: #125b93; font-size: 14px; }
.audit-active-heading em { color: #667085; font-size: 12px; font-style: normal; }
.audit-active-dot { width: 9px; height: 9px; flex: 0 0 9px; background: #27864a; border-radius: 50%; box-shadow: 0 0 0 4px #d9f1df; }
.audit-active-banner p { grid-column: 1; margin: 0; color: #536b82; font-size: 13px; line-height: 1.45; }
.audit-active-meta { grid-column: 1; color: #667085; font-size: 12px; }
.audit-progress { grid-column: 1; height: 7px; overflow: hidden; background: #dbe9f6; border-radius: 99px; }
.audit-progress span { display: block; min-width: 0; height: 100%; background: #27864a; border-radius: inherit; transition: width .35s ease; }
.audit-progress-label { grid-column: 1; color: #667085; font-size: 11px; }
.audit-active-banner form { grid-column: 2; grid-row: 1 / span 3; }
.audit-request-controls { display: flex; align-items: end; gap: 22px; }
.audit-request-form { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(300px, 1.4fr) auto; align-items: end; flex: 1; gap: 16px; }
.audit-request-heading { display: flex; flex-direction: column; gap: 4px; padding-bottom: 2px; }
.audit-request-heading strong { color: #253247; font-size: 14px; }
.audit-request-heading span { color: #667085; font-size: 12px; line-height: 1.35; }
.audit-request-fields { display: grid; grid-template-columns: repeat(2, minmax(190px, 1fr)); gap: 12px; }
.audit-request-actions { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.audit-request-actions button:disabled { cursor: not-allowed; opacity: .55; }
.audit-cases-form { flex: 0 0 145px; }
.audit-cases-form label { display: flex; flex-direction: column; gap: 5px; color: #667085; font-size: 12px; }
.audit-item { border-top: 1px solid #e5e7eb; padding: 12px 0; }
.audit-item summary { cursor: pointer; }
.audit-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 14px; }
.audit-detail-grid pre { white-space: pre-wrap; word-break: break-word; background: #f7f7f8; padding: 12px; border-radius: 6px; font-size: 12px; max-height: 420px; overflow: auto; }
.error-text { color: #b42318; margin-top: 8px; max-width: 520px; white-space: pre-wrap; }
@keyframes audit-progress-slide { 0% { transform: translateX(-120%); } 50% { transform: translateX(150%); } 100% { transform: translateX(290%); } }
.review-page { width:100%; max-width:none; }
.review-filters { display:flex; gap:8px; margin:-3px 0 16px; padding-bottom:2px; }
.review-filter-active { background:var(--app-primary); }
.review-list { display:grid; gap:9px; }
.review-card { overflow:hidden; border:1px solid #d7e1eb; border-radius:12px; background:#fbfdff; box-shadow:0 2px 8px rgba(16,36,60,.04); transition:border-color .18s ease,box-shadow .18s ease; }
.review-card[open] { border-color:#8fb9db; box-shadow:0 5px 18px rgba(16,70,110,.09); }
.review-card summary { display:grid; grid-template-columns:minmax(0,1fr) 180px 24px; gap:16px; align-items:center; padding:15px 18px; cursor:pointer; list-style:none; }
.review-card summary::-webkit-details-marker { display:none; }
.review-card summary:hover,.review-card[open] summary { background:linear-gradient(90deg,#f0f7fd,#f8fbfe); }
.review-main strong,.review-main small,.review-meta b,.review-meta small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.review-main strong { color:#153c5b; font-size:14px; }
.review-main small,.review-meta small { margin-top:4px; color:var(--app-muted); font-size:11px; }
.review-meta { text-align:right; color:#536b82; font-size:12px; }
.review-chevron { color:#6b8193; font-size:19px; text-align:center; }
.review-card[open] .review-chevron { transform:rotate(180deg); }
.review-body { padding:20px 22px 22px; border-top:1px solid #dbe7f1; background:#fff; }
.review-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.review-grid label,.review-form label { display:block; margin-bottom:5px; color:#667085; font-size:12px; font-weight:700; }
.review-value { min-height:38px; padding:10px; border:1px solid #e4e9f0; border-radius:6px; background:#f8fafc; overflow-wrap:anywhere; }
.review-grid input,.review-form select,.review-form textarea { width:100%; box-sizing:border-box; min-height:40px; padding:9px 11px; border:1px solid #c9d7e4; border-radius:7px; background:#fff; color:var(--app-text); font:inherit; font-weight:500; outline:none; }
.review-grid input:focus,.review-form select:focus,.review-form textarea:focus { border-color:#3b82b8; box-shadow:0 0 0 3px rgba(59,130,184,.13); }
.review-tags { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.review-warning { margin:10px 0; padding:9px 10px; color:#8a5a00; background:#fff7e6; border:1px solid #f3d39a; border-radius:6px; font-size:12px; }
.audit-pill-success { background:#e7f7ec; color:#176b35; }
.review-mapping { margin:10px 0 14px; border:1px solid #e5eaf0; border-radius:7px; overflow:hidden; }
.review-mapping div { display:flex; gap:12px; padding:8px 10px; border-bottom:1px solid #edf1f5; font-size:12px; }
.review-mapping div:last-child { border-bottom:0; }
.review-mapping b { min-width:130px; color:#475467; }
.review-message { margin:16px 0; padding:0; border:1px solid #b9d5ea; border-radius:9px; background:#f4f9fd; overflow:hidden; }
.review-message summary { display:flex; align-items:center; gap:8px; padding:11px 13px; color:#145a87; cursor:pointer; font-size:12px; font-weight:800; list-style:none; }
.review-message summary::-webkit-details-marker { display:none; }
.review-message summary::before { content:'▸'; color:#3b82b8; font-size:15px; }
.review-message[open] summary::before { content:'▾'; }
.review-message pre { max-height:360px; overflow:auto; margin:0; padding:14px; white-space:pre-wrap; word-break:break-word; color:#263b4d; background:#fff; border-top:1px solid #d8e7f2; font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; }
.review-form { display:grid; grid-template-columns:minmax(210px,.32fr) minmax(320px,1fr) auto; gap:14px; align-items:stretch; padding-top:16px; border-top:1px solid #e6edf3; }
.review-form label { display:grid; grid-template-rows:auto 1fr; gap:6px; margin:0; }
.review-form textarea { min-height:76px; resize:vertical; }
.review-actions { display:flex; align-items:flex-end; gap:8px; padding-top:22px; }
.review-actions button { min-height:40px; padding-inline:14px; }
.review-actions button:first-child { background:#19724a; box-shadow:0 2px 7px rgba(25,114,74,.2); }
.review-actions button:first-child:hover { background:#145d3d; }
.btn-warning { background:#b7791f; color:#fff; box-shadow:0 2px 7px rgba(183,121,31,.2); }
.btn-warning:hover { background:#946215; }
.btn-danger { background:#b42318; color:#fff; }
.btn-danger:hover { background:#912018; }

/* Unified form geometry: 40px is the reference height for manual fields.
   Keep checkboxes/radios/icon controls compact and touch-friendly on legacy
   Safari/iOS as well as current browsers. */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select {
  box-sizing:border-box;
  min-height:40px;
  height:40px;
  line-height:1.25;
}
textarea { box-sizing:border-box; min-height:40px; line-height:1.35; }
.btn:not(.btn-small):not(.btn-compact),
button:not(.btn-small):not(.btn-compact):not(.audit-icon-button) { min-height:40px; }

/* Harmonized spacing scale for actions, cards and data surfaces. */
.app-actions,
.form-footer,
.rule-actions,
.inline-actions,
.alerts-hero-actions,
.alerts-edit-actions,
.marketplace-toolbar,
.coupons-toolbar,
.unidentified-toolbar,
.ops-drawer-heading { gap:10px; }
.card-title,
.card-top,
.section-heading,
.alerts-card-heading { gap:12px; }
.card > .data-table,
.card > .table-wrapper,
.card > .table-scroll,
.card > .ops-table-wrap,
.card > .learning-table,
.card > .learning-runs { margin-top:12px; }
.btn + .data-table,
.btn + .table-wrapper,
.btn + .table-scroll,
button + .data-table,
button + .table-wrapper { margin-top:12px; }
.form-footer,
.rule-actions,
.inline-actions,
.alerts-edit-actions { margin-top:10px; }

@media (max-width:760px) {
  .app-actions,
  .form-footer,
  .rule-actions,
  .inline-actions,
  .alerts-hero-actions,
  .alerts-edit-actions { gap:10px; margin-top:12px; }
  .app-actions .btn,
  .form-footer button,
  .rule-actions button,
  .inline-actions button { margin:0; }
  .card-title,
  .alerts-card-heading { margin-bottom:12px; }
  .card > .data-table,
  .card > .table-wrapper,
  .card > .table-scroll,
  .card > .ops-table-wrap { margin-top:12px; }
}
@media (max-width:1100px) { .review-form { grid-template-columns:minmax(190px,.4fr) minmax(260px,1fr); }.review-actions { grid-column:1/-1; padding-top:0; align-items:stretch; justify-content:flex-end; } }
@media (max-width:800px) { .review-card summary{grid-template-columns:1fr 24px}.review-meta{text-align:left;grid-column:1}.review-chevron{grid-column:2;grid-row:1}.review-grid,.review-form{grid-template-columns:1fr}.review-actions{grid-column:auto;flex-direction:column;align-items:stretch}.review-mapping b{min-width:95px}.review-body{padding:16px}.review-form label{min-width:0} }
@media (max-width: 1000px) { .audit-run-table-header, .audit-run-summary { min-width: 1280px; } }
@media (max-width: 1000px) { .audit-request-controls, .audit-request-form { flex-direction: column; align-items: stretch; } .audit-request-form { display: flex; } .audit-cases-form { flex-basis: auto; } }
@media (max-width: 800px) { .audit-run-table-header, .audit-run-summary { grid-template-columns: minmax(180px, 1.3fr) repeat(8, minmax(76px, 1fr)); min-width: 950px; font-size: 12px; } .audit-run-table-header { font-size: 10px; } .audit-run-summary > span { padding-inline: 6px; } .audit-detail-grid { grid-template-columns: 1fr; } .audit-mapping-row { grid-template-columns: 100px minmax(0, 1fr) 18px minmax(0, 1fr); } .audit-reason { padding-left: 108px; } .audit-pagination { flex-wrap: wrap; } .audit-request-fields { grid-template-columns: 1fr; } .audit-request-actions { flex-direction: column; align-items: stretch; white-space: normal; } .audit-active-banner { grid-template-columns: 1fr; } .audit-active-banner p, .audit-active-meta { grid-column: 1; } .audit-active-banner form { grid-column: 1; grid-row: auto; } }
/* Alert event diagnostics */
.alerts-events-list .event-status-failed,
.alerts-events-list .event-status-blocked { color:#a83232; }
.alerts-events-list .event-status-retry_wait,
.alerts-events-list .event-status-dispatching { color:#94641b; }
.alerts-events-list em { color:#9b3d32; font-style:normal; font-size:10px; }
.ops-pipeline-step-failed { border-color:#f0caca; background:#fff8f8; }.ops-pipeline-step-failed .ops-pipeline-index { background:#fbe2e2; color:#a33232; }.ops-pipeline-step-failed b { color:#a33232; }.ops-pipeline-step-pending { border-style:dashed; background:#f5f7f8; }.ops-pipeline-step-pending .ops-pipeline-index { background:#e5eaec; color:#71818a; }.ops-pipeline-step-pending b { color:#71818a; }
.ops-pipeline-lane-total { margin-top:8px; padding-top:7px; border-top:1px dashed #dce7ec; color:#718a99; font-size:9px; text-align:right; text-transform:uppercase; letter-spacing:.06em; }.ops-pipeline-lane-total strong { margin-left:5px; color:#167349; font-size:11px; }
.ops-entry-flow { display:flex; align-items:stretch; gap:6px; overflow-x:auto; padding:2px 0 6px; }
.ops-entry-flow > i { align-self:center; color:#8ba0ad; font-size:18px; font-style:normal; }
.ops-entry-node { display:flex; flex:1 0 145px; min-width:145px; flex-direction:column; justify-content:center; min-height:54px; padding:7px 9px; border:1px solid #dfe9ee; border-radius:8px; background:#fff; }
.ops-entry-node b { color:#167349; font-size:9px; letter-spacing:.08em; }
.ops-entry-node strong { color:#27465e; font-size:11px; line-height:1.2; }
.ops-entry-node small { color:#718a99; font-size:9px; line-height:1.2; }
.noc-summary-oci small { line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
.noc-summary-oci strong { font-size:20px; }
.noc-summary{box-sizing:border-box;min-height:104px;display:flex;flex-direction:column;justify-content:flex-start;padding:14px;gap:0}.noc-summary strong{margin:8px 0 6px}.noc-summary small{line-height:1.35;min-height:13px}.noc-summary-oci{padding-bottom:17px}
@media(max-width:760px){.noc-summary{min-height:96px;padding:12px 11px}.noc-summary-oci{padding-bottom:15px}}
@media(min-width:761px) and (max-width:980px){.noc-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-summary{min-height:104px}.noc-summary strong{flex:0 0 auto;min-height:23px;line-height:1.15}.noc-summary small{flex:0 0 auto}}
.noc-summary strong{flex:0 0 auto;min-height:23px;line-height:1.15}
