.bfe-portal-page-shell {
    clear: both;
    display: block;
    min-height: 1px;
    padding: 26px 0 50px;
    position: relative;
    z-index: 1;
}

body.bfe-user-panel-page main .page-header,
body.bfe-user-panel-page .site-content .page-header,
body.bfe-user-panel-page .site-content .page-title,
body.bfe-user-panel-page .site-content .page-title-wrap,
body.bfe-user-panel-page .site-content .page-title-section,
body.bfe-user-panel-page .site-content .titlebar,
body.bfe-user-panel-page .site-content header.entry-header,
body.bfe-user-panel-page .site-content .entry-header,
body.bfe-user-login-page main .page-header,
body.bfe-user-login-page .site-content .page-header,
body.bfe-user-login-page .site-content .page-title,
body.bfe-user-login-page .site-content .page-title-wrap,
body.bfe-user-login-page .site-content .page-title-section,
body.bfe-user-login-page .site-content .titlebar,
body.bfe-user-login-page .site-content header.entry-header,
body.bfe-user-login-page .site-content .entry-header {
    display: none !important;
}

body.bfe-user-panel-page .site-main,
body.bfe-user-panel-page .content-area,
body.bfe-user-panel-page .entry-content,
body.bfe-user-login-page .site-main,
body.bfe-user-login-page .content-area,
body.bfe-user-login-page .entry-content {
    max-width: none;
    width: 100%;
}

.bfe-app.bfe-portal,
.bfe-app.bfe-login {
    background: var(--bfe-background);
    box-sizing: border-box;
    color: var(--bfe-ink);
    font-family: inherit;
    left: 50%;
    margin: 0;
    max-width: none;
    padding: 26px;
    position: relative;
    transform: translateX(-50%);
    width: min(92vw, 1420px);
}

.bfe-portal *,
.bfe-portal *::before,
.bfe-portal *::after,
.bfe-login *,
.bfe-login *::before,
.bfe-login *::after { box-sizing: border-box; }

.bfe-portal h1,
.bfe-portal h2,
.bfe-portal h3,
.bfe-portal p,
.bfe-login h1,
.bfe-login p { margin-top: 0; }

.bfe-portal-layout {
    align-items: stretch;
    display: grid;
    gap: 24px;
    grid-template-columns: 250px minmax(0, 1fr);
}

.bfe-portal-sidebar {
    align-self: start;
    background: var(--bfe-navy);
    border-radius: 14px;
    box-shadow: var(--bfe-shadow);
    color: #fff;
    min-height: 680px;
    overflow: hidden;
    position: sticky;
    top: 24px;
}

.bfe-portal-user {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    display: flex;
    gap: 12px;
    padding: 22px 18px;
}

.bfe-portal-user strong,
.bfe-portal-user small { display: block; }
.bfe-portal-user strong { color: #fff; font-size: 14px; line-height: 1.25; }
.bfe-portal-user small { color: #b9d3e5; font-size: 11px; margin-top: 3px; }

.bfe-portal-avatar {
    align-items: center;
    background: #fff;
    border-radius: 50%;
    color: var(--bfe-navy);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 13px;
    font-weight: 800;
    height: 42px;
    justify-content: center;
}

.bfe-portal-nav { padding: 14px 10px; }
.bfe-portal-nav__link {
    align-items: center;
    border-radius: 8px;
    color: #dcecf6;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 11px;
    margin: 3px 0;
    min-height: 44px;
    padding: 10px 12px;
    text-decoration: none;
}
.bfe-portal-nav__link > span:first-child {
    align-items: center;
    display: inline-flex;
    flex: 0 0 22px;
    font-size: 17px;
    justify-content: center;
}
.bfe-portal-nav__link small {
    color: #8fb5cd;
    font-size: 9px;
    margin-left: auto;
    text-transform: uppercase;
}
.bfe-portal-nav__link:hover,
.bfe-portal-nav__link:focus,
.bfe-portal-nav__link.is-active {
    background: rgba(255, 255, 255, .13);
    color: #fff;
}
.bfe-portal-nav__link.is-active { box-shadow: inset 3px 0 0 #53bce9; }
.bfe-portal-nav__link.is-disabled { cursor: default; opacity: .72; }

.bfe-portal-sidebar__footer {
    border-top: 1px solid rgba(255, 255, 255, .12);
    margin-top: 10px;
    padding: 18px;
}
.bfe-portal-sidebar__footer .bfe-button {
    border-color: rgba(255, 255, 255, .35);
    color: #fff;
    width: 100%;
}
.bfe-portal-sidebar__footer .bfe-button:hover { background: rgba(255, 255, 255, .1); }

.bfe-portal-main { min-width: 0; }
.bfe-portal-hero,
.bfe-portal-heading,
.bfe-portal-card {
    background: var(--bfe-surface);
    border: 1px solid var(--bfe-border);
    border-radius: var(--bfe-radius);
    box-shadow: 0 5px 18px rgba(5, 42, 79, .05);
}
.bfe-portal-hero {
    align-items: center;
    background: linear-gradient(120deg, #fff, #edf8fd);
    border-color: #c8dce9;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 27px 30px;
}
.bfe-portal-hero h1,
.bfe-portal-heading h1 { color: var(--bfe-navy); font-size: clamp(28px, 3vw, 38px); line-height: 1.1; margin-bottom: 8px; }
.bfe-portal-hero p,
.bfe-portal-heading p { color: var(--bfe-muted); margin-bottom: 0; max-width: 760px; }
.bfe-portal-heading { margin-bottom: 20px; padding: 27px 30px; }

.bfe-portal-grid { display: grid; gap: 20px; }
.bfe-portal-grid--summary { grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); }
.bfe-portal-card { margin-bottom: 20px; padding: 24px; }
.bfe-portal-card h2 { color: var(--bfe-navy); font-size: 21px; margin-bottom: 16px; }
.bfe-portal-card__heading {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}
.bfe-portal-card__heading h2 { margin-bottom: 0; }
.bfe-portal-card__heading > a { color: var(--bfe-blue); font-size: 13px; font-weight: 750; text-decoration: none; }

.bfe-portal-data-grid {
    display: grid;
    gap: 0 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}
.bfe-portal-data-grid > div {
    border-bottom: 1px solid #e7edf2;
    min-width: 0;
    padding: 13px 0;
}
.bfe-portal-data-grid dt { color: var(--bfe-muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.bfe-portal-data-grid dd { color: var(--bfe-ink); font-size: 14px; font-weight: 700; margin: 4px 0 0; overflow-wrap: anywhere; }
.bfe-portal-data-grid--wide { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.bfe-portal-notice {
    border-left: 4px solid var(--bfe-cyan);
    margin: 0 0 16px;
    padding: 3px 0 3px 14px;
}
.bfe-portal-notice:last-child { margin-bottom: 0; }
.bfe-portal-notice strong { color: var(--bfe-navy); font-size: 14px; }
.bfe-portal-notice p { color: var(--bfe-muted); font-size: 13px; margin: 4px 0 0; }

.bfe-quick-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bfe-quick-card {
    background: #f7fafc;
    border: 1px solid var(--bfe-border);
    border-radius: 10px;
    color: var(--bfe-ink);
    display: flex;
    flex-direction: column;
    min-height: 145px;
    padding: 18px;
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.bfe-quick-card:hover,
.bfe-quick-card:focus { border-color: #8ebbd8; box-shadow: 0 7px 18px rgba(5, 42, 79, .08); transform: translateY(-2px); }
.bfe-quick-card strong { color: var(--bfe-navy); font-size: 15px; }
.bfe-quick-card span { color: var(--bfe-muted); font-size: 12px; margin: 7px 0 14px; }
.bfe-quick-card em { color: var(--bfe-blue); font-size: 12px; font-style: normal; font-weight: 800; margin-top: auto; }

.bfe-portal-progress {
    align-items: center;
    background: linear-gradient(120deg, var(--bfe-navy), #075b91);
    color: #fff;
    display: flex;
    justify-content: space-between;
}
.bfe-portal-progress .bfe-eyebrow { color: #78cff2; }
.bfe-portal-progress h2 { color: #fff; margin-bottom: 6px; }
.bfe-portal-progress p { color: #d8eaf5; margin-bottom: 0; max-width: 720px; }
.bfe-portal-progress__status { align-items: center; display: flex; flex-direction: column; padding-left: 30px; }
.bfe-portal-progress__status strong { font-size: 34px; line-height: 1; }
.bfe-portal-progress__status span { color: #b9d9e9; font-size: 11px; margin-top: 6px; text-transform: uppercase; }

.bfe-document-row {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}
.bfe-document-row strong,
.bfe-document-row span { display: block; }
.bfe-document-row strong { color: var(--bfe-navy); font-size: 15px; overflow-wrap: anywhere; }
.bfe-document-row span { color: var(--bfe-muted); font-size: 12px; margin-top: 5px; }

.bfe-timeline { position: relative; }
.bfe-timeline__item { display: grid; gap: 14px; grid-template-columns: 16px minmax(0, 1fr); padding: 0 0 23px; position: relative; }
.bfe-timeline__item:last-child { padding-bottom: 0; }
.bfe-timeline__item > span {
    background: var(--bfe-blue);
    border: 3px solid #dceef8;
    border-radius: 50%;
    height: 14px;
    margin-top: 3px;
    position: relative;
    width: 14px;
}
.bfe-timeline__item:not(:last-child) > span::after {
    background: #dbe5ec;
    content: "";
    height: 100%;
    left: 4px;
    position: absolute;
    top: 12px;
    width: 2px;
}
.bfe-timeline__item strong { color: var(--bfe-navy); }
.bfe-timeline__item p { color: var(--bfe-muted); margin: 4px 0; }
.bfe-timeline__item small { color: var(--bfe-muted); }

.bfe-help-list details { border-bottom: 1px solid var(--bfe-border); padding: 14px 0; }
.bfe-help-list details:first-child { padding-top: 0; }
.bfe-help-list details:last-child { border-bottom: 0; padding-bottom: 0; }
.bfe-help-list summary { color: var(--bfe-navy); cursor: pointer; font-weight: 800; }
.bfe-help-list p { color: var(--bfe-muted); margin: 10px 0 0; }

.bfe-portal-menu-toggle {
    background: var(--bfe-navy);
    border: 0;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    display: none;
    font: inherit;
    font-weight: 750;
    margin-bottom: 14px;
    padding: 11px 15px;
    width: 100%;
}

.bfe-login {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 600px;
}
.bfe-login-card {
    background: #fff;
    border: 1px solid var(--bfe-border);
    border-radius: 16px;
    box-shadow: var(--bfe-shadow);
    max-width: 540px;
    overflow: hidden;
    width: 100%;
}
.bfe-login-card__intro {
    background: linear-gradient(125deg, var(--bfe-navy), #075b91);
    color: #fff;
    padding: 30px;
}
.bfe-login-card__intro .bfe-eyebrow { color: #75caef; }
.bfe-login-card__intro h1 { color: #fff; font-size: 30px; margin-bottom: 8px; }
.bfe-login-card__intro p { color: #d7eaf5; margin-bottom: 0; }
.bfe-login-form { padding: 28px 30px 10px; }
.bfe-login .bfe-alert { margin-left: 30px; margin-right: 30px; }
.bfe-login .bfe-field { margin-bottom: 17px; }
.bfe-login .bfe-field label { color: var(--bfe-ink); display: block; font-size: 13px; font-weight: 750; margin-bottom: 7px; }
.bfe-login .bfe-field input,
.bfe-portal .bfe-field input,
.bfe-portal .bfe-field textarea {
    background: #fff;
    border: 1px solid #afc2d2;
    border-radius: 8px;
    color: var(--bfe-ink);
    font: inherit;
    min-height: 44px;
    padding: 10px 12px;
    width: 100%;
}
.bfe-portal .bfe-field textarea { min-height: 120px; resize: vertical; }
.bfe-login .bfe-field input:focus,
.bfe-portal .bfe-field input:focus,
.bfe-portal .bfe-field textarea:focus { border-color: var(--bfe-blue); box-shadow: 0 0 0 3px rgba(0, 103, 177, .14); outline: 0; }
.bfe-login-remember { font-size: 13px; }
.bfe-login-submit { width: 100%; }
.bfe-login-links { margin: 15px 0 0; text-align: center; }
.bfe-login-links a { color: var(--bfe-blue); font-size: 13px; font-weight: 700; }
.bfe-login-card > .bfe-alert:last-child { margin-bottom: 28px; }

@media (max-width: 1100px) {
    .bfe-portal-data-grid--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bfe-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .bfe-app.bfe-portal,
    .bfe-app.bfe-login { padding: 18px; width: min(96vw, 1420px); }
    .bfe-portal-menu-toggle { display: block; }
    .bfe-portal-layout { display: block; }
    .bfe-portal-sidebar {
        display: none;
        margin-bottom: 18px;
        min-height: 0;
        position: static;
    }
    .bfe-portal-sidebar.is-open { display: block; }
    .bfe-portal-grid--summary { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .bfe-app.bfe-portal,
    .bfe-app.bfe-login { padding: 10px; }
    .bfe-portal-hero,
    .bfe-portal-heading,
    .bfe-portal-card { padding: 20px; }
    .bfe-portal-hero,
    .bfe-portal-progress,
    .bfe-document-row { align-items: flex-start; flex-direction: column; }
    .bfe-portal-data-grid,
    .bfe-portal-data-grid--wide,
    .bfe-quick-grid { grid-template-columns: 1fr; }
    .bfe-portal-progress__status { align-items: flex-start; padding: 18px 0 0; }
    .bfe-document-row .bfe-button { width: 100%; }
    .bfe-login-card__intro,
    .bfe-login-form { padding: 24px 20px; }
    .bfe-login .bfe-alert { margin-left: 20px; margin-right: 20px; }
}

/* Public entry page: cards only. Header and footer continue to be rendered by the active theme. */
body.bfe-public-platform-page main .page-header,
body.bfe-public-platform-page .site-content .page-header,
body.bfe-public-platform-page .site-content .page-title,
body.bfe-public-platform-page .site-content .page-title-wrap,
body.bfe-public-platform-page .site-content .page-title-section,
body.bfe-public-platform-page .site-content .titlebar,
body.bfe-public-platform-page .site-content header.entry-header,
body.bfe-public-platform-page .site-content .entry-header {
    display: none !important;
}

body.bfe-public-platform-page .site-main,
body.bfe-public-platform-page .content-area,
body.bfe-public-platform-page .entry-content {
    max-width: none;
    width: 100%;
}

.bfe-app.bfe-public-platform {
    background: var(--bfe-background);
    box-sizing: border-box;
    color: var(--bfe-ink);
    font-family: inherit;
    left: 50%;
    margin: 0;
    max-width: none;
    padding: 30px;
    position: relative;
    transform: translateX(-50%);
    width: min(92vw, 1240px);
}

.bfe-public-platform *,
.bfe-public-platform *::before,
.bfe-public-platform *::after {
    box-sizing: border-box;
}

.bfe-public-platform__hero {
    background: linear-gradient(120deg, #ffffff, #edf8fd);
    border: 1px solid #c8dce9;
    border-radius: var(--bfe-radius);
    box-shadow: 0 5px 18px rgba(5, 42, 79, .05);
    margin-bottom: 16px;
    padding: 30px;
    text-align: center;
}

.bfe-public-platform__hero h1 {
    color: var(--bfe-navy);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.12;
    margin: 0 0 12px;
}

.bfe-public-platform__hero p {
    color: var(--bfe-muted);
    font-size: 15px;
    line-height: 1.65;
    margin: 0 auto;
    max-width: 820px;
}

.bfe-public-platform__flow {
    background: #fff;
    border: 1px solid var(--bfe-border);
    border-radius: 9px;
    color: var(--bfe-muted);
    font-size: 13px;
    margin-bottom: 18px;
    padding: 13px 16px;
    text-align: center;
}

.bfe-public-platform__flow strong {
    color: var(--bfe-navy);
}

.bfe-public-platform__grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bfe-public-platform-card {
    background: var(--bfe-surface);
    border: 1px solid var(--bfe-border);
    border-radius: var(--bfe-radius);
    box-shadow: 0 7px 22px rgba(5, 42, 79, .07);
    display: flex;
    gap: 18px;
    min-height: 235px;
    padding: 25px;
    position: relative;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.bfe-public-platform-card:hover {
    border-color: #9fc7df;
    box-shadow: 0 10px 28px rgba(5, 42, 79, .11);
    transform: translateY(-2px);
}

.bfe-public-platform-card__step {
    align-items: center;
    background: #e5f3fb;
    border-radius: 50%;
    color: var(--bfe-blue-dark);
    display: inline-flex;
    flex: 0 0 46px;
    font-size: 18px;
    font-weight: 850;
    height: 46px;
    justify-content: center;
}

.bfe-public-platform-card--login .bfe-public-platform-card__step {
    background: #dff3e9;
    color: var(--bfe-green);
}

.bfe-public-platform-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.bfe-public-platform-card h2 {
    color: var(--bfe-navy);
    font-size: 21px;
    line-height: 1.25;
    margin: 2px 0 10px;
}

.bfe-public-platform-card p {
    color: var(--bfe-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 22px;
}

.bfe-public-platform-card .bfe-button {
    align-self: flex-start;
    margin-top: auto;
}

.bfe-public-platform-card--login {
    border-color: #aed5c1;
}

.bfe-public-platform-card--login .bfe-button {
    background: var(--bfe-green);
}

.bfe-public-platform-card--login .bfe-button:hover,
.bfe-public-platform-card--login .bfe-button:focus {
    background: #1b6f4a;
}

.bfe-public-platform__help {
    margin: 20px 0 0;
}

@media (max-width: 760px) {
    .bfe-app.bfe-public-platform {
        padding: 18px;
        width: 96vw;
    }

    .bfe-public-platform__hero {
        padding: 24px 18px;
        text-align: left;
    }

    .bfe-public-platform__grid {
        grid-template-columns: 1fr;
    }

    .bfe-public-platform-card {
        min-height: 0;
        padding: 21px;
    }
}

@media (max-width: 480px) {
    .bfe-public-platform-card {
        display: block;
    }

    .bfe-public-platform-card__step {
        margin-bottom: 14px;
    }

    .bfe-public-platform-card .bfe-button {
        width: 100%;
    }
}


/* 0.6.2 — nueva portada pública e identidad institucional. */
.bfe-public-platform__hero {
    align-items: center;
    background:
        radial-gradient(circle at 83% 18%, rgba(71,189,225,.18), transparent 24%),
        linear-gradient(118deg, #ffffff 0%, #f2fbff 57%, #e5f6fb 100%);
    display: grid;
    gap: 36px;
    grid-template-columns: minmax(0, 1fr) 230px;
    min-height: 290px;
    overflow: hidden;
    padding: 42px 48px;
    position: relative;
    text-align: left;
}
.bfe-public-platform__hero-copy { position: relative; z-index: 2; }
.bfe-public-platform__hero-copy h1 { max-width: 780px; }
.bfe-public-platform__hero-copy p { margin: 0; max-width: 760px; }
.bfe-public-platform__hero-brand {
    align-items: center;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(115,177,207,.4);
    border-radius: 24px;
    box-shadow: 0 16px 34px rgba(5,42,79,.10);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 190px;
    padding: 24px;
    position: relative;
    text-align: center;
    z-index: 2;
}
.bfe-public-platform__hero-brand img { height: 104px; object-fit: contain; width: 104px; }
.bfe-public-platform__hero-brand span { color: var(--bfe-navy); font-size: 12px; font-weight: 800; line-height: 1.35; margin-top: 12px; text-transform: uppercase; }
.bfe-public-platform__wave { border: 2px solid rgba(55,178,215,.16); border-radius: 50%; bottom: -95px; height: 170px; position: absolute; right: -35px; transform: rotate(-8deg); width: 520px; }
.bfe-public-platform__wave--two { bottom: -114px; right: 65px; width: 620px; }
.bfe-public-platform__flow {
    align-items: center;
    box-shadow: 0 5px 16px rgba(5,42,79,.05);
    display: flex;
    gap: 13px;
    padding: 15px 20px;
    text-align: left;
}
.bfe-public-platform__flow-icon {
    align-items: center;
    background: #e1f3fb;
    border-radius: 50%;
    color: var(--bfe-blue-dark);
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 17px;
    height: 34px;
    justify-content: center;
}
.bfe-public-platform__flow b { color: #1fa5c9; padding: 0 3px; }
.bfe-public-platform-card { min-height: 260px; overflow: hidden; padding: 28px; }
.bfe-public-platform-card::after { background: linear-gradient(180deg, rgba(46,170,211,.06), transparent); content: ''; height: 100%; pointer-events: none; position: absolute; right: 0; top: 0; width: 34%; }
.bfe-public-platform-card__visual { align-items: center; display: flex; flex: 0 0 96px; flex-direction: column; gap: 14px; position: relative; z-index: 1; }
.bfe-public-platform-card__icon {
    align-items: center;
    background: #eef8fd;
    border-radius: 22px;
    color: #168bb7;
    display: inline-flex;
    height: 74px;
    justify-content: center;
    width: 82px;
}
.bfe-public-platform-card__icon svg { fill: none; height: 52px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.1; width: 52px; }
.bfe-public-platform-card__content { position: relative; z-index: 1; }
.bfe-public-platform-card--beach .bfe-public-platform-card__icon { background: #e8faf8; color: #159c92; }
.bfe-public-platform-card--access .bfe-public-platform-card__icon { background: #eef2ff; color: #4268b8; }
.bfe-public-platform-card--login .bfe-public-platform-card__icon { background: #e9f7ef; color: var(--bfe-green); }
.bfe-public-platform-card .bfe-button span { font-size: 17px; margin-left: 5px; }
.bfe-public-platform__free,
.bfe-portal-free-notice {
    align-items: center;
    background: linear-gradient(110deg, #073d68, #096b9f);
    border-radius: 13px;
    box-shadow: 0 10px 25px rgba(5,42,79,.15);
    color: #fff;
    display: flex;
    gap: 17px;
    margin-top: 22px;
    padding: 19px 22px;
}
.bfe-public-platform__shield { align-items: center; background: #39b7c8; border-radius: 50%; display: inline-flex; flex: 0 0 44px; font-size: 24px; font-weight: 900; height: 44px; justify-content: center; }
.bfe-public-platform__free > div { flex: 1; }
.bfe-public-platform__free strong,
.bfe-portal-free-notice strong { color: #fff; display: block; font-size: 16px; }
.bfe-public-platform__free p { color: #dceef8; font-size: 12px; line-height: 1.55; margin: 4px 0 0; }
.bfe-public-platform__free a { color: #8ce2ff; font-weight: 800; }
.bfe-public-platform__free img { background: rgba(255,255,255,.94); border-radius: 8px; height: 54px; object-fit: contain; padding: 6px 10px; width: 150px; }
.bfe-portal-free-notice { align-items: flex-start; flex-direction: column; gap: 4px; margin: 0 0 18px; padding: 15px 18px; }
.bfe-portal-free-notice span { color: #dceef8; font-size: 12px; line-height: 1.5; }

@media (max-width: 840px) {
    .bfe-public-platform__hero { grid-template-columns: 1fr; padding: 32px 28px; }
    .bfe-public-platform__hero-brand { display: none; }
    .bfe-public-platform-card { min-height: 235px; }
    .bfe-public-platform__free { align-items: flex-start; flex-wrap: wrap; }
    .bfe-public-platform__free img { margin-left: 60px; }
}
@media (max-width: 560px) {
    .bfe-public-platform__hero { min-height: 0; padding: 27px 21px; }
    .bfe-public-platform__flow { align-items: flex-start; }
    .bfe-public-platform-card__visual { align-items: flex-start; flex-basis: auto; flex-direction: row; margin-bottom: 18px; }
    .bfe-public-platform-card__icon { height: 58px; width: 64px; }
    .bfe-public-platform-card__icon svg { height: 42px; width: 42px; }
    .bfe-public-platform__free img { margin-left: 0; width: 100%; }
}

/* Version 0.8.0: convocatorias en el panel privado. */
.bfe-cycle-portal-grid { display: grid; gap: 18px; }
.bfe-cycle-portal-card { border-top: 5px solid #1688bd; }
.bfe-cycle-portal-card form { display: grid; gap: 14px; margin-top: 18px; }
.bfe-cycle-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    padding: 7px 11px;
    white-space: nowrap;
}
.bfe-cycle-status--scheduled { background: #e4f0ff; color: #185e9d; }
.bfe-cycle-status--open { background: #dff5e7; color: #176b3a; }
.bfe-cycle-status--closed { background: #fff0d8; color: #8a5200; }
.bfe-cycle-status--in_review { background: #eee7ff; color: #5d3d9f; }
.bfe-cycle-status--finalized { background: #dff4f4; color: #17656b; }

/* Ciclos 0.8.2 */
.bfe-cycle-status--applications_open { background: #dff5e7; color: #176b3a; }
.bfe-cycle-status--admission { background: #fff0d8; color: #8a5200; }
.bfe-cycle-status--formalization { background: #f7eadf; color: #7b4a1d; }
.bfe-cycle-status--implementation { background: #e7f4ff; color: #135d8b; }
.bfe-cycle-status--dossier { background: #eee7ff; color: #5d3d9f; }
.bfe-cycle-status--national_jury { background: #f4e8ff; color: #673b91; }
.bfe-cycle-status--fee { background: #dff4f4; color: #17656b; }


.bfe-password-strength { margin:8px 0 0; font-size:13px; line-height:1.45; }
.bfe-password-strength.is-weak { color:#a61b1b; }
.bfe-password-strength.is-medium { color:#8a5a00; }
.bfe-password-strength.is-strong { color:#18713c; font-weight:700; }
.bfe-user-password-page .bfe-standalone-shell { min-height:100vh; }

/* 0.8.6 — Cierre Fase 1: bienvenida institucional y jerarquía visual de la portada. */
.bfe-public-platform__welcome {
    align-items: center;
    background:
        radial-gradient(circle at 84% 18%, rgba(71,189,225,.13), transparent 23%),
        linear-gradient(118deg, #ffffff 0%, #f4fbff 60%, #eaf7fb 100%);
    border: 1px solid #c8dce9;
    border-radius: var(--bfe-radius);
    box-shadow: 0 5px 18px rgba(5,42,79,.05);
    display: grid;
    gap: 34px;
    grid-template-columns: minmax(0,1fr) 250px;
    margin-bottom: 18px;
    min-height: 250px;
    overflow: hidden;
    padding: 34px 48px;
    position: relative;
}
.bfe-public-platform__welcome-copy {
    position: relative;
    z-index: 2;
}
.bfe-public-platform__welcome-copy h1 {
    color: var(--bfe-navy);
    font-size: clamp(36px, 4.8vw, 60px);
    letter-spacing: -.035em;
    line-height: 1.04;
    margin: 0 0 16px;
    max-width: 900px;
}
.bfe-public-platform__welcome-copy p {
    color: var(--bfe-muted);
    font-size: 16px;
    line-height: 1.62;
    margin: 0;
    max-width: 850px;
}
.bfe-public-platform__welcome-brand {
    align-items: center;
    background: transparent;
    border: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 170px;
    padding: 10px;
    position: relative;
    text-align: center;
    z-index: 2;
}
.bfe-public-platform__welcome-brand img {
    background: transparent;
    height: 112px;
    object-fit: contain;
    padding: 0;
    width: 112px;
}
.bfe-public-platform__welcome-brand span {
    color: var(--bfe-navy);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.3;
    margin-top: 10px;
    max-width: 210px;
    text-transform: uppercase;
}

.bfe-public-platform__hero--menu {
    align-items: center;
    background-image:
        linear-gradient(90deg,
            rgba(255,255,255,1) 0%,
            rgba(255,255,255,.99) 36%,
            rgba(255,255,255,.93) 50%,
            rgba(255,255,255,.58) 66%,
            rgba(255,255,255,.12) 100%),
        url('../images/bfe-platform-beach.jpg');
    background-position: center, center right;
    background-repeat: no-repeat;
    background-size: cover, cover;
    display: flex;
    min-height: 230px;
    padding: 34px 48px;
    position: relative;
    text-align: left;
}
.bfe-public-platform__hero--menu .bfe-public-platform__hero-copy {
    max-width: 700px;
    position: relative;
    width: 58%;
    z-index: 2;
}
.bfe-public-platform__hero--menu .bfe-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
}
.bfe-public-platform__hero--menu h2 {
    color: var(--bfe-navy);
    font-size: clamp(27px, 3vw, 38px);
    letter-spacing: -.025em;
    line-height: 1.1;
    margin: 0 0 14px;
}
.bfe-public-platform__hero--menu p {
    color: var(--bfe-muted);
    font-size: 15px;
    line-height: 1.62;
    margin: 0;
    max-width: 660px;
}

@media (max-width: 840px) {
    .bfe-public-platform__welcome {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 30px 28px;
    }
    .bfe-public-platform__welcome-brand {
        align-items: flex-start;
        flex-direction: row;
        gap: 14px;
        justify-content: flex-start;
        min-height: 0;
        padding: 0;
        text-align: left;
    }
    .bfe-public-platform__welcome-brand img {
        height: 68px;
        width: 68px;
    }
    .bfe-public-platform__welcome-brand span {
        margin-top: 7px;
        max-width: 230px;
    }
    .bfe-public-platform__hero--menu {
        background-image:
            linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.93) 58%, rgba(255,255,255,.45) 100%),
            url('../images/bfe-platform-beach.jpg');
        padding: 30px 28px;
    }
    .bfe-public-platform__hero--menu .bfe-public-platform__hero-copy {
        width: 72%;
    }
}

@media (max-width: 560px) {
    .bfe-public-platform__welcome {
        padding: 25px 21px;
    }
    .bfe-public-platform__welcome-copy h1 {
        font-size: clamp(32px, 10vw, 44px);
    }
    .bfe-public-platform__welcome-copy p {
        font-size: 14px;
    }
    .bfe-public-platform__hero--menu {
        background-image:
            linear-gradient(90deg, rgba(255,255,255,.97), rgba(255,255,255,.83)),
            url('../images/bfe-platform-beach.jpg');
        min-height: 0;
        padding: 27px 21px;
    }
    .bfe-public-platform__hero--menu .bfe-public-platform__hero-copy {
        width: 100%;
    }
}

/* 0.8.7 — acceso sin sesión recordada */
.bfe-app.bfe-login .bfe-login-security-note {
    margin: 2px 0 14px;
    color: #5e7186;
    font-size: 13px;
    line-height: 1.45;
}

/* 0.9.0 — Fase 2 / Implementación Técnica del usuario externo. */
.bfe-tech-navigation {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin: 0 0 16px;
}
.bfe-tech-breadcrumb {
    align-items: center;
    color: var(--bfe-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 8px;
}
.bfe-tech-breadcrumb a { color: var(--bfe-blue); font-weight: 750; text-decoration: none; }
.bfe-tech-breadcrumb strong { color: var(--bfe-ink); }
.bfe-tech-breadcrumb span { color: #9bb0bf; }

.bfe-tech-hero {
    align-items: center;
    background: linear-gradient(120deg, #fff 0%, #f2fbff 68%, #e6f5fb 100%);
    border: 1px solid #c7ddea;
    border-radius: 15px;
    box-shadow: 0 7px 22px rgba(5,42,79,.06);
    display: flex;
    gap: 26px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 28px 30px;
}
.bfe-tech-hero h1 { color: var(--bfe-navy); font-size: clamp(30px, 3vw, 42px); margin: 3px 0 8px; }
.bfe-tech-hero p { color: var(--bfe-muted); margin: 0 0 12px; }
.bfe-tech-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.bfe-tech-meta span { color: var(--bfe-muted); font-size: 12px; }
.bfe-tech-meta strong { color: var(--bfe-ink); }
.bfe-tech-progress-ring {
    --bfe-progress: 0%;
    align-items: center;
    background: conic-gradient(var(--bfe-blue) var(--bfe-progress), #dce8ef 0);
    border-radius: 50%;
    display: flex;
    flex: 0 0 128px;
    flex-direction: column;
    height: 128px;
    justify-content: center;
    position: relative;
    width: 128px;
}
.bfe-tech-progress-ring::before { background: #fff; border-radius: 50%; content: ""; inset: 10px; position: absolute; }
.bfe-tech-progress-ring strong,
.bfe-tech-progress-ring span { position: relative; z-index: 1; }
.bfe-tech-progress-ring strong { color: var(--bfe-navy); font-size: 28px; line-height: 1; }
.bfe-tech-progress-ring span { color: var(--bfe-muted); font-size: 10px; font-weight: 800; margin-top: 5px; text-transform: uppercase; }

.bfe-tech-summary {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0,1fr));
    margin-bottom: 18px;
}
.bfe-tech-summary article {
    background: #fff;
    border: 1px solid var(--bfe-border);
    border-radius: 11px;
    min-height: 104px;
    padding: 16px 18px;
}
.bfe-tech-summary span,
.bfe-tech-summary small { color: var(--bfe-muted); display: block; font-size: 11px; }
.bfe-tech-summary strong { color: var(--bfe-navy); display: block; font-size: 28px; line-height: 1.1; margin: 5px 0; }
.bfe-tech-section-heading { align-items: end; display: flex; justify-content: space-between; margin: 26px 0 14px; }
.bfe-tech-section-heading h2 { color: var(--bfe-navy); font-size: 23px; margin: 3px 0 0; }

.bfe-tech-category-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.bfe-tech-category-card {
    background: #fff;
    border: 1px solid var(--bfe-border);
    border-radius: 13px;
    box-shadow: 0 5px 16px rgba(5,42,79,.045);
    min-height: 270px;
    padding: 22px;
}
.bfe-tech-category-card--1 { border-top: 4px solid #2aa96b; }
.bfe-tech-category-card--2 { border-top: 4px solid #2d8fd5; }
.bfe-tech-category-card--3 { border-top: 4px solid #d09a2d; }
.bfe-tech-category-card--4 { border-top: 4px solid #784da8; }
.bfe-tech-category-card__top { align-items: center; display: flex; justify-content: space-between; }
.bfe-tech-category-icon { align-items: center; background: #eff7fb; border-radius: 10px; display: inline-flex; font-size: 25px; height: 46px; justify-content: center; width: 46px; }
.bfe-tech-percent { color: var(--bfe-navy); font-size: 23px; font-weight: 850; }
.bfe-tech-category-card h3 { color: var(--bfe-navy); font-size: 20px; margin: 15px 0 5px; }
.bfe-tech-category-card p { color: var(--bfe-muted); font-size: 12px; margin: 0 0 13px; }
.bfe-tech-progress-bar { background: #e5edf2; border-radius: 999px; height: 8px; overflow: hidden; width: 100%; }
.bfe-tech-progress-bar > span { background: linear-gradient(90deg, #1c87c0, #45b7d8); border-radius: inherit; display: block; height: 100%; min-width: 0; }
.bfe-tech-card-stats { color: var(--bfe-muted); display: flex; flex-wrap: wrap; font-size: 11px; gap: 7px 13px; margin: 12px 0 17px; }

.bfe-tech-heading .bfe-tech-inline-progress { align-items: center; display: grid; gap: 10px; grid-template-columns: auto minmax(180px, 1fr) auto; margin-top: 18px; max-width: 720px; }
.bfe-tech-inline-progress > strong { color: var(--bfe-navy); font-size: 19px; }
.bfe-tech-inline-progress > span { color: var(--bfe-muted); font-size: 11px; }
.bfe-tech-heading-row { align-items: flex-start; display: flex; gap: 24px; justify-content: space-between; }
.bfe-tech-guidance { background: #f4f9fc; border-left: 4px solid var(--bfe-cyan); border-radius: 0 8px 8px 0; margin-top: 18px; padding: 13px 16px; }
.bfe-tech-guidance strong { color: var(--bfe-navy); }
.bfe-tech-guidance p { margin: 5px 0 0; }
.bfe-tech-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.bfe-tech-chip { background: #eef5f9; border: 1px solid #d2e1ea; border-radius: 999px; color: #355a72; font-size: 11px; font-weight: 800; padding: 6px 10px; }

.bfe-tech-list { display: grid; gap: 11px; }
.bfe-tech-list-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bfe-border);
    border-radius: 11px;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0,1fr) 150px auto;
    padding: 17px 19px;
}
.bfe-tech-list-card__main h3 { color: var(--bfe-navy); font-size: 16px; margin: 3px 0 5px; }
.bfe-tech-list-card__main p { color: var(--bfe-muted); font-size: 11px; margin: 0; }
.bfe-tech-number { color: var(--bfe-blue); font-size: 10px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.bfe-tech-list-card__progress { text-align: right; }
.bfe-tech-list-card__progress strong { color: var(--bfe-navy); display: block; font-size: 20px; }
.bfe-tech-list-card__progress span { color: var(--bfe-muted); font-size: 10px; }

.bfe-tech-item-table-wrap { background: #fff; border: 1px solid var(--bfe-border); border-radius: 11px; overflow: auto; }
.bfe-tech-item-table { border-collapse: collapse; min-width: 780px; width: 100%; }
.bfe-tech-item-table th { background: #f4f8fb; color: #526b7d; font-size: 10px; letter-spacing: .04em; padding: 12px 14px; text-align: left; text-transform: uppercase; }
.bfe-tech-item-table td { border-top: 1px solid #e5edf2; color: var(--bfe-ink); font-size: 12px; line-height: 1.45; padding: 14px; vertical-align: middle; }
.bfe-tech-item-table td:first-child { color: var(--bfe-navy); white-space: nowrap; }
.bfe-tech-item-table td:last-child { text-align: right; white-space: nowrap; }
.bfe-tech-state { border-radius: 999px; display: inline-flex; font-size: 10px; font-weight: 850; padding: 6px 9px; white-space: nowrap; }
.bfe-tech-state--not_started { background: #edf1f4; color: #607180; }
.bfe-tech-state--in_progress { background: #fff0cf; color: #865800; }
.bfe-tech-state--complete { background: #def4e7; color: #176a39; }

.bfe-tech-item-form { padding: 0; overflow: hidden; }
.bfe-tech-form-section { border-bottom: 1px solid var(--bfe-border); padding: 23px 25px; }
.bfe-tech-form-section h2 { font-size: 18px; margin: 5px 0 16px; }
.bfe-tech-radio-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0,1fr)); }
.bfe-tech-radio { cursor: pointer; }
.bfe-tech-radio input { position: absolute; opacity: 0; pointer-events: none; }
.bfe-tech-radio span { align-items: center; background: #f7fafc; border: 1px solid #c9d9e4; border-radius: 9px; color: #34566c; display: flex; font-size: 12px; font-weight: 800; justify-content: center; min-height: 48px; padding: 9px; text-align: center; }
.bfe-tech-radio input:checked + span { background: #e7f5fb; border-color: var(--bfe-blue); box-shadow: 0 0 0 2px rgba(0,103,177,.08); color: var(--bfe-navy); }
.bfe-tech-evidence-preview p { color: var(--bfe-muted); margin-bottom: 0; }
.bfe-tech-form-actions { align-items: center; background: #f7fafc; display: flex; gap: 18px; justify-content: space-between; padding: 16px 25px; }
.bfe-tech-autosave-status { color: var(--bfe-muted); font-size: 11px; }
.bfe-tech-autosave-status.is-saving { color: #805b00; }
.bfe-tech-autosave-status.is-saved { color: #176a39; font-weight: 750; }
.bfe-tech-autosave-status.is-error { color: #9e2b2b; }
.bfe-tech-item-navigation { display: flex; gap: 15px; justify-content: space-between; margin: 14px 0 0; }

@media (max-width: 980px) {
    .bfe-tech-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .bfe-tech-category-grid { grid-template-columns: 1fr; }
    .bfe-tech-list-card { grid-template-columns: minmax(0,1fr) auto; }
    .bfe-tech-list-card__progress { display: none; }
    .bfe-tech-radio-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .bfe-tech-navigation { align-items: stretch; flex-direction: column; }
    .bfe-tech-navigation > .bfe-button { width: 100%; }
    .bfe-tech-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
    .bfe-tech-progress-ring { flex-basis: 108px; height: 108px; width: 108px; }
    .bfe-tech-summary { grid-template-columns: 1fr 1fr; }
    .bfe-tech-list-card { align-items: stretch; grid-template-columns: 1fr; }
    .bfe-tech-list-card > .bfe-button { width: 100%; }
    .bfe-tech-heading .bfe-tech-inline-progress { grid-template-columns: 1fr; }
    .bfe-tech-heading-row { flex-direction: column; }
    .bfe-tech-radio-grid { grid-template-columns: 1fr; }
    .bfe-tech-form-actions { align-items: stretch; flex-direction: column; }
    .bfe-tech-form-actions .bfe-button { width: 100%; }
    .bfe-tech-item-navigation { align-items: stretch; flex-direction: column; }
    .bfe-tech-item-navigation > * { width: 100%; }
}

/* 0.9.1 — Biblioteca de evidencias */
.bfe-tech-library-shortcut { align-items:center; background:#fff; border:1px solid var(--bfe-border); border-radius:11px; display:flex; gap:18px; justify-content:space-between; margin:14px 0 24px; padding:15px 18px; }
.bfe-tech-library-shortcut strong { color:var(--bfe-navy); display:block; }
.bfe-tech-library-shortcut span { color:var(--bfe-muted); display:block; font-size:11px; margin-top:3px; }
.bfe-tech-evidence-section { margin-top:16px; padding:22px 24px; }
.bfe-tech-evidence-heading { align-items:flex-start; display:flex; gap:18px; justify-content:space-between; }
.bfe-tech-evidence-heading h2 { color:var(--bfe-navy); font-size:20px; margin:4px 0 7px; }
.bfe-tech-evidence-heading p { color:var(--bfe-muted); font-size:12px; margin:0; max-width:720px; }
.bfe-tech-evidence-empty { background:#f7fafc; border:1px dashed #cbdbe5; border-radius:9px; color:var(--bfe-muted); font-size:12px; margin-top:15px; padding:14px; }
.bfe-tech-evidence-list { display:grid; gap:10px; margin-top:15px; }
.bfe-tech-evidence-card { align-items:center; background:#f9fbfc; border:1px solid #dbe6ed; border-radius:9px; display:flex; gap:16px; justify-content:space-between; padding:13px 14px; }
.bfe-tech-evidence-card__main { min-width:0; }
.bfe-tech-evidence-card__main strong { color:var(--bfe-navy); display:block; margin:7px 0 3px; }
.bfe-tech-evidence-card__main p { color:var(--bfe-muted); font-size:11px; margin:0 0 4px; }
.bfe-tech-evidence-card__main small { color:var(--bfe-muted); }
.bfe-tech-evidence-card__actions { align-items:center; display:flex; flex-wrap:wrap; gap:7px; justify-content:flex-end; }
.bfe-tech-inline-form { display:inline; margin:0; }
.bfe-tech-evidence-actions-grid { border-top:1px solid var(--bfe-border); display:grid; gap:18px; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); margin-top:20px; padding-top:20px; }
.bfe-tech-evidence-form, .bfe-tech-evidence-reuse { background:#f7fafc; border:1px solid #dce7ee; border-radius:10px; padding:17px; }
.bfe-tech-evidence-form h3, .bfe-tech-evidence-reuse h3 { color:var(--bfe-navy); font-size:16px; margin:0 0 13px; }
.bfe-tech-evidence-reuse > p { color:var(--bfe-muted); font-size:11px; margin:-6px 0 12px; }
.bfe-tech-evidence-form .bfe-field, .bfe-tech-evidence-reuse .bfe-field { margin-bottom:12px; }
.bfe-tech-evidence-form .bfe-field small { color:var(--bfe-muted); display:block; font-size:10px; margin-top:4px; }
.bfe-tech-library-list { display:grid; gap:10px; }
.bfe-tech-library-row { align-items:center; display:flex; gap:18px; justify-content:space-between; padding:17px 19px; }
.bfe-tech-library-row h3 { color:var(--bfe-navy); font-size:16px; margin:7px 0 4px; }
.bfe-tech-library-row p { color:var(--bfe-muted); font-size:11px; margin:0 0 5px; }
.bfe-tech-library-row small { color:var(--bfe-muted); }
.bfe-tech-library-empty { padding:20px; }
.bfe-tech-library-empty p { color:var(--bfe-muted); margin:5px 0 0; }

@media (max-width: 760px) {
    .bfe-tech-library-shortcut, .bfe-tech-evidence-heading, .bfe-tech-evidence-card, .bfe-tech-library-row { align-items:stretch; flex-direction:column; }
    .bfe-tech-evidence-actions-grid { grid-template-columns:1fr; }
    .bfe-tech-evidence-card__actions { justify-content:flex-start; }
}

/* 0.9.2 — Envío de categorías a revisión */
.bfe-tech-category-status { margin: -3px 0 12px; }
.bfe-tech-category-submit { align-items:center; display:flex; gap:22px; justify-content:space-between; margin-top:16px; padding:20px 22px; }
.bfe-tech-category-submit h2 { color:var(--bfe-navy); font-size:20px; margin:4px 0 6px; }
.bfe-tech-category-submit p { color:var(--bfe-muted); font-size:12px; margin:0; max-width:700px; }
.bfe-tech-readonly { margin-top:14px; padding:20px 22px; }
.bfe-tech-readonly h2 { color:var(--bfe-navy); font-size:20px; margin:5px 0 10px; }
.bfe-tech-readonly p { color:var(--bfe-muted); font-size:12px; line-height:1.6; margin:0; }
@media (max-width: 760px) {
    .bfe-tech-category-submit { align-items:stretch; flex-direction:column; }
    .bfe-tech-category-submit form, .bfe-tech-category-submit .bfe-button { width:100%; }
}

/* 0.9.5 — Correcciones consolidadas solicitadas por COASTMAN */
.bfe-tech-returned-summary { margin: 14px 0; padding: 20px 22px; }
.bfe-tech-returned-summary h2,
.bfe-tech-coastman-observation h2 { color: var(--bfe-navy); margin: 5px 0 8px; }
.bfe-tech-returned-summary > p { color: var(--bfe-muted); margin: 0; }
.bfe-tech-returned-list { display: grid; gap: 8px; margin-top: 16px; }
.bfe-tech-returned-row {
    align-items: center;
    background: #fffaf0;
    border: 1px solid #eed9ab;
    border-radius: 9px;
    color: inherit;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 12px 14px;
    text-decoration: none;
}
.bfe-tech-returned-row:hover { border-color: #d4b66d; }
.bfe-tech-returned-row strong { color: var(--bfe-navy); display: block; }
.bfe-tech-returned-row span:not(.bfe-tech-chip) { color: var(--bfe-muted); display: block; font-size: 11px; margin-top: 3px; }
.bfe-tech-coastman-observation { border-left: 4px solid #dba617; margin: 14px 0; padding: 19px 22px; }
.bfe-tech-coastman-observation p { color: var(--bfe-ink); line-height: 1.6; margin: 8px 0; }
.bfe-tech-coastman-observation small { color: var(--bfe-muted); }
@media (max-width: 700px) {
    .bfe-tech-returned-row { align-items: flex-start; flex-direction: column; }
}

/* 0.9.9 — Historial versionado de rondas */
.bfe-tech-review-history--portal { margin-top: 16px; padding: 0; overflow: hidden; }
.bfe-tech-review-history--portal > summary { align-items: center; cursor: pointer; display: flex; gap: 16px; justify-content: space-between; list-style: none; padding: 17px 20px; }
.bfe-tech-review-history--portal > summary::-webkit-details-marker { display: none; }
.bfe-tech-review-history--portal > summary span { color: var(--bfe-navy); font-size:14px; font-weight:850; line-height:1.35; }
.bfe-tech-review-history--portal > summary small { color: var(--bfe-muted); font-size:10px; }
.bfe-tech-review-history--portal[open] > summary { border-bottom: 1px solid var(--bfe-border); }
.bfe-tech-review-history--portal .bfe-tech-review-history__body { display: grid; gap: 12px; padding: 16px 18px 19px; }
.bfe-tech-review-history--portal .bfe-tech-review-history__round { background: #f8fbfd; border: 1px solid #dce7ee; border-radius: 10px; padding: 15px; }
.bfe-tech-review-history--portal .bfe-tech-review-history__entry-title { color:var(--bfe-navy); display:block; font-size:14px; font-weight:800; line-height:1.35; }
.bfe-tech-review-history--portal .bfe-tech-review-history__heading small { color:var(--bfe-muted); display:block; font-size:10px; margin-top:3px; }
.bfe-tech-review-history--portal .bfe-tech-review-history__grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 12px; }
.bfe-tech-review-history--portal .bfe-tech-review-history__grid > div { background: #fff; border: 1px solid #e1eaf0; border-radius: 8px; padding: 12px; }
.bfe-tech-review-history--portal .bfe-tech-review-history__grid p,
.bfe-tech-review-history--portal .bfe-tech-review-history__decision p { margin: 5px 0; }
.bfe-tech-review-history--portal .bfe-tech-review-history__grid small,
.bfe-tech-review-history--portal .bfe-tech-review-history__decision small { color: var(--bfe-muted); }
.bfe-tech-review-history--portal .bfe-tech-review-history__decision { border-top: 1px solid #dce7ee; margin-top: 12px; padding-top: 12px; }
.bfe-tech-review-history--portal .bfe-tech-review-history__evidence-list { display: grid; gap: 6px; list-style: none; margin: 7px 0 0; padding: 0; }
.bfe-tech-review-history--portal .bfe-tech-review-history__evidence-list li { background: #f7fafc; border-radius: 7px; padding: 8px 9px; }
.bfe-tech-review-history--portal .bfe-tech-review-history__evidence-list li strong,
.bfe-tech-review-history--portal .bfe-tech-review-history__evidence-list li span { display: block; }
.bfe-tech-review-history--portal .bfe-tech-review-history__evidence-list li span { color: var(--bfe-muted); font-size: 10px; margin-top: 2px; }
@media (max-width: 760px) {
    .bfe-tech-review-history--portal .bfe-tech-review-history__grid { grid-template-columns: 1fr; }
    .bfe-tech-review-history--portal > summary { align-items: flex-start; flex-direction: column; }
}
