:root {
  --blue:#3F94C9;
  --blue-deep:#0f6ea7;
  --green:#268C00;
  --gray:#595959;
  --text:#1f2a33;
  --muted:#637381;
  --line:rgba(63,148,201,.14);
  --line-strong:rgba(63,148,201,.28);
  --soft:#f5f8fb;
  --soft-2:#eef4f8;
  --white:#ffffff;
  --panel:#ffffff;
  --panel-2:#f9fbfc;
  --panel-3:#ffffff;
  --ok:#10b981;
  --warn:#f59e0b;
  --danger:#ef4444;
  --accent-soft:#eaf5fd;
  --accent-strong:#0f6ea7;
  --contrast-soft:#edf6ff;
  --contrast-border:rgba(15,110,167,.28);
  --radius:16px;
  --shadow:0 6px 18px rgba(18,34,47,.06);
  --shadow-soft:0 2px 8px rgba(18,34,47,.04);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:linear-gradient(180deg, #edf3f7 0%, #f8fbfd 100%);
  color:var(--text);
}
.wrap { width:min(1520px, calc(100vw - 20px)); margin:0 auto; padding:10px 0 24px; }
.card {
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:var(--shadow);
  padding:12px 14px;
}
h1,h2,h3,h4,p { margin-top:0; }
h1 { font-size:clamp(22px, 2.4vw, 28px); margin-bottom:6px; line-height:1.05; }
h2 { font-size:16px; margin-bottom:4px; line-height:1.12; }
h3 { font-size:13px; margin-bottom:6px; line-height:1.15; }
p { line-height:1.4; }
.muted { color:var(--muted); }
.btn {
  appearance:none;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--gray);
  padding:7px 10px;
  border-radius:10px;
  cursor:pointer;
  font-weight:800;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:11px;
  box-shadow:var(--shadow-soft);
  transition:.16s ease;
}
.btn:hover, .btn:focus-visible { border-color:var(--contrast-border); color:var(--accent-strong); outline:none; }
.btn.primary {
  background:linear-gradient(135deg, var(--blue), #58abd9);
  border-color:transparent;
  color:#fff;
  box-shadow:0 10px 20px rgba(63,148,201,.22);
}
.btn.ghost { background:transparent; box-shadow:none; }
.pill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  border:1px solid var(--line);
  background:rgba(63,148,201,.08);
  color:var(--gray);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.top-nav { margin-bottom:10px; padding:10px 12px; }
.top-nav-bar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.top-nav-brand { display:flex; align-items:center; gap:10px; min-width:0; }
.top-nav-brand img { height:24px; width:auto; display:block; }
.top-nav-brand-copy { display:grid; gap:1px; min-width:0; }
.top-nav-kicker { font-size:10px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.top-nav-brand-copy strong { color:var(--blue-deep); font-size:11px; line-height:1.05; text-transform:uppercase; }
.top-nav-brand-copy span { color:var(--muted); font-size:10px; font-weight:700; }
.top-nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.top-nav-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 9px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  color:var(--text);
  text-decoration:none;
  font-weight:800;
  font-size:11px;
}
.top-nav-link small { display:none; }
.top-nav-link.is-active { border-color:var(--line-strong); background:var(--contrast-soft); color:var(--blue-deep); box-shadow:0 8px 18px rgba(15,110,167,.08); }
.mcv-page-head {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:start;
  margin-bottom:10px;
}
.mcv-page-brand { display:block; min-width:0; }
.mcv-page-logo { display:none; }
.mcv-page-copy { display:grid; gap:1px; min-width:0; }
.mcv-page-kicker { font-size:10px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.mcv-page-copy h1 { margin:0; }
.mcv-page-copy .muted { font-size:12px; }
.mcv-page-actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.mcv-page-summary { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
@media (max-width: 1024px) {
  .mcv-page-head { grid-template-columns:1fr; }
  .mcv-page-actions { justify-content:flex-start; }
}
@media (max-width: 720px) {
  .wrap { width:min(100vw - 16px, 1460px); }
  .card { padding:14px; border-radius:16px; }
  .top-nav-brand-copy span { display:none; }
  .mcv-page-brand { align-items:flex-start; }
  .mcv-page-logo { display:none; }
}

/* ── Form fields ── */
.field {
  display:block;
  width:100%;
  padding:8px 12px;
  border:1.5px solid var(--line-strong);
  border-radius:8px;
  font-size:12px;
  font-weight:500;
  color:var(--text);
  background:var(--white);
  font-family:inherit;
  line-height:1.4;
  transition:border-color .15s, box-shadow .15s;
}
.field:focus { outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(63,148,201,.1); }
.field:disabled { opacity:.5; cursor:not-allowed; }
textarea.field { resize:vertical; }
select.field { cursor:pointer; }
.field-label {
  display:block;
  font-size:11px;
  font-weight:800;
  color:var(--muted);
  margin-bottom:5px;
  letter-spacing:.02em;
}

/* ── Status pills ── colored badges reutilizables por módulo ── */
.pill-ok   { display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;white-space:nowrap;background:#dcfce7;color:#15803d; }
.pill-warn { display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;white-space:nowrap;background:#fef3c7;color:#b45309; }
.pill-info { display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;white-space:nowrap;background:#dbeafe;color:#1d4ed8; }
.pill-muted{ display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;white-space:nowrap;background:#f3f4f6;color:#6b7280; }
.pill-pub  { display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;white-space:nowrap;background:#ede9fe;color:#6d28d9; }
.pill-danger{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;white-space:nowrap;background:#fee2e2;color:#b91c1c; }

.status-live { color:var(--ok); font-weight:700; }
.section-tools-inline { margin-top:0; align-items:center; }
.section-stack-12 { margin-top:12px; }
.section-stack-16 { margin-top:16px; }
.section-shell-block { margin-top:12px; }
.section-head-tight { margin-bottom:10px; }
.text-mb-0 { margin-bottom:0; }
.text-mb-4 { margin-bottom:4px; }
.text-mb-8 { margin-bottom:8px; }
.text-mb-10 { margin-bottom:10px; }
.grid-full { grid-column:1 / -1; }
.pill.is-hidden { display:none; }
.field-grid-top { margin-top:12px; }

/* ── Utility text colors (reutilizables en cualquier módulo) ── */
.t-ok   { color:#16a34a; }
.t-err  { color:#dc2626; }
.t-pub  { color:#7c3aed; }
.t-warn { color:#b45309; }

/* ── Publish button (variante púrpura del btn estándar) ── */
.btn.btn-pub { background:#7c3aed; border-color:#7c3aed; color:#fff; }
.btn.btn-pub:hover { background:#6d28d9; border-color:#6d28d9; }

/* ── Flash / notice bars (para inbox, conversaciones, etc.) ── */
.flash { padding:10px 14px; border-radius:10px; font-size:13px; font-weight:700; margin-bottom:4px; }
.flash-ok   { background:#dcfce7; color:#15803d; border:1px solid rgba(22,163,74,.2); }
.flash-warn { background:#fef3c7; color:#b45309; border:1px solid rgba(245,158,11,.2); }
.flash-err  { background:#fee2e2; color:#b91c1c; border:1px solid rgba(185,28,28,.2); }

/* ── Utility font sizes ── */
.mini { font-size:12px; color:var(--muted); line-height:1.45; }
.mini strong { color:var(--text); display:block; margin-bottom:4px; }
