@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

/* v1.5.1: formularios del flujo público y configuración SMTP */
.procedure-form label,.account-password label,.confirmation-account label{display:grid;gap:8px;color:#41495a;font-size:.82rem;font-weight:750}
.procedure-form input,.procedure-form select,.procedure-form textarea,.account-password input,.confirmation-account input{width:100%;min-height:54px;border:1px solid #d9dee7;border-radius:12px;background:#fff;padding:0 16px;color:var(--ink);font:inherit;font-size:1rem;outline:none;box-shadow:0 1px 2px rgba(20,27,38,.02);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.procedure-form textarea{min-height:130px;padding-block:14px;resize:vertical}.procedure-form input::placeholder,.procedure-form textarea::placeholder{color:#9299a7}.procedure-form input:hover,.procedure-form select:hover,.account-password input:hover{border-color:#b9c0cd}.procedure-form input:focus,.procedure-form select:focus,.procedure-form textarea:focus,.account-password input:focus,.confirmation-account input:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(217,43,32,.1)}.procedure-form small,.account-password small{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.45}.procedure-form .form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mail-settings-form{display:grid;gap:20px}.settings-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.settings-intro h2{margin:5px 0}.settings-intro p{max-width:720px;margin:0;color:var(--muted)}
@media(max-width:700px){.procedure-form .form-pair{grid-template-columns:1fr}.procedure-form input,.procedure-form select,.procedure-form textarea{min-height:52px}}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --red: #e10600;
  --red-bright: #ff2a21;
  --red-soft: #fff0ef;
  --ink: #111317;
  --muted: #667085;
  --muted-dark: #475467;
  --line: #e4e7ec;
  --paper: #f5f6f8;
  --white: #fff;
  --green: #169b62;
  --navy: #171b26;
  --container: 1200px;
  --header-height: 76px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --shadow-sm: 0 8px 25px rgba(17, 19, 23, .06);
  --shadow-md: 0 24px 70px rgba(17, 19, 23, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 18px); }
body { margin: 0; min-width: 320px; background: var(--white); color: var(--ink); font-family: Inter, Arial, sans-serif; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.is-dialog-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
::selection { background: rgba(225, 6, 0, .16); }
:focus-visible { outline: 3px solid rgba(225, 6, 0, .28); outline-offset: 3px; }

/* H9: Documenta Pro */
.pro-shell{min-height:100vh;background:#f3f5f8;color:#101828}.pro-top{position:sticky;z-index:20;top:0;display:flex;min-height:76px;align-items:center;gap:22px;border-bottom:1px solid #e3e7ee;background:#fff;padding:12px 28px}.pro-top>a:first-child img{width:162px}.pro-top>div{display:grid;margin-right:auto}.pro-top>div span{color:#d71913;font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.pro-top>div strong{font-size:.93rem}.pro-top>button,.pro-side button,.pro-table button,.pro-close{border:0;background:transparent;color:#475467;font-weight:700}.pro-layout{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 76px)}.pro-side{display:flex;flex-direction:column;gap:8px;border-right:1px solid #e3e7ee;background:#fff;padding:34px 20px}.pro-side>p{margin:0;color:#d71913;font-size:.72rem;font-weight:850;text-transform:uppercase}.pro-side>strong{margin-bottom:18px}.pro-side nav{display:grid;gap:4px}.pro-side nav button{width:100%;border-radius:10px;padding:11px 13px;text-align:left}.pro-side nav button.active,.pro-side nav button:hover{background:#fff0ef;color:#d71913}.pro-side small{margin-top:auto;color:#667085}.pro-main{position:relative;width:min(1180px,100%);padding:48px clamp(24px,4vw,64px)}.pro-heading{max-width:780px;margin-bottom:28px}.pro-heading>span{color:#d71913;font-size:.74rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.pro-heading h1{max-width:none;margin:8px 0 12px;font-size:clamp(2.25rem,4vw,4rem)}.pro-heading p{color:#667085;font-size:1.02rem}.pro-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.pro-metrics article{display:grid;border:1px solid #e3e7ee;border-radius:18px;background:#fff;padding:24px}.pro-metrics strong{font-size:2rem}.pro-metrics span{color:#667085}.pro-card{border:1px solid #e3e7ee;border-radius:18px;background:#fff;padding:24px;box-shadow:0 8px 24px rgba(16,24,40,.04)}.pro-card h2{font-size:1.22rem}.pro-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.pro-form h2{grid-column:1/-1;margin:0}.pro-form label{display:grid;gap:7px;color:#344054;font-size:.8rem;font-weight:750}.pro-form input,.pro-form select,.pro-form textarea{width:100%;min-height:46px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;padding:10px 12px;color:#101828;font:inherit}.pro-form textarea{min-height:90px;resize:vertical}.pro-form .wide{grid-column:1/-1}.pro-form button{align-self:end}.pro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pro-cards article{display:grid;gap:6px;border:1px solid #e3e7ee;border-radius:14px;background:#fff;padding:18px}.pro-cards span,.pro-cards small{color:#667085}.pro-table{overflow:auto;margin-top:20px;border:1px solid #e3e7ee;border-radius:16px;background:#fff}.pro-table table{width:100%;border-collapse:collapse}.pro-table th,.pro-table td{padding:14px 16px;border-bottom:1px solid #eef0f4;text-align:left;white-space:nowrap}.pro-table th{background:#fafbfc;color:#667085;font-size:.74rem;text-transform:uppercase}.pro-table td strong,.pro-table td small{display:block}.pro-table td small{color:#98a2b3}.pro-table button{color:#d71913}.pro-state{display:inline-flex;border-radius:999px;background:#f2f4f7;padding:5px 9px;font-size:.7rem;text-transform:lowercase}.pro-state.completada{background:#e9f8ef;color:#087443}.pro-state.enviada,.pro-state.en_proceso{background:#fff4e5;color:#9a4a00}.pro-state.rechazada,.pro-state.cancelada{background:#fff0ef;color:#b42318}.pro-detail{position:fixed;z-index:40;top:0;right:0;width:min(560px,100%);height:100vh;overflow:auto;border-left:1px solid #e3e7ee;background:#fff;padding:42px;box-shadow:-20px 0 60px rgba(16,24,40,.14)}.pro-detail>span{color:#d71913;font-size:.72rem;font-weight:800;text-transform:uppercase}.pro-detail h2{font-size:2rem}.pro-detail dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pro-detail dl div{border-radius:12px;background:#f7f8fa;padding:12px}.pro-detail dt{color:#667085;font-size:.7rem}.pro-detail dd{margin:4px 0;font-weight:750}.pro-detail>a{display:block;color:#d71913;font-weight:700}.pro-close{float:right;font-size:1.8rem}.pro-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.pro-actions button{border:0;border-radius:10px;background:#d71913;color:#fff;padding:12px 16px;font-weight:750}.pro-actions button:last-child{background:#101828}.pro-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pro-two .pro-form{grid-template-columns:1fr}.pro-toast{position:fixed;z-index:60;right:24px;top:90px;display:flex;gap:18px;border-radius:12px;background:#101828;color:#fff;padding:14px 18px;box-shadow:0 10px 35px #10182833}.pro-toast button,.form-error button{border:0;background:none;color:inherit;font-size:1.2rem}.pro-empty{padding:24px;color:#667085}.pro-invite{display:grid;min-height:100vh;place-items:center;background:radial-gradient(circle at top right,#fff0ef,#f3f5f8 50%);padding:24px}.pro-invite>section{width:min(620px,100%);border:1px solid #e3e7ee;border-radius:24px;background:#fff;padding:42px;box-shadow:0 24px 70px #1018281f}.pro-invite img{width:170px;margin-bottom:38px}.pro-invite>section>span{color:#d71913;font-size:.72rem;font-weight:850;text-transform:uppercase}.pro-invite h1{font-size:clamp(2.2rem,5vw,3.8rem)}
@media(max-width:900px){.pro-layout{grid-template-columns:1fr}.pro-side{position:static;border-right:0;border-bottom:1px solid #e3e7ee}.pro-side nav{grid-template-columns:repeat(3,1fr)}.pro-form,.pro-cards{grid-template-columns:1fr 1fr}.pro-metrics{grid-template-columns:1fr 1fr}.pro-top>div{display:none}}@media(max-width:620px){.pro-top{padding:10px 14px}.pro-top .button{display:none}.pro-side nav,.pro-form,.pro-cards,.pro-two{grid-template-columns:1fr}.pro-main{padding:32px 16px}.pro-detail{padding:28px 20px}.pro-detail dl{grid-template-columns:1fr}.pro-metrics{gap:9px}.pro-metrics article{padding:16px}}
.pro-top>div select{max-width:280px;border:0;background:#fff;color:#101828;font-weight:750}
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; transform: translateY(-180%); border-radius: 8px; background: var(--ink); color: var(--white); padding: 10px 14px; font-weight: 700; text-decoration: none; }
.skip-link:focus { transform: translateY(0); }

/* Progressive motion: content remains visible when JavaScript is unavailable. */
[data-reveal] { --reveal-delay: 0ms; }
.motion-ready [data-reveal] { opacity: 0; transform: translate3d(0, 24px, 0); transition: opacity .72s cubic-bezier(.22, 1, .36, 1), transform .72s cubic-bezier(.22, 1, .36, 1); transition-delay: var(--reveal-delay); will-change: opacity, transform; }
.motion-ready [data-reveal="left"] { transform: translate3d(-28px, 0, 0); }
.motion-ready [data-reveal="right"] { transform: translate3d(28px, 0, 0); }
.motion-ready [data-reveal="visual"] { transform: translate3d(0, 18px, 0) scale(.975); }
.motion-ready [data-reveal="card"] { transform: translate3d(0, 18px, 0) scale(.985); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); will-change: auto; }
.hero-visual[data-reveal] { --reveal-delay: 100ms; }
.filter-tabs[data-reveal] { --reveal-delay: 90ms; }
.services-grid > [data-reveal]:nth-child(2), .process-grid > [data-reveal]:nth-child(2) { --reveal-delay: 70ms; }
.services-grid > [data-reveal]:nth-child(3), .process-grid > [data-reveal]:nth-child(3) { --reveal-delay: 140ms; }
.services-grid > [data-reveal]:nth-child(4), .process-grid > [data-reveal]:nth-child(4) { --reveal-delay: 210ms; }
.services-grid > [data-reveal]:nth-child(5) { --reveal-delay: 40ms; }
.services-grid > [data-reveal]:nth-child(6) { --reveal-delay: 110ms; }
.services-grid > [data-reveal]:nth-child(7) { --reveal-delay: 180ms; }
.services-grid > [data-reveal]:nth-child(8) { --reveal-delay: 250ms; }

/* Shared type and controls */
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, strong { letter-spacing: -.035em; }
h1 { max-width: 680px; margin-bottom: 24px; font-size: clamp(3.2rem, 4.3vw, 5.35rem); font-weight: 650; line-height: .99; }
h2 { margin-bottom: 16px; font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 750; line-height: 1.03; }
h3 { margin-bottom: 9px; font-size: 1.25rem; font-weight: 700; line-height: 1.15; }
.section { padding: 120px 0; }
.section-kicker { display: inline-flex; align-items: center; margin-bottom: 18px; color: var(--red); font-size: .78rem; font-weight: 760; letter-spacing: .13em; line-height: 1; text-transform: uppercase; }
.section-kicker.light { color: #ffb8b5; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 52px; }
.section-heading > div { max-width: 660px; }
.section-heading p { max-width: 580px; margin-bottom: 0; color: var(--muted); font-size: 1.05rem; }
.section-heading.centered { justify-content: center; text-align: center; }
.section-heading.centered > div { max-width: 700px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 11px; border: 1px solid transparent; border-radius: var(--radius-sm); padding: 13px 19px; font-size: .92rem; font-weight: 700; line-height: 1; text-decoration: none; transition: transform .25s ease, background-color .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease; }
.button:hover { transform: translateY(-2px); }
.button svg, .text-link svg { transition: transform .25s ease; }
.button:hover svg, .text-link:hover svg { transform: translateX(4px); }
.motion-ready [data-reveal].is-visible.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--red); color: var(--white); box-shadow: 0 9px 18px rgba(225, 6, 0, .18); }
.button-primary:hover { background: #c90500; box-shadow: 0 13px 24px rgba(225, 6, 0, .24); }
.button-secondary { border-color: var(--line); background: var(--white); color: var(--ink); }
.button-secondary:hover { border-color: var(--ink); }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark:hover { background: #252a35; }
.button-light { background: var(--white); color: var(--ink); box-shadow: var(--shadow-sm); }
.button-small { min-height: 42px; padding: 11px 15px; font-size: .82rem; }
.button-large { min-height: 54px; padding: 16px 22px; font-size: .96rem; }
.text-link { display: inline-flex; align-items: center; gap: 9px; border: 0; background: transparent; color: var(--red); font-weight: 700; text-decoration: none; }
.text-link:hover { color: #b80400; }

/* Header */
.site-header { position: sticky; z-index: 100; top: 0; height: var(--header-height); border-bottom: 1px solid rgba(228, 231, 236, .95); background: rgba(255, 255, 255, .98); animation: header-enter .48s cubic-bezier(.22, 1, .36, 1) both; }
.header-inner { display: flex; height: 100%; align-items: center; gap: 30px; }
.brand { display: block; flex: 0 0 auto; width: 174px; }
.brand img { width: 174px; height: auto; }
.primary-navigation { display: flex; align-items: center; gap: clamp(20px, 2.6vw, 38px); margin-left: auto; }
.primary-navigation a, .header-link { position: relative; color: var(--muted-dark); font-size: .87rem; font-weight: 650; text-decoration: none; }
.primary-navigation a::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 2px; border-radius: 999px; background: var(--red); content: ""; transform: scaleX(0); transition: transform .2s ease; }
.primary-navigation a:hover, .primary-navigation a:focus-visible, .header-link:hover { color: var(--red); }
.primary-navigation a:hover::after, .primary-navigation a:focus-visible::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 20px; }
.menu-toggle { display: none; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); }

/* Hero */
.hero { position: relative; overflow: hidden; padding: 58px 0 74px; background: linear-gradient(180deg, #fff 0%, #fff 68%, #fdfdfd 100%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .92fr) minmax(500px, 1.08fr); align-items: center; gap: clamp(44px, 5vw, 78px); }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; color: var(--red); font-size: .79rem; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 6px var(--red-soft); }
.red-period { color: var(--red); }
.hero-lead { max-width: 610px; margin-bottom: 32px; color: var(--muted); font-size: clamp(1.03rem, 1.4vw, 1.19rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 36px; }
.trust-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 650px; gap: 18px; }
.trust-points > div { display: flex; align-items: flex-start; gap: 10px; }
.trust-icon { display: grid; flex: 0 0 auto; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--red-soft); color: var(--red); transition: transform .25s ease, background-color .25s ease; }
.trust-points > div:hover .trust-icon { background: #ffe5e3; transform: translateY(-3px) rotate(-3deg); }
.trust-points strong, .trust-points small { display: block; }
.trust-points strong { margin-bottom: 2px; font-size: .82rem; letter-spacing: -.01em; }
.trust-points small { color: var(--muted); font-size: .73rem; line-height: 1.25; }
.hero-visual { position: relative; min-height: 560px; isolation: isolate; }
.hero-photo-frame { position: absolute; z-index: 1; top: 30px; right: 0; width: min(96%, 650px); overflow: hidden; border-radius: 30px; background: #f3f3f3; box-shadow: 0 22px 48px rgba(17, 19, 23, .13); transition: transform .6s cubic-bezier(.22, 1, .36, 1), box-shadow .6s ease; }
.hero-visual:hover .hero-photo-frame { box-shadow: 0 28px 54px rgba(17, 19, 23, .16); transform: translateY(-5px) scale(1.008); }
.hero-photo-frame::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 64%, rgba(17, 19, 23, .07)); content: ""; pointer-events: none; }
.hero-photo-frame img { width: 100%; aspect-ratio: 1.5 / 1; object-fit: cover; }
.hero-phone-float { position: absolute; z-index: 3; bottom: -20px; left: -12px; width: clamp(205px, 19vw, 250px); transform: rotate(-3.5deg); transform-origin: 50% 85%; filter: drop-shadow(0 28px 24px rgba(17, 19, 23, .2)); }
.hero-visual.is-visible .hero-phone-float { animation: phone-float 5.8s ease-in-out 1s infinite; }
.hero-phone-float img { width: 100%; height: auto; }
.hero-orbit { position: absolute; border: 1px solid rgba(225, 6, 0, .12); border-radius: 50%; pointer-events: none; }
.orbit-one { top: -48px; right: -64px; width: 485px; height: 485px; }
.orbit-two { right: -150px; bottom: -112px; width: 430px; height: 430px; border-color: rgba(17, 19, 23, .07); }
.motion-ready .hero-copy > * { opacity: 0; transform: translateY(12px); }
.motion-ready .hero-copy.is-visible > * { animation: content-rise .65s cubic-bezier(.22, 1, .36, 1) both; }
.motion-ready .hero-copy.is-visible > :nth-child(2) { animation-delay: 70ms; }
.motion-ready .hero-copy.is-visible > :nth-child(3) { animation-delay: 140ms; }
.motion-ready .hero-copy.is-visible > :nth-child(4) { animation-delay: 210ms; }
.motion-ready .hero-copy.is-visible > :nth-child(5) { animation-delay: 280ms; }

/* Services */
.section-services { background: var(--paper); }
.service-search { display: flex; width: min(100%, 310px); align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); color: var(--muted); padding: 12px 14px; }
.service-search:focus-within { border-color: var(--red); box-shadow: 0 0 0 4px rgba(225, 6, 0, .08); }
.service-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .9rem; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.filter-tabs button { border: 1px solid transparent; border-radius: 999px; background: var(--white); padding: 9px 15px; color: var(--muted-dark); font-size: .82rem; font-weight: 650; transition: transform .22s ease, border-color .22s ease, background-color .22s ease, color .22s ease; }
.filter-tabs button:hover, .filter-tabs button.is-active { border-color: var(--red); background: var(--red); color: var(--white); }
.filter-tabs button:hover { transform: translateY(-2px); }
.entity-type-filter { display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-12px 0 24px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff; }
.entity-type-filter>span { margin-right:4px;color:var(--muted-dark);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.entity-type-filter button { border:1px solid var(--line);border-radius:999px;background:#f7f8fa;padding:8px 13px;color:var(--ink);font-size:.8rem;font-weight:750; }
.entity-type-filter button:hover,.entity-type-filter button.is-active { border-color:#17191d;background:#17191d;color:#fff; }
.services-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.service-card { display: flex; min-height: 218px; flex-direction: column; align-items: flex-start; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); padding: 19px; text-align: left; transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s ease, border-color .28s ease; }
.service-card:hover { border-color: rgba(225, 6, 0, .35); box-shadow: var(--shadow-sm); transform: translateY(-4px); }
.motion-ready .service-card.is-visible:hover { transform: translateY(-6px) scale(1.006); }
.service-card-top { display: flex; width: 100%; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.service-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 13px; background: var(--red-soft); color: var(--red); transition: transform .28s ease, background-color .28s ease; }
.service-arrow { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--paper); color: var(--muted); transition: transform .28s ease, background .28s ease, color .28s ease; }
.service-card:hover .service-arrow { background: var(--red); color: var(--white); }
.service-card:hover .service-icon { background: #ffe4e2; transform: translateY(-3px) rotate(-4deg) scale(1.05); }
.service-card:hover .service-arrow { transform: translateX(3px); }
.service-category { margin-bottom: 6px; color: var(--red); font-size: .7rem; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.service-card strong { margin-bottom: 8px; font-size: 1.05rem; letter-spacing: -.025em; }
.service-entity-badges { display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px; }
.service-entity-badge { display:inline-flex;border-radius:999px;padding:5px 8px;font-size:.66rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase; }
.service-entity-badge.is-notaria { background:#ffe9e7;color:#a51b16; }
.service-entity-badge.is-conservador { background:#e4f1ff;color:#12508b; }
.service-entity-badge.is-archivero { background:#ede9ff;color:#5535a3; }
.service-description { margin-top: auto; color: var(--muted); font-size: .84rem; line-height: 1.42; }
.empty-state { margin: 25px 0 0; color: var(--muted); }

/* Process */
.section-process { background: var(--white); }
.process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0 0 85px; padding: 0; list-style: none; }
.process-step { position: relative; min-height: 208px; padding: 0 27px 0 0; transition: transform .28s ease; }
.process-step:hover { transform: translateY(-4px); }
.motion-ready .process-step.is-visible:hover { transform: translateY(-4px); }
.step-number { display: block; margin-bottom: 22px; color: rgba(17, 19, 23, .16); font-size: .78rem; font-weight: 800; letter-spacing: .11em; }
.step-icon { display: grid; width: 52px; height: 52px; margin-bottom: 19px; place-items: center; border-radius: 15px; background: var(--red-soft); color: var(--red); transition: transform .3s ease, background-color .3s ease; }
.process-step:hover .step-icon { background: #ffe3e1; transform: rotate(-5deg) scale(1.06); }
.process-step h3 { font-size: 1.18rem; }
.process-step p { max-width: 220px; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.step-line { position: absolute; top: 67px; right: 19px; width: calc(100% - 100px); border-top: 1px dashed #d6d9e0; }
.motion-ready .process-step .step-line { transform: scaleX(0); transform-origin: left center; }
.motion-ready .process-step.is-visible .step-line { transform: scaleX(1); transition: transform .72s cubic-bezier(.22, 1, .36, 1) .28s; }
.process-showcase { display: grid; min-height: 390px; grid-template-columns: minmax(260px, .58fr) minmax(0, 1.42fr); align-items: center; gap: clamp(36px, 5vw, 72px); border-block: 1px solid var(--line); padding: 62px 0 48px; }
.process-showcase > div { position: relative; z-index: 1; }
.process-showcase-visual { display: grid; width: 100%; justify-items: end; }
.process-showcase h3 { max-width: 380px; font-size: clamp(2.25rem, 3.2vw, 3.15rem); }
.process-showcase p { max-width: 350px; margin-bottom: 24px; color: var(--muted); font-size: .98rem; line-height: 1.6; }
.process-showcase img { width: calc(100% + 28px); max-width: none; max-height: 410px; justify-self: end; object-fit: contain; object-position: right center; filter: drop-shadow(0 18px 18px rgba(17, 19, 23, .1)); transform: translateX(20px); transition: transform .55s cubic-bezier(.22, 1, .36, 1); }
.process-showcase-visual:hover img { transform: translate(20px, -6px) scale(1.008); }

/* Benefits */
.section-benefits { overflow: hidden; background: linear-gradient(115deg, #f5f6f8 0%, #f7f7f9 48%, #f2f3f6 100%); }
.benefits-grid { display: grid; grid-template-columns: minmax(0, .84fr) minmax(500px, 1.16fr); align-items: center; gap: clamp(54px, 6vw, 90px); }
.benefit-copy h2 { max-width: 560px; font-size: clamp(2.55rem, 3.8vw, 4.25rem); }
.benefit-copy > p { max-width: 490px; margin-bottom: 34px; color: var(--muted); font-size: 1.04rem; }
.benefit-list { display: grid; gap: 21px; margin: 0; padding: 0; list-style: none; }
.benefit-list li { display: flex; align-items: flex-start; gap: 14px; transition: transform .28s ease; }
.benefit-list li:hover { transform: translateX(5px); }
.benefit-list li > span { display: grid; flex: 0 0 auto; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(225, 6, 0, .08); border-radius: 11px; background: rgba(255, 255, 255, .92); color: var(--red); box-shadow: 0 5px 12px rgba(17, 19, 23, .05); transition: transform .28s ease, background-color .28s ease; }
.benefit-list li:hover > span { background: var(--white); transform: rotate(-4deg) scale(1.05); }
.benefit-list strong { display: block; margin-bottom: 3px; font-size: .98rem; }
.benefit-list p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.45; }
.benefit-photo { position: relative; padding: 18px 8px 18px 0; }
.benefit-photo-crop { position: relative; overflow: hidden; aspect-ratio: 1.72 / 1; border-radius: 26px; background: #e9e5e1; box-shadow: 0 22px 48px rgba(17, 19, 23, .13); }
.benefit-photo-crop img { position: absolute; top: 50%; left: 50%; width: auto; max-width: none; height: 110%; transform: translate(-50%, -50%); transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
.benefit-photo:hover .benefit-photo-crop img { transform: translate(-50%, -50%) scale(1.025); }
.benefit-stat { position: absolute; right: -4px; bottom: -2px; display: flex; flex-direction: column; min-width: 134px; border-radius: 14px; background: var(--red); color: var(--white); padding: 14px 17px; box-shadow: 0 12px 24px rgba(225, 6, 0, .2); transition: transform .3s ease; }
.benefit-photo:hover .benefit-stat { transform: translateY(-5px); }
.benefit-stat strong { font-size: 1.85rem; line-height: 1; }

/* H8 · Portal privado de personas */
.people-shell { min-height: 100vh; background: #f4f5f7; color: #16181d; }
.people-topbar { position: sticky; z-index: 40; top: 0; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 24px; height: 78px; border-bottom: 1px solid #e3e5e9; padding: 0 clamp(20px,4vw,58px); background: rgba(255,255,255,.96); backdrop-filter: blur(16px); }
.people-logo img { display: block; width: 155px; height: auto; }
.people-topbar > div { display: grid; gap: 2px; padding-left: 24px; border-left: 1px solid #e3e5e9; }
.people-topbar > div span { color: #777d89; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.people-topbar > div strong { font-size: .88rem; }
.people-new { padding: 11px 18px; font-size: .83rem; }
.people-logout { border: 0; background: transparent; color: #6b707b; cursor: pointer; font-size: .82rem; font-weight: 700; }
.people-layout { display: grid; min-height: calc(100vh - 78px); grid-template-columns: 260px minmax(0,1fr); }
.people-sidebar { position: sticky; top: 78px; align-self: start; display: flex; height: calc(100vh - 78px); flex-direction: column; border-right: 1px solid #e1e3e7; padding: 34px 22px 24px; background: #fff; }
.people-welcome { display: grid; gap: 5px; padding: 0 10px 26px; }
.people-welcome span { color: var(--red); font-size: .7rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.people-welcome strong { font-size: 1.22rem; }
.people-welcome small { color: #777d89; line-height: 1.5; }
.people-sidebar nav { display: grid; gap: 5px; }
.people-sidebar nav button { display: flex; align-items: center; justify-content: space-between; width: 100%; border: 0; border-radius: 11px; padding: 12px 13px; background: transparent; color: #565c67; cursor: pointer; font: inherit; font-size: .88rem; font-weight: 700; text-align: left; transition: .2s ease; }
.people-sidebar nav button:hover { background: #f6f6f8; color: #17191e; }
.people-sidebar nav button.active { background: #17191e; color: #fff; }
.people-sidebar nav button b { display: grid; min-width: 22px; height: 22px; place-items: center; border-radius: 11px; background: var(--red); color: white; font-size: .69rem; }
.people-sidebar > a { margin-top: auto; border-top: 1px solid #eceef1; padding: 21px 10px 0; color: #343943; font-size: .78rem; font-weight: 800; }
.people-content { position: relative; width: 100%; max-width: 1500px; min-width: 0; padding: clamp(30px,4vw,58px); }
.people-heading { margin-bottom: 28px; }
.people-heading > span,.people-card-head > div > span { color: var(--red); font-size: .71rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.people-heading h1 { margin: 6px 0 8px; font-size: clamp(2rem,3.3vw,3.35rem); letter-spacing: -.055em; }
.people-heading p { max-width: 650px; margin: 0; color: #6b707b; font-size: .96rem; line-height: 1.6; }
.people-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
.people-metrics article { display: grid; gap: 7px; min-height: 126px; align-content: center; border: 1px solid #e0e2e6; border-radius: 18px; padding: 22px; background: #fff; box-shadow: 0 9px 24px rgba(30,33,39,.035); }
.people-metrics strong { font-size: 2.05rem; letter-spacing: -.05em; }
.people-metrics span { color: #747a84; font-size: .78rem; font-weight: 700; }
.people-two { display: grid; grid-template-columns: minmax(0,1.32fr) minmax(320px,.68fr); gap: 20px; }
.people-card,.people-detail { border: 1px solid #e0e2e6; border-radius: 18px; padding: 24px; background: #fff; box-shadow: 0 9px 24px rgba(30,33,39,.035); }
.people-card h2,.people-detail h2 { margin: 3px 0; font-size: 1.25rem; }
.people-card h3,.people-detail h3 { margin: 26px 0 13px; font-size: .95rem; }
.people-card-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.people-table-wrap { overflow: auto; border: 1px solid #e0e2e6; border-radius: 16px; background: #fff; }
.people-card .people-table-wrap { border: 0; border-radius: 0; }
.people-table { width: 100%; min-width: 680px; border-collapse: collapse; }
.people-table th { padding: 12px 15px; border-bottom: 1px solid #eaebee; color: #858a93; font-size: .68rem; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
.people-table td { padding: 14px 15px; border-bottom: 1px solid #eff0f2; color: #5e646f; font-size: .79rem; }
.people-table tr:last-child td { border-bottom: 0; }
.people-table td strong { color: #191b20; }
.people-table button,.people-doc-actions button,.people-share button,.people-notifications button,.people-share-row button { border: 0; background: transparent; color: var(--red); cursor: pointer; font-weight: 800; }
.people-status { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 9px; background: #eff1f4; color: #4c525d; font-size: .64rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; white-space: nowrap; }
.status-completada,.status-pagado,.status-aprobado,.status-propio,.status-aceptacion { background: #e8f8ef; color: #147342; }
.status-en-proceso,.status-enviada,.status-pendiente,.status-descarga { background: #fff2d9; color: #8c5b04; }
.status-rechazado,.status-revocada,.status-revocado,.status-cancelada { background: #ffe8e6; color: #a61e19; }
.people-notice-list { display: grid; }
.people-notice-list article { display: grid; grid-template-columns: 8px 1fr; gap: 12px; padding: 15px 0; border-bottom: 1px solid #eff0f2; }
.people-notice-list i,.people-notifications i { width: 7px; height: 7px; margin-top: 6px; border-radius: 50%; background: #c8ccd2; }
.people-notice-list i.new,.people-notifications .unread i { background: var(--red); box-shadow: 0 0 0 4px rgba(225,6,0,.08); }
.people-notice-list strong,.people-notifications strong { display: block; font-size: .82rem; }
.people-notice-list p,.people-notifications p { margin: 4px 0; color: #6e747e; font-size: .77rem; line-height: 1.45; }
.people-notice-list small,.people-notifications small { color: #9a9fa8; font-size: .68rem; }
.people-empty { display: grid; min-height: 150px; place-content: center; color: #777d87; text-align: center; }
.people-empty strong { color: #353a43; }
.people-empty p { margin: 6px 0 0; font-size: .82rem; }
.people-detail { margin-top: 22px; }
.people-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 20px 0 28px; }
.people-detail-grid article { display: grid; gap: 6px; border-radius: 12px; padding: 14px; background: #f6f7f8; }
.people-detail-grid small { color: #818690; font-size: .68rem; }
.people-detail-grid strong { font-size: .8rem; }
.people-timeline { margin: 0; padding: 0; list-style: none; }
.people-timeline li { position: relative; display: grid; grid-template-columns: 13px 1fr; gap: 10px; padding-bottom: 18px; }
.people-timeline li:not(:last-child)::before { position: absolute; top: 10px; bottom: -2px; left: 5px; width: 1px; background: #dddfe3; content: ""; }
.people-timeline i { position: relative; z-index: 1; width: 11px; height: 11px; margin-top: 3px; border: 3px solid #fff; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 1px #d9dce1; }
.people-timeline strong { font-size: .76rem; text-transform: capitalize; }
.people-timeline p { margin: 2px 0; color: #747a84; font-size: .72rem; }
.people-timeline small { color: #a0a5ad; font-size: .66rem; }
.people-payment-mini,.people-ledger,.people-share-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #eceef1; padding: 13px 0; }
.people-payment-mini { flex-wrap: wrap; }
.people-payment-mini strong,.people-ledger strong,.people-share-row strong { display: block; font-size: .78rem; }
.people-payment-mini small,.people-ledger small,.people-share-row small { display: block; color: #898e97; font-size: .68rem; }
.people-share { margin-top: 25px; border-top: 1px solid #e7e8eb; }
.people-share > p { color: #707681; font-size: .8rem; }
.people-share form { display: grid; grid-template-columns: minmax(180px,1fr) 190px 85px auto; gap: 9px; margin-bottom: 12px; }
.people-share input,.people-share select,.people-profile input { width: 100%; border: 1px solid #d9dce1; border-radius: 10px; padding: 11px 12px; background: #fff; font: inherit; font-size: .78rem; }
.people-share form button { border-radius: 10px; padding: 10px 16px; background: #17191e; color: #fff; }
.people-document-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.people-document-grid > article { position: relative; display: flex; min-height: 320px; flex-direction: column; align-items: flex-start; border: 1px solid #e0e2e6; border-radius: 18px; padding: 22px; background: #fff; box-shadow: 0 9px 24px rgba(30,33,39,.035); }
.people-doc-icon { display: grid; width: 50px; height: 62px; margin-bottom: 18px; place-items: center; border-radius: 7px 7px 12px 7px; background: #ffebe9; color: var(--red); font-size: .68rem; font-weight: 900; }
.people-document-grid .people-status { position: absolute; top: 22px; right: 22px; }
.people-document-grid h2 { margin: 0 0 6px; font-size: 1.05rem; }
.people-document-grid p { margin: 0 0 5px; color: #656b75; font-size: .8rem; }
.people-document-grid > article > small { color: #91969e; font-size: .68rem; }
.people-doc-flags { display: flex; gap: 6px; margin-top: 14px; }
.people-doc-flags span { border-radius: 999px; padding: 5px 8px; background: #f0f1f3; color: #646a74; font-size: .64rem; font-weight: 800; }
.people-doc-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 20px; }
.people-doc-actions button { border: 1px solid #dfe1e5; border-radius: 9px; padding: 8px 10px; background: #fff; color: #323740; font-size: .7rem; }
.people-doc-actions button.primary { border-color: #17191e; background: #17191e; color: #fff; }
.people-notifications { display: grid; overflow: hidden; border: 1px solid #e0e2e6; border-radius: 17px; background: #fff; }
.people-notifications article { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 15px; padding: 18px 20px; border-bottom: 1px solid #eceef1; }
.people-notifications article.unread { background: #fffafa; }
.people-profile { max-width: 860px; }
.people-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.people-profile label { display: grid; gap: 7px; color: #5d636d; font-size: .75rem; font-weight: 700; }
.people-profile input:disabled { background: #f4f5f7; color: #7b818b; }
.people-profile fieldset { display: grid; gap: 12px; margin: 25px 0; border: 1px solid #e0e2e6; border-radius: 13px; padding: 18px; }
.people-profile legend { padding: 0 6px; font-size: .78rem; font-weight: 900; }
.people-profile fieldset label { display: flex; align-items: center; gap: 9px; }
.people-profile fieldset input { width: auto; }
.people-loading { display: grid; min-height: 55vh; place-items: center; color: #777d86; font-size: .9rem; }
.people-toast,.people-error { position: fixed; z-index: 80; right: 25px; bottom: 25px; display: flex; max-width: 440px; align-items: center; gap: 16px; border-radius: 13px; padding: 15px 18px; background: #16191f; color: #fff; box-shadow: 0 16px 38px rgba(0,0,0,.18); font-size: .8rem; }
.people-toast button,.people-error button { border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 1.25rem; }
.people-error { background: #a4211d; }
@media(max-width:1100px){.people-layout{grid-template-columns:210px minmax(0,1fr)}.people-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-two{grid-template-columns:1fr}.people-metrics{grid-template-columns:repeat(2,1fr)}.people-detail-grid{grid-template-columns:repeat(2,1fr)}.people-share form{grid-template-columns:1fr 1fr}.people-share form button{grid-column:span 2}}
@media(max-width:760px){.people-topbar{grid-template-columns:1fr auto;height:auto;min-height:68px;padding:12px 18px}.people-topbar>div{display:none}.people-new{display:none}.people-layout{display:block}.people-sidebar{position:sticky;z-index:30;top:68px;width:100%;height:auto;overflow:auto;border-right:0;border-bottom:1px solid #e1e3e7;padding:8px 15px}.people-welcome,.people-sidebar>a{display:none}.people-sidebar nav{display:flex;width:max-content}.people-sidebar nav button{width:auto;white-space:nowrap}.people-content{padding:28px 18px}.people-metrics{grid-template-columns:repeat(2,1fr)}.people-metrics article{min-height:100px}.people-document-grid{grid-template-columns:1fr}.people-detail-grid,.people-form-grid{grid-template-columns:1fr}.people-share form{grid-template-columns:1fr}.people-share form button{grid-column:auto}.people-heading h1{font-size:2.15rem}.people-topbar .people-logo img{width:135px}}
.benefit-stat span { margin-top: 5px; font-size: .7rem; }

/* Platform */
.section-platform { overflow: hidden; background: var(--white); }
.platform-grid { display: grid; grid-template-columns: minmax(500px, 1.14fr) minmax(0, .86fr); align-items: center; gap: clamp(60px, 7vw, 105px); }
.platform-visual { position: relative; display: grid; min-height: 470px; align-items: center; }
.platform-visual > img:first-child { position: relative; z-index: 1; width: 112%; max-width: none; margin-left: -11%; filter: drop-shadow(0 18px 19px rgba(17, 19, 23, .12)); transition: transform .6s cubic-bezier(.22, 1, .36, 1); }
.platform-visual:hover > img:first-child { transform: translateY(-7px) scale(1.01); }
.platform-copy h2 { max-width: 500px; font-size: clamp(2.55rem, 3.8vw, 4.2rem); }
.platform-copy > p { max-width: 490px; margin-bottom: 29px; color: var(--muted); font-size: 1.03rem; }
.platform-points { display: grid; gap: 17px; margin-bottom: 30px; }
.platform-points > div { display: grid; grid-template-columns: 37px 1fr; column-gap: 11px; transition: transform .28s ease; }
.platform-points > div:hover { transform: translateX(5px); }
.platform-points > div > span { display: grid; grid-row: span 2; width: 37px; height: 37px; place-items: center; border-radius: 10px; background: var(--red-soft); color: var(--red); transition: transform .28s ease, background-color .28s ease; }
.platform-points > div:hover > span { background: #ffe3e1; transform: rotate(-4deg) scale(1.05); }
.platform-points strong { align-self: end; font-size: .9rem; }
.platform-points small { align-self: start; color: var(--muted); font-size: .77rem; }

/* Security and CTA */
.section-security { padding-top: 95px; padding-bottom: 95px; background: var(--paper); }
.security-inner { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 65px; }
.security-copy p { max-width: 460px; margin-bottom: 28px; color: var(--muted); font-size: 1.02rem; }
.security-inner > img { width: 100%; max-height: 300px; object-fit: contain; transition: transform .55s cubic-bezier(.22, 1, .36, 1); }
.security-inner > img:hover { transform: translateY(-7px) scale(1.012); }
.security-tags { display: flex; flex-wrap: wrap; gap: 9px; }
.security-tags span { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #dfe2e8; border-radius: 999px; background: var(--white); padding: 8px 11px; color: var(--muted-dark); font-size: .78rem; font-weight: 650; transition: transform .24s ease, border-color .24s ease; }
.security-tags span:hover { border-color: rgba(225, 6, 0, .25); transform: translateY(-3px); }
.security-tags svg { color: var(--red); }
.section-cta { padding: 70px 0; background: var(--ink); color: var(--white); }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.cta-inner h2 { max-width: 530px; margin-bottom: 10px; }
.cta-inner p { margin: 0; color: #b3b8c4; }

/* Footer */
.site-footer { background: #0c0e12; color: var(--white); padding: 64px 0 23px; }
.session-gate{min-height:100vh;background:#fff}.security-video-mockup{aspect-ratio:16/9!important;width:100%!important;height:auto!important;border-radius:24px!important;object-fit:cover!important;box-shadow:0 28px 70px rgba(12,14,18,.2)}
.footer-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 50px; padding-bottom: 48px; }
.footer-logo { width: 165px; margin-bottom: 17px; }
.footer-grid p { max-width: 260px; margin: 0; color: #9da4b2; font-size: .85rem; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-grid strong { margin-bottom: 6px; font-size: .85rem; }
.footer-grid a { color: #9da4b2; font-size: .82rem; text-decoration: none; transition: color .22s ease, transform .22s ease; }
.footer-grid a:hover { color: var(--white); transform: translateX(4px); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #272b34; padding-top: 18px; color: #777f8e; font-size: .72rem; }

/* Wizard */
.modal-backdrop { position: fixed; z-index: 500; inset: 0; display: grid; overflow-y: auto; place-items: center; background: rgba(17, 19, 23, .57); padding: 24px; animation: overlay-enter .22s ease-out both; }
.wizard { position: relative; width: min(100%, 570px); border-radius: 22px; background: var(--white); padding: 38px; box-shadow: 0 30px 70px rgba(17, 19, 23, .28); animation: dialog-enter .34s cubic-bezier(.22, 1, .36, 1) both; }
.wizard-wide { width: min(100%, 980px); }
.wizard-close { position: absolute; top: 15px; right: 15px; display: grid; width: 35px; height: 35px; place-items: center; border: 0; border-radius: 50%; background: var(--paper); color: var(--muted-dark); font-size: 1.5rem; line-height: 1; }
.wizard-close:hover { background: var(--red-soft); color: var(--red); }
.wizard-header { padding-right: 28px; }
.wizard-header h2 { margin-bottom: 11px; font-size: 2.25rem; }
.wizard-header p { margin-bottom: 24px; color: var(--muted); font-size: .9rem; }
.wizard-progress { display: flex; align-items: center; gap: 8px; margin-bottom: 25px; }
.wizard-progress span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: var(--paper); color: var(--muted); font-size: .75rem; font-weight: 700; }
.wizard-progress span.is-active { background: var(--red); color: var(--white); }
.wizard-progress i { flex: 1; border-top: 1px solid var(--line); }
.wizard-selected { display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 12px; padding: 11px; }
.wizard-selected > div { flex: 1; }
.wizard-selected strong, .wizard-selected small { display: block; }
.wizard-selected strong { font-size: .86rem; letter-spacing: -.01em; }
.wizard-selected small { color: var(--muted); font-size: .72rem; }
.wizard-selected button { border: 0; background: transparent; color: var(--red); font-size: .75rem; font-weight: 700; }
.wizard-form { display: grid; gap: 15px; margin-top: 23px; }
.wizard-form label:not(.wizard-check) { display: grid; gap: 7px; color: var(--muted-dark); font-size: .78rem; font-weight: 700; }
.wizard-form input:not([type="checkbox"]), .wizard-form select, .wizard-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: var(--white); padding: 12px 13px; color: var(--ink); font: inherit; font-size: .9rem; font-weight: 500; }
.wizard-form textarea { min-height: 96px; resize: vertical; }
.wizard-form input:not([type="checkbox"]):focus, .wizard-form select:focus, .wizard-form textarea:focus { border-color: var(--red); box-shadow: 0 0 0 4px rgba(225, 6, 0, .08); }
.wizard-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.form-section-title { margin-top: 3px; border-bottom: 1px solid var(--line); padding-bottom: 8px; color: var(--ink); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.field-help { color: var(--muted); font-size: .7rem; font-weight: 500; }
.wizard-loading { color: var(--muted); text-align: center; }
.requirements-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; border: 1px solid #ffd0ce; border-radius: 11px; background: var(--red-soft); padding: 12px 13px; color: var(--ink); text-align: left; }
.requirements-toggle span { display: flex; align-items: center; gap: 9px; font-size: .8rem; font-weight: 700; }
.requirements-toggle span svg, .requirements-toggle strong { color: var(--red); }
.requirements-toggle strong { font-size: .72rem; }
.requirements-panel { margin-top: -8px; border: 1px solid var(--line); border-radius: 11px; background: #fbfbfc; padding: 13px; }
.requirements-panel ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.requirements-panel li { display: flex; align-items: flex-start; gap: 9px; }
.requirements-panel li > svg { flex: 0 0 auto; margin-top: 1px; color: var(--red); }
.requirements-panel li strong, .requirements-panel li small { display: block; }
.requirements-panel li strong { font-size: .78rem; }
.requirements-panel li small { margin-top: 2px; color: var(--muted); font-size: .7rem; line-height: 1.4; }
.document-intro { display:grid; gap:18px; margin-top:22px; }.document-intro-copy { border-radius:12px; background:var(--paper); padding:20px; }.document-intro-copy p { margin:8px 0 0; color:var(--muted-dark); font-size:1rem; line-height:1.65; }.intro-requirements { margin-top:0; padding:18px; }.intro-requirements li strong { font-size:.88rem; }.intro-requirements li small { font-size:.78rem; }.document-intro>.button { width:100%; }
.credential-page-grid { align-items:start; }.credential-page-grid>.panel-card { box-shadow:0 12px 35px rgba(17,19,23,.08); }
.iframe-integration-card{margin-bottom:20px;box-shadow:0 12px 35px rgba(17,19,23,.08)}.iframe-integration-card .card-heading{margin-bottom:18px}.iframe-integration-card h2{margin:4px 0 6px}.iframe-integration-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px}.iframe-integration-grid label{display:grid;gap:7px;color:var(--muted-dark);font-size:.78rem;font-weight:700}.iframe-integration-grid input,.iframe-integration-grid textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#f8f9fb;padding:12px 13px;color:#282d36;font:inherit}.iframe-integration-grid textarea{min-height:148px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.5}.iframe-actions{margin-top:16px}.iframe-actions a{text-decoration:none}@media(max-width:760px){.iframe-integration-grid{grid-template-columns:1fr}.iframe-actions .button{width:100%}}
@media (min-width: 769px) { .wizard:not(.wizard-wide) { width:min(100%,720px); }.wizard-wide .wizard-form { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }.wizard-wide .wizard-form>.form-section-title,.wizard-wide .wizard-form>.wizard-form-row,.wizard-wide .wizard-form>.button,.wizard-wide .wizard-form>.form-error { grid-column:1/-1; } }
.notary-step { display: grid; gap: 18px; margin-top: 22px; }
.notary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-height: 390px; overflow-y: auto; padding: 2px; }
.notary-card { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 11px; min-height: 135px; border: 1px solid var(--line); border-radius: 13px; background: #fff; padding: 15px; color: var(--ink); text-align: left; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.notary-card:hover { border-color: #f2aaa7; transform: translateY(-2px); }
.notary-card.is-selected { border-color: var(--red); box-shadow: 0 0 0 3px rgba(225, 6, 0, .08); }
.notary-icon { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 10px; background: var(--red-soft); color: var(--red); }
.notary-card strong, .notary-card small { display: block; }
.notary-card strong { padding-right: 18px; font-size: .86rem; line-height: 1.3; }
.notary-card small { margin-top: 4px; color: var(--muted); font-size: .69rem; }
.notary-price { grid-column: 2; margin-top: 4px; color: var(--red); font-size: .9rem; font-weight: 800; }
.notary-check { position: absolute; top: 12px; right: 12px; display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--red); color: #fff; }
.wizard-actions { display: flex; justify-content: space-between; gap: 12px; }
.form-error { color: #a80702; background: #fff1f0; border: 1px solid #ffc8c5; border-radius: 9px; padding: 10px 12px; font-size: .82rem; }
.button:disabled { cursor: not-allowed; opacity: .55; }
.payment-page { min-height: 100vh; display: grid; place-items: center; padding: 32px; background: #f7f8fa; }
.payment-card { width: min(560px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 42px; box-shadow: 0 24px 70px rgba(22, 28, 45, .12); text-align: center; }
.payment-card img { margin-bottom: 24px; }
.payment-card h1 { font-size: clamp(2rem, 6vw, 3.2rem); letter-spacing: -.05em; }
.payment-card p { color: var(--muted-dark); line-height: 1.65; }
.wizard-check { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: .73rem; line-height: 1.4; }
.wizard-check input { margin-top: 2px; accent-color: var(--red); }
.wizard-success { display: flex; flex-direction: column; align-items: flex-start; padding: 24px 4px 8px; }
.success-icon { display: grid; width: 64px; height: 64px; margin-bottom: 28px; place-items: center; border-radius: 50%; background: #e8f7ef; color: var(--green); }
.wizard-success h2 { margin-bottom: 12px; font-size: 2.4rem; }
.wizard-success p { max-width: 420px; margin-bottom: 27px; color: var(--muted); }
.account-choice { display: flex; flex-wrap: wrap; gap: 11px; width: 100%; }
.optional-account-form { display: grid; gap: 13px; width: 100%; border-top: 1px solid var(--line); padding-top: 18px; }
.optional-account-form h3 { margin: 0; font-size: 1.2rem; }
.optional-account-form p { margin: 0; }
.optional-account-form label { display: grid; gap: 6px; color: var(--muted-dark); font-size: .78rem; font-weight: 700; }
.optional-account-form input { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 12px; font: inherit; }
.optional-account-form small { color: var(--muted); font-weight: 500; }

/* Acceso y paneles */
.auth-page { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(circle at 78% 18%, #ffe9e7 0, transparent 30%), var(--paper); padding: 28px; }
.auth-card { width: min(100%, 470px); border: 1px solid var(--line); border-radius: 22px; background: #fff; padding: 42px; box-shadow: 0 28px 80px rgba(17,19,23,.13); }
.auth-logo { display: inline-block; margin-bottom: 32px; }
.auth-logo img { width: 178px; }
.auth-card h1 { margin: 8px 0 12px; font-size: 2.35rem; letter-spacing: -.055em; }
.auth-card > p { color: var(--muted); line-height: 1.55; }
.auth-form { display: grid; gap: 15px; margin-top: 25px; }
.auth-form label,.profile-form label,.mfa-setup label { display: grid; gap: 7px; color: var(--muted-dark); font-size: .78rem; font-weight: 700; }
.auth-form input,.profile-form input,.profile-form select,.profile-form textarea,.mfa-setup input { width: 100%; border: 1px solid var(--line); border-radius: 9px; outline: 0; background:#fff; padding: 12px 13px; font: inherit; }
.profile-form textarea { min-height:100px; resize:vertical; }
.auth-form input:focus,.profile-form input:focus,.mfa-setup input:focus { border-color: var(--red); box-shadow: 0 0 0 4px rgba(225,6,0,.08); }
.auth-form .text-link { justify-self: center; border: 0; background: transparent; }
.auth-footnote { display: block; margin-top: 26px; color: var(--muted); line-height: 1.5; }
.panel-loading { min-height: 100vh; display: grid; place-items: center; background: var(--paper); color: var(--muted); }
.panel-shell { min-height: 100vh; display: grid; grid-template-columns: 255px minmax(0,1fr); background: #f5f6f8; }
.panel-sidebar { position: sticky; top: 0; align-self: start; width: 100%; height: 100dvh; min-height: 100dvh; overflow: hidden; display: flex; flex-direction: column; background: #0c0e12; padding: 27px 19px; color: #fff; }
.panel-sidebar > a:first-child { display:block; margin:2px 8px 30px; }
.panel-sidebar > a:first-child img { width:155px; }
.panel-home-link { display:block; margin-top:12px; padding:8px 12px; color:#cbd0da; font-size:.82rem; text-decoration:none; }
.panel-home-link:hover { color:#fff; text-decoration:underline; }
.panel-identity { display: grid; gap: 3px; border-top: 1px solid #252932; border-bottom: 1px solid #252932; padding: 17px 8px; }
.panel-identity strong { font-size: .86rem; }
.panel-identity small { color: #8f97a6; font-size: .69rem; }
.panel-sidebar nav { display: grid; min-height: 0; overflow-y: auto; overscroll-behavior: contain; gap: 5px; margin-top: 20px; padding-right: 4px; scrollbar-color: #434956 transparent; scrollbar-width: thin; }
.panel-sidebar nav button,.panel-logout { border: 0; border-radius: 9px; background: transparent; padding: 12px; color: #aeb5c2; font-size: .82rem; font-weight: 700; text-align: left; }
.panel-sidebar nav button:hover,.panel-sidebar nav button.is-active { background: #20242c; color: #fff; }
.panel-sidebar nav button.is-active { box-shadow: inset 3px 0 var(--red); }
.panel-logout { flex: 0 0 auto; margin-top: 14px; border: 1px solid #2b303a; }
.panel-main { min-width: 0; padding: 34px clamp(20px,4vw,55px) 60px; }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 30px; }
.panel-header h1 { margin: 5px 0 0; font-size: 2.35rem; }
.panel-avatar { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--red); color: #fff; font-weight: 800; }
.security-alert { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; border: 1px solid #ffc6c3; border-radius: 13px; background: #fff3f2; padding: 17px; }
.security-alert p { margin: 4px 0 0; color: var(--muted); font-size: .8rem; }
.metrics-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 13px; margin-bottom: 24px; }
.metric-card,.panel-card { border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 8px 30px rgba(17,19,23,.04); }
.metric-card { padding: 18px; }
.metric-card small { display: block; color: var(--muted); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.metric-card strong { display: block; margin-top: 12px; font-size: 1.7rem; }
.panel-table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.panel-table-wrap table { width: 100%; border-collapse: collapse; font-size: .76rem; }
.panel-table-wrap th { background: #f8f9fa; color: var(--muted-dark); text-align: left; text-transform: capitalize; }
.panel-table-wrap th,.panel-table-wrap td { max-width: 260px; border-bottom: 1px solid var(--line); padding: 12px 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.panel-empty { border: 1px dashed #cfd3da; border-radius: 14px; background: #fff; padding: 45px; color: var(--muted); text-align: center; }
.profile-grid,.admin-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.panel-card { min-width: 0; padding: 22px; }
.panel-card h2 { margin: 0 0 18px; font-size: 1.2rem; }
.profile-form,.mfa-setup { display: grid; gap: 14px; }
.mfa-setup code,.recovery-codes code { display: block; overflow-wrap: anywhere; border-radius: 7px; background: #f2f3f5; padding: 9px; font-size: .75rem; }
.recovery-codes { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; margin-top: 16px; }
.recovery-codes strong { grid-column: 1/-1; margin-bottom: 5px; }
.success-note { margin-bottom: 18px; border: 1px solid #bde7ce; border-radius: 9px; background: #edf9f2; padding: 11px; color: #176f3c; }
.app-toast { position: fixed; z-index: 2200; right: 22px; bottom: 22px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; width: min(480px,calc(100vw - 32px)); border: 1px solid; border-left-width: 5px; border-radius: 14px; padding: 17px 18px; box-shadow: 0 22px 65px rgba(15,18,24,.24); animation: toast-enter .25s ease-out both; }
.app-toast strong { font-size: .78rem; }.app-toast span { font-size: .78rem; line-height: 1.4; }.app-toast button { border: 0; background: transparent; color: inherit; font-size: 1.25rem; cursor: pointer; }
.app-toast.is-success { border-color:#a6dec0; background:#effaf4; color:#16653a; }.app-toast.is-error { border-color:#ffc1bd; background:#fff2f1; color:#9d1712; }
.option-checks { display:flex; flex-wrap:wrap; gap:16px; }.option-checks label { display:flex; align-items:center; gap:8px; font-size:.78rem; }.option-checks input { width:auto; }
.admin-sections { display:grid; gap:20px; }.admin-user-list small { display:block; margin-top:3px; color:var(--muted); }.table-action { border:1px solid var(--line); border-radius:7px; background:#fff; padding:7px 9px; color:#353b46; font-size:.7rem; font-weight:750; cursor:pointer; }.table-action:hover { border-color:#ffb0ad; color:var(--red); }
.form-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.notary-admin-list,.credential-status-list { display:grid; gap:10px; }.notary-admin-list article { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--line); border-radius:10px; padding:13px; }.notary-admin-list article small { display:block; margin-top:3px; color:var(--muted); font-size:.7rem; }.notary-admin-list article>div:last-child { display:flex; gap:7px; }
.credential-manager { border-color:#ffc5c2; }.credential-heading { display:flex; justify-content:space-between; gap:18px; margin-bottom:20px; }.credential-heading h2 { margin:5px 0 4px; }.credential-heading p,.muted-copy { margin:0; color:var(--muted); font-size:.77rem; }.credential-status-list>div { display:grid; gap:3px; border:1px solid var(--line); border-radius:9px; padding:12px; }.credential-status-list span,.credential-status-list small { color:var(--muted); font-size:.7rem; }
.download-actions { display:flex; flex-wrap:wrap; gap:7px; }.download-actions a { text-decoration:none; }.table-action.danger { border-color:#ffc1bd; color:#a5211c; }.integration-note { display:flex; align-items:center; gap:12px; margin-bottom:18px; border:1px solid #ffd3d0; border-radius:9px; background:#fff6f5; padding:11px; font-size:.75rem; }.integration-note span { color:var(--muted-dark); }
.matter-admin { display:grid; grid-template-columns:270px minmax(0,1fr); align-items:start; gap:18px; }.matter-list { position:sticky; top:20px; display:grid; gap:8px; }.card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }.matter-list>button { display:flex; justify-content:space-between; gap:10px; border:1px solid var(--line); border-radius:9px; background:#fff; padding:11px; text-align:left; cursor:pointer; }.matter-list>button.is-active { border-color:#ffaaa6; background:#fff5f4; }.matter-list>button span,.matter-list>button small { display:block; }.matter-list>button small { margin-top:3px; color:var(--muted); font-size:.66rem; }.matter-list>button em { color:var(--muted); font-size:.65rem; font-style:normal; white-space:nowrap; }.matter-workspace { display:grid; gap:18px; }.field-order-list { display:grid; gap:8px; }.field-order-list article { display:grid; grid-template-columns:34px minmax(0,1fr) auto auto; align-items:center; gap:9px; border:1px solid var(--line); border-radius:9px; padding:10px; }.field-order-list article.is-disabled { opacity:.55; }.field-order-list small { display:block; margin-top:3px; color:var(--muted); font-size:.68rem; }.order-badge { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#f1f2f4; font-size:.72rem; font-weight:800; }.nested-form { margin-top:18px; border-top:1px solid var(--line); padding-top:18px; }.template-variables { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:15px; }.template-variables code { border-radius:6px; background:#f1f2f4; padding:6px 8px; font-size:.69rem; }.template-editor { min-height:340px!important; font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important; font-size:.78rem!important; line-height:1.6; }
.help-tip { display:inline-grid; place-items:center; width:17px; height:17px; border-radius:50%; background:#eef0f3; color:#596273; font-size:.66rem; font-style:normal; font-weight:900; cursor:help; }.field-hint { display:block; margin-top:5px; color:var(--muted); font-size:.66rem; }.security-browser { display:grid; gap:16px; }.security-tabs { display:flex; flex-wrap:wrap; gap:7px; border-bottom:1px solid var(--line); padding-bottom:12px; }.security-tabs button { border:0; border-radius:8px; background:#f0f2f5; padding:9px 12px; color:#596273; font-size:.75rem; font-weight:800; cursor:pointer; }.security-tabs button.is-active { background:var(--red); color:#fff; }.table-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }.table-toolbar input { width:min(420px,100%); border:1px solid var(--line); border-radius:9px; padding:10px 12px; font:inherit; }.table-toolbar span { color:var(--muted); font-size:.72rem; }.table-pagination { display:flex; align-items:center; justify-content:center; gap:12px; }.table-pagination button { border:1px solid var(--line); border-radius:8px; background:#fff; padding:8px 11px; font-weight:700; cursor:pointer; }.table-pagination button:disabled { opacity:.4; cursor:not-allowed; }.table-pagination span { color:var(--muted); font-size:.73rem; }

@keyframes toast-enter { from { opacity:0; transform:translateY(14px) scale(.98); } to { opacity:1; transform:none; } }

.button:disabled,.table-action:disabled { cursor:wait!important; border-color:#cfd3da!important; background:#cfd3da!important; color:#69717e!important; box-shadow:none!important; opacity:1!important; }
.matter-editor-page { display:grid; gap:18px; }.matter-editor-page>.card-heading h2 { margin:5px 0 0; font-size:2rem; }.back-link-button { display:block; margin-bottom:13px; border:0; background:transparent; padding:0; color:#596273; font-weight:800; cursor:pointer; }.matter-tabs { display:flex; overflow-x:auto; gap:8px; border-bottom:1px solid var(--line); padding-bottom:12px; }.matter-tabs button { border:1px solid var(--line); border-radius:9px; background:#fff; padding:11px 20px; color:#596273; font-weight:800; white-space:nowrap; }.matter-tabs button.is-active { border-color:var(--red); background:var(--red); color:#fff; }.credential-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }.credential-provider-card { border:1px solid var(--line); border-radius:12px; padding:18px; }.credential-provider-card h3 { margin:5px 0; }.button-danger { border-color:#ffc1bd!important; background:#fff2f1!important; color:#a51d18!important; }

@keyframes header-enter {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes content-rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes phone-float {
  0%, 100% { transform: translateY(0) rotate(-3.5deg); }
  50% { transform: translateY(-8px) rotate(-2.2deg); }
}

@keyframes overlay-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes dialog-enter {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes nav-enter {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.matter-browser .panel-table-wrap small,.management-browser .panel-table-wrap small { display:block; margin-top:3px; color:var(--muted); font-size:.68rem; }
.management-browser .table-toolbar { flex-wrap:wrap; }.management-browser .table-toolbar .button { margin-left:auto; min-height:38px; padding:9px 13px; }
.admin-modal-backdrop { position:fixed; z-index:1200; inset:0; display:grid; place-items:center; overflow:auto; padding:24px; background:rgba(10,13,18,.66); backdrop-filter:blur(5px); }
.admin-modal { width:min(760px,100%); max-height:calc(100vh - 48px); overflow:auto; border-radius:18px; background:#fff; box-shadow:0 28px 80px rgba(0,0,0,.28); }
.admin-modal-large { width:min(1120px,100%); }.admin-modal>header { position:sticky; z-index:4; top:0; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); background:#fff; padding:22px 26px 16px; }.admin-modal>header h2 { margin:0; font-size:1.65rem; }.admin-modal>header .section-kicker { margin-bottom:7px; }.modal-close { display:grid; flex:0 0 auto; width:38px; height:38px; place-items:center; border:0; border-radius:50%; background:#f1f2f4; color:#596171; font-size:1.5rem; }.admin-modal-content { padding:24px 26px 28px; }.admin-modal-layout { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:start; }.admin-modal-layout>.admin-modal-content { padding-top:20px; }.admin-modal-nav { position:sticky; top:97px; display:grid; gap:7px; padding:22px 14px 24px 22px; }.admin-modal-nav button { border:0; border-radius:8px; background:transparent; padding:10px 12px; color:#4e5665; font-weight:750; text-align:left; }.admin-modal-nav button:hover { background:#fff1f0; color:var(--red); }.admin-modal-nav button:disabled { opacity:.35; cursor:not-allowed; }.admin-modal .matter-workspace>.panel-card { box-shadow:none; scroll-margin-top:100px; }

.app-toast { z-index:2200!important; }
.admin-modal-nav button.is-active,.admin-modal-nav:not(:has(.is-active)) button:first-child { background:var(--red); color:#fff; }
.admin-modal-content>.panel-card:not(:first-child) { display:none; }
.document-actions { display:flex; flex-wrap:wrap; gap:6px; min-width:230px; }.table-action:disabled { opacity:.42; cursor:not-allowed; }.table-action.ready { border-color:#a6dec0; color:#16653a; }.status-pill { display:inline-flex; border-radius:999px; background:#f0f2f5; padding:4px 8px; font-size:.66rem; font-weight:800; white-space:nowrap; }.status-realizado { background:#e9f8f0; color:#16653a; }.document-browser,.management-browser { display:grid; gap:16px; }

.matter-browser:has(.admin-modal-backdrop)>.panel-card { display:none; }
.matter-browser>.admin-modal-backdrop { position:static; display:block; overflow:visible; padding:0; background:transparent; backdrop-filter:none; }
.matter-browser>.admin-modal-backdrop>.admin-modal { width:100%; max-height:none; overflow:visible; border:1px solid var(--line); box-shadow:none; }
.matter-browser .admin-modal-nav button:nth-child(4),.matter-browser .matter-workspace>.panel-card:nth-child(4) { display:none!important; }
.matter-browser .admin-modal-content>.panel-card[hidden] { display:none!important; }
.commission-form { display:flex; align-items:end; gap:8px; }.commission-form label { color:var(--muted); font-size:.7rem; font-weight:750; }.commission-form input { display:block; width:90px; margin-top:4px; border:1px solid var(--line); border-radius:8px; padding:8px; }.table-toolbar select { min-width:200px; border:1px solid var(--line); border-radius:9px; background:#fff; padding:10px 12px; }
.commission-scope-modal { width:min(720px,100%); }.commission-scope-options { display:grid; gap:10px; }.commission-scope-option { display:flex!important; align-items:flex-start; gap:12px; border:1px solid var(--line); border-radius:12px; padding:14px 16px; cursor:pointer; transition:.15s ease; }.commission-scope-option:hover,.commission-scope-option.selected { border-color:var(--red); background:#fff7f6; }.commission-scope-option input { width:auto!important; margin:3px 0 0!important; accent-color:var(--red); }.commission-scope-option span { display:grid; gap:3px; }.commission-scope-option strong { color:var(--ink); }.commission-scope-option small { color:var(--muted); font-weight:500; }.modal-actions { display:flex; justify-content:flex-end; gap:10px; }.modal-actions .button { min-width:150px; }

.matter-browser .admin-modal-layout { display:block; }.matter-browser .admin-modal-nav { position:static; display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid var(--line); padding:16px 22px; }.matter-browser .admin-modal-nav button { border:1px solid var(--line); background:#f5f6f8; padding:10px 18px; text-align:center; }.matter-browser .admin-modal-nav button.is-active,.matter-browser .admin-modal-nav:not(:has(.is-active)) button:first-child { border-color:var(--red); background:var(--red); color:#fff; }.matter-browser .admin-modal-layout>.admin-modal-content { padding:24px; }
.folio-link { color:var(--red); font-weight:850; text-decoration:none; }.folio-link:hover { text-decoration:underline; }
.summary-page { min-height:100vh; background:#f5f6f8; padding:38px max(24px,calc((100vw - 1320px)/2)); }.summary-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px; }.summary-header h1 { margin:5px 0 8px; font-size:clamp(2.3rem,5vw,4rem); }.summary-header p { margin:0; color:var(--muted); }.back-link { display:block; margin-bottom:20px; color:#596273; font-size:.78rem; font-weight:800; text-decoration:none; }.summary-tabs { display:flex; overflow-x:auto; gap:8px; margin-bottom:20px; border-bottom:1px solid var(--line); padding-bottom:12px; }.summary-tabs button { border:1px solid var(--line); border-radius:9px; background:#fff; padding:10px 15px; color:#596273; font-weight:800; white-space:nowrap; }.summary-tabs button.is-active { border-color:var(--red); background:var(--red); color:#fff; }.summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.info-card h2,.summary-page>.panel-card h2 { font-size:1.25rem; }.info-card dl { display:grid; gap:0; margin:0; }.info-card dl>div { display:grid; grid-template-columns:minmax(110px,.75fr) minmax(0,1.25fr); gap:12px; border-top:1px solid var(--line); padding:9px 0; }.info-card dt { color:var(--muted); font-size:.68rem; font-weight:800; text-transform:capitalize; }.info-card dd { margin:0; overflow-wrap:anywhere; font-size:.78rem; font-weight:650; }.detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.detail-list>div { border:1px solid var(--line); border-radius:9px; padding:12px; }.detail-list span,.detail-list small { display:block; color:var(--muted); font-size:.68rem; }.detail-list strong { display:block; margin:4px 0; }.state-timeline { display:grid; }.state-timeline article { display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; }.state-timeline article>span { position:relative; width:10px; height:10px; margin-top:7px; border-radius:50%; background:var(--red); }.state-timeline article>span:after { position:absolute; top:10px; left:4px; width:2px; height:calc(100% + 45px); background:#ffd0cd; content:""; }.state-timeline article:last-child>span:after { display:none; }.state-timeline article>div { padding-bottom:22px; }.state-timeline p { margin:3px 0; color:#4d5563; }.state-timeline small { color:var(--muted); }

.matter-browser .admin-modal-layout:has(.admin-modal-nav .is-active) .admin-modal-content>.panel-card:not([hidden]) { display:block!important; }

@media (max-width: 1050px) {
  .hero-grid { grid-template-columns: 1fr; gap: 56px; }
  .hero-copy { max-width: 730px; }
  .hero-visual { min-height: 540px; width: min(100%, 760px); margin-inline: auto; }
  .hero-photo-frame { width: 91%; }
  .hero-phone-float { left: 0; width: 220px; }
  .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .benefits-grid, .platform-grid { gap: 48px; }
  .platform-grid { grid-template-columns: 1fr 1fr; }
  .platform-visual > img:first-child { width: 106%; margin-left: -6%; }
}

@media (max-width: 820px) {
  :root { --header-height: 68px; }
  .container { width: min(var(--container), calc(100% - 34px)); }
  .site-header { height: var(--header-height); }
  .header-inner { gap: 13px; }
  .brand, .brand img { width: 150px; }
  .header-actions { margin-left: auto; }
  .header-link { display: none; }
  .menu-toggle { display: grid; order: 3; }
  .primary-navigation { position: absolute; top: calc(100% + 1px); right: 17px; left: 17px; display: none; flex-direction: column; align-items: stretch; gap: 0; border: 1px solid var(--line); border-radius: 13px; background: var(--white); padding: 7px; box-shadow: var(--shadow-md); }
  .primary-navigation.is-open { display: flex; animation: nav-enter .24s cubic-bezier(.22, 1, .36, 1) both; }
  .primary-navigation a { border-radius: 8px; padding: 12px; font-size: .9rem; }
  .primary-navigation a:hover { background: var(--red-soft); }
  .primary-navigation a::after { display: none; }
  .header-actions .button-small { min-height: 40px; padding: 10px 12px; font-size: .74rem; }
  .hero { padding: 58px 0 72px; }
  .hero-visual { min-height: 500px; }
  .trust-points { max-width: none; }
  .section { padding: 86px 0; }
  .section-heading { display: block; margin-bottom: 34px; }
  .service-search { margin-top: 22px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 20px; margin-bottom: 62px; }
  .process-step { min-height: 170px; padding-right: 10px; }
  .step-line { display: none; }
  .process-showcase { grid-template-columns: 1fr; gap: 30px; padding: 48px 0 28px; }
  .process-showcase > div:first-child { max-width: 560px; }
  .process-showcase-visual { max-width: none; justify-items: center; }
  .process-showcase img { width: 100%; max-height: 390px; justify-self: center; transform: none; }
  .process-showcase-visual:hover img { transform: translateY(-5px) scale(1.008); }
  .benefits-grid, .platform-grid, .security-inner { grid-template-columns: 1fr; }
  .benefit-photo { width: min(100%, 720px); max-width: none; }
  .platform-visual { min-height: auto; max-width: 760px; }
  .platform-visual > img:first-child { width: 104%; margin-left: -4%; }
  .security-inner > img { max-width: 560px; }
  .cta-inner { align-items: flex-start; flex-direction: column; }
  .footer-grid { gap: 35px; }
  .panel-shell { grid-template-columns: 1fr; }
  .panel-sidebar { position: static; height: auto; min-height: auto; overflow: visible; }
  .panel-sidebar nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .panel-logout { margin-top: 18px; }
  .metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
  .summary-page { padding:22px 14px; }.summary-header { display:block; }.summary-header .download-actions { margin-top:18px; }.summary-grid,.detail-list { grid-template-columns:1fr; }.info-card dl>div { grid-template-columns:1fr; gap:2px; }.matter-browser .admin-modal-nav { flex-wrap:nowrap; overflow-x:auto; }.matter-browser .admin-modal-nav button { white-space:nowrap; }
  .admin-modal-backdrop { align-items:start; padding:8px; }.admin-modal { max-height:calc(100vh - 16px); border-radius:13px; }.admin-modal>header { padding:17px; }.admin-modal-content { padding:16px; }.admin-modal-layout { display:block; }.admin-modal-nav { position:sticky; z-index:3; top:78px; display:flex; overflow-x:auto; border-bottom:1px solid var(--line); background:#fff; padding:10px 14px; }.admin-modal-nav button { white-space:nowrap; }.management-browser .table-toolbar .button { width:100%; margin-left:0; }
  h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
  h2 { font-size: 2.25rem; }
  .hero { padding-top: 58px; }
  .hero-lead { font-size: 1rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .trust-points { grid-template-columns: 1fr; gap: 12px; }
  .hero-visual { min-height: 390px; }
  .hero-photo-frame { top: 22px; right: -24px; width: 96%; border-radius: 21px; }
  .hero-phone-float { bottom: -12px; left: -5px; width: 138px; }
  .orbit-one { top: -30px; right: -115px; width: 350px; height: 350px; }
  .orbit-two { right: -175px; bottom: -100px; width: 350px; height: 350px; }
  .section { padding: 72px 0; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 190px; }
  .filter-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .filter-tabs button { flex: 0 0 auto; }
  .entity-type-filter { align-items:flex-start; }
  .entity-type-filter>span { width:100%; }
  .process-grid { grid-template-columns: 1fr; gap: 25px; }
  .process-step { min-height: auto; }
  .step-number { margin-bottom: 11px; }
  .step-icon { margin-bottom: 12px; }
  .process-showcase h3 { font-size: 1.8rem; }
  .benefit-photo { padding: 10px 0 18px; }
  .benefit-photo-crop { aspect-ratio: 1.48 / 1; border-radius: 20px; }
  .benefit-photo-crop img { height: 110%; }
  .benefit-stat { right: 10px; bottom: 0; min-width: 126px; }
  .platform-visual { padding: 0; }
  .platform-visual > img:first-child { width: 108%; margin-left: -8%; }
  .security-tags { gap: 7px; }
  .security-tags span { font-size: .72rem; }
  .section-cta { padding: 58px 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 7px; }
  .wizard { border-radius: 17px; padding: 29px 20px 24px; }
  .wizard-header h2, .wizard-success h2 { font-size: 1.9rem; }
  .wizard-form-row, .notary-grid { grid-template-columns: 1fr; }
  .wizard-actions { align-items: stretch; flex-direction: column-reverse; }
  .auth-card { padding: 29px 21px; }
  .panel-main { padding: 25px 16px 45px; }
  .panel-sidebar nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-grid,.admin-columns { grid-template-columns: 1fr; }
  .security-alert { align-items: flex-start; flex-direction: column; }
  .account-choice { align-items: stretch; flex-direction: column; }
  .matter-admin { grid-template-columns:1fr; }.matter-list { position:static; }.field-order-list article { grid-template-columns:30px minmax(0,1fr); }.field-order-list article button { grid-row:2; }
  .form-pair { grid-template-columns:1fr; }
  .app-toast { right:12px; bottom:12px; }
  .credential-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .motion-ready [data-reveal], .motion-ready [data-reveal].is-visible { opacity: 1 !important; transform: none !important; }
  .motion-ready .hero-copy > * { opacity: 1 !important; transform: none !important; }
}
.procedure-page{min-height:100vh;background:#f5f6f8;color:var(--ink)}.procedure-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;padding:18px clamp(20px,5vw,80px)}.procedure-top span{color:var(--muted);font-size:.82rem}.procedure-shell{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:44px 0 80px}.procedure-heading{margin-bottom:26px}.procedure-heading h1{margin:8px 0 22px;font-size:clamp(2rem,5vw,4.4rem);line-height:1}.procedure-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.procedure-progress span{display:grid;height:36px;place-items:center;border-radius:99px;background:#e6e8ec;color:#687083;font-weight:800}.procedure-progress span.active{background:var(--red);color:#fff}.procedure-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:clamp(22px,4vw,48px);box-shadow:0 15px 50px rgba(22,27,35,.06)}.procedure-card>h2,.notary-title h2{margin:0 0 8px;font-size:clamp(1.7rem,3vw,2.6rem)}.procedure-card.intro>p{max-width:850px;color:var(--muted);font-size:1.08rem;line-height:1.7}.requirements-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 28px}.requirements-list article{display:flex;gap:12px;border:1px solid var(--line);border-radius:13px;padding:16px}.requirements-list article>b{color:var(--red)}.requirements-list article span{display:grid;gap:4px}.requirements-list small{color:var(--muted)}.procedure-form{display:grid;gap:18px}.procedure-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:20px}.procedure-form-heading .section-kicker{margin-bottom:10px}.procedure-form-heading h2{margin:0 0 8px;font-size:clamp(1.7rem,3vw,2.6rem)}.procedure-form-heading p{max-width:720px;margin:0;color:var(--muted)}.procedure-substeps{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.procedure-substeps span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#eceef2;color:#717888;font-size:.75rem;font-weight:800}.procedure-substeps span.active{background:var(--red);color:#fff}.procedure-field-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.procedure-field{align-content:start}.procedure-field.is-compact{grid-column:span 4}.procedure-field.is-standard{grid-column:span 6}.procedure-field.is-wide{grid-column:1/-1}.procedure-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.notary-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.notary-title p{margin:0;color:var(--muted)}.notary-tools{display:flex;flex-wrap:wrap;gap:10px}.notary-selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.public-notary-card{position:relative;border:1px solid var(--line);border-radius:16px;padding:20px;cursor:pointer;transition:.18s ease}.public-notary-card:hover,.public-notary-card.selected{border-color:var(--red);box-shadow:0 10px 30px rgba(217,43,32,.1);transform:translateY(-2px)}.notary-card-head{display:flex;align-items:center;justify-content:space-between}.notary-building{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:#fff0ee;color:var(--red);font-size:1.5rem}.notary-card-head a{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#f1f3f6;color:#222;text-decoration:none;font-size:1.35rem}.public-notary-card h3{margin:16px 0 4px}.public-notary-card p{margin:0 0 8px;color:#525a69}.public-notary-card address{min-height:48px;color:var(--muted);font-style:normal;line-height:1.5}.notary-card-meta{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.notary-card-meta strong{color:var(--red);font-size:1.3rem}.notary-card-meta span{color:var(--muted);font-size:.82rem}.selected-mark{position:absolute;right:14px;bottom:57px;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--red);color:#fff}.modal-grid{max-height:60vh;overflow:auto;padding:4px}.public-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0}.summary-block{border:1px solid var(--line);border-radius:14px;padding:20px}.summary-block h3{margin:0 0 14px}.summary-block dl{margin:0}.summary-block dl div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:7px 0}.summary-block dt{color:var(--muted)}.summary-block dd{margin:0;font-weight:650}.account-existing{border-radius:12px;background:#eef8f1;color:#23653c;padding:14px 16px}.account-password{margin-top:14px}.flow-toast{position:fixed;z-index:1600;right:24px;bottom:24px;max-width:520px;border:1px solid #ffc4bd;border-radius:13px;background:#fff3f1;color:#8b241d;padding:16px 20px;box-shadow:0 16px 45px rgba(0,0,0,.15)}
@media(max-width:900px){.notary-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-summary,.requirements-list{grid-template-columns:1fr}}
@media(max-width:900px){.procedure-field.is-compact{grid-column:span 6}}
@media(max-width:640px){.procedure-top span{display:none}.procedure-shell{width:min(100% - 24px,1320px);padding-top:24px}.procedure-card{padding:20px 16px}.procedure-form-heading{display:grid}.procedure-substeps{justify-content:flex-start}.procedure-field{grid-column:1/-1!important}.notary-title{display:block}.notary-tools{margin-top:16px}.notary-selection-grid{grid-template-columns:1fr}.procedure-actions{flex-direction:column-reverse}.procedure-actions .button{width:100%}.summary-block dl div{grid-template-columns:1fr;gap:2px}.flow-toast{right:12px;bottom:12px;left:12px}}
.commune-combobox{position:relative}.commune-options{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;padding:6px;box-shadow:0 20px 50px rgba(17,19,23,.16)}.commune-options button,.commune-options>span{display:block;width:100%;border:0;border-radius:8px;background:transparent;padding:11px 12px;text-align:left;font:inherit}.commune-options button:hover{background:#fff1ef;color:var(--red)}.commune-options small{display:block;color:var(--muted);margin-top:2px}
.confirmation-page,.status-public-page{min-height:100vh;background:#f5f6f8}.confirmation-shell,.status-public-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:54px 0 80px}.confirmation-shell>h1,.status-public-shell>h1{margin:10px 0;font-size:clamp(2.4rem,6vw,5rem);line-height:1}.confirmation-lead{max-width:760px;color:var(--muted);font-size:1.12rem}.confirmation-ok{display:grid;width:72px;height:72px;place-items:center;border-radius:50%;background:#e6f7ec;color:#239052;font-size:2.4rem;margin-bottom:24px}.confirmation-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.confirmation-account{margin-top:32px;max-width:800px}.confirmation-account>h2{font-size:1.8rem}.confirmation-note{margin-top:28px;color:var(--muted)}.status-public-shell>.procedure-card{max-width:680px}.status-login-help{color:var(--muted);font-size:.86rem}
.status-lookup-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);align-items:center;gap:clamp(42px,7vw,100px);min-height:560px}.status-lookup-copy h1,.status-result-heading h1{margin:10px 0 18px;font-size:clamp(3rem,6vw,5.8rem);line-height:.94;letter-spacing:-.055em}.status-lookup-copy>p,.status-result-heading p{max-width:570px;color:var(--muted);font-size:1.08rem;line-height:1.65}.status-lookup-copy ul{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}.status-lookup-copy li:before{content:'✓';display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:50%;background:#e6f7ec;color:#239052;font-weight:900}.status-lookup-form{max-width:none!important;padding:clamp(28px,4vw,48px)}.status-lookup-form h2{margin:0;font-size:1.8rem}.status-result-heading{display:flex;align-items:center;gap:22px;margin-bottom:26px}.status-result-heading .confirmation-ok{flex:0 0 auto;margin:0}.status-result-heading h1{font-size:clamp(2.7rem,5vw,4.7rem)}
@media(max-width:850px){.status-lookup-grid{grid-template-columns:1fr;gap:28px;min-height:0}.status-lookup-copy h1{font-size:clamp(2.8rem,15vw,4.5rem)}.status-lookup-copy ul{display:none}.status-result-heading{align-items:flex-start}.status-public-shell{padding-top:32px}}
.confirmation-shell{padding:30px 0 44px}.confirmation-shell>h1{margin:7px 0;font-size:clamp(2.2rem,5vw,4.2rem)}.confirmation-shell .confirmation-lead{max-width:840px;margin:8px 0;font-size:1.02rem}.confirmation-shell .confirmation-ok{width:54px;height:54px;font-size:2rem;margin-bottom:14px}.confirmation-shell .public-summary{margin:18px 0}.confirmation-shell .summary-block{padding:16px}.confirmation-shell .summary-block h3{margin-bottom:8px}.confirmation-shell .summary-block dl div{padding:4px 0}.confirmation-shell .confirmation-actions{margin:16px 0}.field-order-list article[draggable=true]{grid-template-columns:24px 34px minmax(0,1fr) auto auto;cursor:grab}.field-order-list article.is-dragging{opacity:.45;border-color:var(--red)}.drag-handle{font-weight:900;color:var(--muted);letter-spacing:-3px;user-select:none}.legal-settings-form{max-width:980px;padding-top:24px}.legal-settings-form textarea{min-height:150px}.legal-page,.contact-page{min-height:65vh;background:#f5f6f8}.legal-shell{max-width:980px;padding:72px 20px}.legal-shell h1,.contact-shell h1{font-size:clamp(2.8rem,7vw,5.5rem);letter-spacing:-.06em}.legal-content{border:1px solid var(--line);border-radius:18px;background:#fff;padding:clamp(24px,5vw,52px);line-height:1.8;white-space:pre-wrap}.contact-shell{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;padding:90px 20px}.contact-shell>div>p{max-width:600px;color:var(--muted);font-size:1.15rem;line-height:1.7}.contact-card{display:grid;gap:14px;align-content:start;border:1px solid var(--line);border-radius:18px;background:#fff;padding:34px}.contact-card a{color:var(--red);font-weight:750;text-decoration:none}.contact-card address{color:var(--muted);font-style:normal;line-height:1.6}.compact-public-footer span{color:#bac0ca;font-size:.75rem;line-height:1.5}.payment-result-page{min-height:calc(100vh - 180px);background:radial-gradient(circle at 70% 20%,#ffeceb,transparent 32%),#f5f6f8}.payment-card .button+.button{margin-left:8px}
@media(max-width:760px){.contact-shell{grid-template-columns:1fr;gap:28px;padding:54px 20px}.confirmation-shell{padding-top:24px}.confirmation-shell .public-summary{grid-template-columns:1fr}.payment-card .button{width:100%;margin:6px 0!important}.public-flow-header .header-actions{display:none}}

/* H11 · administración del verificador federado */
.verification-admin{display:grid;gap:18px}.verification-admin-intro{display:flex;align-items:center;justify-content:space-between;gap:35px}.verification-admin-intro h2{margin:5px 0 8px;font-size:1.6rem}.verification-admin-intro p,.verification-admin-heading p{max-width:780px;margin:0;color:var(--muted);line-height:1.55}.verification-admin-intro>.button{flex:none}.verification-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.verification-admin-heading h2{margin-bottom:5px}.verification-repository-list{display:grid;gap:10px}.verification-repository-list>article{display:grid;grid-template-columns:12px minmax(0,1fr) 180px auto;align-items:center;gap:16px;border:1px solid var(--line);border-radius:12px;padding:16px}.verification-health{width:10px;height:10px;border-radius:50%;background:#2a9a58;box-shadow:0 0 0 5px rgba(42,154,88,.1)}.verification-health.state-abierto{background:#d1362f;box-shadow:0 0 0 5px rgba(209,54,47,.1)}.verification-repository-list h3{margin:3px 0;font-size:1rem}.verification-repository-list p{margin:0 0 5px;color:var(--muted);font-size:.78rem}.verification-repository-list span,.verification-repository-list small{color:var(--muted);font-size:.66rem}.verification-repository-state{display:grid;gap:5px}.verification-repository-state b{font-size:.72rem}.verification-repository-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.verification-repository-actions button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 9px;color:#4d5562;font-size:.67rem;font-weight:800}.verification-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.verification-admin-form label{display:grid;gap:7px;color:#4b5360;font-size:.73rem;font-weight:750}.verification-admin-form input,.verification-admin-form select,.verification-admin-form textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 11px;color:#111318;font:inherit}.verification-admin-form textarea{min-height:85px;resize:vertical}.verification-admin-form .wide,.verification-admin-form fieldset{grid-column:1/-1}.verification-admin-form fieldset{margin:5px 0;border:1px solid var(--line);border-radius:12px;padding:18px}.verification-admin-form legend{padding:0 8px;font-weight:850}.verification-admin-form fieldset>p{margin:0 0 15px;color:var(--muted);font-size:.72rem}.verification-admin-form code{border-radius:4px;background:#f1f2f4;padding:2px 5px}.verification-checkbox{display:flex!important;align-items:center!important;grid-auto-flow:column;justify-content:start}.verification-checkbox input{width:auto!important;min-height:auto!important}.verification-secret-note{margin:0;border-radius:9px;background:#fff8e8;padding:12px;color:#6b5423;font-size:.72rem;line-height:1.5}.verification-check-detail>dl{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px}.verification-check-detail>dl>div{border:1px solid var(--line);border-radius:9px;padding:12px}.verification-check-detail dt{color:var(--muted);font-size:.66rem}.verification-check-detail dd{margin:5px 0 0;font-weight:800}.verification-check-detail article{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:15px}.verification-check-detail article header{display:flex;justify-content:space-between;gap:20px}.verification-check-detail article p{color:var(--muted);font-size:.75rem}.verification-check-detail pre{max-height:260px;overflow:auto;border-radius:8px;background:#111317;padding:14px;color:#dfe3e8;font-size:.68rem;white-space:pre-wrap}.people-doc-verification{display:block;margin-top:8px;color:#a12a25!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:.65rem!important}
@media(max-width:980px){.verification-repository-list>article{grid-template-columns:12px minmax(0,1fr)}.verification-repository-state,.verification-repository-actions{grid-column:2}.verification-repository-actions{justify-content:flex-start}.verification-check-detail>dl{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.verification-admin-intro,.verification-admin-heading{align-items:flex-start;flex-direction:column}.verification-admin-form{grid-template-columns:1fr}.verification-admin-form .wide,.verification-admin-form fieldset{grid-column:auto}.verification-check-detail>dl{grid-template-columns:1fr}}
.payment-method-section{margin:22px 0;text-align:left}.payment-method-section>div:first-child h3{margin:4px 0;font-size:1.35rem}.payment-method-section>div:first-child p{margin:0 0 14px;color:var(--muted)}.payment-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.payment-method-card{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:92px;padding:13px;border:2px solid var(--line);border-radius:16px;background:#fff;text-align:left;cursor:pointer;transition:.18s ease}.payment-method-card:hover{border-color:#adb4bf;transform:translateY(-1px)}.payment-method-card.is-selected{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.1)}.payment-method-card img{width:92px;height:48px;object-fit:contain;margin:0}.payment-method-card span{display:grid;gap:3px}.payment-method-card strong{font-size:1rem}.payment-method-card small{color:var(--muted);line-height:1.3}.payment-method-check{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e6e9ee;color:transparent}.payment-method-card.is-selected .payment-method-check{background:var(--red);color:#fff}@media(max-width:900px){.payment-method-grid{grid-template-columns:1fr}.payment-method-card{grid-template-columns:108px minmax(0,1fr) 24px}}
.entity-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid var(--line);border-radius:12px;padding:16px}.entity-capabilities legend{padding:0 7px;font-size:.78rem;font-weight:800;color:var(--ink)}.entity-capabilities label{display:flex;align-items:center;gap:8px;border:1px solid #e2e5e9;border-radius:9px;background:#fafbfc;padding:10px 12px}.entity-capabilities input{width:auto}.entity-capabilities small{grid-column:1/-1;color:var(--muted)}
@media(max-width:760px){.entity-capabilities{grid-template-columns:1fr}}
.entity-workspace{display:grid;gap:18px}.workspace-context{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(130deg,#fff 0%,#fff 62%,#fff2f0 100%)}.workspace-context h2{margin:5px 0 7px;font-size:clamp(1.75rem,3vw,2.7rem)}.workspace-context p{margin:0;color:var(--muted)}.workspace-context-selectors{display:flex;align-items:end;gap:10px;min-width:min(100%,480px)}.workspace-context-selectors label{flex:1;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.workspace-context-selectors select{margin-top:5px;background:#fff;color:var(--ink);text-transform:none}.workspace-tabs{display:flex;gap:5px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff;padding:6px}.workspace-tabs button{flex:0 0 auto;border:0;border-radius:9px;background:transparent;padding:10px 14px;color:var(--muted);font:inherit;font-size:.83rem;font-weight:750;cursor:pointer}.workspace-tabs button:hover,.workspace-tabs button.is-active{background:var(--ink);color:#fff}.workspace-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.workspace-list{overflow:hidden}.workspace-list>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.workspace-list h2,.workspace-list header h2{margin:4px 0}.workspace-list header p{margin:0;color:var(--muted)}.workspace-list td small{display:block;margin-top:4px;color:var(--muted)}.workspace-list tr.is-unread td:first-child{border-left:3px solid var(--red)}.workspace-status{display:inline-flex;border-radius:99px;background:#f0f2f5;padding:5px 9px;font-size:.72rem;font-weight:800}.is-overdue{color:#b42117;font-weight:800}.workspace-two-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:18px}.workspace-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.workspace-service-grid article{border:1px solid var(--line);border-radius:13px;background:#fafbfc;padding:17px}.workspace-service-grid article small{color:var(--red);font-weight:800}.workspace-service-grid article h3{min-height:48px;margin:8px 0}.workspace-service-grid article p{color:var(--muted);font-size:.82rem}.workspace-service-grid article>span{display:inline-flex;border-radius:99px;background:#eceff3;padding:4px 8px;font-size:.72rem;font-weight:800}.workspace-service-grid article>span.is-active{background:#e5f5ea;color:#247343}.workspace-modal{position:fixed;z-index:1500;top:50%;left:50%;width:min(720px,calc(100% - 28px));max-height:calc(100vh - 30px);overflow:auto;transform:translate(-50%,-50%)}.workspace-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.workspace-modal>header h2{margin:5px 0}.workspace-inline-error{border-radius:9px;background:#fff0ee;color:#932a21;padding:12px 14px}.workspace-detail{width:min(1020px,calc(100% - 28px))}.workspace-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px}.workspace-detail-grid h3{margin:18px 0 8px}.workspace-detail-grid dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}.workspace-detail-grid dl>div{border:1px solid var(--line);border-radius:9px;padding:11px}.workspace-detail-grid dt{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.workspace-detail-grid dd{margin:4px 0 0;font-weight:750}.workspace-response{border-left:4px solid #2b8d54;border-radius:8px;background:#edf8f1;padding:14px}.workspace-response p{white-space:pre-wrap}.workspace-history{display:grid;gap:10px;margin:10px 0;padding-left:22px}.workspace-history li{padding-left:5px}.workspace-history small{display:block;color:var(--muted)}.workspace-history p{margin:3px 0;color:var(--muted)}.workspace-detail-actions{display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:end;gap:10px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.workspace-detail-actions label{display:grid;gap:5px;font-size:.78rem;font-weight:800}.workspace-detail-actions textarea{min-height:78px}.workspace-detail-actions .button{margin-bottom:1px}
@media(max-width:1180px){.workspace-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.workspace-context,.workspace-list>header{align-items:stretch;flex-direction:column}.workspace-context-selectors{width:100%;min-width:0}.workspace-two-columns,.workspace-detail-grid{grid-template-columns:1fr}.workspace-detail-actions{grid-template-columns:1fr}.workspace-service-grid{grid-template-columns:1fr}}
@media(max-width:560px){.workspace-context-selectors{flex-direction:column;align-items:stretch}.workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-list>header .button{width:100%}.workspace-detail-grid dl{grid-template-columns:1fr}}
.capability-fieldset>p{grid-column:1/-1;margin:0}.coverage-grid{display:grid;gap:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfc;padding:16px}.coverage-grid select[multiple]{min-height:150px;padding:6px}.coverage-grid option{padding:6px 8px}.coverage-grid>small{display:block}
.cms-editor{display:grid;gap:20px}.cms-intro-card{display:flex;align-items:center;justify-content:space-between;gap:30px}.cms-intro-card h2,.cms-block-card h2{margin-bottom:8px}.cms-intro-card p{max-width:720px;margin:0;color:var(--muted)}.cms-metrics{margin:0}.cms-page-settings{max-width:none}.cms-block-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cms-block-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cms-block-card header small{color:var(--red);font-weight:750}.cms-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;white-space:nowrap}.cms-toggle input{width:auto}.cms-json-input{min-height:250px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;line-height:1.5}.cms-block-card label>small{color:var(--muted);font-weight:400}.cms-save-bar{position:sticky;z-index:20;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.95);padding:14px 18px;box-shadow:0 16px 40px rgba(17,19,23,.13);backdrop-filter:blur(12px)}
@media(max-width:1000px){.cms-block-list{grid-template-columns:1fr}}@media(max-width:640px){.cms-intro-card,.cms-save-bar{align-items:flex-start;flex-direction:column}}

/* H10 · administración editorial */
.editorial-admin{display:grid;gap:20px}.editorial-public-links{display:flex;flex-wrap:wrap;gap:8px}.editorial-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line)}.editorial-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:13px 17px;color:var(--muted);font:inherit;font-weight:750;cursor:pointer}.editorial-tabs button.is-active{border-bottom-color:var(--red);color:var(--ink)}.editorial-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(500px,1.4fr);align-items:start;gap:18px}.editorial-list{padding:0;overflow:hidden}.editorial-list>header,.editorial-form>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.editorial-list>header{padding:22px;border-bottom:1px solid var(--line)}.editorial-list h2,.editorial-form h2{margin:3px 0}.editorial-list>header small,.editorial-form header small{color:var(--red);font-weight:800}.editorial-list>div{max-height:820px;overflow:auto}.editorial-list article{border-bottom:1px solid var(--line);padding:14px 18px}.editorial-list article.is-selected{background:#fff7f6}.editorial-list article>button{display:grid;width:100%;gap:5px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.editorial-list article>button small{color:var(--red);font-size:.67rem;font-weight:800}.editorial-list article>button strong{font-size:.95rem}.editorial-list article>button span{overflow:hidden;color:var(--muted);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.editorial-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.editorial-actions button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 9px;font-size:.7rem;font-weight:750;cursor:pointer}.editorial-actions button:first-child{border-color:#ffc5c1;color:#a7261f}.editorial-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editorial-form label small{color:var(--muted);font-weight:400}.editorial-content-input{min-height:330px;line-height:1.55}.editorial-close{border:0;background:transparent;color:var(--muted);font-size:1.7rem;cursor:pointer}.editorial-taxonomy>section{display:grid;gap:20px}.editorial-tag-list{display:flex;flex-wrap:wrap;gap:8px}.editorial-tag-list span{display:grid;border:1px solid var(--line);border-radius:10px;background:#fafafa;padding:9px 11px}.editorial-tag-list small{color:var(--muted);font-size:.62rem}.editorial-media-layout{display:grid;grid-template-columns:330px minmax(0,1fr);align-items:start;gap:18px}.editorial-media-layout>form{position:sticky;top:18px}.editorial-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.editorial-media-grid article{display:grid;gap:8px;padding:12px}.editorial-media-grid img{width:100%;aspect-ratio:16/10;border-radius:9px;object-fit:cover}.editorial-media-grid small{color:var(--muted)}
@media(max-width:1100px){.editorial-grid,.editorial-media-layout{grid-template-columns:1fr}.editorial-media-layout>form{position:static}.editorial-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.editorial-form-row,.editorial-media-grid{grid-template-columns:1fr}.editorial-tabs{overflow:auto}.editorial-public-links{align-items:stretch;flex-direction:column}}
.territory-admin{display:grid;gap:20px}.territory-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.territory-admin-heading p,.territory-list header p,.territory-modal header p{margin:0;color:var(--muted)}.territory-list header{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:20px}.territory-list header>div:last-child{display:flex;align-items:center;gap:14px}.territory-list header input{min-width:260px}.territory-list header label{display:flex;align-items:center;gap:8px;white-space:nowrap}.territory-list header label input{min-width:auto;width:auto}.territory-list td small,.territory-list td code{display:block;margin-top:4px;color:var(--muted)}.territory-list td code{font-size:.72rem}.territory-modal{position:fixed;z-index:1500;top:50%;left:50%;width:min(620px,calc(100% - 30px));max-height:90vh;overflow:auto;transform:translate(-50%,-50%)}.territory-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-backdrop{position:fixed;z-index:1400;inset:0;background:rgba(10,12,16,.58);backdrop-filter:blur(5px)}.modal-close{border:0;background:transparent;font-size:1.8rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.check-row{display:flex!important;align-items:center;flex-direction:row!important;gap:9px}.check-row input{width:auto}
@media(max-width:760px){.territory-admin-heading,.territory-list header,.territory-list header>div:last-child{align-items:stretch;flex-direction:column}.territory-list header input{min-width:0}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}

/* H12 · centro de operaciones */
.operations-admin{display:grid;gap:18px}.operations-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:28px;border-left:5px solid #2c9256}.operations-hero.state-fallida{border-left-color:#d1362f}.operations-hero.state-advertencia{border-left-color:#d49a21}.operations-hero h2{margin:5px 0 7px;font-size:1.8rem}.operations-hero p,.operations-copy{margin:0;color:var(--muted);line-height:1.55}.operations-hero-state{display:grid;min-width:145px;gap:3px}.operations-hero-state small,.operations-hero-state span{color:var(--muted);font-size:.69rem;font-weight:750}.operations-hero-state strong{font-size:1.15rem}.operations-control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.operations-control-grid article{position:relative;overflow:hidden;min-height:158px;padding:17px}.operations-control-grid article:before{position:absolute;top:0;left:0;width:100%;height:4px;background:#2c9256;content:""}.operations-control-grid article.state-advertencia:before{background:#d49a21}.operations-control-grid article.state-error:before{background:#d1362f}.operations-control-grid header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.65rem}.operations-control-grid header b{border-radius:99px;background:#e8f5ed;padding:4px 7px;color:#267044}.operations-control-grid .state-advertencia header b{background:#fff4dc;color:#8a6111}.operations-control-grid .state-error header b{background:#ffebe9;color:#a92d25}.operations-control-grid h3{margin:16px 0 7px;font-size:1rem}.operations-control-grid p{min-height:38px;margin:0 0 12px;color:var(--muted);font-size:.73rem;line-height:1.45}.operations-control-grid small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.61rem}.operations-two{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.operations-alerts{display:grid;gap:8px}.operations-alerts article{display:flex;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:10px;padding:13px}.operations-alerts article.state-abierta{border-left:4px solid #d1362f}.operations-alerts p{margin:5px 0;color:var(--muted);font-size:.74rem}.operations-alerts small,.operations-alerts span{color:var(--muted);font-size:.65rem}.operations-domains{display:grid;gap:8px;margin-top:15px}.operations-domains>div{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:10px}.operations-domains small{display:block;margin-top:3px;color:var(--muted)}.operations-dot{width:9px;height:9px;border-radius:50%;background:#2c9256;box-shadow:0 0 0 4px rgba(44,146,86,.11)}.operations-detail{display:grid;gap:10px}.operations-detail article{border:1px solid var(--line);border-radius:10px;padding:14px}.operations-detail article header{display:flex;justify-content:space-between}.operations-detail p{color:var(--muted)}.operations-detail pre{max-height:230px;overflow:auto;border-radius:8px;background:#111317;padding:12px;color:#e6e9ed;font-size:.67rem;white-space:pre-wrap}@media(max-width:1180px){.operations-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-two{grid-template-columns:1fr}}@media(max-width:700px){.operations-hero{grid-template-columns:1fr}.operations-control-grid{grid-template-columns:1fr}}

/* v1.23 · asistente de variables de plantilla */
.template-variable-audit{display:grid;gap:14px;margin:22px 0;border:1px solid var(--line);border-radius:14px;background:#fafbfc;padding:18px}.template-variable-audit>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.template-variable-audit h3{margin:0 0 5px}.template-variable-audit p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.template-variable-audit code{border-radius:5px;background:#edf0f4;padding:3px 6px;color:#272c35}.template-variable-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.template-variable-summary span{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px;color:var(--muted);font-size:.72rem}.template-variable-summary b{color:var(--ink);font-size:1rem}.template-variable-results{display:grid;gap:8px}.template-variable-results article{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}.template-variable-results article>div{display:grid;justify-items:start;gap:4px}.template-variable-results strong{font-size:.75rem}.template-variable-results small{color:var(--muted);font-size:.68rem}.button-small{min-height:34px;padding:7px 10px;font-size:.7rem}
@media(max-width:760px){.template-variable-audit>header,.template-variable-results article{align-items:stretch;flex-direction:column}.template-variable-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.template-variable-results .button{width:100%}}

/* v1.24 · editor profesional y configuración heredable por entidad */
.rich-editor{overflow:hidden;border:1px solid #cfd4dc;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(17,19,23,.05)}
.rich-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:1px solid var(--line);background:#f5f6f8;padding:9px}
.rich-editor-toolbar button,.rich-editor-toolbar select,.rich-editor-color{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #d8dce3;border-radius:7px;background:#fff;color:#252a33;padding:6px 9px;font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}
.rich-editor-toolbar button:hover,.rich-editor-toolbar button:focus-visible{border-color:#999faa;background:#fff7f6;color:var(--red)}
.rich-editor-toolbar select{width:auto;min-width:84px;font-weight:600}.rich-editor-toolbar select:first-child{min-width:130px}.rich-editor-separator{width:1px;height:25px;margin:0 3px;background:#d8dce3}.rich-editor-color{gap:6px;padding-right:6px}.rich-editor-color input{width:24px;height:20px;border:0;padding:0;background:transparent}
.rich-editor-field{display:grid;gap:7px}.rich-editor-field-label{color:var(--muted-dark);font-size:.78rem;font-weight:700}.rich-editor-canvas{min-height:480px;overflow:auto;padding:42px 48px;color:#111317;caret-color:#111317;cursor:text;font-family:Arial,sans-serif;font-size:12px;line-height:1.55;outline:0}.rich-editor-canvas:focus{box-shadow:inset 0 0 0 2px rgba(215,25,32,.16)}.rich-editor-canvas p{margin:0 0 12px}.rich-editor-canvas h1,.rich-editor-canvas h2,.rich-editor-canvas h3{margin:0 0 12px;letter-spacing:normal;line-height:1.25}.rich-editor-canvas h1{font-size:2rem}.rich-editor-canvas h2{font-size:1.55rem}.rich-editor-canvas h3{font-size:1.25rem}.rich-editor-value{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.rich-editor-status{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);background:#fafbfc;padding:8px 12px;color:var(--muted);font-size:.65rem}.rich-editor-status span:first-child{color:#267044;font-weight:800}
::highlight(documenta-template-variable-valid){color:#075fc6;background-color:rgba(20,112,214,.12);text-decoration:underline;text-decoration-color:rgba(20,112,214,.4);text-underline-offset:2px}
::highlight(documenta-template-variable-invalid){color:#c5221f;background-color:rgba(213,42,37,.13);text-decoration:underline wavy #c5221f;text-underline-offset:2px}
.template-variable-results article.is-invalid{border-color:#efaaa5;background:#fff7f6}.template-variable-results article.is-invalid code,.template-variable-results article.is-invalid strong{color:#b42318}.template-variable-results article.is-valid code{color:#075fc6}
.template-variable-token{border:0;background:transparent;padding:0;cursor:pointer}.template-variable-token:hover code{background:#ffe8e5;color:var(--red)}
.template-tools-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 22px;border:1px solid var(--line);border-radius:14px;background:#fafbfc;padding:16px 18px}.template-tools-card h3{margin:0 0 5px;font-size:1rem}.template-tools-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}.template-tools-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.template-tools-actions .button{gap:7px;white-space:nowrap}.template-tools-actions .button span{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:99px;padding:0 5px;background:#e4f4ea;color:#1e6b3d;font-size:.66rem}.template-tools-actions .button span.has-errors{background:#ffe5e2;color:#a7251d}.template-variable-audit-modal{margin:0;border:0;background:transparent;padding:0}.template-preview-modal{display:grid;gap:14px}.template-preview-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #bddcca;border-radius:11px;background:#eff9f3;padding:12px 14px}.template-preview-notice>div{display:grid;gap:3px}.template-preview-notice span{color:#4e6558;font-size:.72rem;line-height:1.45}.template-preview-frame{width:100%;height:min(72vh,900px);border:1px solid var(--line);border-radius:11px;background:#eef0f3}
.service-scope-selector{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 18px;border:1px solid var(--line);border-radius:12px;background:#fafbfc;padding:14px 16px}.service-scope-selector label{min-width:min(100%,430px);font-size:.72rem;font-weight:800}.service-scope-selector select{margin-top:5px;background:#fff}.service-scope-selector p{max-width:620px;margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}.service-scope-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #f0c8c4;border-radius:12px;background:#fff7f6;padding:13px 16px}.service-scope-banner>div{display:flex;flex-wrap:wrap;gap:7px}.service-scope-banner>div:first-child{display:grid}.service-scope-banner>div:first-child span{color:var(--muted);font-size:.72rem}.service-scope-banner>div:last-child span{border-radius:99px;background:#fff;padding:6px 9px;color:#7f2a24;font-size:.68rem;font-weight:800}.card-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
@media(max-width:760px){.rich-editor-toolbar{flex-wrap:nowrap;overflow-x:auto}.rich-editor-canvas{min-height:390px;padding:24px 18px}.rich-editor-status,.service-scope-selector,.service-scope-banner,.template-tools-card,.template-preview-notice{align-items:stretch;flex-direction:column}.template-tools-actions{display:grid;grid-template-columns:1fr}.template-tools-actions .button,.template-preview-notice .button{width:100%}.template-preview-frame{height:65vh}.card-heading-actions{justify-content:stretch}.card-heading-actions .button{width:100%}}

/* Flujo compacto de trámite y reserva integrada. */
.procedure-page .procedure-heading h1{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.13;letter-spacing:-.035em}
.procedure-page .procedure-card>h2,.procedure-page .notary-title h2,
.procedure-page .procedure-form-heading h2{font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.2;letter-spacing:-.025em}
.procedure-page .procedure-card.intro>p{font-size:.98rem;line-height:1.55}
.procedure-page .public-notary-card:hover{transform:translateY(-2px)}
.procedure-page .public-notary-card{transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.procedure-price-confirmation{margin:22px 0 12px;padding:14px 16px;border:1px solid #f1cfcc;border-radius:12px;background:#fff9f8;font-size:.92rem}
.procedure-price-confirmation strong{color:#c90500}
.procedure-slots{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.procedure-slots .button{min-width:100px;transition:background 180ms ease,border-color 180ms ease,color 180ms ease}
.procedure-slots .button.selected,.procedure-slots .button[aria-pressed='true']{border-color:#d90600;background:#fff1ef;color:#c90500}
.procedure-appointment-note{max-width:650px;color:#697180;font-size:.88rem;line-height:1.5}
.confirmation-shell>h1,.status-public-shell>h1{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.13}
@media(prefers-reduced-motion:reduce){.procedure-page .public-notary-card,.procedure-slots .button{transition:none!important;transform:none!important}}

/* Adjuntos en la revisión: cada requisito conserva su propio espacio y estado. */
.procedure-review-files{margin:20px 0 28px}
.procedure-review-files-heading{margin-bottom:15px}
.procedure-review-files-heading h3{margin:0 0 4px;font-size:1.05rem;line-height:1.35}
.procedure-review-files-heading p{margin:0;color:#667085;font-size:.86rem;line-height:1.5}
.procedure-review-files-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.procedure-review-file{display:grid;align-content:start;gap:10px;min-width:0;padding:18px;border:1px solid #dfe3ea;border-radius:14px;background:#fcfcfd;transition:border-color 180ms ease,box-shadow 180ms ease}
.procedure-review-file:hover,.procedure-review-file:focus-within{border-color:#e4b6b1;box-shadow:0 5px 18px rgba(28,35,45,.05)}
.procedure-review-file-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#15171d;font-size:.91rem;font-weight:700;line-height:1.4}
.procedure-review-required{border-radius:99px;background:#fff1ef;padding:3px 8px;color:#b91c16;font-size:.68rem;font-weight:700}
.procedure-review-file-description{color:#616a7a;font-size:.8rem;line-height:1.5}
.procedure-review-file input[type=file]{display:block;width:100%;min-width:0;padding:9px;border:1px dashed #cfd5df;border-radius:10px;background:#fff;color:#3e4758;font:inherit;font-size:.76rem;cursor:pointer}
.procedure-review-file input[type=file]::file-selector-button{margin-right:11px;border:1px solid #d4d9e2;border-radius:7px;background:#fff;padding:8px 10px;color:#202631;font:inherit;font-weight:700;cursor:pointer}
.procedure-review-file input[type=file]:focus-visible{outline:2px solid #d90600;outline-offset:2px}
.procedure-review-file-hint{overflow-wrap:anywhere;color:#667085;font-size:.74rem;line-height:1.45}
@media(max-width:760px){.procedure-review-files-grid{grid-template-columns:1fr}.procedure-review-file{padding:15px}}
@media(prefers-reduced-motion:reduce){.procedure-review-file{transition:none}}
