:root {
  --mp-navy: #102a61;
  --mp-blue: #2563eb;
  --mp-violet: #7c3aed;
  --mp-green: #059669;
  --mp-gold: #d9a514;
  --mp-red: #dc2626;
  --mp-ink: #14213d;
  --mp-muted: #64748b;
  --mp-line: #dce5f1;
  --mp-soft: #f5f8fd;
  --mp-card: #ffffff;
  --mp-radius: 24px;
  --mp-shadow: 0 20px 50px rgba(15, 35, 78, .10);
}

.mp-page { background: linear-gradient(180deg, #f8fbff 0%, #fff 45%, #f6f8fd 100%); min-height: 70vh; }
.mp-hero {
  position: relative; overflow: hidden; padding: 78px 0 70px; color: #fff;
  background:
    radial-gradient(circle at 12% 20%, rgba(250, 204, 21, .25), transparent 29%),
    radial-gradient(circle at 88% 12%, rgba(168, 85, 247, .27), transparent 32%),
    linear-gradient(135deg, #0e2b63 0%, #2451a0 55%, #633caf 100%);
}
.mp-hero::before { content:""; position:absolute; width:340px; height:340px; border:1px solid rgba(255,255,255,.18); border-radius:50%; right:-110px; top:-150px; box-shadow:0 0 0 42px rgba(255,255,255,.03),0 0 0 86px rgba(255,255,255,.02); }
.mp-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:42px; align-items:center; }
.mp-kicker { display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.10); color:#fde68a; font-size:.78rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.mp-hero h1 { margin:16px 0 14px; max-width:740px; font-size:clamp(2.25rem,5vw,4.35rem); line-height:1.02; letter-spacing:-.045em; }
.mp-hero p { max-width:720px; margin:0; color:rgba(255,255,255,.84); font-size:clamp(1rem,1.8vw,1.14rem); line-height:1.65; }
.mp-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:25px; }
.mp-btn { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 18px; border:1px solid transparent; border-radius:999px; background:#eef4ff; color:var(--mp-navy); font:inherit; font-weight:900; text-decoration:none; cursor:pointer; transition:.22s ease; }
.mp-btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(15,35,78,.15); }
.mp-btn.primary { background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; }
.mp-btn.light { background:#fff; color:#173d7b; }
.mp-btn.outline-light { border-color:rgba(255,255,255,.42); background:rgba(255,255,255,.08); color:#fff; }
.mp-btn.success { background:linear-gradient(135deg,#047857,#10b981); color:#fff; }
.mp-btn.danger { background:#fff1f2; color:#be123c; border-color:#fecdd3; }
.mp-btn.small { min-height:38px; padding:8px 13px; font-size:.84rem; }
.mp-btn[disabled] { opacity:.58; cursor:not-allowed; transform:none; box-shadow:none; }

.mp-verify-card { padding:24px; border:1px solid rgba(255,255,255,.22); border-radius:28px; background:rgba(255,255,255,.12); box-shadow:0 24px 54px rgba(5,20,50,.20); backdrop-filter:blur(14px); }
.mp-verify-card h2 { margin:0 0 7px; color:#fff; font-size:1.25rem; }
.mp-verify-card p { font-size:.9rem; line-height:1.45; }
.mp-inline-form { display:flex; gap:9px; margin-top:16px; }
.mp-inline-form input { flex:1; min-width:0; min-height:46px; padding:11px 14px; border:1px solid rgba(255,255,255,.35); border-radius:15px; outline:none; background:rgba(255,255,255,.95); color:var(--mp-ink); font:inherit; }
.mp-inline-form button { min-width:112px; }

.mp-section { padding:64px 0; }
.mp-section-head { max-width:760px; margin-bottom:28px; }
.mp-section-head span { color:var(--mp-violet); font-size:.78rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.mp-section-head h2 { margin:8px 0 9px; color:var(--mp-ink); font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.035em; }
.mp-section-head p { margin:0; color:var(--mp-muted); line-height:1.65; }
.mp-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.mp-feature-card { padding:25px; border:1px solid rgba(148,163,184,.22); border-radius:var(--mp-radius); background:#fff; box-shadow:var(--mp-shadow); }
.mp-feature-card .icon { width:50px; height:50px; display:grid; place-items:center; border-radius:17px; background:linear-gradient(135deg,#e0ecff,#f5efff); font-size:23px; }
.mp-feature-card h3 { margin:17px 0 8px; color:var(--mp-ink); }
.mp-feature-card p { margin:0; color:var(--mp-muted); line-height:1.6; }
.mp-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; counter-reset:step; }
.mp-step { position:relative; padding:24px 20px 22px; border:1px solid var(--mp-line); border-radius:22px; background:#fff; }
.mp-step::before { counter-increment:step; content:counter(step); width:35px; height:35px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; font-weight:900; }
.mp-step h3 { margin:15px 0 7px; font-size:1rem; }
.mp-step p { margin:0; color:var(--mp-muted); font-size:.9rem; line-height:1.5; }

.mp-auth-wrap { width:min(780px,calc(100% - 28px)); margin:54px auto 74px; }
.mp-auth-card, .mp-panel-card { border:1px solid rgba(148,163,184,.22); border-radius:28px; background:#fff; box-shadow:var(--mp-shadow); overflow:hidden; }
.mp-auth-head { padding:25px 28px; color:#fff; background:linear-gradient(135deg,#12366f,#2755a4 58%,#7044b5); }
.mp-auth-head h1 { margin:0 0 7px; font-size:1.75rem; }
.mp-auth-head p { margin:0; color:rgba(255,255,255,.82); }
.mp-auth-body { padding:28px; }
.mp-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.mp-form-grid .full { grid-column:1/-1; }
.mp-field { display:grid; gap:7px; min-width:0; }
.mp-field label, .mp-field > span { color:#27364f; font-size:.83rem; font-weight:900; }
.mp-field input, .mp-field select, .mp-field textarea { width:100%; min-width:0; border:1px solid var(--mp-line); border-radius:15px; padding:12px 14px; outline:none; background:#fbfdff; color:var(--mp-ink); font:inherit; transition:.2s ease; }
.mp-field input, .mp-field select { min-height:48px; }
.mp-field textarea { min-height:115px; resize:vertical; }
.mp-field input:focus, .mp-field select:focus, .mp-field textarea:focus { border-color:rgba(37,99,235,.52); background:#fff; box-shadow:0 0 0 4px rgba(37,99,235,.09); }
.mp-field small { color:var(--mp-muted); line-height:1.45; }
.mp-check { display:flex; align-items:flex-start; gap:10px; color:#475569; line-height:1.5; font-size:.9rem; }
.mp-check input { margin-top:3px; }
.mp-form-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:22px; padding-top:20px; border-top:1px solid #edf1f7; }
.mp-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.mp-alert { margin:0 0 18px; padding:13px 15px; border-radius:15px; border:1px solid; line-height:1.5; }
.mp-alert.error { color:#9f1239; background:#fff1f2; border-color:#fecdd3; }
.mp-alert.success { color:#065f46; background:#ecfdf5; border-color:#a7f3d0; }
.mp-alert.warning { color:#92400e; background:#fffbeb; border-color:#fde68a; }
.mp-auth-links { display:flex; justify-content:space-between; gap:14px; margin-top:18px; color:#55657b; font-size:.9rem; }
.mp-auth-links a { color:#2454a3; font-weight:900; }

.mp-citizen-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:24px; padding:13px 16px; border:1px solid var(--mp-line); border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(15,35,78,.07); }
.mp-citizen-identity { display:flex; align-items:center; gap:11px; min-width:0; }
.mp-citizen-avatar { width:42px; height:42px; min-width:42px; display:grid; place-items:center; border-radius:14px; background:linear-gradient(135deg,#dbeafe,#ede9fe); }
.mp-citizen-identity span:last-child { display:grid; min-width:0; }
.mp-citizen-identity strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--mp-ink); }
.mp-citizen-identity small { color:var(--mp-muted); }
.mp-citizen-bar nav { display:flex; gap:8px; flex-wrap:wrap; }
.mp-citizen-bar nav a { padding:9px 12px; border-radius:999px; color:#39506f; font-size:.84rem; font-weight:850; text-decoration:none; }
.mp-citizen-bar nav a.primary { background:#edf3ff; color:#2454a3; }

.mp-dashboard { padding:34px 0 72px; }
.mp-dashboard-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:22px; }
.mp-dashboard-head h1 { margin:0 0 7px; color:var(--mp-ink); font-size:clamp(1.8rem,4vw,2.7rem); }
.mp-dashboard-head p { margin:0; color:var(--mp-muted); }
.mp-stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-bottom:22px; }
.mp-stat { padding:20px; border:1px solid var(--mp-line); border-radius:21px; background:#fff; box-shadow:0 12px 28px rgba(15,35,78,.06); }
.mp-stat span { color:var(--mp-muted); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.mp-stat strong { display:block; margin-top:8px; color:var(--mp-ink); font-size:1.9rem; }
.mp-panel-card { padding:22px; }
.mp-card-head { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:18px; }
.mp-card-head h2 { margin:0; color:var(--mp-ink); font-size:1.2rem; }
.mp-table-wrap { overflow:auto; border:1px solid #e7edf5; border-radius:18px; }
.mp-table { width:100%; border-collapse:collapse; min-width:780px; }
.mp-table th { padding:12px 14px; background:#f6f9fd; color:#5a6c84; text-align:left; font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; }
.mp-table td { padding:14px; border-top:1px solid #edf1f7; color:#34445d; vertical-align:middle; }
.mp-table td strong { color:var(--mp-ink); }
.mp-table a { color:#2454a3; font-weight:900; }
.mp-status { display:inline-flex; align-items:center; min-height:31px; padding:6px 10px; border-radius:999px; font-size:.75rem; font-weight:900; white-space:nowrap; }
.mp-status--received { color:#1d4ed8; background:#dbeafe; }
.mp-status--review { color:#6d28d9; background:#ede9fe; }
.mp-status--observed { color:#b42318; background:#fee2e2; }
.mp-status--corrected { color:#b45309; background:#fef3c7; }
.mp-status--completed { color:#047857; background:#d1fae5; }
.mp-status--neutral { color:#475569; background:#e2e8f0; }
.mp-empty { padding:40px 20px; text-align:center; color:var(--mp-muted); }
.mp-empty strong { display:block; margin-bottom:7px; color:var(--mp-ink); }

.mp-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; }
.mp-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.mp-summary-item { padding:14px; border:1px solid #e5ebf4; border-radius:16px; background:#fbfdff; }
.mp-summary-item.full { grid-column:1/-1; }
.mp-summary-item span { display:block; margin-bottom:5px; color:var(--mp-muted); font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.mp-summary-item strong, .mp-summary-item p { margin:0; color:var(--mp-ink); line-height:1.5; overflow-wrap:anywhere; }
.mp-files { display:grid; gap:10px; }
.mp-file { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px; border:1px solid #e5ebf4; border-radius:16px; background:#fff; }
.mp-file div { min-width:0; }
.mp-file strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mp-file small { color:var(--mp-muted); }
.mp-timeline { position:relative; display:grid; gap:0; }
.mp-timeline::before { content:""; position:absolute; left:17px; top:20px; bottom:20px; width:2px; background:#dbe5f2; }
.mp-movement { position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); gap:13px; padding:0 0 20px; }
.mp-movement-dot { position:relative; z-index:1; width:36px; height:36px; display:grid; place-items:center; border:4px solid #fff; border-radius:50%; background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; font-size:.72rem; font-weight:900; box-shadow:0 0 0 1px #dbe5f2; }
.mp-movement-content { padding:13px 15px; border:1px solid #e5ebf4; border-radius:17px; background:#fff; }
.mp-movement-content header { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.mp-movement-content p { margin:8px 0 0; color:#52647c; line-height:1.55; white-space:pre-line; }
.mp-movement-content small { color:var(--mp-muted); }

.mp-cargo-page { background:#eef3f8; padding:35px 0 70px; }
.mp-cargo-actions { display:flex; justify-content:flex-end; gap:9px; margin-bottom:15px; }
.mp-cargo { width:min(900px,100%); margin:0 auto; padding:38px; border:2px solid #2b5871; background:#fff; box-shadow:0 24px 60px rgba(15,35,78,.13); }
.mp-cargo-header { display:flex; align-items:center; gap:18px; padding-bottom:18px; border-bottom:2px solid #dfe7ef; }
.mp-cargo-header img { width:76px; height:76px; object-fit:contain; }
.mp-cargo-header h1 { margin:0 0 5px; color:#16344e; font-size:1.55rem; text-transform:uppercase; }
.mp-cargo-header p { margin:0; color:#557084; }
.mp-cargo-code { margin:24px 0; padding:17px; border-radius:17px; text-align:center; background:#eef5ff; border:1px solid #cfdef2; }
.mp-cargo-code span { display:block; color:#5f7087; font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.mp-cargo-code strong { display:block; margin-top:5px; color:#102a61; font-size:1.75rem; letter-spacing:.04em; }
.mp-cargo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border:1px solid #dce5ed; }
.mp-cargo-row { padding:12px 14px; border-bottom:1px solid #e4ebf2; }
.mp-cargo-row:nth-child(odd) { border-right:1px solid #e4ebf2; }
.mp-cargo-row.full { grid-column:1/-1; border-right:0; }
.mp-cargo-row span { display:block; color:#607488; font-size:.74rem; font-weight:900; text-transform:uppercase; }
.mp-cargo-row strong { display:block; margin-top:4px; color:#192c3e; }
.mp-cargo-verification { display:grid; grid-template-columns:1fr 150px; gap:22px; align-items:center; margin-top:22px; padding:18px; border:1px dashed #9fb4c5; border-radius:16px; }
.mp-cargo-verification p { margin:0 0 8px; color:#52697c; line-height:1.55; }
.mp-cargo-verification code { display:block; padding:10px; background:#f2f5f8; border-radius:9px; color:#183c59; overflow-wrap:anywhere; }
#mpQrCode { width:140px; min-height:140px; display:grid; place-items:center; margin:auto; }
#mpQrCode img, #mpQrCode canvas { max-width:140px!important; height:auto!important; }
.mp-cargo-footer { margin-top:25px; padding-top:16px; border-top:1px solid #dfe7ef; text-align:center; color:#607488; font-size:.83rem; }

.mp-verify-result { width:min(820px,calc(100% - 28px)); margin:45px auto 70px; }
.mp-valid-badge { width:70px; height:70px; display:grid; place-items:center; margin:0 auto 14px; border-radius:50%; background:#d1fae5; color:#047857; font-size:32px; }

@media (max-width: 980px) {
  .mp-hero-grid, .mp-detail-grid { grid-template-columns:1fr; }
  .mp-verify-card { max-width:560px; }
  .mp-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mp-steps, .mp-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .mp-hero { padding:58px 0 54px; }
  .mp-feature-grid, .mp-steps, .mp-form-grid, .mp-stats-grid, .mp-summary, .mp-cargo-grid { grid-template-columns:1fr; }
  .mp-form-grid .full, .mp-summary-item.full, .mp-cargo-row.full { grid-column:auto; }
  .mp-cargo-row:nth-child(odd) { border-right:0; }
  .mp-citizen-bar, .mp-dashboard-head { align-items:stretch; flex-direction:column; }
  .mp-citizen-bar nav { width:100%; }
  .mp-citizen-bar nav a { flex:1; text-align:center; }
  .mp-inline-form { flex-direction:column; }
  .mp-auth-body, .mp-auth-head, .mp-panel-card { padding:20px; }
  .mp-cargo { padding:22px 17px; }
  .mp-cargo-header { align-items:flex-start; }
  .mp-cargo-header img { width:58px; height:58px; }
  .mp-cargo-verification { grid-template-columns:1fr; }
  .mp-cargo-actions { justify-content:center; flex-wrap:wrap; }
}
@media print {
  .site-header, .site-footer, .whatsapp-float, .mp-cargo-actions { display:none!important; }
  main { display:block!important; }
  .mp-cargo-page { padding:0; background:#fff; }
  .mp-cargo { width:100%; box-shadow:none; border:1.5px solid #2b5871; }
}

/* =========================================================
   Inicio de Mesa de Partes · secciones informativas v1.1
   Estilos aislados para no alterar formularios ni paneles.
   ========================================================= */
.mp-home-features {
  position: relative;
  overflow: hidden;
  padding: 78px 0 74px;
  background:
    radial-gradient(circle at 6% 18%, rgba(37, 99, 235, .12), transparent 26%),
    radial-gradient(circle at 96% 12%, rgba(124, 58, 237, .11), transparent 28%),
    radial-gradient(circle at 76% 92%, rgba(16, 185, 129, .09), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}
.mp-home-features::before,
.mp-home-features::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
}
.mp-home-features::before {
  width: 250px;
  height: 250px;
  left: -145px;
  top: 35%;
  border: 1px solid rgba(37, 99, 235, .12);
  box-shadow: 0 0 0 38px rgba(37, 99, 235, .025), 0 0 0 78px rgba(124, 58, 237, .018);
}
.mp-home-features::after {
  width: 170px;
  height: 170px;
  right: -95px;
  bottom: 28px;
  background: linear-gradient(135deg, rgba(250, 204, 21, .12), rgba(16, 185, 129, .05));
  filter: blur(2px);
}
.mp-section-head--home {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin-bottom: 34px;
}
.mp-home-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 7px 12px;
  border: 1px solid rgba(99, 102, 241, .15);
  border-radius: 999px;
  color: #5b3cc4 !important;
  background: linear-gradient(135deg, rgba(238, 242, 255, .95), rgba(250, 245, 255, .95));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72);
  letter-spacing: .1em !important;
}
.mp-home-eyebrow i {
  color: #f59e0b;
  font-style: normal;
  font-size: .9rem;
}
.mp-section-head--home h2 {
  max-width: 760px;
  margin-top: 13px;
  color: #102a61;
  line-height: 1.12;
}
.mp-section-head--home p {
  max-width: 720px;
  color: #586b84;
  font-size: .98rem;
}

.mp-home-feature-grid {
  position: relative;
  z-index: 1;
  gap: 22px;
}
.mp-home-feature-grid .mp-feature-card {
  --feature-accent: #2563eb;
  --feature-accent-2: #60a5fa;
  --feature-soft: rgba(37, 99, 235, .10);
  position: relative;
  min-height: 292px;
  overflow: hidden;
  padding: 29px 27px 25px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-top: 4px solid var(--feature-accent);
  border-radius: 27px;
  background:
    radial-gradient(circle at 100% 0%, var(--feature-soft), transparent 39%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 18px 42px rgba(18, 42, 89, .08);
  isolation: isolate;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.mp-home-feature-grid .mp-feature-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 120px;
  height: 120px;
  right: -54px;
  top: -54px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--feature-soft), transparent);
  box-shadow: 0 0 0 23px rgba(255,255,255,.38);
}
.mp-home-feature-grid .mp-feature-card:hover {
  transform: translateY(-8px);
  border-color: color-mix(in srgb, var(--feature-accent) 30%, #d9e2ef);
  box-shadow: 0 27px 58px rgba(18, 42, 89, .14);
}
.mp-feature-card--green {
  --feature-accent: #059669 !important;
  --feature-accent-2: #34d399 !important;
  --feature-soft: rgba(5, 150, 105, .11) !important;
}
.mp-feature-card--violet {
  --feature-accent: #7c3aed !important;
  --feature-accent-2: #a78bfa !important;
  --feature-soft: rgba(124, 58, 237, .11) !important;
}
.mp-home-feature-grid .mp-feature-card .icon {
  width: 60px;
  height: 60px;
  border: 1px solid rgba(255,255,255,.74);
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(135deg, var(--feature-accent), var(--feature-accent-2));
  box-shadow: 0 14px 28px var(--feature-soft), inset 0 1px 0 rgba(255,255,255,.34);
  font-size: 27px;
  transform: rotate(-2deg);
}
.mp-home-feature-grid .mp-feature-card h3 {
  margin-top: 21px;
  color: #12264a;
  font-size: 1.12rem;
}
.mp-home-feature-grid .mp-feature-card p {
  min-height: 77px;
  color: #61728a;
}
.mp-feature-number {
  position: absolute;
  top: 19px;
  right: 22px;
  color: color-mix(in srgb, var(--feature-accent) 74%, #64748b);
  font-size: .73rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.mp-feature-detail {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 17px;
  color: color-mix(in srgb, var(--feature-accent) 82%, #26364d);
  font-size: .78rem;
  font-weight: 900;
}
.mp-feature-detail b {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--feature-accent), var(--feature-accent-2));
  font-size: .68rem;
}

.mp-home-process {
  position: relative;
  overflow: hidden;
  padding: 74px 0 84px;
  background:
    radial-gradient(circle at 16% 18%, rgba(16, 185, 129, .08), transparent 27%),
    radial-gradient(circle at 92% 88%, rgba(245, 158, 11, .10), transparent 27%),
    linear-gradient(145deg, #f1f6ff 0%, #f8f5ff 52%, #fffaf0 100%);
}
.mp-process-shell {
  position: relative;
  padding: 42px 38px 34px;
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 34px;
  background: rgba(255,255,255,.80);
  box-shadow: 0 24px 58px rgba(18, 42, 89, .09);
  backdrop-filter: blur(10px);
}
.mp-process-shell::before {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  right: 28px;
  top: -75px;
  border-radius: 50%;
  border: 1px solid rgba(124, 58, 237, .12);
  box-shadow: 0 0 0 28px rgba(37, 99, 235, .025), 0 0 0 55px rgba(245, 158, 11, .018);
  pointer-events: none;
}
.mp-section-head--process {
  max-width: 760px;
  margin-bottom: 35px;
}
.mp-home-steps {
  position: relative;
  z-index: 1;
  gap: 18px;
}
.mp-home-steps::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 9%;
  right: 9%;
  top: 46px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3b82f6, #06b6d4, #f59e0b, #8b5cf6);
  opacity: .30;
}
.mp-home-steps .mp-step {
  --step-accent: #2563eb;
  --step-accent-2: #60a5fa;
  --step-soft: rgba(37,99,235,.10);
  min-height: 235px;
  padding: 25px 21px 22px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-bottom: 4px solid var(--step-accent);
  border-radius: 23px;
  background:
    radial-gradient(circle at 90% 10%, var(--step-soft), transparent 34%),
    #ffffff;
  box-shadow: 0 14px 34px rgba(18, 42, 89, .07);
  transition: transform .25s ease, box-shadow .25s ease;
}
.mp-home-steps .mp-step:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 45px rgba(18, 42, 89, .13);
}
.mp-home-steps .mp-step::before {
  position: absolute;
  top: 26px;
  right: 20px;
  width: 34px;
  height: 34px;
  border: 3px solid #fff;
  background: linear-gradient(135deg, var(--step-accent), var(--step-accent-2));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--step-accent) 20%, #dbe4ef), 0 9px 20px var(--step-soft);
  font-size: .8rem;
}
.mp-step--cyan {
  --step-accent: #0891b2 !important;
  --step-accent-2: #22d3ee !important;
  --step-soft: rgba(8,145,178,.10) !important;
}
.mp-step--gold {
  --step-accent: #d97706 !important;
  --step-accent-2: #fbbf24 !important;
  --step-soft: rgba(217,119,6,.11) !important;
}
.mp-step--violet {
  --step-accent: #7c3aed !important;
  --step-accent-2: #a78bfa !important;
  --step-soft: rgba(124,58,237,.11) !important;
}
.mp-step-icon {
  width: 55px;
  height: 55px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--step-accent), var(--step-accent-2));
  box-shadow: 0 12px 26px var(--step-soft), inset 0 1px 0 rgba(255,255,255,.35);
  font-size: 24px;
}
.mp-home-steps .mp-step h3 {
  margin-top: 19px;
  color: #132748;
  font-size: 1.02rem;
}
.mp-home-steps .mp-step p {
  color: #61728a;
  line-height: 1.58;
}
.mp-process-note {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) auto;
  gap: 15px;
  align-items: center;
  margin-top: 25px;
  padding: 17px 19px;
  border: 1px solid rgba(16, 185, 129, .20);
  border-radius: 20px;
  background:
    radial-gradient(circle at 8% 0%, rgba(16,185,129,.11), transparent 26%),
    linear-gradient(135deg, rgba(236,253,245,.93), rgba(239,246,255,.93));
}
.mp-process-note-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #047857, #22c55e);
  box-shadow: 0 11px 24px rgba(5,150,105,.18);
  font-size: 23px;
}
.mp-process-note strong {
  display: block;
  color: #123b35;
  font-size: .96rem;
}
.mp-process-note p {
  margin: 4px 0 0;
  color: #56716c;
  font-size: .84rem;
  line-height: 1.5;
}
.mp-process-note-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid rgba(5, 150, 105, .18);
  border-radius: 999px;
  color: #047857;
  background: rgba(255,255,255,.78);
  font-size: .75rem;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .mp-process-shell { padding: 34px 28px 29px; }
  .mp-home-steps::before { display: none; }
  .mp-home-feature-grid .mp-feature-card { min-height: 280px; }
  .mp-home-steps .mp-step { min-height: 220px; }
}
@media (max-width: 700px) {
  .mp-home-features { padding: 56px 0 55px; }
  .mp-home-process { padding: 54px 0 62px; }
  .mp-section-head--home { margin-bottom: 25px; }
  .mp-process-shell { padding: 26px 17px 21px; border-radius: 25px; }
  .mp-home-feature-grid .mp-feature-card,
  .mp-home-steps .mp-step { min-height: 0; }
  .mp-home-feature-grid .mp-feature-card p { min-height: 0; }
  .mp-process-note { grid-template-columns: 48px minmax(0,1fr); padding: 15px; }
  .mp-process-note-icon { width: 46px; height: 46px; }
  .mp-process-note-badge { grid-column: 1 / -1; justify-content: center; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .mp-home-feature-grid .mp-feature-card,
  .mp-home-steps .mp-step { transition: none !important; }
}

/* =========================================================
   Acceso ciudadano · Mesa de Partes v1.2
   Diseño aislado para mesa-login.php
   ========================================================= */
.mp-login-page {
  position: relative;
  overflow: hidden;
  min-height: 760px;
  padding: 64px 0 86px;
  background:
    radial-gradient(circle at 8% 10%, rgba(37, 99, 235, .13), transparent 27%),
    radial-gradient(circle at 94% 14%, rgba(124, 58, 237, .12), transparent 30%),
    radial-gradient(circle at 72% 92%, rgba(16, 185, 129, .08), transparent 25%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 47%, #f5f8fe 100%);
}
.mp-login-page::before,
.mp-login-page::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}
.mp-login-page::before {
  width: 340px;
  height: 340px;
  left: -215px;
  top: 22%;
  border: 1px solid rgba(37, 99, 235, .11);
  box-shadow: 0 0 0 50px rgba(37, 99, 235, .025), 0 0 0 100px rgba(124, 58, 237, .016);
}
.mp-login-page::after {
  width: 220px;
  height: 220px;
  right: -120px;
  bottom: 32px;
  background: linear-gradient(135deg, rgba(250, 204, 21, .13), rgba(16, 185, 129, .07));
  filter: blur(1px);
}
.mp-login-wrap {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100% - 34px));
  margin: 0 auto;
}
.mp-login-shell {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  min-height: 650px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 34px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 34px 90px rgba(15, 35, 78, .16), 0 2px 0 rgba(255, 255, 255, .88) inset;
}
.mp-login-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 34px 40px 36px;
  color: #fff;
  background:
    radial-gradient(circle at 12% 12%, rgba(250, 204, 21, .23), transparent 27%),
    radial-gradient(circle at 92% 9%, rgba(196, 181, 253, .25), transparent 30%),
    linear-gradient(145deg, #0d2b63 0%, #2151a0 52%, #653eb3 100%);
}
.mp-login-intro::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 280px;
  height: 280px;
  right: -130px;
  bottom: -110px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 50%;
  box-shadow: 0 0 0 45px rgba(255,255,255,.035), 0 0 0 90px rgba(255,255,255,.022);
}
.mp-login-intro-pattern {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .22;
  background-image: radial-gradient(rgba(255,255,255,.34) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(135deg, transparent 8%, #000 55%, transparent 96%);
}
.mp-login-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: rgba(255,255,255,.84);
  background: rgba(255,255,255,.08);
  text-decoration: none;
  font-size: .8rem;
  font-weight: 850;
  backdrop-filter: blur(10px);
  transition: .22s ease;
}
.mp-login-back:hover { color: #fff; background: rgba(255,255,255,.15); transform: translateX(-2px); }
.mp-login-back svg { width: 17px; height: 17px; }
.mp-login-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 34px;
  color: rgba(255,255,255,.92);
  font-size: .84rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mp-login-brand-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 14px;
  color: #fde68a;
  background: rgba(255,255,255,.12);
  box-shadow: 0 12px 28px rgba(7, 22, 56, .18);
}
.mp-login-brand-icon svg { width: 23px; height: 23px; }
.mp-login-intro-copy { margin-top: 44px; }
.mp-login-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 11px;
  border: 1px solid rgba(253, 230, 138, .28);
  border-radius: 999px;
  color: #fde68a;
  background: rgba(255,255,255,.08);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mp-login-intro-copy h2 {
  max-width: 470px;
  margin: 16px 0 13px;
  color: #fff;
  font-size: clamp(2rem, 3.2vw, 3.15rem);
  line-height: 1.04;
  letter-spacing: -.045em;
}
.mp-login-intro-copy p {
  max-width: 480px;
  margin: 0;
  color: rgba(255,255,255,.78);
  line-height: 1.67;
}
.mp-login-benefits { display: grid; gap: 13px; margin-top: 38px; }
.mp-login-benefit {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 17px;
  background: rgba(255,255,255,.075);
  backdrop-filter: blur(8px);
}
.mp-login-benefit-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
}
.mp-login-benefit-icon.is-blue { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.mp-login-benefit-icon.is-violet { background: linear-gradient(135deg, #a855f7, #7c3aed); }
.mp-login-benefit-icon.is-green { background: linear-gradient(135deg, #10b981, #059669); }
.mp-login-benefit-icon svg { width: 21px; height: 21px; }
.mp-login-benefit > span:last-child { display: grid; gap: 3px; min-width: 0; }
.mp-login-benefit strong { color: #fff; font-size: .91rem; }
.mp-login-benefit small { color: rgba(255,255,255,.68); font-size: .78rem; line-height: 1.4; }
.mp-login-trust {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 30px;
  color: rgba(255,255,255,.62);
  font-size: .76rem;
  font-weight: 750;
}
.mp-login-trust-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 0 5px rgba(52, 211, 153, .13);
}
.mp-login-form-panel {
  display: grid;
  place-items: center;
  padding: 48px clamp(32px, 5vw, 70px);
  background:
    radial-gradient(circle at 100% 0, rgba(124,58,237,.065), transparent 28%),
    linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.mp-login-form-inner { width: min(100%, 520px); }
.mp-login-head {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  margin-bottom: 30px;
}
.mp-login-head-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(37,99,235,.13);
  border-radius: 18px;
  color: #2563eb;
  background: linear-gradient(145deg, #eef5ff, #f8f4ff);
  box-shadow: 0 14px 30px rgba(37,99,235,.12), inset 0 0 0 1px rgba(255,255,255,.82);
}
.mp-login-head-icon svg { width: 27px; height: 27px; }
.mp-login-overline {
  display: block;
  margin-bottom: 5px;
  color: #7c3aed;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.mp-login-head h1 {
  margin: 0 0 7px;
  color: #14213d;
  font-size: clamp(1.85rem, 3vw, 2.45rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.mp-login-head p { margin: 0; color: #64748b; line-height: 1.55; }
.mp-login-alert {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.mp-login-alert > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #e11d48;
  font-weight: 900;
}
.mp-login-form { display: grid; gap: 20px; }
.mp-login-field { display: grid; gap: 8px; }
.mp-login-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #27364f;
  font-size: .85rem;
  font-weight: 900;
}
.mp-login-label small { color: #94a3b8; font-size: .72rem; font-weight: 800; }
.mp-login-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 56px;
  overflow: hidden;
  border: 1px solid #dbe4f0;
  border-radius: 17px;
  background: #f8fbff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}
.mp-login-input-wrap:focus-within {
  border-color: rgba(37,99,235,.52);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(37,99,235,.09), 0 12px 28px rgba(37,99,235,.08);
  transform: translateY(-1px);
}
.mp-login-input-wrap > svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
  margin-left: 16px;
  color: #5b72a0;
}
.mp-login-input-wrap input {
  flex: 1;
  min-width: 0;
  min-height: 54px;
  padding: 13px 14px;
  border: 0;
  outline: 0;
  color: #14213d;
  background: transparent;
  font: inherit;
}
.mp-login-input-wrap input::placeholder { color: #9aa8bb; }
.mp-password-toggle {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  margin-right: 6px;
  border: 0;
  border-radius: 13px;
  color: #64748b;
  background: transparent;
  cursor: pointer;
  transition: .2s ease;
}
.mp-password-toggle:hover { color: #2563eb; background: #edf4ff; }
.mp-password-toggle svg { width: 21px; height: 21px; grid-area: 1/1; }
.mp-password-toggle .mp-eye-closed { display: none; }
.mp-password-toggle[aria-pressed="true"] .mp-eye-open { display: none; }
.mp-password-toggle[aria-pressed="true"] .mp-eye-closed { display: block; }
.mp-login-security-note {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 13px;
  border: 1px solid rgba(5,150,105,.16);
  border-radius: 14px;
  color: #38635b;
  background: linear-gradient(135deg, #f0fdf8, #f8fffc);
  font-size: .79rem;
  line-height: 1.45;
}
.mp-login-security-note svg { width: 19px; height: 19px; flex: 0 0 19px; color: #059669; }
.mp-login-submit {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 20px;
  border: 0;
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 52%, #7c3aed 100%);
  box-shadow: 0 16px 32px rgba(79,70,229,.25), inset 0 1px 0 rgba(255,255,255,.22);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.mp-login-submit:hover { transform: translateY(-2px); filter: saturate(1.07); box-shadow: 0 21px 40px rgba(79,70,229,.31); }
.mp-login-submit:active { transform: translateY(0); }
.mp-login-submit svg { width: 20px; height: 20px; transition: transform .22s ease; }
.mp-login-submit:hover svg { transform: translateX(4px); }
.mp-login-register {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 27px;
  padding: 15px;
  border: 1px solid #e1e8f2;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbff, #fbf8ff);
}
.mp-login-register-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #7c3aed;
  background: #f0eaff;
}
.mp-login-register-icon svg { width: 22px; height: 22px; }
.mp-login-register > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.mp-login-register strong { color: #26344c; font-size: .86rem; }
.mp-login-register small { color: #718096; font-size: .75rem; line-height: 1.35; }
.mp-login-register a {
  padding: 9px 12px;
  border: 1px solid rgba(124,58,237,.16);
  border-radius: 999px;
  color: #6d36c7;
  background: #fff;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
  transition: .2s ease;
}
.mp-login-register a:hover { color: #fff; border-color: transparent; background: linear-gradient(135deg, #7c3aed, #a855f7); transform: translateY(-1px); }
@media (max-width: 920px) {
  .mp-login-shell { grid-template-columns: 1fr; }
  .mp-login-intro { min-height: auto; padding: 28px 30px 31px; }
  .mp-login-brand { margin-top: 24px; }
  .mp-login-intro-copy { margin-top: 28px; }
  .mp-login-intro-copy h2 { max-width: 700px; }
  .mp-login-intro-copy p { max-width: 720px; }
  .mp-login-benefits { grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 26px; }
  .mp-login-benefit { grid-template-columns: 40px minmax(0,1fr); padding: 10px; }
  .mp-login-benefit-icon { width: 38px; height: 38px; }
  .mp-login-benefit small { display: none; }
  .mp-login-trust { margin-top: 24px; padding-top: 0; }
  .mp-login-form-panel { padding: 42px clamp(26px, 7vw, 70px) 48px; }
}
@media (max-width: 640px) {
  .mp-login-page { min-height: 0; padding: 28px 0 54px; }
  .mp-login-wrap { width: min(100% - 22px, 1120px); }
  .mp-login-shell { border-radius: 25px; }
  .mp-login-intro { padding: 22px 20px 24px; }
  .mp-login-back { font-size: .74rem; }
  .mp-login-brand { margin-top: 22px; font-size: .75rem; }
  .mp-login-intro-copy { margin-top: 24px; }
  .mp-login-intro-copy h2 { font-size: 2rem; }
  .mp-login-intro-copy p { font-size: .9rem; }
  .mp-login-benefits { grid-template-columns: 1fr; gap: 9px; }
  .mp-login-benefit small { display: block; }
  .mp-login-trust { align-items: flex-start; font-size: .7rem; line-height: 1.4; }
  .mp-login-form-panel { padding: 32px 19px 34px; }
  .mp-login-head { grid-template-columns: 48px minmax(0,1fr); gap: 12px; margin-bottom: 25px; }
  .mp-login-head-icon { width: 47px; height: 47px; border-radius: 15px; }
  .mp-login-head h1 { font-size: 1.8rem; }
  .mp-login-head p { font-size: .88rem; }
  .mp-login-input-wrap { min-height: 53px; }
  .mp-login-register { grid-template-columns: 42px minmax(0,1fr); }
  .mp-login-register a { grid-column: 1 / -1; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-login-back,
  .mp-login-input-wrap,
  .mp-password-toggle,
  .mp-login-submit,
  .mp-login-submit svg,
  .mp-login-register a { transition: none !important; }
}

/* =========================================================
   Registro ciudadano · Mesa de Partes v1.3
   Diseño aislado para no modificar el login ni los paneles.
   ========================================================= */
.mp-register-page {
  position: relative;
  min-height: calc(100vh - 170px);
  overflow: hidden;
  padding: 46px 0 76px;
  background:
    radial-gradient(circle at 7% 8%, rgba(37, 99, 235, .12), transparent 24%),
    radial-gradient(circle at 94% 16%, rgba(124, 58, 237, .12), transparent 25%),
    radial-gradient(circle at 80% 92%, rgba(16, 185, 129, .08), transparent 22%),
    linear-gradient(180deg, #f6f9ff 0%, #ffffff 42%, #f8faff 100%);
}
.mp-register-page::before,
.mp-register-page::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}
.mp-register-page::before {
  width: 310px;
  height: 310px;
  left: -175px;
  top: 30%;
  border: 1px solid rgba(37,99,235,.11);
  box-shadow: 0 0 0 40px rgba(37,99,235,.024), 0 0 0 84px rgba(124,58,237,.018);
}
.mp-register-page::after {
  width: 180px;
  height: 180px;
  right: -88px;
  bottom: 8%;
  background: linear-gradient(135deg, rgba(250,204,21,.12), rgba(16,185,129,.05));
  filter: blur(1px);
}
.mp-register-wrap {
  position: relative;
  z-index: 1;
  width: min(1240px, calc(100% - 34px));
  margin: 0 auto;
}
.mp-register-shell {
  display: grid;
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.42fr);
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.23);
  border-radius: 34px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15,35,78,.14), 0 3px 12px rgba(15,35,78,.05);
}
.mp-register-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  padding: 34px 34px 36px;
  color: #fff;
  background:
    radial-gradient(circle at 12% 8%, rgba(250,204,21,.21), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(168,85,247,.25), transparent 31%),
    radial-gradient(circle at 70% 94%, rgba(16,185,129,.17), transparent 27%),
    linear-gradient(145deg, #0d2a60 0%, #204a94 52%, #5d36a4 100%);
  isolation: isolate;
}
.mp-register-intro::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 290px;
  height: 290px;
  right: -150px;
  top: -130px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(255,255,255,.03), 0 0 0 74px rgba(255,255,255,.02);
}
.mp-register-intro-pattern {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .22;
  background-image: radial-gradient(rgba(255,255,255,.26) .8px, transparent .8px);
  background-size: 21px 21px;
  mask-image: linear-gradient(180deg, transparent 0%, #000 24%, #000 82%, transparent 100%);
}
.mp-register-back {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: rgba(255,255,255,.77);
  background: rgba(255,255,255,.07);
  text-decoration: none;
  font-size: .76rem;
  font-weight: 850;
  backdrop-filter: blur(8px);
  transition: .2s ease;
}
.mp-register-back:hover { color:#fff; background:rgba(255,255,255,.15); transform:translateX(-2px); }
.mp-register-back svg { width:17px; height:17px; }
.mp-register-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 31px;
  color: rgba(255,255,255,.91);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.mp-register-brand-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.08));
  box-shadow: 0 12px 28px rgba(7,22,56,.18);
}
.mp-register-brand-icon svg { width:23px; height:23px; }
.mp-register-intro-copy { margin-top: 39px; }
.mp-register-kicker {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 11px;
  border: 1px solid rgba(253,230,138,.28);
  border-radius: 999px;
  color: #fde68a;
  background: rgba(255,255,255,.08);
  font-size: .71rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mp-register-intro-copy h2 {
  margin: 15px 0 13px;
  color: #fff;
  font-size: clamp(2rem, 3vw, 3.05rem);
  line-height: 1.04;
  letter-spacing: -.045em;
}
.mp-register-intro-copy p {
  margin: 0;
  color: rgba(255,255,255,.77);
  line-height: 1.65;
}
.mp-register-journey {
  position: relative;
  display: grid;
  gap: 12px;
  margin-top: 34px;
}
.mp-register-journey::before {
  content: "";
  position: absolute;
  left: 19px;
  top: 37px;
  bottom: 37px;
  width: 2px;
  background: linear-gradient(180deg, rgba(96,165,250,.65), rgba(167,139,250,.58), rgba(52,211,153,.58));
}
.mp-register-journey-item {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.068);
  backdrop-filter: blur(8px);
}
.mp-register-journey-number {
  position: relative;
  z-index: 1;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 3px solid rgba(255,255,255,.14);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg,#3b82f6,#2563eb);
  font-size: .82rem;
  font-weight: 950;
  box-shadow: 0 8px 20px rgba(8,31,73,.20);
}
.mp-register-journey-number.is-violet { background:linear-gradient(135deg,#a855f7,#7c3aed); }
.mp-register-journey-number.is-green { background:linear-gradient(135deg,#10b981,#059669); }
.mp-register-journey-item > span:last-child { display:grid; gap:3px; min-width:0; }
.mp-register-journey-item strong { color:#fff; font-size:.87rem; }
.mp-register-journey-item small { color:rgba(255,255,255,.66); font-size:.75rem; line-height:1.38; }
.mp-register-privacy-note {
  display: grid;
  grid-template-columns: 39px minmax(0,1fr);
  gap: 11px;
  align-items: center;
  margin-top: auto;
  padding: 16px 0 0;
  color: rgba(255,255,255,.72);
}
.mp-register-privacy-note > svg {
  width: 38px;
  height: 38px;
  padding: 8px;
  border: 1px solid rgba(52,211,153,.28);
  border-radius: 13px;
  color: #6ee7b7;
  background: rgba(16,185,129,.10);
}
.mp-register-privacy-note > span { display:grid; gap:2px; }
.mp-register-privacy-note strong { color:#fff; font-size:.8rem; }
.mp-register-privacy-note small { font-size:.72rem; line-height:1.38; }

.mp-register-form-panel {
  padding: 43px clamp(28px, 4.2vw, 60px) 48px;
  background:
    radial-gradient(circle at 100% 0%, rgba(124,58,237,.055), transparent 25%),
    linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.mp-register-form-inner { width:100%; max-width:800px; margin:0 auto; }
.mp-register-head {
  display: grid;
  grid-template-columns: 56px minmax(0,1fr);
  gap: 15px;
  align-items: start;
  margin-bottom: 23px;
}
.mp-register-head-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(37,99,235,.13);
  border-radius: 18px;
  color: #2563eb;
  background: linear-gradient(145deg,#eef5ff,#f8f4ff);
  box-shadow: 0 14px 30px rgba(37,99,235,.11), inset 0 0 0 1px rgba(255,255,255,.84);
}
.mp-register-head-icon svg { width:27px; height:27px; }
.mp-register-overline {
  display:block;
  margin-bottom:5px;
  color:#7c3aed;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.mp-register-head h1 {
  margin:0 0 7px;
  color:#14213d;
  font-size:clamp(1.85rem,3vw,2.4rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.mp-register-head p { margin:0; color:#64748b; line-height:1.55; }
.mp-register-progress {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:24px;
  padding:7px;
  border:1px solid #e5ebf4;
  border-radius:17px;
  background:#f7faff;
}
.mp-register-progress span {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:37px;
  border-radius:12px;
  color:#718096;
  font-size:.77rem;
  font-weight:850;
}
.mp-register-progress span.is-active { color:#2454a3; background:#fff; box-shadow:0 7px 17px rgba(37,99,235,.09); }
.mp-register-progress i {
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#9aa9bd;
  font-style:normal;
  font-size:.68rem;
  font-weight:950;
}
.mp-register-progress span.is-active i { background:linear-gradient(135deg,#2563eb,#7c3aed); }
.mp-register-alert {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.mp-register-alert > span {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#e11d48;
  font-weight:900;
}
.mp-register-form { display:grid; gap:19px; }
.mp-register-group {
  min-width:0;
  margin:0;
  padding:18px;
  border:1px solid #e3eaf3;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 10px 28px rgba(15,35,78,.045);
}
.mp-register-group legend {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:0 7px;
  color:#27364f;
}
.mp-register-group legend > span:last-child { display:grid; gap:2px; }
.mp-register-group legend strong { font-size:.89rem; }
.mp-register-group legend small { color:#7b8ba0; font-size:.73rem; font-weight:600; line-height:1.35; }
.mp-register-group-icon {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:13px;
}
.mp-register-group-icon svg { width:21px; height:21px; }
.mp-register-group-icon.is-blue { color:#2563eb; background:#eaf2ff; }
.mp-register-group-icon.is-violet { color:#7c3aed; background:#f1eaff; }
.mp-register-group-icon.is-green { color:#059669; background:#e8fbf4; }
.mp-register-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
  margin-top:13px;
}
.mp-register-field { display:grid; gap:7px; min-width:0; }
.mp-register-field.is-full { grid-column:1/-1; }
.mp-register-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#34425a;
  font-size:.81rem;
  font-weight:900;
}
.mp-register-label b { color:#e11d48; }
.mp-register-label small { color:#94a3b8; font-size:.68rem; font-weight:800; }
.mp-register-input-wrap {
  position:relative;
  display:flex;
  align-items:center;
  min-height:52px;
  overflow:hidden;
  border:1px solid #dbe4f0;
  border-radius:15px;
  background:#f8fbff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}
.mp-register-input-wrap:focus-within {
  border-color:rgba(37,99,235,.52);
  background:#fff;
  box-shadow:0 0 0 4px rgba(37,99,235,.085), 0 10px 24px rgba(37,99,235,.07);
  transform:translateY(-1px);
}
.mp-register-input-wrap > svg {
  width:20px;
  height:20px;
  flex:0 0 auto;
  margin-left:14px;
  color:#6077a1;
}
.mp-register-input-wrap input {
  flex:1;
  min-width:0;
  min-height:50px;
  padding:12px 13px;
  border:0;
  outline:0;
  color:#14213d;
  background:transparent;
  font:inherit;
  font-size:.9rem;
}
.mp-register-input-wrap input::placeholder { color:#9aa8bb; }
.mp-register-help { color:#718096; font-size:.71rem; line-height:1.4; }
.mp-register-password-toggle {
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  margin-right:5px;
  border:0;
  border-radius:12px;
  color:#64748b;
  background:transparent;
  cursor:pointer;
  transition:.2s ease;
}
.mp-register-password-toggle:hover { color:#2563eb; background:#edf4ff; }
.mp-register-password-toggle svg { width:20px; height:20px; grid-area:1/1; }
.mp-register-password-toggle .mp-eye-closed { display:none; }
.mp-register-password-toggle[aria-pressed="true"] .mp-eye-open { display:none; }
.mp-register-password-toggle[aria-pressed="true"] .mp-eye-closed { display:block; }
.mp-password-strength { display:grid; gap:6px; }
.mp-password-strength > span { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.mp-password-strength i { height:4px; border-radius:999px; background:#e3e8ef; transition:background .2s ease; }
.mp-password-strength small { color:#718096; font-size:.7rem; line-height:1.35; }
.mp-password-strength[data-level="1"] i:nth-child(1) { background:#f59e0b; }
.mp-password-strength[data-level="2"] i:nth-child(-n+2) { background:#3b82f6; }
.mp-password-strength[data-level="3"] i { background:#10b981; }
.mp-register-match { color:#718096; font-size:.7rem; line-height:1.35; }
.mp-register-match.is-valid { color:#047857; }
.mp-register-match.is-invalid { color:#be123c; }
.mp-register-consent {
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:11px;
  align-items:flex-start;
  padding:15px 16px;
  border:1px solid rgba(5,150,105,.17);
  border-radius:17px;
  background:linear-gradient(135deg,#f0fdf8,#f9fffc);
  cursor:pointer;
}
.mp-register-checkbox { position:relative; width:24px; height:24px; margin-top:1px; }
.mp-register-checkbox input { position:absolute; opacity:0; pointer-events:none; }
.mp-register-checkbox i {
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1.5px solid #9ab5ae;
  border-radius:8px;
  background:#fff;
  transition:.2s ease;
}
.mp-register-checkbox i::after {
  content:"";
  width:10px;
  height:6px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  opacity:0;
  transform:rotate(-45deg) translateY(-1px);
}
.mp-register-checkbox input:focus-visible + i { box-shadow:0 0 0 4px rgba(5,150,105,.12); }
.mp-register-checkbox input:checked + i { border-color:#059669; background:linear-gradient(135deg,#10b981,#059669); }
.mp-register-checkbox input:checked + i::after { opacity:1; }
.mp-register-consent > span:last-child { display:grid; gap:3px; }
.mp-register-consent strong { color:#31534c; font-size:.81rem; }
.mp-register-consent small { color:#607a74; font-size:.73rem; line-height:1.45; }
.mp-register-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding-top:3px;
}
.mp-register-cancel,
.mp-register-submit {
  min-height:51px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 18px;
  border-radius:15px;
  text-decoration:none;
  font:inherit;
  font-size:.86rem;
  font-weight:900;
  transition:.22s ease;
}
.mp-register-cancel {
  border:1px solid #dce5f1;
  color:#4b5f79;
  background:#fff;
}
.mp-register-cancel:hover { color:#2454a3; border-color:#bed0ec; background:#f6f9ff; transform:translateY(-1px); }
.mp-register-cancel svg { width:18px; height:18px; }
.mp-register-submit {
  min-width:190px;
  border:0;
  color:#fff;
  background:linear-gradient(135deg,#2563eb 0%,#4f46e5 52%,#7c3aed 100%);
  box-shadow:0 15px 31px rgba(79,70,229,.24), inset 0 1px 0 rgba(255,255,255,.22);
  cursor:pointer;
}
.mp-register-submit:hover { transform:translateY(-2px); filter:saturate(1.06); box-shadow:0 20px 38px rgba(79,70,229,.30); }
.mp-register-submit svg { width:19px; height:19px; transition:transform .22s ease; }
.mp-register-submit:hover svg { transform:translateX(4px); }
.mp-register-submit[disabled] { opacity:.72; cursor:wait; transform:none; }
.mp-register-submit.is-loading svg { animation:mp-register-pulse 1s ease-in-out infinite; }
@keyframes mp-register-pulse { 50% { transform:translateX(3px); opacity:.55; } }
.mp-register-login-link {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin-top:24px;
  padding:14px 15px;
  border:1px solid #e1e8f2;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff,#fbf8ff);
}
.mp-register-login-icon {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#2563eb;
  background:#eaf2ff;
}
.mp-register-login-icon svg { width:21px; height:21px; }
.mp-register-login-link > span:nth-child(2) { display:grid; gap:2px; min-width:0; }
.mp-register-login-link strong { color:#26344c; font-size:.84rem; }
.mp-register-login-link small { color:#718096; font-size:.74rem; }
.mp-register-login-link a {
  padding:9px 12px;
  border:1px solid rgba(37,99,235,.16);
  border-radius:999px;
  color:#2454a3;
  background:#fff;
  text-decoration:none;
  font-size:.77rem;
  font-weight:900;
  white-space:nowrap;
  transition:.2s ease;
}
.mp-register-login-link a:hover { color:#fff; border-color:transparent; background:linear-gradient(135deg,#2563eb,#4f46e5); transform:translateY(-1px); }

@media (max-width: 1020px) {
  .mp-register-shell { grid-template-columns:1fr; }
  .mp-register-intro { min-height:auto; padding:28px 31px 31px; }
  .mp-register-brand { margin-top:24px; }
  .mp-register-intro-copy { margin-top:28px; }
  .mp-register-intro-copy h2 { max-width:780px; }
  .mp-register-intro-copy p { max-width:800px; }
  .mp-register-journey { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:25px; }
  .mp-register-journey::before { display:none; }
  .mp-register-journey-item { grid-template-columns:38px minmax(0,1fr); padding:10px; }
  .mp-register-journey-item small { display:none; }
  .mp-register-privacy-note { margin-top:22px; max-width:600px; }
  .mp-register-form-panel { padding:39px clamp(25px,6vw,60px) 46px; }
}
@media (max-width: 700px) {
  .mp-register-page { min-height:0; padding:27px 0 54px; }
  .mp-register-wrap { width:min(100% - 22px,1240px); }
  .mp-register-shell { border-radius:25px; }
  .mp-register-intro { padding:22px 20px 24px; }
  .mp-register-back { font-size:.73rem; }
  .mp-register-brand { margin-top:21px; font-size:.74rem; }
  .mp-register-intro-copy { margin-top:23px; }
  .mp-register-intro-copy h2 { font-size:2rem; }
  .mp-register-intro-copy p { font-size:.89rem; }
  .mp-register-journey { grid-template-columns:1fr; gap:8px; }
  .mp-register-journey-item small { display:block; }
  .mp-register-privacy-note { align-items:flex-start; }
  .mp-register-form-panel { padding:31px 17px 34px; }
  .mp-register-head { grid-template-columns:48px minmax(0,1fr); gap:12px; }
  .mp-register-head-icon { width:47px; height:47px; border-radius:15px; }
  .mp-register-head h1 { font-size:1.78rem; }
  .mp-register-head p { font-size:.87rem; }
  .mp-register-progress { gap:5px; padding:5px; }
  .mp-register-progress span { min-height:34px; font-size:.68rem; }
  .mp-register-progress i { width:20px; height:20px; }
  .mp-register-group { padding:15px 12px; border-radius:19px; }
  .mp-register-group legend { grid-template-columns:38px minmax(0,1fr); padding:0 4px; }
  .mp-register-group-icon { width:37px; height:37px; }
  .mp-register-group legend small { display:none; }
  .mp-register-grid { grid-template-columns:1fr; gap:13px; }
  .mp-register-field.is-full { grid-column:auto; }
  .mp-register-actions { flex-direction:column-reverse; align-items:stretch; }
  .mp-register-cancel, .mp-register-submit { width:100%; }
  .mp-register-login-link { grid-template-columns:42px minmax(0,1fr); }
  .mp-register-login-link a { grid-column:1/-1; text-align:center; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-register-back,
  .mp-register-input-wrap,
  .mp-register-password-toggle,
  .mp-register-checkbox i,
  .mp-register-cancel,
  .mp-register-submit,
  .mp-register-submit svg,
  .mp-register-login-link a { transition:none!important; animation:none!important; }
}

/* =========================================================
   Panel ciudadano · Mesa de Partes v1.4
   Estilos aislados para conservar las demás pantallas.
   ========================================================= */
.mp-citizen-dashboard-page {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 12%, rgba(37, 99, 235, .08), transparent 25%),
    radial-gradient(circle at 96% 18%, rgba(124, 58, 237, .07), transparent 27%),
    linear-gradient(180deg, #f7faff 0%, #ffffff 42%, #f7f9fe 100%);
}
.mp-citizen-dashboard-page::before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -220px;
  top: 360px;
  border: 1px solid rgba(37, 99, 235, .08);
  border-radius: 50%;
  box-shadow: 0 0 0 45px rgba(124,58,237,.018), 0 0 0 95px rgba(5,150,105,.012);
  pointer-events: none;
}
.mp-citizen-dashboard {
  position: relative;
  z-index: 1;
  padding: 34px 0 76px;
}
.mp-citizen-dashboard-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(285px, 360px);
  gap: 34px;
  align-items: center;
  min-height: 280px;
  padding: clamp(28px, 4.2vw, 52px);
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 32px;
  color: #fff;
  background:
    linear-gradient(120deg, rgba(255,255,255,.08), transparent 34%),
    linear-gradient(135deg, #0d2f68 0%, #2455a7 52%, #7040b4 100%);
  box-shadow: 0 28px 62px rgba(17, 48, 105, .20), inset 0 1px 0 rgba(255,255,255,.18);
}
.mp-citizen-dashboard-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .34;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(90deg, #000, transparent 78%);
}
.mp-citizen-dashboard-orb {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(.2px);
}
.mp-citizen-dashboard-orb--one {
  width: 250px;
  height: 250px;
  right: -65px;
  top: -115px;
  background: radial-gradient(circle, rgba(250,204,21,.33), rgba(250,204,21,0) 68%);
}
.mp-citizen-dashboard-orb--two {
  width: 220px;
  height: 220px;
  left: 44%;
  bottom: -150px;
  background: radial-gradient(circle, rgba(16,185,129,.24), rgba(16,185,129,0) 68%);
}
.mp-citizen-dashboard-copy { min-width: 0; }
.mp-citizen-dashboard-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #fde68a;
  background: rgba(255,255,255,.105);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.mp-citizen-dashboard-kicker svg { width: 18px; height: 18px; }
.mp-citizen-dashboard-copy h1 {
  margin: 16px 0 10px;
  color: #fff;
  font-size: clamp(2.15rem, 4.6vw, 3.8rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.mp-citizen-dashboard-copy > p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(.96rem, 1.6vw, 1.07rem);
  line-height: 1.65;
}
.mp-citizen-dashboard-meta {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.mp-citizen-dashboard-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: rgba(255,255,255,.85);
  background: rgba(8,25,65,.18);
  font-size: .75rem;
  font-weight: 800;
  backdrop-filter: blur(8px);
}
.mp-citizen-dashboard-meta svg { width: 16px; height: 16px; color: #bfdbfe; }
.mp-citizen-dashboard-actions { display: grid; align-items: center; }
.mp-citizen-dashboard-primary {
  display: grid;
  grid-template-columns: 50px minmax(0,1fr) 24px;
  gap: 13px;
  align-items: center;
  min-height: 88px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 23px;
  color: #173567;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,249,255,.94));
  box-shadow: 0 22px 46px rgba(8,25,65,.22), inset 0 1px 0 #fff;
  text-decoration: none;
  transition: transform .24s ease, box-shadow .24s ease, filter .24s ease;
}
.mp-citizen-dashboard-primary:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 54px rgba(8,25,65,.29), inset 0 1px 0 #fff;
  filter: saturate(1.04);
}
.mp-citizen-dashboard-primary-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  box-shadow: 0 13px 25px rgba(79,70,229,.26);
}
.mp-citizen-dashboard-primary-icon svg { width: 24px; height: 24px; }
.mp-citizen-dashboard-primary > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.mp-citizen-dashboard-primary strong { color: #173567; font-size: .94rem; }
.mp-citizen-dashboard-primary small { color: #718096; font-size: .75rem; }
.mp-citizen-dashboard-primary-arrow { width: 22px; height: 22px; color: #5b47bf; transition: transform .22s ease; }
.mp-citizen-dashboard-primary:hover .mp-citizen-dashboard-primary-arrow { transform: translateX(4px); }

.mp-citizen-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 15px;
  margin: 22px 0;
}
.mp-citizen-stat {
  --stat-color: #2563eb;
  --stat-soft: #eaf2ff;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 50px minmax(0,1fr);
  gap: 13px;
  align-items: center;
  min-height: 126px;
  padding: 18px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 23px;
  background: linear-gradient(145deg, #fff, #fbfdff);
  box-shadow: 0 16px 38px rgba(15,35,78,.075), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease;
}
.mp-citizen-stat::after {
  content: "";
  position: absolute;
  width: 100px;
  height: 100px;
  right: -49px;
  top: -51px;
  border-radius: 50%;
  background: var(--stat-soft);
  opacity: .72;
}
.mp-citizen-stat:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--stat-color) 25%, transparent);
  box-shadow: 0 24px 46px rgba(15,35,78,.12);
}
.mp-citizen-stat--process { --stat-color:#7c3aed; --stat-soft:#f0eaff; }
.mp-citizen-stat--observed { --stat-color:#ea580c; --stat-soft:#fff0e6; }
.mp-citizen-stat--completed { --stat-color:#059669; --stat-soft:#e8fbf4; }
.mp-citizen-stat-icon {
  position: relative;
  z-index: 1;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: var(--stat-color);
  background: var(--stat-soft);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--stat-color) 13%, transparent);
}
.mp-citizen-stat-icon svg { width: 24px; height: 24px; }
.mp-citizen-stat-copy { position: relative; z-index: 1; display: grid; min-width: 0; }
.mp-citizen-stat-copy small {
  color: #65758c;
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.mp-citizen-stat-copy strong {
  margin: 3px 0 0;
  color: #14213d;
  font-size: 2rem;
  line-height: 1;
}
.mp-citizen-stat-copy em {
  margin-top: 7px;
  overflow: hidden;
  color: #7a899c;
  font-size: .7rem;
  font-style: normal;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.mp-citizen-expedients {
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.23);
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 22px 52px rgba(15,35,78,.085), inset 0 1px 0 #fff;
}
.mp-citizen-expedients-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border-bottom: 1px solid #e8edf5;
  background:
    radial-gradient(circle at 4% 0%, rgba(37,99,235,.08), transparent 30%),
    linear-gradient(180deg, #fff, #fbfdff);
}
.mp-citizen-expedients-title {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 13px;
  align-items: center;
  min-width: 0;
}
.mp-citizen-expedients-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #315eb2;
  background: linear-gradient(135deg,#eaf2ff,#f3edff);
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.10);
}
.mp-citizen-expedients-icon svg { width: 23px; height: 23px; }
.mp-citizen-expedients-title > span:last-child { display: grid; min-width: 0; }
.mp-citizen-expedients-title small {
  color: #6d4bd1;
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.mp-citizen-expedients-title h2 { margin: 2px 0 3px; color: #172540; font-size: 1.25rem; }
.mp-citizen-expedients-title p { margin: 0; color: #718096; font-size: .77rem; line-height: 1.45; }
.mp-citizen-expedients-tools { display: flex; align-items: center; gap: 9px; }
.mp-citizen-search,
.mp-citizen-filter {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 44px;
  overflow: hidden;
  border: 1px solid #dce5f1;
  border-radius: 14px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.mp-citizen-search:focus-within,
.mp-citizen-filter:focus-within {
  border-color: rgba(37,99,235,.46);
  box-shadow: 0 0 0 4px rgba(37,99,235,.075);
}
.mp-citizen-search { width: min(280px, 28vw); }
.mp-citizen-search svg,
.mp-citizen-filter svg { width: 18px; height: 18px; margin-left: 12px; color: #708199; flex: 0 0 auto; }
.mp-citizen-search input,
.mp-citizen-filter select {
  min-width: 0;
  min-height: 42px;
  border: 0;
  outline: 0;
  color: #27364f;
  background: transparent;
  font: inherit;
  font-size: .79rem;
}
.mp-citizen-search input { width: 100%; padding: 10px 12px 10px 9px; }
.mp-citizen-filter select { padding: 10px 30px 10px 9px; cursor: pointer; }
.mp-citizen-table-wrap { overflow-x: auto; }
.mp-citizen-table {
  width: 100%;
  min-width: 900px;
  border-collapse: separate;
  border-spacing: 0;
}
.mp-citizen-table th {
  padding: 12px 15px;
  border-bottom: 1px solid #e9eef5;
  color: #728198;
  background: #f7f9fc;
  text-align: left;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
  white-space: nowrap;
}
.mp-citizen-table td {
  padding: 15px;
  border-bottom: 1px solid #edf1f6;
  color: #3f4f67;
  font-size: .8rem;
  vertical-align: middle;
}
.mp-citizen-table tbody tr:last-child td { border-bottom: 0; }
.mp-citizen-table tbody tr { transition: background .2s ease, transform .2s ease; }
.mp-citizen-table tbody tr:hover { background: #f8fbff; }
.mp-citizen-code { display: inline-flex; align-items: center; gap: 9px; white-space: nowrap; }
.mp-citizen-code-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #2563eb;
  background: #eaf2ff;
}
.mp-citizen-code-icon svg { width: 18px; height: 18px; }
.mp-citizen-code strong { color: #173567; font-size: .8rem; }
.mp-citizen-document { display: grid; gap: 3px; min-width: 195px; }
.mp-citizen-document strong { color: #243550; font-size: .81rem; }
.mp-citizen-document small { max-width: 300px; color: #78879a; font-size: .73rem; line-height: 1.42; }
.mp-citizen-area {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid #e0e8f3;
  border-radius: 999px;
  color: #51647e;
  background: #f8fbff;
  font-size: .72rem;
  font-weight: 850;
  white-space: nowrap;
}
.mp-citizen-date { display: inline-block; max-width: 145px; color: #61738b; line-height: 1.4; }
.mp-citizen-detail {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 8px 11px;
  border: 1px solid rgba(37,99,235,.16);
  border-radius: 12px;
  color: #2454a3;
  background: #f7faff;
  text-decoration: none;
  font-size: .72rem;
  font-weight: 900;
  white-space: nowrap;
  transition: .2s ease;
}
.mp-citizen-detail svg { width: 16px; height: 16px; transition: transform .2s ease; }
.mp-citizen-detail:hover { color: #fff; border-color: transparent; background: linear-gradient(135deg,#2563eb,#6d3fc5); transform: translateY(-1px); }
.mp-citizen-detail:hover svg { transform: translateX(3px); }
.mp-citizen-expedient-row[hidden] { display: none !important; }
.mp-citizen-no-results {
  display: grid;
  place-items: center;
  gap: 7px;
  padding: 42px 20px;
  color: #728198;
  text-align: center;
}
.mp-citizen-no-results[hidden] { display: none; }
.mp-citizen-no-results > span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin-bottom: 4px;
  border-radius: 18px;
  color: #7652cc;
  background: #f1edff;
}
.mp-citizen-no-results svg { width: 28px; height: 28px; }
.mp-citizen-no-results strong { color: #26364f; }
.mp-citizen-no-results small { color: #7a899d; }
.mp-citizen-empty {
  display: grid;
  grid-template-columns: 118px minmax(0,1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 36px clamp(24px,5vw,58px);
  background:
    radial-gradient(circle at 8% 50%, rgba(37,99,235,.07), transparent 25%),
    linear-gradient(135deg,#fbfdff,#fff);
}
.mp-citizen-empty-illustration {
  width: 112px;
  height: 112px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  color: #4b65c6;
  background: linear-gradient(135deg,#eaf2ff,#f3edff);
}
.mp-citizen-empty-illustration svg { width: 90px; height: 90px; }
.mp-citizen-empty > span:nth-child(2) { min-width: 0; }
.mp-citizen-empty strong { display: block; color: #20314d; font-size: 1.15rem; }
.mp-citizen-empty p { max-width: 580px; margin: 7px 0 0; color: #708097; font-size: .85rem; line-height: 1.55; }
.mp-citizen-empty-action {
  min-height: 45px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 15px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg,#2563eb,#7c3aed);
  box-shadow: 0 13px 27px rgba(79,70,229,.21);
  text-decoration: none;
  font-size: .79rem;
  font-weight: 900;
  white-space: nowrap;
  transition: .22s ease;
}
.mp-citizen-empty-action:hover { transform: translateY(-2px); box-shadow: 0 19px 34px rgba(79,70,229,.27); }
.mp-citizen-help {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  gap: 13px;
  align-items: center;
  margin-top: 18px;
  padding: 15px 17px;
  border: 1px solid rgba(5,150,105,.17);
  border-radius: 20px;
  background: linear-gradient(135deg,#f0fdf8,#fbfffd);
}
.mp-citizen-help-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #047857;
  background: #dff8ee;
}
.mp-citizen-help-icon svg { width: 22px; height: 22px; }
.mp-citizen-help > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.mp-citizen-help strong { color: #295347; font-size: .82rem; }
.mp-citizen-help small { color: #648078; font-size: .75rem; line-height: 1.45; }
.mp-citizen-help a {
  padding: 9px 12px;
  border: 1px solid rgba(5,150,105,.16);
  border-radius: 999px;
  color: #047857;
  background: #fff;
  text-decoration: none;
  font-size: .73rem;
  font-weight: 900;
  white-space: nowrap;
}
.mp-citizen-help a:hover { color: #fff; border-color: #059669; background: #059669; }

@media (max-width: 1040px) {
  .mp-citizen-dashboard-hero { grid-template-columns: 1fr; }
  .mp-citizen-dashboard-actions { max-width: 430px; }
  .mp-citizen-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mp-citizen-expedients-head { align-items: stretch; flex-direction: column; }
  .mp-citizen-expedients-tools { width: 100%; }
  .mp-citizen-search { width: 100%; flex: 1; }
}
@media (max-width: 720px) {
  .mp-citizen-dashboard { padding: 22px 0 54px; }
  .mp-citizen-dashboard-hero { min-height: 0; padding: 25px 19px; border-radius: 25px; }
  .mp-citizen-dashboard-copy h1 { font-size: 2.15rem; }
  .mp-citizen-dashboard-meta { align-items: stretch; flex-direction: column; }
  .mp-citizen-dashboard-meta span { width: 100%; }
  .mp-citizen-dashboard-primary { grid-template-columns: 47px minmax(0,1fr) 22px; min-height: 82px; }
  .mp-citizen-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
  .mp-citizen-stat { grid-template-columns: 42px minmax(0,1fr); min-height: 112px; padding: 14px; border-radius: 20px; }
  .mp-citizen-stat-icon { width: 42px; height: 42px; border-radius: 14px; }
  .mp-citizen-stat-icon svg { width: 21px; height: 21px; }
  .mp-citizen-stat-copy strong { font-size: 1.7rem; }
  .mp-citizen-stat-copy em { display: none; }
  .mp-citizen-expedients { border-radius: 23px; }
  .mp-citizen-expedients-head { padding: 18px 15px; }
  .mp-citizen-expedients-title { grid-template-columns: 43px minmax(0,1fr); }
  .mp-citizen-expedients-icon { width: 43px; height: 43px; }
  .mp-citizen-expedients-title p { display: none; }
  .mp-citizen-expedients-tools { flex-direction: column; }
  .mp-citizen-search, .mp-citizen-filter { width: 100%; }
  .mp-citizen-filter select { width: 100%; }
  .mp-citizen-table-wrap { overflow: visible; padding: 10px; }
  .mp-citizen-table { min-width: 0; display: block; }
  .mp-citizen-table thead { display: none; }
  .mp-citizen-table tbody { display: grid; gap: 10px; }
  .mp-citizen-table tr {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid #e3eaf3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(15,35,78,.055);
  }
  .mp-citizen-table td {
    display: grid;
    grid-template-columns: 102px minmax(0,1fr);
    gap: 10px;
    align-items: center;
    padding: 11px 13px;
    border-bottom: 1px solid #edf1f6;
    font-size: .78rem;
  }
  .mp-citizen-table td::before {
    content: attr(data-label);
    color: #8290a3;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
  }
  .mp-citizen-table td:last-child { border-bottom: 0; background: #f8fbff; }
  .mp-citizen-code { white-space: normal; }
  .mp-citizen-document { min-width: 0; }
  .mp-citizen-document small { max-width: none; }
  .mp-citizen-detail { width: 100%; justify-content: center; }
  .mp-citizen-empty { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 30px 20px; }
  .mp-citizen-empty-action { width: 100%; }
  .mp-citizen-help { grid-template-columns: 43px minmax(0,1fr); }
  .mp-citizen-help a { grid-column: 1/-1; text-align: center; }
}
@media (max-width: 440px) {
  .mp-citizen-stats { grid-template-columns: 1fr; }
  .mp-citizen-stat { min-height: 96px; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-citizen-dashboard-primary,
  .mp-citizen-dashboard-primary-arrow,
  .mp-citizen-stat,
  .mp-citizen-search,
  .mp-citizen-filter,
  .mp-citizen-detail,
  .mp-citizen-detail svg,
  .mp-citizen-empty-action { transition: none !important; }
}

/* =========================================================
   Presentar nuevo documento · diseño profesional v1.5
   Estilos aislados para mesa-nuevo.php.
   ========================================================= */
.mp-submit-page {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 12%, rgba(37,99,235,.09), transparent 25%),
    radial-gradient(circle at 98% 18%, rgba(124,58,237,.09), transparent 28%),
    radial-gradient(circle at 78% 94%, rgba(16,185,129,.075), transparent 24%),
    linear-gradient(180deg,#f8fbff 0%,#fff 42%,#f6f9ff 100%);
}
.mp-submit-page::before,
.mp-submit-page::after {
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
}
.mp-submit-page::before {
  width:360px;
  height:360px;
  top:70px;
  left:-220px;
  border:1px solid rgba(37,99,235,.09);
  box-shadow:0 0 0 48px rgba(37,99,235,.025),0 0 0 96px rgba(124,58,237,.018);
}
.mp-submit-page::after {
  width:260px;
  height:260px;
  right:-150px;
  bottom:120px;
  background:radial-gradient(circle,rgba(16,185,129,.07),transparent 67%);
}
.mp-submit-shell {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(285px,340px) minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding-top:34px;
  padding-bottom:78px;
}
.mp-submit-guide {
  position:sticky;
  top:24px;
  overflow:hidden;
  min-height:660px;
  padding:29px 25px 24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 12%,rgba(255,255,255,.18),transparent 24%),
    radial-gradient(circle at 12% 88%,rgba(250,204,21,.14),transparent 30%),
    linear-gradient(150deg,#102f68 0%,#2452a3 52%,#7144b7 100%);
  box-shadow:0 28px 70px rgba(18,47,104,.23);
  isolation:isolate;
}
.mp-submit-guide::before {
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  right:-112px;
  top:-95px;
  z-index:-1;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  box-shadow:0 0 0 32px rgba(255,255,255,.035),0 0 0 67px rgba(255,255,255,.02);
}
.mp-submit-guide-glow {
  position:absolute;
  inset:auto -85px -105px auto;
  z-index:-1;
  width:250px;
  height:250px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(16,185,129,.23),transparent 68%);
}
.mp-submit-guide-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:#fde68a;
  background:rgba(255,255,255,.095);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.105em;
  text-transform:uppercase;
  backdrop-filter:blur(9px);
}
.mp-submit-guide-kicker svg { width:17px; height:17px; }
.mp-submit-guide h1 {
  margin:18px 0 12px;
  color:#fff;
  font-size:clamp(1.72rem,2.7vw,2.32rem);
  line-height:1.12;
  letter-spacing:-.04em;
}
.mp-submit-guide > p {
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:.86rem;
  line-height:1.62;
}
.mp-submit-person {
  display:grid;
  grid-template-columns:47px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin:23px 0 22px;
  padding:13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
}
.mp-submit-person-avatar {
  width:47px;
  height:47px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#25478c;
  background:linear-gradient(135deg,#fff,#dceaff);
  box-shadow:0 10px 24px rgba(8,25,61,.18);
}
.mp-submit-person-avatar svg { width:24px; height:24px; }
.mp-submit-person > span:last-child { display:grid; min-width:0; gap:2px; }
.mp-submit-person small { color:rgba(255,255,255,.64); font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.075em; }
.mp-submit-person strong { overflow:hidden; color:#fff; font-size:.82rem; white-space:nowrap; text-overflow:ellipsis; }
.mp-submit-person em { color:#fde68a; font-size:.72rem; font-style:normal; font-weight:850; }
.mp-submit-guide-steps { position:relative; display:grid; gap:9px; }
.mp-submit-guide-steps::before {
  content:"";
  position:absolute;
  top:28px;
  bottom:28px;
  left:18px;
  width:1px;
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.10));
}
.mp-submit-guide-steps article {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:37px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:10px;
  border:1px solid transparent;
  border-radius:17px;
  transition:.2s ease;
}
.mp-submit-guide-steps article.is-active {
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.09);
}
.mp-submit-guide-steps article > span {
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.21);
  border-radius:13px;
  color:#fff;
  background:rgba(255,255,255,.10);
  font-size:.76rem;
  font-weight:950;
}
.mp-submit-guide-steps article.is-active > span { color:#173b77; border-color:#fff; background:#fff; }
.mp-submit-guide-steps article > div { display:grid; gap:3px; min-width:0; }
.mp-submit-guide-steps strong { color:#fff; font-size:.78rem; }
.mp-submit-guide-steps small { color:rgba(255,255,255,.62); font-size:.69rem; line-height:1.35; }
.mp-submit-security-note {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin-top:20px;
  padding:13px;
  border:1px solid rgba(167,243,208,.22);
  border-radius:18px;
  background:rgba(4,120,87,.19);
}
.mp-submit-security-note > span {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#065f46;
  background:#d1fae5;
}
.mp-submit-security-note svg { width:20px; height:20px; }
.mp-submit-security-note > div { display:grid; gap:3px; }
.mp-submit-security-note strong { color:#ecfdf5; font-size:.75rem; }
.mp-submit-security-note small { color:rgba(236,253,245,.68); font-size:.66rem; line-height:1.42; }
.mp-submit-card {
  overflow:hidden;
  min-width:0;
  border:1px solid rgba(148,163,184,.23);
  border-radius:30px;
  background:rgba(255,255,255,.96);
  box-shadow:0 25px 62px rgba(15,35,78,.105);
}
.mp-submit-card-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:24px 28px;
  border-bottom:1px solid #e9eff7;
  background:
    radial-gradient(circle at 94% 0%,rgba(124,58,237,.09),transparent 26%),
    linear-gradient(135deg,#fbfdff,#fff);
}
.mp-submit-card-title {
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-width:0;
}
.mp-submit-card-icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  box-shadow:0 14px 28px rgba(79,70,229,.24);
}
.mp-submit-card-icon svg { width:27px; height:27px; }
.mp-submit-card-title > span:last-child { min-width:0; }
.mp-submit-card-title small { color:#6d4cc7; font-size:.66rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.mp-submit-card-title h2 { margin:3px 0 4px; color:#172a48; font-size:clamp(1.35rem,2.2vw,1.78rem); letter-spacing:-.035em; }
.mp-submit-card-title p { margin:0; color:#748399; font-size:.76rem; }
.mp-submit-card-title p strong { color:#ef4444; }
.mp-submit-progress { display:flex; align-items:center; gap:8px; }
.mp-submit-progress > span {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 9px;
  border:1px solid #e2e8f2;
  border-radius:999px;
  color:#77879d;
  background:#fff;
  font-size:.67rem;
  font-weight:850;
  white-space:nowrap;
  transition:.2s ease;
}
.mp-submit-progress > span b {
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#69788f;
  background:#edf2f8;
  font-size:.61rem;
}
.mp-submit-progress > span.is-current { color:#2454a3; border-color:rgba(37,99,235,.22); background:#f3f7ff; }
.mp-submit-progress > span.is-current b { color:#fff; background:linear-gradient(135deg,#2563eb,#7c3aed); }
.mp-submit-progress > span.is-complete { color:#047857; border-color:rgba(5,150,105,.20); background:#f0fdf8; }
.mp-submit-progress > span.is-complete b { color:#fff; background:#10b981; }
.mp-submit-progress > i { width:14px; height:1px; background:#dbe4ef; }
.mp-submit-alert {
  display:grid;
  grid-template-columns:43px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:20px 28px 0;
  padding:14px 15px;
  border:1px solid #fecdd3;
  border-radius:18px;
  color:#9f1239;
  background:linear-gradient(135deg,#fff1f2,#fff8f8);
}
.mp-submit-alert > span {
  width:41px;
  height:41px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#be123c;
  background:#ffe4e6;
}
.mp-submit-alert svg { width:22px; height:22px; }
.mp-submit-alert strong { display:block; font-size:.8rem; }
.mp-submit-alert p { margin:3px 0 0; color:#b4234e; font-size:.75rem; line-height:1.45; }
.mp-submit-form { display:block; }
.mp-submit-section {
  position:relative;
  padding:27px 28px 29px;
  border-bottom:1px solid #edf1f6;
}
.mp-submit-section.files-section {
  background:
    radial-gradient(circle at 98% 10%,rgba(124,58,237,.05),transparent 25%),
    linear-gradient(180deg,#fcfbff,#fff);
}
.mp-submit-section.confirm-section {
  background:
    radial-gradient(circle at 2% 90%,rgba(16,185,129,.055),transparent 24%),
    linear-gradient(180deg,#fbfffd,#fff);
}
.mp-submit-section-head {
  display:grid;
  grid-template-columns:auto 45px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin-bottom:20px;
}
.mp-submit-section-number { color:#b2bdcb; font-size:.69rem; font-weight:950; letter-spacing:.08em; }
.mp-submit-section-icon {
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border-radius:15px;
}
.mp-submit-section-icon svg { width:22px; height:22px; }
.mp-submit-section-icon.blue { color:#1d4ed8; background:#eaf2ff; }
.mp-submit-section-icon.violet { color:#6d28d9; background:#f1ebff; }
.mp-submit-section-icon.green { color:#047857; background:#dcfce7; }
.mp-submit-section-head > div { min-width:0; }
.mp-submit-section-head h3 { margin:0 0 3px; color:#20314d; font-size:1.02rem; }
.mp-submit-section-head p { margin:0; color:#7a899d; font-size:.74rem; line-height:1.42; }
.mp-submit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.mp-submit-grid .full { grid-column:1/-1; }
.mp-submit-field { display:grid; gap:7px; min-width:0; }
.mp-submit-label { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#34445d; font-size:.75rem; font-weight:900; }
.mp-submit-label b { color:#ef4444; }
.mp-submit-label em { padding:3px 7px; border-radius:999px; color:#7c5cc2; background:#f3efff; font-size:.59rem; font-style:normal; letter-spacing:.04em; text-transform:uppercase; }
.mp-submit-control { position:relative; display:block; min-width:0; }
.mp-submit-control > svg {
  position:absolute;
  left:14px;
  top:50%;
  z-index:2;
  width:19px;
  height:19px;
  color:#7d8ca1;
  transform:translateY(-50%);
  pointer-events:none;
}
.mp-submit-control input,
.mp-submit-control select,
.mp-submit-control textarea {
  width:100%;
  min-width:0;
  border:1px solid #dce5f0;
  border-radius:15px;
  outline:none;
  color:#172a48;
  background:#fbfdff;
  font:inherit;
  font-size:.82rem;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;
}
.mp-submit-control input,
.mp-submit-control select { min-height:49px; padding:11px 14px; }
.mp-submit-control.has-icon input,
.mp-submit-control.has-icon select { padding-left:43px; }
.mp-submit-control select { appearance:none; padding-right:39px; background-image:linear-gradient(45deg,transparent 50%,#8492a6 50%),linear-gradient(135deg,#8492a6 50%,transparent 50%); background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.mp-submit-control textarea { min-height:112px; padding:13px 14px; resize:vertical; line-height:1.55; }
.mp-submit-control input:focus,
.mp-submit-control select:focus,
.mp-submit-control textarea:focus { border-color:rgba(37,99,235,.48); background:#fff; box-shadow:0 0 0 4px rgba(37,99,235,.085); }
.mp-submit-control input::placeholder,
.mp-submit-control textarea::placeholder { color:#a0adbd; }
.mp-submit-helper { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#8795a8; font-size:.65rem; line-height:1.4; }
.mp-submit-helper span:last-child { flex:none; color:#6f7d91; font-variant-numeric:tabular-nums; }
.mp-submit-field > small { color:#8795a8; font-size:.65rem; line-height:1.4; }
.mp-submit-folios-field { align-self:stretch; }
.mp-submit-info-card {
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-height:83px;
  padding:12px 13px;
  border:1px solid rgba(14,165,233,.15);
  border-radius:17px;
  background:linear-gradient(135deg,#f0f9ff,#fbfdff);
}
.mp-submit-info-card > span {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#0369a1;
  background:#e0f2fe;
}
.mp-submit-info-card svg { width:20px; height:20px; }
.mp-submit-info-card > div { display:grid; gap:3px; }
.mp-submit-info-card strong { color:#31536e; font-size:.72rem; }
.mp-submit-info-card small { color:#70879a; font-size:.64rem; line-height:1.42; }
.mp-submit-upload-grid { display:grid; gap:13px; }
.mp-upload-zone {
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  min-height:112px;
  padding:17px 18px;
  border:1.5px dashed #cbd8e8;
  border-radius:22px;
  cursor:pointer;
  background:#fff;
  transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease;
}
.mp-upload-zone:hover,
.mp-upload-zone.is-dragging { border-color:rgba(37,99,235,.48); background:#f8fbff; box-shadow:0 14px 30px rgba(37,99,235,.08); transform:translateY(-1px); }
.mp-upload-zone.attachments:hover,
.mp-upload-zone.attachments.is-dragging { border-color:rgba(124,58,237,.44); background:#fbfaff; }
.mp-upload-zone.has-file { border-style:solid; border-color:rgba(5,150,105,.30); background:linear-gradient(135deg,#f0fdf8,#fff); }
.mp-upload-native { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.mp-upload-icon {
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:19px;
  color:#2563eb;
  background:linear-gradient(135deg,#e7f0ff,#f5f8ff);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.07);
}
.mp-upload-zone.attachments .mp-upload-icon { color:#7c3aed; background:linear-gradient(135deg,#f0eaff,#faf8ff); }
.mp-upload-zone.has-file .mp-upload-icon { color:#047857; background:#dcfce7; }
.mp-upload-icon svg { width:29px; height:29px; }
.mp-upload-copy { display:grid; gap:3px; min-width:0; }
.mp-upload-copy > small { color:#6f7e93; font-size:.64rem; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
.mp-upload-copy > small b { color:#ef4444; }
.mp-upload-copy > strong { color:#253752; font-size:.82rem; }
.mp-upload-copy > em { color:#8997aa; font-size:.66rem; font-style:normal; }
.mp-upload-selected { overflow:hidden; max-width:100%; margin-top:3px; color:#2563eb; font-size:.68rem; font-weight:850; white-space:nowrap; text-overflow:ellipsis; }
.mp-upload-zone.has-file .mp-upload-selected { color:#047857; }
.mp-upload-action {
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 13px;
  border:1px solid rgba(37,99,235,.17);
  border-radius:12px;
  color:#2454a3;
  background:#f2f7ff;
  font-size:.69rem;
  font-weight:900;
  white-space:nowrap;
}
.mp-upload-zone.attachments .mp-upload-action { color:#6d3fc5; border-color:rgba(124,58,237,.16); background:#f6f2ff; }
.mp-upload-zone.has-file .mp-upload-action { color:#047857; border-color:rgba(5,150,105,.18); background:#ecfdf5; }
.mp-attachments-preview { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.mp-attachments-preview[hidden] { display:none; }
.mp-attachment-chip {
  min-width:0;
  max-width:100%;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  padding:7px 9px;
  border:1px solid #e0e8f2;
  border-radius:12px;
  color:#42546e;
  background:#fff;
  font-size:.65rem;
}
.mp-attachment-chip b { width:24px; height:24px; display:grid; place-items:center; border-radius:8px; color:#6d3fc5; background:#f1edff; font-size:.59rem; }
.mp-attachment-chip span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.mp-attachment-chip em { color:#8a97a9; font-size:.59rem; font-style:normal; white-space:nowrap; }
.mp-submit-declaration {
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:16px;
  border:1px solid rgba(5,150,105,.18);
  border-radius:19px;
  cursor:pointer;
  background:linear-gradient(135deg,#f0fdf8,#fff);
  transition:.2s ease;
}
.mp-submit-declaration:hover { border-color:rgba(5,150,105,.32); box-shadow:0 12px 25px rgba(5,150,105,.07); }
.mp-submit-declaration input { position:absolute; width:1px; height:1px; opacity:0; }
.mp-submit-checkmark {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1.5px solid #9ddbc5;
  border-radius:9px;
  color:transparent;
  background:#fff;
  transition:.2s ease;
}
.mp-submit-checkmark svg { width:16px; height:16px; }
.mp-submit-declaration input:checked + .mp-submit-checkmark { color:#fff; border-color:#10b981; background:#10b981; box-shadow:0 8px 18px rgba(16,185,129,.22); }
.mp-submit-declaration > span:last-child { display:grid; gap:4px; }
.mp-submit-declaration strong { color:#285546; font-size:.78rem; }
.mp-submit-declaration small { color:#668178; font-size:.68rem; line-height:1.5; }
.mp-submit-final-note {
  display:grid;
  grid-template-columns:43px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-top:12px;
  padding:13px 14px;
  border:1px solid rgba(37,99,235,.14);
  border-radius:17px;
  background:linear-gradient(135deg,#f1f6ff,#fff);
}
.mp-submit-final-note > span { width:43px; height:43px; display:grid; place-items:center; border-radius:14px; color:#2454a3; background:#e4edff; }
.mp-submit-final-note svg { width:21px; height:21px; }
.mp-submit-final-note > div { display:grid; gap:3px; }
.mp-submit-final-note strong { color:#304e7d; font-size:.74rem; }
.mp-submit-final-note small { color:#70819a; font-size:.66rem; line-height:1.45; }
.mp-submit-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:17px;
  padding:20px 28px 23px;
  background:#fbfdff;
}
.mp-submit-cancel {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:9px 12px;
  border-radius:12px;
  color:#66768d;
  text-decoration:none;
  font-size:.72rem;
  font-weight:850;
  transition:.2s ease;
}
.mp-submit-cancel svg { width:18px; height:18px; }
.mp-submit-cancel:hover { color:#2454a3; background:#edf4ff; }
.mp-submit-button {
  min-width:310px;
  min-height:60px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:9px 14px 9px 10px;
  border:0;
  border-radius:18px;
  color:#fff;
  background:
    radial-gradient(circle at 92% 20%,rgba(255,255,255,.20),transparent 24%),
    linear-gradient(135deg,#2563eb,#6d3fc5);
  box-shadow:0 16px 34px rgba(79,70,229,.24);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:.22s ease;
}
.mp-submit-button:hover { transform:translateY(-2px); box-shadow:0 22px 40px rgba(79,70,229,.30); }
.mp-submit-button:disabled { opacity:.68; cursor:wait; transform:none; }
.mp-submit-button-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.15); }
.mp-submit-button-icon svg { width:21px; height:21px; }
.mp-submit-button-copy { display:grid; gap:2px; min-width:0; }
.mp-submit-button-copy strong { color:#fff; font-size:.78rem; }
.mp-submit-button-copy small { color:rgba(255,255,255,.72); font-size:.62rem; }
.mp-submit-button-arrow { font-size:1.15rem; transition:transform .2s ease; }
.mp-submit-button:hover .mp-submit-button-arrow { transform:translateX(3px); }
.mp-submit-button.is-loading .mp-submit-button-icon svg { animation:mpSubmitPulse 1s ease-in-out infinite alternate; }
@keyframes mpSubmitPulse { from { transform:scale(.86); opacity:.62; } to { transform:scale(1.06); opacity:1; } }

@media (max-width:1120px) {
  .mp-submit-shell { grid-template-columns:1fr; }
  .mp-submit-guide { position:relative; top:auto; min-height:0; }
  .mp-submit-guide-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mp-submit-guide-steps::before { display:none; }
  .mp-submit-security-note { max-width:620px; }
}
@media (max-width:860px) {
  .mp-submit-card-head { grid-template-columns:1fr; }
  .mp-submit-progress { overflow:auto; padding-bottom:3px; }
  .mp-submit-progress > span { flex:none; }
}
@media (max-width:700px) {
  .mp-submit-shell { width:min(100% - 22px,1200px); padding-top:22px; padding-bottom:54px; }
  .mp-submit-guide { padding:24px 19px 20px; border-radius:25px; }
  .mp-submit-guide h1 { font-size:1.82rem; }
  .mp-submit-guide-steps { grid-template-columns:1fr; }
  .mp-submit-guide-steps article { padding:8px; }
  .mp-submit-card { border-radius:24px; }
  .mp-submit-card-head { padding:20px 17px; }
  .mp-submit-card-title { grid-template-columns:47px minmax(0,1fr); }
  .mp-submit-card-icon { width:47px; height:47px; border-radius:16px; }
  .mp-submit-progress { gap:6px; }
  .mp-submit-progress > span { padding:5px 7px; font-size:.62rem; }
  .mp-submit-progress > i { width:8px; }
  .mp-submit-alert { margin:16px 16px 0; }
  .mp-submit-section { padding:23px 17px 25px; }
  .mp-submit-section-head { grid-template-columns:42px minmax(0,1fr); }
  .mp-submit-section-number { display:none; }
  .mp-submit-section-icon { width:42px; height:42px; }
  .mp-submit-grid { grid-template-columns:1fr; }
  .mp-submit-grid .full { grid-column:auto; }
  .mp-upload-zone { grid-template-columns:49px minmax(0,1fr); min-height:0; padding:14px; }
  .mp-upload-icon { width:49px; height:49px; border-radius:16px; }
  .mp-upload-action { grid-column:1/-1; width:100%; }
  .mp-submit-actions { align-items:stretch; flex-direction:column-reverse; padding:17px; }
  .mp-submit-cancel { justify-content:center; }
  .mp-submit-button { width:100%; min-width:0; }
}
@media (max-width:430px) {
  .mp-submit-progress > span { font-size:0; }
  .mp-submit-progress > span b { font-size:.61rem; }
  .mp-submit-progress > i { width:12px; }
  .mp-submit-person strong { white-space:normal; }
  .mp-submit-helper { align-items:flex-start; flex-direction:column; gap:3px; }
  .mp-attachment-chip { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .mp-submit-guide-steps article,
  .mp-submit-progress > span,
  .mp-submit-control input,
  .mp-submit-control select,
  .mp-submit-control textarea,
  .mp-upload-zone,
  .mp-submit-declaration,
  .mp-submit-checkmark,
  .mp-submit-cancel,
  .mp-submit-button,
  .mp-submit-button-arrow { transition:none!important; }
  .mp-submit-button.is-loading .mp-submit-button-icon svg { animation:none!important; }
}

/* =========================================================
   CARGO DIGITAL PROFESIONAL · v1.5.0
   ========================================================= */
.mp-receipt-page {
  --mp-r-ink:#10233f;
  --mp-r-muted:#66758d;
  --mp-r-blue:#2457d6;
  --mp-r-violet:#6d42c8;
  --mp-r-green:#15946c;
  position:relative;
  overflow:hidden;
  padding:30px 0 76px;
  background:
    radial-gradient(circle at 8% 4%,rgba(75,116,255,.10),transparent 25%),
    radial-gradient(circle at 94% 14%,rgba(116,71,199,.09),transparent 22%),
    linear-gradient(180deg,#f5f8fe 0%,#edf3fb 100%);
}
.mp-receipt-page::before,
.mp-receipt-page::after {
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  filter:blur(1px);
}
.mp-receipt-page::before { width:300px; height:300px; left:-180px; top:260px; border:48px solid rgba(39,88,216,.035); }
.mp-receipt-page::after { width:220px; height:220px; right:-120px; bottom:90px; border:40px solid rgba(109,66,200,.04); }
.mp-receipt-shell { position:relative; z-index:1; width:min(100% - 32px,1020px); }
.mp-receipt-toolbar {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin:0 auto 16px;
}
.mp-receipt-back,
.mp-receipt-print {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:14px;
  font-weight:850;
  font-size:.75rem;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.mp-receipt-back { padding:9px 14px; color:#405572; background:rgba(255,255,255,.76); border:1px solid rgba(173,190,216,.70); }
.mp-receipt-back:hover { color:#2352bd; background:#fff; transform:translateY(-1px); }
.mp-receipt-back svg,
.mp-receipt-print svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.mp-receipt-toolbar-copy { display:grid; gap:2px; text-align:center; }
.mp-receipt-toolbar-copy span { color:#334a6b; font-size:.72rem; font-weight:900; }
.mp-receipt-toolbar-copy small { color:#7b8ca4; font-size:.63rem; }
.mp-receipt-print {
  padding:9px 17px;
  border:0;
  color:#fff;
  background:linear-gradient(135deg,#2457d6,#7142c9);
  box-shadow:0 12px 27px rgba(61,75,198,.22);
  cursor:pointer;
}
.mp-receipt-print:hover { transform:translateY(-2px); box-shadow:0 17px 34px rgba(61,75,198,.29); }
.mp-receipt {
  position:relative;
  overflow:hidden;
  width:100%;
  margin:0 auto;
  padding:0 44px 34px;
  border:1px solid rgba(159,178,207,.62);
  border-radius:30px;
  color:var(--mp-r-ink);
  background:rgba(255,255,255,.98);
  box-shadow:0 30px 80px rgba(27,47,89,.14);
}
.mp-receipt-accent { height:8px; margin:0 -44px; background:linear-gradient(90deg,#214fbd 0 34%,#6940bd 34% 66%,#e1ad35 66% 82%,#20906d 82%); }
.mp-receipt-watermark { position:absolute; right:-74px; top:315px; width:300px; height:300px; display:grid; place-items:center; opacity:.025; transform:rotate(-8deg); pointer-events:none; }
.mp-receipt-watermark img { width:100%; height:100%; object-fit:contain; filter:grayscale(1); }
.mp-receipt-header {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:27px 0 24px;
  border-bottom:1px solid #e4eaf3;
}
.mp-receipt-brand { display:flex; align-items:center; gap:16px; min-width:0; }
.mp-receipt-logo { width:78px; height:78px; flex:none; display:grid; place-items:center; padding:6px; border-radius:22px; background:linear-gradient(145deg,#fff,#edf3fc); border:1px solid #d9e3f1; box-shadow:0 12px 24px rgba(33,63,113,.10); }
.mp-receipt-logo img { width:100%; height:100%; object-fit:contain; }
.mp-receipt-kicker { display:block; margin-bottom:4px; color:#6950c2; font-size:.62rem; font-weight:950; letter-spacing:.15em; text-transform:uppercase; }
.mp-receipt-brand h2 { max-width:600px; margin:0; color:#142c50; font-size:1.03rem; line-height:1.3; }
.mp-receipt-brand p { margin:5px 0 0; color:#728199; font-size:.69rem; }
.mp-receipt-document-badge { flex:none; display:flex; align-items:center; gap:10px; padding:10px 13px; border-radius:15px; color:#29528b; background:#f3f7ff; border:1px solid #d9e4f7; }
.mp-receipt-document-badge svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mp-receipt-document-badge div { display:grid; gap:1px; }
.mp-receipt-document-badge strong { font-size:.68rem; }
.mp-receipt-document-badge span { color:#73839a; font-size:.59rem; }
.mp-receipt-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,350px);
  gap:28px;
  align-items:center;
  padding:31px 0 27px;
}
.mp-receipt-eyebrow { color:#7953cb; font-size:.61rem; font-weight:950; letter-spacing:.15em; text-transform:uppercase; }
.mp-receipt-hero h1 { margin:7px 0 7px; color:#11294c; font-size:2rem; line-height:1.08; letter-spacing:-.035em; }
.mp-receipt-hero p { max-width:550px; margin:0; color:#66768d; font-size:.77rem; line-height:1.7; }
.mp-receipt-status { display:inline-flex; align-items:center; gap:7px; margin-top:15px; padding:7px 11px; border-radius:999px; color:#25634f; background:#e9f8f1; border:1px solid #c8ebdc; font-size:.65rem; font-weight:900; }
.mp-receipt-status i { width:8px; height:8px; border-radius:50%; background:#20a77b; box-shadow:0 0 0 4px rgba(32,167,123,.12); }
.mp-receipt-status--observado,
.mp-receipt-status--rechazado { color:#a43e4b; background:#fff0f2; border-color:#f5cbd1; }
.mp-receipt-status--observado i,
.mp-receipt-status--rechazado i { background:#dd5265; box-shadow:0 0 0 4px rgba(221,82,101,.12); }
.mp-receipt-status--en-revision,
.mp-receipt-status--derivado,
.mp-receipt-status--subsanado { color:#8b5c17; background:#fff7e8; border-color:#f1ddb7; }
.mp-receipt-status--en-revision i,
.mp-receipt-status--derivado i,
.mp-receipt-status--subsanado i { background:#d7972d; box-shadow:0 0 0 4px rgba(215,151,45,.12); }
.mp-receipt-code-card {
  position:relative;
  overflow:hidden;
  min-height:142px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:22px;
  text-align:center;
  border-radius:23px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 12%,rgba(255,255,255,.20),transparent 26%),
    linear-gradient(135deg,#204fbd,#6941bd);
  box-shadow:0 18px 38px rgba(63,68,184,.22);
}
.mp-receipt-code-card::after { content:""; position:absolute; width:110px; height:110px; right:-52px; bottom:-58px; border:18px solid rgba(255,255,255,.08); border-radius:50%; }
.mp-receipt-code-card span { font-size:.6rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; opacity:.82; }
.mp-receipt-code-card strong { position:relative; z-index:1; display:block; margin:8px 0 6px; font-size:1.62rem; line-height:1; letter-spacing:.055em; }
.mp-receipt-code-card small { max-width:240px; color:rgba(255,255,255,.72); font-size:.61rem; line-height:1.45; }
.mp-receipt-confirmation { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:13px; margin-bottom:29px; padding:14px 16px; border-radius:18px; background:linear-gradient(90deg,#ecfaf5,#f5fbff); border:1px solid #ccecdf; }
.mp-receipt-confirmation-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(135deg,#1ba778,#137f67); box-shadow:0 9px 20px rgba(23,145,106,.20); }
.mp-receipt-confirmation-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.mp-receipt-confirmation strong { display:block; color:#1f604d; font-size:.76rem; }
.mp-receipt-confirmation p { margin:3px 0 0; color:#608074; font-size:.66rem; }
.mp-receipt-confirmation-tag { padding:6px 9px; border-radius:999px; color:#24755d; background:#fff; border:1px solid #cce6dc; font-size:.59rem; font-weight:900; }
.mp-receipt-section { position:relative; }
.mp-receipt-section-heading { display:flex; align-items:center; gap:11px; margin-bottom:15px; }
.mp-receipt-section-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:13px; color:#335ec0; background:#edf3ff; border:1px solid #d9e5fb; }
.mp-receipt-section-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.mp-receipt-section-heading div { display:grid; gap:1px; }
.mp-receipt-section-heading div > span { color:#7661bd; font-size:.58rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.mp-receipt-section-heading h3 { margin:0; color:#1b345a; font-size:.94rem; }
.mp-receipt-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.mp-receipt-data-card { min-height:82px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; padding:13px 14px; border-radius:16px; background:#fbfcff; border:1px solid #e1e8f2; }
.mp-receipt-data-card.compact { min-height:74px; }
.mp-receipt-data-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; }
.mp-receipt-data-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mp-receipt-data-icon.blue { color:#2c5bd3; background:#eaf1ff; }
.mp-receipt-data-icon.violet { color:#744ac6; background:#f1ebff; }
.mp-receipt-data-icon.amber { color:#ad7117; background:#fff5df; }
.mp-receipt-data-icon.green { color:#18845f; background:#e8f8f1; }
.mp-receipt-data-icon.coral { color:#c65c60; background:#fff0f1; }
.mp-receipt-data-icon.cyan { color:#16819b; background:#e8f8fb; }
.mp-receipt-data-card div { min-width:0; }
.mp-receipt-data-card div > span,
.mp-receipt-subject-card > span { display:block; margin-bottom:4px; color:#7a879a; font-size:.57rem; font-weight:900; letter-spacing:.075em; text-transform:uppercase; }
.mp-receipt-data-card strong { display:block; color:#1c3558; font-size:.72rem; line-height:1.4; }
.mp-receipt-data-card small { display:block; margin-top:2px; color:#7b8899; font-size:.6rem; }
.mp-receipt-subject-card { grid-column:1/-1; padding:16px 17px; border-radius:16px; background:linear-gradient(135deg,#f6f8ff,#fbf9ff); border:1px solid #e1e3f3; }
.mp-receipt-subject-card strong { display:block; color:#1b3152; font-size:.76rem; line-height:1.55; }
.mp-receipt-security { position:relative; overflow:hidden; margin-top:25px; padding:19px; border-radius:20px; background:#101f38; color:#fff; }
.mp-receipt-security::after { content:""; position:absolute; width:170px; height:170px; right:-60px; top:-75px; border:24px solid rgba(95,132,221,.13); border-radius:50%; }
.mp-receipt-security-heading { position:relative; z-index:1; display:flex; align-items:center; gap:11px; }
.mp-receipt-security-heading > span { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:#9bb8ff; background:rgba(255,255,255,.08); }
.mp-receipt-security-heading svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mp-receipt-security-heading div { display:grid; gap:1px; }
.mp-receipt-security-heading small { color:#9eb0ca; font-size:.57rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.mp-receipt-security-heading h3 { margin:0; color:#fff; font-size:.87rem; }
.mp-receipt-security > p { position:relative; z-index:1; margin:12px 0 10px; color:#aebbd0; font-size:.65rem; line-height:1.55; }
.mp-receipt-security code { position:relative; z-index:1; display:block; padding:11px 13px; border-radius:12px; color:#c4d4ff; background:rgba(255,255,255,.065); border:1px solid rgba(255,255,255,.09); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.64rem; letter-spacing:.025em; overflow-wrap:anywhere; }
.mp-receipt-verification { display:grid; grid-template-columns:minmax(0,1fr) 205px; gap:23px; align-items:stretch; margin-top:25px; padding:23px; border-radius:22px; background:linear-gradient(135deg,#f4f8ff,#fbf8ff); border:1px solid #dbe4f3; }
.mp-receipt-verification-copy { min-width:0; padding:3px 0; }
.mp-receipt-verification-kicker { color:#6f4fbd; font-size:.58rem; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.mp-receipt-verification h3 { margin:6px 0 7px; color:#18345c; font-size:1rem; }
.mp-receipt-verification-copy > p { margin:0 0 15px; color:#687990; font-size:.68rem; line-height:1.6; }
.mp-receipt-verification-code { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 10px 10px 13px; border-radius:15px; background:#fff; border:1px solid #d8e1ee; }
.mp-receipt-verification-code div { min-width:0; }
.mp-receipt-verification-code div span { display:block; color:#7a8799; font-size:.54rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.mp-receipt-verification-code div strong { display:block; margin-top:3px; color:#244d98; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.86rem; letter-spacing:.075em; overflow-wrap:anywhere; }
.mp-receipt-verification-code button { min-height:37px; display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:11px; color:#3156a4; background:#edf3ff; border:1px solid #d5e2fb; font:inherit; font-size:.61rem; font-weight:900; cursor:pointer; transition:.2s ease; }
.mp-receipt-verification-code button:hover,
.mp-receipt-verification-code button.is-copied { color:#14785a; background:#e9f8f1; border-color:#cceadc; }
.mp-receipt-verification-code button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mp-receipt-verification-url { display:block; margin-top:10px; color:#637998; font-size:.56rem; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.mp-receipt-verification-url:hover { color:#2857bd; text-decoration:underline; }
.mp-receipt-qr-card { display:grid; place-items:center; align-content:center; gap:8px; padding:13px; border-radius:18px; text-align:center; background:#fff; border:1px solid #d9e3f0; box-shadow:0 12px 26px rgba(41,62,105,.08); }
.mp-receipt-qr-card > span { color:#586c8a; font-size:.58rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.mp-receipt-qr-card > small { color:#8090a5; font-size:.55rem; }
#mpQrCode { width:164px; min-height:164px; display:grid; place-items:center; padding:4px; border-radius:10px; background:#fff; }
#mpQrCode img,
#mpQrCode canvas { max-width:156px!important; height:auto!important; }
.mp-receipt-qr-fallback { color:#7d8a9e; font-size:.65rem; line-height:1.4; }
.mp-receipt-footer { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; margin-top:26px; padding-top:21px; border-top:1px solid #e1e7ef; }
.mp-receipt-footer-seal { display:flex; align-items:center; gap:9px; }
.mp-receipt-footer-seal > span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#ae7924; background:#fff6df; border:1px solid #eedaa9; }
.mp-receipt-footer-seal svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mp-receipt-footer-seal div { display:grid; gap:1px; }
.mp-receipt-footer-seal strong { color:#344c6d; font-size:.62rem; }
.mp-receipt-footer-seal small { color:#8491a2; font-size:.53rem; }
.mp-receipt-footer > p { margin:0; color:#77869a; font-size:.56rem; line-height:1.55; text-align:center; }
.mp-receipt-footer-number { color:#526b91; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.58rem; font-weight:900; }

@media (max-width:840px) {
  .mp-receipt-toolbar { grid-template-columns:auto 1fr; }
  .mp-receipt-toolbar-copy { display:none; }
  .mp-receipt-header { align-items:flex-start; }
  .mp-receipt-document-badge { display:none; }
  .mp-receipt-hero { grid-template-columns:1fr; }
  .mp-receipt-code-card { min-height:126px; }
  .mp-receipt-verification { grid-template-columns:1fr; }
  .mp-receipt-qr-card { width:210px; justify-self:center; }
  .mp-receipt-footer { grid-template-columns:1fr; text-align:center; }
  .mp-receipt-footer-seal { justify-content:center; }
  .mp-receipt-footer-number { justify-self:center; }
}
@media (max-width:620px) {
  .mp-receipt-page { padding:18px 0 54px; }
  .mp-receipt-shell { width:min(100% - 20px,1020px); }
  .mp-receipt-toolbar { gap:8px; }
  .mp-receipt-back span { display:none; }
  .mp-receipt-back { width:44px; padding:8px; }
  .mp-receipt-print { flex:1; padding:9px 12px; }
  .mp-receipt { padding:0 17px 24px; border-radius:23px; }
  .mp-receipt-accent { margin:0 -17px; }
  .mp-receipt-header { padding:21px 0 19px; }
  .mp-receipt-logo { width:62px; height:62px; border-radius:18px; }
  .mp-receipt-brand { gap:12px; align-items:flex-start; }
  .mp-receipt-brand h2 { font-size:.85rem; }
  .mp-receipt-brand p { font-size:.61rem; }
  .mp-receipt-hero { padding:24px 0 22px; gap:19px; }
  .mp-receipt-hero h1 { font-size:1.65rem; }
  .mp-receipt-code-card strong { font-size:1.4rem; }
  .mp-receipt-confirmation { grid-template-columns:39px minmax(0,1fr); padding:12px; }
  .mp-receipt-confirmation-icon { width:39px; height:39px; }
  .mp-receipt-confirmation-tag { display:none; }
  .mp-receipt-data-grid { grid-template-columns:1fr; }
  .mp-receipt-subject-card { grid-column:auto; }
  .mp-receipt-security { padding:16px; }
  .mp-receipt-verification { padding:17px; }
  .mp-receipt-verification-code { grid-template-columns:1fr; }
  .mp-receipt-verification-code button { justify-content:center; }
  .mp-receipt-qr-card { width:100%; }
  .mp-receipt-watermark { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .mp-receipt-back,.mp-receipt-print,.mp-receipt-verification-code button { transition:none!important; }
}
@media print {
  @page { size:A4 portrait; margin:8mm; }
  html,body { background:#fff!important; }
  body { -webkit-print-color-adjust:exact!important; print-color-adjust:exact!important; }
  .site-header,.site-footer,.whatsapp-float,.mp-receipt-toolbar { display:none!important; }
  .mp-receipt-page { padding:0!important; background:#fff!important; }
  .mp-receipt-page::before,.mp-receipt-page::after { display:none!important; }
  .mp-receipt-shell { width:100%!important; max-width:none!important; }
  .mp-receipt { width:100%!important; padding:0 10mm 7mm!important; border:1px solid #b8c4d6!important; border-radius:0!important; box-shadow:none!important; page-break-inside:avoid; }
  .mp-receipt-accent { margin:0 -10mm!important; height:5px!important; }
  .mp-receipt-header { padding:5mm 0 4mm!important; }
  .mp-receipt-logo { width:17mm!important; height:17mm!important; box-shadow:none!important; }
  .mp-receipt-brand h2 { font-size:10pt!important; }
  .mp-receipt-brand p { font-size:6.5pt!important; }
  .mp-receipt-document-badge { padding:2.2mm 3mm!important; }
  .mp-receipt-hero { grid-template-columns:1fr 78mm!important; gap:6mm!important; padding:5mm 0!important; }
  .mp-receipt-hero h1 { font-size:18pt!important; }
  .mp-receipt-hero p { font-size:7pt!important; }
  .mp-receipt-code-card { min-height:27mm!important; padding:4mm!important; box-shadow:none!important; }
  .mp-receipt-code-card strong { font-size:15pt!important; }
  .mp-receipt-confirmation { margin-bottom:5mm!important; padding:2.5mm 3mm!important; }
  .mp-receipt-confirmation-icon { width:9mm!important; height:9mm!important; }
  .mp-receipt-section-heading { margin-bottom:3mm!important; }
  .mp-receipt-data-grid { gap:2mm!important; }
  .mp-receipt-data-card { min-height:15mm!important; padding:2mm 2.7mm!important; }
  .mp-receipt-data-icon { width:8mm!important; height:8mm!important; }
  .mp-receipt-data-card strong,.mp-receipt-subject-card strong { font-size:7.2pt!important; }
  .mp-receipt-security { margin-top:4mm!important; padding:3mm!important; }
  .mp-receipt-security > p { margin:2mm 0!important; }
  .mp-receipt-security code { padding:2mm!important; font-size:5.6pt!important; }
  .mp-receipt-verification { grid-template-columns:1fr 40mm!important; gap:4mm!important; margin-top:4mm!important; padding:3.5mm!important; }
  .mp-receipt-verification h3 { font-size:9pt!important; }
  .mp-receipt-verification-copy > p { margin-bottom:2.5mm!important; }
  .mp-receipt-verification-code button { display:none!important; }
  .mp-receipt-qr-card { padding:2mm!important; box-shadow:none!important; }
  #mpQrCode { width:34mm!important; min-height:34mm!important; }
  #mpQrCode img,#mpQrCode canvas { max-width:32mm!important; }
  .mp-receipt-footer { margin-top:4mm!important; padding-top:3mm!important; }
  .mp-receipt-watermark { opacity:.018!important; }
}
