/* Registro V2 es la vista inicial; ?vista=clasica conserva la salida de contingencia. */
body.dtc-registro-v2 {
    --v2-ink: #142033;
    --v2-navy: #0c1728;
    --v2-blue: #2f68e5;
    --v2-cyan: #43b9da;
    --v2-field: #f3f6fa;
    --v2-line: #d7e0eb;
    --v2-green: #159b6b;
    --v2-amber: #db8a12;
    background: var(--v2-field);
}

body.dtc-registro-v2 #app {
    margin-left: 246px;
    width: calc(100vw - 246px);
}

body.dtc-registro-v2 #dtc-v2-nav {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 70;
    width: 246px;
    padding: 24px 18px;
    display: flex;
    flex-direction: column;
    color: #f7fbff;
    background:
        radial-gradient(circle at 8% 4%, rgba(67,185,218,.2), transparent 28%),
        linear-gradient(160deg, #101e33 0%, #091322 78%);
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: 16px 0 50px rgba(12,23,40,.12);
}

body.dtc-registro-v2.dtc-v2-login-visible #dtc-v2-nav { display: none; }
body.dtc-registro-v2.dtc-v2-login-visible #app { margin-left: 0; width: 100vw; }

body.dtc-registro-v2 .dtc-v2-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 2px 6px 28px;
}

body.dtc-registro-v2 .dtc-v2-brand-mark {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    color: white;
    background: linear-gradient(145deg, var(--v2-cyan), var(--v2-blue));
    box-shadow: 0 10px 24px rgba(47,104,229,.32);
    font-family: 'Lexend', sans-serif;
    font-size: 14px;
    font-weight: 800;
}

body.dtc-registro-v2 .dtc-v2-brand strong,
body.dtc-registro-v2 .dtc-v2-brand small { display: block; }
body.dtc-registro-v2 .dtc-v2-brand strong { font: 700 17px/1.2 'Lexend', sans-serif; }
body.dtc-registro-v2 .dtc-v2-brand small { margin-top: 4px; color: #8fa2bc; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

body.dtc-registro-v2 #dtc-v2-nav nav { display: grid; gap: 8px; }
body.dtc-registro-v2 #dtc-v2-nav nav button {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #aebbd0;
    background: transparent;
    font: 600 14px 'Source Sans 3', sans-serif;
    cursor: pointer;
    text-align: left;
}
body.dtc-registro-v2 #dtc-v2-nav nav button span { width: 24px; font-size: 18px; text-align: center; }
body.dtc-registro-v2 #dtc-v2-nav nav button:hover { color: #fff; background: rgba(255,255,255,.055); }
body.dtc-registro-v2 #dtc-v2-nav nav button.active {
    color: #fff;
    background: linear-gradient(90deg, rgba(47,104,229,.34), rgba(67,185,218,.08));
    border-color: rgba(87,155,255,.28);
}

body.dtc-registro-v2 .dtc-v2-account-toggle { display: none !important; }
body.dtc-registro-v2 .dtc-v2-sidebar-footer {
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.08);
}
body.dtc-registro-v2 #dtc-v2-account-slot { display: grid; gap: 8px; }
body.dtc-registro-v2 #dtc-v2-account-slot #db-status-container,
body.dtc-registro-v2 #dtc-v2-account-slot .user-chip,
body.dtc-registro-v2 #dtc-v2-account-slot #btn-switch-postulantes {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 11px !important;
    color: #b8c7d9 !important;
    background: rgba(255,255,255,.045) !important;
    box-shadow: none !important;
}
body.dtc-registro-v2 #dtc-v2-account-slot #db-status-container {
    display: flex !important;
    padding: 9px 10px !important;
    font-size: 10px !important;
}
body.dtc-registro-v2 #dtc-v2-account-slot #db-status-text,
body.dtc-registro-v2 #dtc-v2-account-slot #user-chip-email {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.dtc-registro-v2 #dtc-v2-account-slot #btn-sync-db,
body.dtc-registro-v2 #dtc-v2-account-slot #btn-logout { color: #7db3ff !important; }
body.dtc-registro-v2 #dtc-v2-account-slot .user-chip {
    justify-content: space-between;
    padding: 8px 10px;
    font-size: 10px;
}
body.dtc-registro-v2 #dtc-v2-account-slot #btn-switch-postulantes {
    min-height: 38px;
    padding: 8px 10px !important;
    justify-content: center;
    color: #e7f0fb !important;
    font-size: 11px !important;
}

body.dtc-registro-v2 .view { padding: 28px 34px; background: var(--v2-field); }
body.dtc-registro-v2 .content { width: min(1280px, 100%); margin-inline: auto; }
body.dtc-registro-v2 header { width: min(1280px, 100%); margin: 0 auto 20px; }

body.dtc-registro-v2 #home-screen { justify-content: center; }
body.dtc-registro-v2 #home-screen .home-top { display: none; }
body.dtc-registro-v2 #home-screen .brand-logo-full,
body.dtc-registro-v2 #home-screen .logo-text,
body.dtc-registro-v2 #home-screen .subtitle { display: none; }
body.dtc-registro-v2 #home-screen .spacer { display: none; }
body.dtc-registro-v2 #dtc-v2-home-hero {
    position: relative;
    overflow: hidden;
    width: min(1280px, 100%);
    min-height: 236px;
    margin: 0 auto;
    padding: 38px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
    align-items: center;
    gap: 28px;
    color: #fff;
    border-radius: 26px;
    background: linear-gradient(125deg, #14253c 0%, #173b68 64%, #2f68e5 135%);
    box-shadow: 0 22px 60px rgba(17,42,75,.18);
}
body.dtc-registro-v2 #dtc-v2-home-hero::after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    right: -90px;
    top: -150px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    box-shadow: 0 0 0 44px rgba(255,255,255,.035), 0 0 0 88px rgba(255,255,255,.025);
}
body.dtc-registro-v2 .dtc-v2-hero-kicker { color: #8fdcf1; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
body.dtc-registro-v2 #dtc-v2-home-hero h1 { max-width: 650px; margin: 8px 0 10px; color: #fff; font: 700 clamp(30px, 4vw, 52px)/1.05 'Lexend', sans-serif; letter-spacing: -.04em; }
body.dtc-registro-v2 #dtc-v2-home-hero p { max-width: 680px; margin: 0; color: #c5d5e9; font-size: 16px; line-height: 1.55; }
body.dtc-registro-v2 .dtc-v2-hero-map { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
body.dtc-registro-v2 .dtc-v2-hero-map span { min-height: 104px; padding: 16px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(255,255,255,.075); }
body.dtc-registro-v2 .dtc-v2-hero-map b { font: 800 27px 'SFMono-Regular', Consolas, monospace; }
body.dtc-registro-v2 .dtc-v2-hero-map small { margin-top: 7px; color: #c5d5e9; font-size: 11px; line-height: 1.25; }
body.dtc-registro-v2 #home-screen .home-actions {
    width: min(1280px, 100%);
    margin: 18px auto 0;
    grid-template-columns: repeat(2, 1fr);
    display: grid;
    gap: 18px;
}
body.dtc-registro-v2 #home-screen .home-card {
    min-height: 112px;
    padding: 22px;
    border-radius: 20px;
}
body.dtc-registro-v2 #home-screen .home-card.primary {
    background: linear-gradient(145deg, #2f68e5, #2456c4);
}

body.dtc-registro-v2 .glass-container,
body.dtc-registro-v2 .res-group {
    border-color: var(--v2-line);
    box-shadow: 0 10px 35px rgba(27,47,76,.065);
}
body.dtc-registro-v2 #projects-list { display: grid; gap: 16px; }
body.dtc-registro-v2 #projects-list .res-group {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));
    gap: 10px;
    padding: 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.84);
}
body.dtc-registro-v2 #projects-list .res-title { grid-column: 1 / -1; margin-bottom: 2px; color: var(--v2-ink); font: 700 14px 'Lexend', sans-serif; }
body.dtc-registro-v2 .proj-row {
    position: relative;
    overflow: hidden;
    min-height: 124px;
    align-items: stretch;
    flex-direction: column;
    border: 1px solid var(--v2-line);
    border-radius: 16px;
    background: #fff;
    margin: 0;
    box-shadow: 0 8px 26px rgba(20,34,53,.055);
}
body.dtc-registro-v2 .proj-row::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: var(--v2-green); }
body.dtc-registro-v2 .proj-row-open { min-height: 124px; padding: 18px 44px 15px 16px; align-items: flex-start; justify-content: flex-start; text-align: left; }
body.dtc-registro-v2 .proj-row-name { margin-top: 7px; color: var(--v2-ink); font: 700 16px/1.25 'Lexend', sans-serif; }
body.dtc-registro-v2 .proj-row-meta { margin-top: 5px; color: #718096; font-size: 11px; }
body.dtc-registro-v2 .proj-row-del { position: absolute; right: 10px; bottom: 10px; z-index: 2; }
body.dtc-registro-v2 .dtc-v2-project-badge {
    display: inline-flex;
    width: max-content;
    margin-top: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    color: #2464ca;
    background: #eaf1ff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
body.dtc-registro-v2 .dtc-v2-project-badge.finalizado { color: #087850; background: #e2f7ee; }

body.dtc-registro-v2 #dtc-v2-project-summary {
    padding: 16px;
    margin-bottom: 10px;
    border-radius: 18px;
    border: 1px solid var(--v2-line);
    background: linear-gradient(145deg, #ffffff, #f7faff);
    box-shadow: 0 14px 40px rgba(24,48,81,.08);
}
body.dtc-registro-v2 .dtc-v2-project-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--v2-line);
}
body.dtc-registro-v2 .dtc-v2-project-banner h2 { margin: 4px 0 3px; color: var(--v2-ink); font: 700 clamp(22px, 2.5vw, 30px)/1.12 'Lexend', sans-serif; letter-spacing: -.03em; }
body.dtc-registro-v2 .dtc-v2-project-banner p { margin: 0; color: #68778b; font-size: 13px; }
body.dtc-registro-v2 .dtc-v2-project-stats { display: grid; grid-template-columns: repeat(3, minmax(98px, 1fr)); gap: 9px; }
body.dtc-registro-v2 .dtc-v2-project-stats span { padding: 10px; border-radius: 11px; background: #f1f5fa; }
body.dtc-registro-v2 .dtc-v2-project-stats b,
body.dtc-registro-v2 .dtc-v2-project-stats small { display: block; }
body.dtc-registro-v2 .dtc-v2-project-stats b { color: var(--v2-ink); font: 800 20px 'SFMono-Regular', Consolas, monospace; }
body.dtc-registro-v2 .dtc-v2-project-stats small { margin-top: 5px; color: #758399; font-size: 9px; line-height: 1.25; text-transform: uppercase; letter-spacing: .04em; }
body.dtc-registro-v2 .dtc-v2-summary-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
body.dtc-registro-v2 .dtc-v2-eyebrow { color: #63738a; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
body.dtc-registro-v2 .dtc-v2-summary-head h3 { margin: 4px 0 2px; font: 700 19px 'Lexend', sans-serif; color: var(--v2-ink); }
body.dtc-registro-v2 .dtc-v2-summary-head p { color: #69788d; font-size: 13px; }
body.dtc-registro-v2 .dtc-v2-state-badge { padding: 6px 10px; border-radius: 999px; color: #53647a; background: #e9eef5; font-size: 11px; font-weight: 800; white-space: nowrap; }
body.dtc-registro-v2 .dtc-v2-state-badge.inicio { color: #245abb; background: #e4edff; }
body.dtc-registro-v2 .dtc-v2-state-badge.avance { color: #965a04; background: #fff0d3; }
body.dtc-registro-v2 .dtc-v2-state-badge.termino,
body.dtc-registro-v2 .dtc-v2-state-badge.finalizado { color: #087850; background: #dcf7ec; }
body.dtc-registro-v2 .dtc-v2-progress { height: 7px; margin: 12px 0; overflow: hidden; border-radius: 99px; background: #e5ebf3; }
body.dtc-registro-v2 .dtc-v2-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--v2-blue), var(--v2-cyan)); transition: width .45s ease; }

body.dtc-registro-v2 .dtc-v2-stage-rail { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; padding: 10px; border-radius: 14px; background: var(--v2-navy); }
body.dtc-registro-v2 .dtc-v2-stage-rail button {
    min-height: 58px;
    padding: 6px 5px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #b4c1d2;
    background: transparent;
    text-align: center;
    cursor: pointer;
}
body.dtc-registro-v2 .dtc-v2-stage-rail i { width: 10px; height: 10px; border-radius: 50%; background: #66758a; }
body.dtc-registro-v2 .dtc-v2-stage-rail span { font-weight: 700; }
body.dtc-registro-v2 .dtc-v2-stage-rail small { color: #8191a6; font-size: 9px; }
body.dtc-registro-v2 .dtc-v2-stage-rail button:hover { color: #fff; background: rgba(255,255,255,.06); }
body.dtc-registro-v2 .dtc-v2-stage-rail button.complete { color: #fff; border-color: rgba(45,212,164,.22); background: rgba(45,212,164,.08); }
body.dtc-registro-v2 .dtc-v2-stage-rail button.complete i { background: var(--v2-green); box-shadow: 0 0 0 4px rgba(21,155,107,.12); }

body.dtc-registro-v2 .dtc-v2-finalize {
    width: 100%;
    margin-top: 14px;
    padding: 12px 16px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--v2-green);
    font-weight: 800;
    cursor: pointer;
}
body.dtc-registro-v2 .dtc-v2-finalize.secondary {
    color: var(--v2-ink);
    background: transparent;
    border: 1px solid var(--v2-line);
}
body.dtc-registro-v2 #dtc-v2-project-tabs {
    position: static;
    display: flex;
    gap: 6px;
    padding: 9px;
    margin-bottom: 10px;
    overflow-x: auto;
    border: 1px solid var(--v2-line);
    border-radius: 15px;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(14px);
}
body.dtc-registro-v2 #dtc-v2-project-tabs button { padding: 9px 13px; border: 0; border-radius: 10px; color: #66768a; background: transparent; font-weight: 700; white-space: nowrap; cursor: pointer; }
body.dtc-registro-v2 #dtc-v2-project-tabs button.active { color: #fff; background: var(--v2-blue); }
body.dtc-registro-v2 .dtc-v2-tab-panel { display: none; }
body.dtc-registro-v2 .dtc-v2-tab-panel.active { display: block; animation: dtc-v2-panel-in .2s ease both; }
@keyframes dtc-v2-panel-in { from { opacity: 0; transform: translateY(5px); } }
body.dtc-registro-v2 .dtc-v2-overview-panel,
body.dtc-registro-v2 .dtc-v2-register-panel,
body.dtc-registro-v2 .dtc-v2-families-panel,
body.dtc-registro-v2 .dtc-v2-download-panel { padding: 20px; border: 1px solid var(--v2-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(20,34,53,.055); }
body.dtc-registro-v2 .dtc-v2-overview-panel h3 { margin: 6px 0 5px; color: var(--v2-ink); font: 700 20px 'Lexend', sans-serif; }
body.dtc-registro-v2 .dtc-v2-overview-panel p { margin: 0; color: #68778b; line-height: 1.5; }
body.dtc-registro-v2 .dtc-v2-overview-panel #pexec-info { margin-top: 14px !important; padding: 12px 14px; border-radius: 11px; background: #f3f6fa; }
body.dtc-registro-v2 .dtc-v2-register-panel #pexec-hitos { display: grid; gap: 10px; }
body.dtc-registro-v2 .dtc-v2-register-panel #pexec-hitos .pexec-hito[hidden] { display: none !important; }
body.dtc-registro-v2 .dtc-v2-register-panel #pexec-hitos .pexec-grupo[hidden] { display: none !important; }
body.dtc-registro-v2 #dtc-v2-register-context { margin-bottom: 18px; }
body.dtc-registro-v2 #dtc-v2-register-context h3 {
    margin: 6px 0 4px;
    color: var(--v2-ink);
    font: 700 20px/1.2 'Lexend', sans-serif;
}
body.dtc-registro-v2 #dtc-v2-register-context p {
    margin: 0;
    color: #69788d;
    font-size: 13px;
    line-height: 1.45;
}
body.dtc-registro-v2 .dtc-v2-register-panel #pexec-hitos .pexec-grupo { margin: 0; }
body.dtc-registro-v2 #dtc-v2-prep-families {
    width: 100%;
    margin: 14px 0 2px;
    padding: 14px;
    display: grid;
    grid-template-columns: 38px 1fr auto;
    gap: 11px;
    align-items: center;
    border: 1px solid #bfd0ea;
    border-radius: 13px;
    color: #254c82;
    background: #f3f7fd;
    text-align: left;
    cursor: pointer;
}
body.dtc-registro-v2 #dtc-v2-prep-families[hidden] { display: none !important; }
body.dtc-registro-v2 #dtc-v2-prep-families > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: #fff; background: var(--v2-blue); font-size: 18px; }
body.dtc-registro-v2 #dtc-v2-prep-families strong,
body.dtc-registro-v2 #dtc-v2-prep-families small { display: block; }
body.dtc-registro-v2 #dtc-v2-prep-families strong { font-size: 13px; }
body.dtc-registro-v2 #dtc-v2-prep-families small { margin-top: 3px; color: #6c7d92; font-size: 11px; }
body.dtc-registro-v2 #dtc-v2-prep-families b { color: #2f68cf; font-size: 11px; white-space: nowrap; }
body.dtc-registro-v2 .dtc-v2-families-context { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding-bottom: 15px; margin-bottom: 16px; border-bottom: 1px solid var(--v2-line); }
body.dtc-registro-v2 .dtc-v2-families-context h3 { margin: 6px 0 4px; color: var(--v2-ink); font: 700 20px/1.2 'Lexend', sans-serif; }
body.dtc-registro-v2 .dtc-v2-families-context p { margin: 0; color: #69788d; font-size: 13px; line-height: 1.45; }
body.dtc-registro-v2 .dtc-v2-families-context button { padding: 9px 11px; border: 1px solid #bfd0ea; border-radius: 9px; color: #315d9d; background: #f4f8ff; font-weight: 700; cursor: pointer; white-space: nowrap; }
body.dtc-registro-v2 .dtc-v2-register-panel #btn-pexec-capture { min-height: 54px; border-radius: 13px; font-size: 15px; }
body.dtc-registro-v2 .dtc-v2-download-panel .dtc-v2-download-center { margin-top: 0; border: 0; box-shadow: none; }

body.dtc-registro-v2 .dtc-v2-classic-download { display: none !important; }
body.dtc-registro-v2 .dtc-v2-download-center {
    margin-top: 18px;
    padding: 22px;
    border: 1px solid var(--v2-line);
    border-radius: 20px;
    background: #f7f9fc;
}
body.dtc-registro-v2 .dtc-v2-download-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}
body.dtc-registro-v2 .dtc-v2-download-head h3 {
    margin: 5px 0 4px;
    color: var(--v2-ink);
    font: 700 20px 'Lexend', sans-serif;
}
body.dtc-registro-v2 .dtc-v2-download-head p {
    max-width: 620px;
    margin: 0;
    color: #69788d;
    font-size: 13px;
    line-height: 1.5;
}
body.dtc-registro-v2 .dtc-v2-download-format {
    padding: 6px 9px;
    border: 1px solid #c9d8f1;
    border-radius: 8px;
    color: #315d9d;
    background: #eef4ff;
    font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: .06em;
    white-space: nowrap;
}
body.dtc-registro-v2 .dtc-v2-download-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
body.dtc-registro-v2 .dtc-v2-download-card {
    display: flex;
    min-height: 214px;
    padding: 17px;
    flex-direction: column;
    border: 1px solid var(--v2-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(28,52,85,.05);
}
body.dtc-registro-v2 .dtc-v2-download-card.principal {
    grid-column: 1 / -1;
    min-height: 190px;
    border-color: #a9c2ed;
    background: linear-gradient(125deg, #eff5ff 0%, #fff 58%);
}
body.dtc-registro-v2 .dtc-v2-download-card-head {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 11px;
    align-items: start;
}
body.dtc-registro-v2 .dtc-v2-download-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: var(--v2-blue);
    font-size: 18px;
    font-weight: 900;
}
body.dtc-registro-v2 .dtc-v2-download-card h4 {
    margin: 1px 0 3px;
    color: var(--v2-ink);
    font: 700 14px 'Lexend', sans-serif;
}
body.dtc-registro-v2 .dtc-v2-download-card p {
    margin: 0;
    color: #718095;
    font-size: 12px;
    line-height: 1.45;
}
body.dtc-registro-v2 .dtc-v2-tree {
    display: grid;
    gap: 3px;
    padding: 11px 12px;
    margin: 14px 0;
    border-left: 2px solid #bdd0f1;
    color: #586b84;
    background: #f7f9fd;
    font: 600 10px/1.45 ui-monospace, SFMono-Regular, Menlo, monospace;
}
body.dtc-registro-v2 .dtc-v2-download-card.principal .dtc-v2-tree {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.dtc-registro-v2 .dtc-v2-download-card button {
    min-height: 40px;
    padding: 10px 13px;
    margin-top: auto;
    border: 1px solid #b8cae7;
    border-radius: 10px;
    color: #265db7;
    background: #f4f8ff;
    font-weight: 800;
    cursor: pointer;
}
body.dtc-registro-v2 .dtc-v2-download-card.principal button {
    color: #fff;
    border-color: var(--v2-blue);
    background: var(--v2-blue);
}
body.dtc-registro-v2 .dtc-v2-download-card button:disabled { opacity: .55; cursor: wait; }
body.dtc-registro-v2 .dtc-v2-download-card button:focus-visible { outline: 3px solid rgba(47,104,229,.28); outline-offset: 2px; }
body.dtc-registro-v2 .dtc-v2-download-status {
    min-height: 20px;
    margin: 14px 0 0;
    color: #66768a;
    font-size: 12px;
    font-weight: 700;
}
body.dtc-registro-v2 .dtc-v2-download-status.working { color: #2d62b5; }
body.dtc-registro-v2 .dtc-v2-download-status.success { color: #087850; }
body.dtc-registro-v2 .dtc-v2-download-status.error { color: #b42318; }

body.dtc-registro-v2 .dtc-v2-modal { position: fixed; inset: 0; z-index: 200; display: none; place-items: center; padding: 20px; background: rgba(6,14,26,.7); backdrop-filter: blur(8px); }
body.dtc-registro-v2 .dtc-v2-modal.open { display: grid; }
body.dtc-registro-v2 .dtc-v2-modal > div { position: relative; width: min(480px, 100%); padding: 28px; border-radius: 22px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.32); }
body.dtc-registro-v2 .dtc-v2-modal h3 { margin: 8px 0; font: 700 22px 'Lexend', sans-serif; color: var(--v2-ink); }
body.dtc-registro-v2 .dtc-v2-modal p { color: #68778b; line-height: 1.5; }
body.dtc-registro-v2 .dtc-v2-modal .dtc-v2-modal-error {
    min-height: 1.25rem;
    margin: 8px 0 0;
    color: #b42318;
    font-size: .86rem;
    font-weight: 700;
}
body.dtc-registro-v2 .dtc-v2-modal small { display: block; margin-top: 14px; color: #8b97a7; }
body.dtc-registro-v2 .dtc-v2-modal-x { position: absolute; right: 16px; top: 14px; width: 36px; height: 36px; border: 1px solid var(--v2-line); border-radius: 10px; background: #fff; font-size: 22px; cursor: pointer; }
body.dtc-registro-v2 .dtc-v2-modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
body.dtc-registro-v2 .dtc-v2-modal-actions button { padding: 12px; border: 1px solid var(--v2-line); border-radius: 11px; background: #fff; font-weight: 800; cursor: pointer; }
body.dtc-registro-v2 .dtc-v2-modal-actions [data-v2-confirmar] { color: #fff; border-color: var(--v2-green); background: var(--v2-green); }

@media (min-width: 761px) {
    body.dtc-registro-v2 #pexec-screen { overflow: hidden; }
    body.dtc-registro-v2 #pexec-screen > header {
        flex: 0 0 auto;
        margin-bottom: 12px;
    }
    body.dtc-registro-v2 #pexec-screen > .content {
        display: flex;
        min-height: 0;
        flex: 1 1 auto;
        flex-direction: column;
        overflow: hidden;
    }
    body.dtc-registro-v2 #dtc-v2-project-context { flex: 0 0 auto; }
    body.dtc-registro-v2 #dtc-v2-project-scroll {
        flex: 1 1 auto;
        min-height: 0;
        padding-right: 4px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }
}

@media (max-width: 760px) {
    body.dtc-registro-v2 #app { margin-left: 0; width: 100vw; padding-bottom: 72px; }
    body.dtc-registro-v2 #dtc-v2-nav {
        inset: auto 0 0 0;
        width: auto;
        height: 70px;
        padding: 8px max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
        background: rgba(10,22,38,.97);
        border: 0;
        border-top: 1px solid rgba(255,255,255,.1);
    }
    body.dtc-registro-v2 .dtc-v2-brand { display: none; }
    body.dtc-registro-v2 #dtc-v2-nav nav { grid-template-columns: repeat(4, 1fr); gap: 4px; }
    body.dtc-registro-v2 #dtc-v2-nav nav button { min-height: 52px; padding: 4px; flex-direction: column; justify-content: center; gap: 2px; border-radius: 10px; font-size: 10px; text-align: center; }
    body.dtc-registro-v2 #dtc-v2-nav nav button span { height: 20px; font-size: 16px; }
    body.dtc-registro-v2 #dtc-v2-nav .dtc-v2-account-toggle { display: flex !important; }
    body.dtc-registro-v2 .dtc-v2-sidebar-footer {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(82px + env(safe-area-inset-bottom));
        width: min(380px, calc(100vw - 24px));
        margin: 0 auto;
        padding: 12px;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 15px;
        background: #101e33;
        box-shadow: 0 18px 50px rgba(5,14,27,.34);
        opacity: 0;
        pointer-events: none;
        transform: translateY(8px);
        transition: opacity .18s ease, transform .18s ease;
    }
    body.dtc-registro-v2 .dtc-v2-sidebar-footer.open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }
    body.dtc-registro-v2 .view { padding: 16px 14px 88px; }
    body.dtc-registro-v2 #dtc-v2-home-hero { min-height: 0; padding: 22px 19px 17px; grid-template-columns: 1fr; gap: 16px; border-radius: 20px; }
    body.dtc-registro-v2 #dtc-v2-home-hero h1 { max-width: 300px; margin: 7px 0 8px; font-size: 27px; line-height: 1.08; }
    body.dtc-registro-v2 #dtc-v2-home-hero p { font-size: 13px; line-height: 1.45; }
    body.dtc-registro-v2 .dtc-v2-hero-map { grid-template-columns: repeat(3, 1fr); gap: 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.16); }
    body.dtc-registro-v2 .dtc-v2-hero-map span { min-height: 58px; padding: 0 9px; justify-content: flex-start; border: 0; border-radius: 0; background: transparent; }
    body.dtc-registro-v2 .dtc-v2-hero-map span + span { border-left: 1px solid rgba(255,255,255,.16); }
    body.dtc-registro-v2 .dtc-v2-hero-map b { font-size: 19px; }
    body.dtc-registro-v2 .dtc-v2-hero-map small { margin-top: 4px; font-size: 9px; line-height: 1.2; }
    body.dtc-registro-v2 #home-screen .home-actions { grid-template-columns: 1fr; margin-top: 14px; }
    body.dtc-registro-v2 #home-screen .home-card { min-height: 86px; }
    body.dtc-registro-v2 #projects-list .res-group { grid-template-columns: 1fr; padding: 13px; }
    body.dtc-registro-v2 .proj-row,
    body.dtc-registro-v2 .proj-row-open { min-height: 112px; }
    body.dtc-registro-v2 .proj-row-open { padding: 16px 42px 13px 14px; }
    body.dtc-registro-v2 .dtc-v2-project-banner { grid-template-columns: 1fr; }
    body.dtc-registro-v2 .dtc-v2-project-stats { grid-template-columns: repeat(3, 1fr); }
    body.dtc-registro-v2 .dtc-v2-project-stats span { padding: 10px 8px; }
    body.dtc-registro-v2 .dtc-v2-project-stats b { font-size: 16px; }
    body.dtc-registro-v2 .dtc-v2-summary-head { display: block; }
    body.dtc-registro-v2 .dtc-v2-state-badge { display: inline-flex; margin-top: 10px; }
    body.dtc-registro-v2 .dtc-v2-stage-rail { grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 10px; }
    body.dtc-registro-v2 .dtc-v2-stage-rail button { min-height: 66px; padding: 7px 4px; }
    body.dtc-registro-v2 #dtc-v2-project-context,
    body.dtc-registro-v2 #dtc-v2-project-scroll { min-height: 0; }
    body.dtc-registro-v2 #dtc-v2-project-tabs { border-radius: 12px; }
    body.dtc-registro-v2 .dtc-v2-register-panel { padding: 18px 16px; }
    body.dtc-registro-v2 #dtc-v2-register-context { margin-bottom: 15px; }
    body.dtc-registro-v2 #dtc-v2-register-context h3 { font-size: 18px; }
    body.dtc-registro-v2 #dtc-v2-prep-families { grid-template-columns: 36px 1fr; }
    body.dtc-registro-v2 #dtc-v2-prep-families b { grid-column: 2; }
    body.dtc-registro-v2 .dtc-v2-families-context { display: block; }
    body.dtc-registro-v2 .dtc-v2-families-context button { margin-top: 12px; }
    body.dtc-registro-v2 .dtc-v2-download-center { padding: 16px; border-radius: 16px; }
    body.dtc-registro-v2 .dtc-v2-download-head { display: block; }
    body.dtc-registro-v2 .dtc-v2-download-format { display: inline-flex; margin-top: 10px; }
    body.dtc-registro-v2 .dtc-v2-download-grid { grid-template-columns: 1fr; }
    body.dtc-registro-v2 .dtc-v2-download-card.principal { grid-column: auto; }
    body.dtc-registro-v2 .dtc-v2-download-card.principal .dtc-v2-tree { grid-template-columns: 1fr; }
    body.dtc-registro-v2 .dtc-v2-modal-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    body.dtc-registro-v2 *, body.dtc-registro-v2 *::before, body.dtc-registro-v2 *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
