/* Botánica Criolla — Biblioteca de Plantas Medicinales */
.bcv-app {
    --bcv-deep-green: #0b4423;
    --bcv-forest-green: #245b37;
    --bcv-leaf-green: #85c241;
    --bcv-soft-green: #dce9d2;
    --bcv-pale-green: #eef5e9;
    --bcv-brown: #6b4f3a;
    --bcv-earth-line: #c8ceca;
    --bcv-page: #f1f3f1;
    --bcv-paper: #f1f3f1;
    --bcv-surface: #ffffff;
    --bcv-muted-surface: #eef1ef;
    --bcv-ink: #223028;
    --bcv-muted: #5d6d62;
    --bcv-warning: #6b4f3a;
    --bcv-error: #a43b2b;
    color: var(--bcv-ink);
    font-family: inherit;
    line-height: 1.55;
    margin: 1rem auto 2.5rem;
    max-width: 1180px;
}
.bcv-app, .bcv-app * { box-sizing: border-box; }
.bcv-app button, .bcv-app input { font: inherit; }
.bcv-shell {
    background: repeating-linear-gradient(0deg, rgba(11,68,35,.012) 0, rgba(11,68,35,.012) 1px, transparent 1px, transparent 5px), var(--bcv-page);
    border: 1px solid var(--bcv-earth-line);
    box-shadow: 0 18px 45px rgba(11,68,35,.08);
    overflow: hidden;
    position: relative;
}
.bcv-shell::before { background: linear-gradient(90deg,var(--bcv-deep-green),var(--bcv-leaf-green),var(--bcv-deep-green)); content:""; height:7px; inset:0 0 auto; position:absolute; }
.bcv-header { align-items:center; background:linear-gradient(135deg,#f1f3f1 0%,#ffffff 100%); border-bottom:1px solid var(--bcv-earth-line); display:flex; gap:1.45rem; padding:clamp(1.5rem,4vw,2.75rem); }
.bcv-mark { align-items:center; color:var(--bcv-deep-green); display:flex; flex:0 0 104px; height:112px; justify-content:center; width:104px; }
.bcv-mark svg, .bcv-mark img { display:block; height:104px; max-height:104px; max-width:104px; object-fit:contain; width:104px; }
.bcv-eyebrow { color:var(--bcv-brown); font-size:.79rem; font-weight:800; letter-spacing:.13em; margin:0 0 .4rem; text-transform:uppercase; }
.bcv-header h1 { color:var(--bcv-deep-green); font-size:clamp(2rem,5vw,3.35rem); font-weight:800; letter-spacing:-.035em; line-height:1.05; margin:0; }
.bcv-intro { color:var(--bcv-muted); font-size:clamp(1rem,2vw,1.13rem); margin:.8rem 0 0; max-width:790px; }
.bcv-content { padding:clamp(1.25rem,4vw,2.75rem); }
.bcv-search-card, .bcv-results-section, .bcv-admin-card { background:#ffffff; border:1px solid var(--bcv-earth-line); padding:clamp(1rem,2.6vw,1.6rem); }
.bcv-results-section { margin-top:1.25rem; }
.bcv-step-heading { align-items:flex-start; display:flex; gap:.8rem; margin-bottom:1rem; }
.bcv-step { align-items:center; background:var(--bcv-deep-green); border-radius:50%; color:#fff; display:inline-flex; flex:0 0 2rem; font-size:.9rem; font-weight:800; height:2rem; justify-content:center; width:2rem; }
.bcv-step-heading h2 { color:var(--bcv-deep-green); font-size:clamp(1.2rem,2.3vw,1.5rem); margin:0; }
.bcv-step-heading p { color:var(--bcv-muted); font-size:.92rem; margin:.25rem 0 0; }
.bcv-search-form label { color:var(--bcv-deep-green); display:block; font-size:.92rem; font-weight:800; margin-bottom:.45rem; }
.bcv-search-row { display:grid; gap:.7rem; grid-template-columns:minmax(0,1fr) auto; }
.bcv-search-row input { background:#fff; border:1px solid #aeb9b1; border-radius:0; color:var(--bcv-ink); min-height:46px; padding:.7rem .8rem; width:100%; }
.bcv-search-row input:focus { border-color:var(--bcv-deep-green); box-shadow:0 0 0 3px rgba(133,194,65,.22); outline:0; }
.bcv-button { border:1px solid transparent; border-radius:0; cursor:pointer; display:inline-flex; font-size:.92rem; font-weight:800; justify-content:center; min-height:46px; padding:.7rem 1.1rem; text-decoration:none; }
.bcv-button-primary { background:var(--bcv-deep-green); color:#fff !important; }
.bcv-button-primary:hover, .bcv-button-primary:focus { background:var(--bcv-forest-green); color:#fff !important; }
.bcv-help { color:var(--bcv-muted); font-size:.8rem; margin:.5rem 0 0; }
.bcv-message { background:var(--bcv-muted-surface); border-left:5px solid var(--bcv-deep-green); padding:1rem 1.1rem; }
.bcv-message h3 { color:var(--bcv-deep-green); margin:0 0 .35rem; }
.bcv-message p { margin:0; }
.bcv-message-warning { border-left-color:var(--bcv-warning); }
.bcv-results-grid { display:grid; gap:1rem; }
.bcv-result-card { background:#fff; border:1px solid var(--bcv-earth-line); padding:1.15rem; }
.bcv-result-topline { align-items:center; display:flex; flex-wrap:wrap; gap:.55rem; justify-content:space-between; }
.bcv-status { display:inline-flex; font-size:.75rem; font-weight:800; letter-spacing:.03em; padding:.25rem .45rem; text-transform:uppercase; }
.bcv-status-accepted { background:var(--bcv-pale-green); border-left:4px solid var(--bcv-leaf-green); color:var(--bcv-deep-green); }
.bcv-family { color:var(--bcv-muted); font-size:.82rem; font-weight:700; }
.bcv-result-card h3 { color:var(--bcv-deep-green); font-size:clamp(1.45rem,3vw,2rem); line-height:1.2; margin:.75rem 0; }
.bcv-authorship { color:var(--bcv-brown); font-size:.72em; font-style:normal; font-weight:600; }
.bcv-facts { display:grid; gap:.6rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 1rem; }
.bcv-facts div { background:var(--bcv-muted-surface); border:1px solid #d5dbd7; padding:.65rem .75rem; }
.bcv-facts dt { color:var(--bcv-muted); font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.bcv-facts dd { color:var(--bcv-deep-green); font-size:.98rem; font-weight:700; margin:.1rem 0 0; }
.bcv-match-box { background:#f7f8f7; border-left:4px solid var(--bcv-brown); margin:.75rem 0; padding:.8rem .9rem; }
.bcv-match-box h4, .bcv-sources h4 { color:var(--bcv-brown); font-size:.88rem; margin:0 0 .45rem; }
.bcv-match-box p { margin:.3rem 0; }
.bcv-type-chip { border:1px solid #cbd3cd; display:inline-block; font-size:.72rem; font-weight:800; margin-left:.45rem; padding:.15rem .35rem; }
.bcv-type-accepted { background:#eaf4e2; color:var(--bcv-deep-green); }
.bcv-type-synonym, .bcv-type-obsolete { background:#eef1ef; color:var(--bcv-brown); }
.bcv-type-common { background:#eef1ef; color:#45554a; }
.bcv-type-misapplied { background:#f4e8e5; color:var(--bcv-error); }
.bcv-region { color:var(--bcv-muted); font-size:.8rem; }
.bcv-details { border-top:1px solid #d5dbd7; padding:.65rem 0; }
.bcv-details summary { color:var(--bcv-deep-green); cursor:pointer; font-weight:800; }
.bcv-details summary span { color:var(--bcv-muted); font-size:.8rem; }
.bcv-details ul { margin:.65rem 0 .1rem 1.15rem; padding:0; }
.bcv-details li { margin:.25rem 0; }
.bcv-sources { border-top:1px solid #d5dbd7; margin-top:.35rem; padding-top:.75rem; }
.bcv-source-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.bcv-source-links a { border-bottom:1px solid var(--bcv-leaf-green); color:var(--bcv-deep-green); font-size:.82rem; font-weight:700; text-decoration:none; }
.bcv-info-note { align-items:flex-start; background:var(--bcv-muted-surface); border:1px solid var(--bcv-earth-line); border-left:5px solid var(--bcv-brown); display:flex; gap:.9rem; margin-top:1.25rem; padding:1rem 1.1rem; }
.bcv-info-icon { align-items:center; align-self:flex-start; aspect-ratio:1/1; background:var(--bcv-brown); border-radius:50%; color:#fff; display:inline-flex; flex:0 0 28px; font-family:Georgia,serif; font-size:17px; font-weight:800; height:28px; justify-content:center; line-height:1; min-height:28px; min-width:28px; width:28px; }
.bcv-info-icon svg { display:block; height:18px; width:18px; }
.bcv-info-note h2 { color:var(--bcv-brown); font-size:1.05rem; margin:0 0 .35rem; }
.bcv-info-note p { color:var(--bcv-muted); font-size:.9rem; margin:.35rem 0 0; }
.bcv-admin { max-width:none; }
.bcv-admin-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.bcv-admin-card h2 { color:var(--bcv-deep-green); font-size:1.25rem; margin:0 0 .7rem; }
.bcv-admin-wide { margin-top:1rem; }
.bcv-admin-stats { display:grid; gap:.55rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 1rem; }
.bcv-admin-stats div { background:var(--bcv-muted-surface); border:1px solid #d5dbd7; padding:.7rem; }
.bcv-admin-stats dt { color:var(--bcv-muted); font-size:.75rem; font-weight:800; text-transform:uppercase; }
.bcv-admin-stats dd { color:var(--bcv-deep-green); font-size:1.15rem; font-weight:800; margin:.1rem 0 0; }
.bcv-checklist { margin:.5rem 0 0 1.1rem; padding:0; }
.bcv-checklist li { margin:.35rem 0; }
.bcv-source-table-wrap { overflow-x:auto; }
.bcv-source-table { border-collapse:collapse; min-width:680px; width:100%; }
.bcv-source-table th, .bcv-source-table td { border:1px solid #d5dbd7; padding:.65rem .75rem; text-align:left; vertical-align:top; }
.bcv-source-table th { background:var(--bcv-deep-green); color:#fff; }
.bcv-source-table a { color:var(--bcv-deep-green); font-weight:700; }
@media (max-width: 720px) {
    .bcv-header { align-items:flex-start; flex-direction:column; gap:.7rem; }
    .bcv-mark { height:82px; width:82px; flex-basis:82px; }
    .bcv-mark svg, .bcv-mark img { height:78px; max-height:78px; max-width:78px; width:78px; }
    .bcv-search-row { grid-template-columns:1fr; }
    .bcv-facts, .bcv-admin-grid, .bcv-admin-stats { grid-template-columns:1fr; }
    .bcv-content { padding:1rem; }
}

.bcv-button-secondary { background:#eef1ef; border-color:#c8ceca; color:var(--bcv-deep-green)!important; }
.bcv-button-secondary:hover,.bcv-button-secondary:focus { background:#e2e8e3; color:var(--bcv-deep-green)!important; }
.bcv-admin-nav { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1rem; }
.bcv-scope-chips,.bcv-mini-chips { display:flex; flex-wrap:wrap; gap:.4rem; margin:.25rem 0 .9rem; }
.bcv-scope-chips span,.bcv-mini-chips span { background:var(--bcv-pale-green); border:1px solid #cbd9c2; color:var(--bcv-deep-green); font-size:.73rem; font-weight:800; padding:.22rem .42rem; }
.bcv-admin-filter { align-items:end; display:grid; gap:.7rem; grid-template-columns:minmax(220px,1fr) minmax(180px,.45fr) auto; margin-bottom:.8rem; }
.bcv-admin-filter label,.bcv-import-form label { color:var(--bcv-deep-green); display:grid; font-size:.85rem; font-weight:800; gap:.35rem; }
.bcv-admin-filter input,.bcv-admin-filter select,.bcv-import-form input[type="file"],.bcv-import-form select { background:#fff; border:1px solid #aeb9b1; border-radius:0; min-height:44px; padding:.55rem .65rem; width:100%; }
.bcv-import-form { display:grid; gap:.85rem; max-width:760px; }
.bcv-check { align-items:center; display:flex!important; gap:.5rem!important; grid-template-columns:auto 1fr!important; }
.bcv-check input { height:18px; width:18px; }
.bcv-text-link { border-bottom:1px solid var(--bcv-leaf-green); color:var(--bcv-deep-green); font-weight:800; text-decoration:none; }
.bcv-catalog-table em { color:var(--bcv-deep-green); }
@media (max-width:720px){ .bcv-admin-filter{grid-template-columns:1fr;} .bcv-admin-nav .bcv-button{width:100%;} }


/* 1.2.0 — reconciliation and provenance */
.bcv-name-resolution{background:#eef2ee;border-left:4px solid var(--bcv-brown,#6b4f3a);margin:1rem 0;padding:.8rem 1rem}.bcv-name-resolution p{margin:.25rem 0 0}.bcv-name-source{background:#e2eadf;border:1px solid #c4d0c1;color:#315a3a;display:inline-block;font-size:.72rem;margin-left:.4rem;padding:.08rem .35rem}.bcv-last-verified{color:#69736d;font-size:.8rem;margin:.5rem 0 1rem}.bcv-suggestions{border-top:1px solid #c8ceca;margin-top:1rem;padding-top:.85rem}.bcv-suggestions div{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.bcv-suggestions a{background:#eef2ee;border:1px solid #c8ceca;color:#0b4423;padding:.35rem .55rem;text-decoration:none}.bcv-nav-count{background:#85c241;color:#0b4423;display:inline-block;font-size:.72rem;margin-left:.35rem;min-width:1.35rem;padding:.05rem .3rem;text-align:center}.bcv-recon-stats{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.bcv-recon-stats div{background:#fff;border:1px solid #c8ceca;padding:.8rem 1rem}.bcv-recon-stats strong{color:#0b4423;display:block;font-size:1.45rem}.bcv-recon-stats span{color:#69736d;font-size:.78rem}.bcv-recon-list{display:grid;gap:.85rem}.bcv-recon-card{background:#fff;border:1px solid #c8ceca;padding:1rem}.bcv-recon-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.bcv-recon-head h3{margin:.35rem 0 .2rem}.bcv-recon-head p{margin:.2rem 0}.bcv-recon-meta{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:.8rem 0}.bcv-recon-meta div{background:#eef2ee;padding:.55rem .7rem}.bcv-recon-meta dt{color:#69736d;font-size:.72rem;text-transform:uppercase}.bcv-recon-meta dd{margin:.15rem 0 0}.bcv-recon-note{border-left:3px solid #85c241;padding-left:.7rem}.bcv-recon-actions{display:flex;gap:.5rem;margin-top:.9rem}.bcv-recon-actions form{margin:0}.bcv-recon-form{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.bcv-recon-form label{display:flex;flex-direction:column;font-weight:600;gap:.3rem}.bcv-recon-form input,.bcv-recon-form select,.bcv-recon-form textarea{background:#fff;border:1px solid #bfc7c2;min-height:42px;padding:.55rem .65rem}.bcv-recon-form-wide{grid-column:1/-1}.bcv-recon-status-pending{background:#eef1ef;color:#6b4f3a}.bcv-recon-status-approved{background:#dfeeda;color:#20562f}.bcv-recon-status-rejected{background:#ececec;color:#5d5d5d}.bcv-recon-status-conflict{background:#f8dddd;color:#8a2b2b}@media(max-width:720px){.bcv-recon-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bcv-recon-form,.bcv-recon-meta{grid-template-columns:1fr}.bcv-recon-head{flex-direction:column}.bcv-recon-actions{align-items:stretch;flex-direction:column}.bcv-recon-actions form,.bcv-recon-actions .bcv-button{width:100%}}


/* 1.3.0 — Puerto Rico corpus staging */
.bcv-pr-stats{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.bcv-pr-stats div{background:#fff;border:1px solid #c8ceca;padding:.8rem 1rem}.bcv-pr-stats strong{color:#0b4423;display:block;font-size:1.45rem}.bcv-pr-stats span{color:#69736d;font-size:.78rem}.bcv-pr-flow{margin:.45rem 0 0 1.15rem;padding:0}.bcv-pr-flow li{margin:.38rem 0}.bcv-inline-form{display:inline-block;margin:.35rem 0 0 .35rem}.bcv-button-small{font-size:.78rem;min-height:34px;padding:.35rem .55rem}.bcv-pr-table small{color:#69736d}.bcv-pr-status{display:inline-block;font-size:.72rem;font-weight:800;padding:.18rem .4rem}.bcv-pr-status-ready{background:#e4f2dc;color:#20562f}.bcv-pr-status-duplicate{background:#ecefec;color:#56625a}.bcv-pr-status-conflict{background:#f8dddd;color:#8a2b2b}.bcv-pr-status-needs_taxon{background:#eef1ef;color:#6b4f3a}.bcv-pr-status-invalid{background:#f4dcdc;color:#8a2b2b}.bcv-pr-status-queued{background:#dfe9f5;color:#244f75}@media(max-width:720px){.bcv-pr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bcv-inline-form{display:block;margin:.45rem 0 0}}


/* 1.3.2 — integración cromática con Helix Ultimate / Botánica Criolla Tools */
.bcv-app {
    --bcv-page: #f1f3f1;
    --bcv-paper: #f1f3f1;
}

.bcv-shell {
    background-color: var(--bcv-page);
    border-color: #c8ceca;
}

.bcv-header {
    background: linear-gradient(135deg, #f1f3f1 0%, #ffffff 100%);
    border-bottom-color: #c8ceca;
}

.bcv-content {
    background: transparent;
}

.bcv-search-card,
.bcv-results-section,
.bcv-admin-card,
.bcv-result-card,
.bcv-recon-card,
.bcv-recon-stats div,
.bcv-pr-stats div {
    background: #ffffff;
}

.bcv-message,
.bcv-info-note,
.bcv-facts div,
.bcv-admin-stats div,
.bcv-recon-meta div,
.bcv-name-resolution,
.bcv-suggestions a,
.bcv-button-secondary {
    background: #eef1ef;
}

.bcv-type-synonym,
.bcv-type-obsolete,
.bcv-recon-status-pending,
.bcv-pr-status-needs_taxon {
    background: #eef1ef;
    color: #6b4f3a;
}

.bcv-type-misapplied {
    background: #f4e8e5;
}


/* ============================================================
   1.3.3 — paleta compartida Botánica Criolla / Helix Ultimate
   ============================================================ */
.bcv-app {
    --bcv-page: #f1f3f1;
    --bcv-paper: #f1f3f1;
    --bcv-surface: #ffffff;
    --bcv-muted-surface: #eef1ef;
    --bcv-earth-line: #c8ceca;
}

.bcv-shell {
    background:
        repeating-linear-gradient(
            0deg,
            rgba(33, 50, 41, 0.012) 0,
            rgba(33, 50, 41, 0.012) 1px,
            transparent 1px,
            transparent 5px
        ),
        #f1f3f1;
    border-color: #c8ceca;
}

.bcv-header {
    background: linear-gradient(135deg, #eef1ef 0%, #f1f3f1 100%);
    border-bottom-color: #c8ceca;
}

.bcv-content {
    background: transparent;
}

.bcv-search-card,
.bcv-results-section,
.bcv-admin-card,
.bcv-result-card,
.bcv-recon-card,
.bcv-recon-stats div,
.bcv-pr-stats div {
    background: #ffffff;
    border-color: #c8ceca;
}

.bcv-message,
.bcv-info-note,
.bcv-facts div,
.bcv-admin-stats div,
.bcv-recon-meta div,
.bcv-name-resolution,
.bcv-suggestions a,
.bcv-button-secondary {
    background: #eef1ef;
    border-color: #c8ceca;
}


/* ============================================================
   1.4.0 — resolución manual de taxones faltantes de Puerto Rico
   ============================================================ */
.bcv-prtaxon-facts{display:grid;gap:.55rem;margin:0}.bcv-prtaxon-facts div{background:#eef1ef;border:1px solid #c8ceca;padding:.6rem .7rem}.bcv-prtaxon-facts dt{color:#5d6d62;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.bcv-prtaxon-facts dd{color:#0b4423;font-weight:700;margin:.15rem 0 0}.bcv-prtaxon-name-list{margin:.6rem 0 0 1.15rem;padding:0}.bcv-prtaxon-name-list li{margin:.42rem 0}.bcv-prtaxon-existing{margin-bottom:1rem}.bcv-prtaxon-scopes{background:#eef1ef;border:1px solid #c8ceca;display:grid;gap:.5rem;padding:.75rem}.bcv-prtaxon-scopes>strong{color:#0b4423;margin-bottom:.15rem}.bcv-prtaxon-confirm{border-left:4px solid #6b4f3a;padding:.65rem .75rem;background:#eef1ef}.bcv-pr-linked{color:#20562f;font-size:.78rem;font-weight:800}.bcv-prtaxon-form textarea{resize:vertical}.bcv-pr-table td:last-child{min-width:155px}@media(max-width:720px){.bcv-prtaxon-facts{grid-template-columns:1fr}.bcv-pr-table td:last-child{min-width:0}}


/* 1.5.0 — verificación externa controlada con Tropicos */
.bcv-tropicos-search { display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,.7fr) auto; gap:14px; align-items:end; }
.bcv-tropicos-search label { display:grid; gap:6px; font-weight:700; }
.bcv-tropicos-search input,.bcv-tropicos-search select { width:100%; min-height:46px; border:1px solid #C8CECA; background:#fff; padding:10px 12px; }
.bcv-button-small { min-height:34px; padding:7px 10px; font-size:.84rem; }
.bcv-tropicos-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:14px 0; }
.bcv-tropicos-summary>div { border:1px solid #C8CECA; background:#EEF1EF; padding:12px; }
.bcv-tropicos-summary span { display:block; font-size:.78rem; color:#5d655f; margin-bottom:4px; }
.bcv-tropicos-summary strong { color:#0B4423; }
.bcv-tropicos-relations { margin-top:14px; }
.bcv-tropicos-long-list { max-height:360px; overflow:auto; padding-right:8px; }
.bcv-tropicos-link-form { margin-top:18px; padding-top:16px; border-top:1px solid #C8CECA; display:grid; gap:12px; justify-items:start; }
.bcv-tropicos-context,.bcv-tropicos-linked { border-left:4px solid #0B4423; }
@media (max-width:760px){ .bcv-tropicos-search{grid-template-columns:1fr;} }

/* 1.6.0 — importador maestro del corpus */
.bcv-pr-stats {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
}

.bcv-master-legacy {
    margin-top: .8rem;
    border-top: 1px solid #c8ceca;
    padding-top: .7rem;
}

.bcv-master-legacy summary {
    color: #0b4423;
    cursor: pointer;
    font-weight: 800;
}

.bcv-master-legacy p {
    color: #69736d;
    font-size: .86rem;
}

/* 1.7.0 — Tropicos assisted reconciliation */
.bcv-tropicos-candidate-list{display:grid;gap:10px;margin:16px 0}.bcv-tropicos-candidate{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid #c8ceca;background:#fff}.bcv-tropicos-candidate small{display:block;margin-top:4px;color:#4d5a52;line-height:1.35}.bcv-tropicos-candidate-check input{width:18px;height:18px;margin-top:2px}.bcv-tropicos-candidate-already_indexed,.bcv-tropicos-candidate-already_reconciliation{background:#eef1ef;opacity:.82}.bcv-tropicos-candidate-conflict_other_taxon{border-left:4px solid #6b4f3a}.bcv-tropicos-candidate-stats{margin:14px 0}.bcv-tropicos-pagination{margin-top:14px}.bcv-tropicos-assistant .bcv-tropicos-link-form{margin:14px 0 10px}

/* ============================================================
   1.8.0 — Biblioteca medicinal / Botánica Criolla
   ============================================================ */
.bcv-library-search,.bcv-library-index,.bcv-library-results,.bcv-library-welcome,.bcv-plant-identity,.bcv-plant-card{background:#fff;border:1px solid #c8ceca}
.bcv-library-search,.bcv-library-index,.bcv-library-results,.bcv-library-welcome{padding:1rem;margin-bottom:1rem}
.bcv-library-search h2,.bcv-library-index h2,.bcv-library-results h2,.bcv-library-welcome h2,.bcv-plant-card h3{color:#0b4423;margin-top:0}
.bcv-library-count{font-weight:700;color:#4d5a52;margin:.45rem 0 0}
.bcv-library-search-form{position:relative;display:grid;gap:.45rem}.bcv-library-search-form>label{font-weight:800;color:#0b4423}.bcv-library-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.bcv-library-search-row input{min-height:48px;border:1px solid #aeb8b1;background:#fff;padding:.7rem .8rem;width:100%}.bcv-library-suggestions{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fff;border:1px solid #c8ceca;box-shadow:0 8px 24px rgba(11,68,35,.12);max-height:320px;overflow:auto}.bcv-library-suggestions a{display:grid;gap:.15rem;padding:.65rem .8rem;border-bottom:1px solid #eef1ef;color:#0b4423;text-decoration:none}.bcv-library-suggestions a:hover,.bcv-library-suggestions a:focus{background:#eef1ef}.bcv-library-suggestions small{color:#5d6d62}
.bcv-library-index-head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.bcv-library-index-head p{margin:.15rem 0 0}.bcv-library-index-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.bcv-index-mode{display:inline-flex;align-items:center;min-height:38px;padding:.45rem .7rem;border:1px solid #c8ceca;background:#eef1ef;color:#0b4423;font-weight:800;text-decoration:none}.bcv-index-mode.is-active{background:#0b4423;color:#fff;border-color:#0b4423}.bcv-alpha{display:grid;grid-template-columns:repeat(14,minmax(32px,1fr));gap:.35rem;margin-top:.9rem}.bcv-alpha a{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #c8ceca;background:#f1f3f1;color:#0b4423;font-weight:900;text-decoration:none}.bcv-alpha a:hover,.bcv-alpha a:focus,.bcv-alpha a.is-active{background:#0b4423;color:#fff;border-color:#0b4423}
.bcv-text-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.55rem}.bcv-text-results>a{display:grid;gap:.22rem;padding:.7rem .8rem;border:1px solid #c8ceca;background:#fff;color:#0b4423;text-decoration:none}.bcv-text-results>a:hover,.bcv-text-results>a:focus{background:#eef1ef;border-color:#85c241}.bcv-text-results span{font-weight:800}.bcv-text-results small{color:#5d6d62}.bcv-empty-state{padding:1rem;border:1px dashed #aeb8b1;background:#eef1ef;color:#4d5a52}
.bcv-plant-sheet{display:grid;gap:1rem}.bcv-plant-identity{padding:1rem}.bcv-plant-identity h2{font-size:clamp(1.55rem,3vw,2.35rem);color:#0b4423;margin:.15rem 0 .6rem}.bcv-plant-identity h2 span{font-size:.62em;font-weight:600;color:#4d5a52}.bcv-plant-meta{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;color:#3f4c44}.bcv-plant-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.bcv-plant-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.bcv-plant-card{padding:1rem;min-width:0}.bcv-plant-card p:last-child{margin-bottom:0}.bcv-clean-list,.bcv-source-list,.bcv-mini-source-list{margin:.4rem 0 0;padding-left:1.15rem}.bcv-clean-list li,.bcv-source-list li,.bcv-mini-source-list li{margin:.36rem 0}.bcv-clean-list span,.bcv-source-list span{color:#5d6d62}.bcv-chip-list{list-style:none;padding:0;margin:.45rem 0;display:flex;flex-wrap:wrap;gap:.4rem}.bcv-chip-list li{background:#eef1ef;border:1px solid #c8ceca;padding:.35rem .55rem;font-weight:800;color:#0b4423}.bcv-fact-list{display:grid;gap:.45rem;margin:.4rem 0}.bcv-fact-list div{display:grid;grid-template-columns:minmax(115px,.7fr) minmax(0,1.3fr);gap:.5rem;padding:.5rem;background:#eef1ef;border:1px solid #c8ceca}.bcv-fact-list dt{font-weight:800;color:#0b4423}.bcv-fact-list dd{margin:0;overflow-wrap:anywhere}.bcv-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}.bcv-photo-grid figure{margin:0}.bcv-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #c8ceca}.bcv-photo-grid figcaption{font-size:.78rem;color:#5d6d62;margin-top:.25rem}
.bcv-name-context{display:inline;font-size:.78em;font-weight:700;color:#5d6d62;white-space:normal}
.bcv-translation-labels{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
.bcv-library-principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.65rem;margin-top:.8rem}.bcv-library-principles div{display:grid;gap:.2rem;padding:.75rem;background:#eef1ef;border:1px solid #c8ceca}.bcv-library-principles strong{color:#0b4423}

/* 1.12.2 · Aviso de salud de la Biblioteca */
.bcv-library-health-notice{background:#f7f4ec;border:1px solid #c8ceca;border-left:5px solid #6b4f3a;border-radius:12px;color:#27362d;margin-top:1.25rem;overflow:hidden}
.bcv-library-health-summary{align-items:flex-start;display:flex;gap:.85rem;padding:1rem 1.05rem .9rem}
.bcv-library-health-icon{align-items:center;background:#6b4f3a;border-radius:50%;color:#fff;display:inline-flex;flex:0 0 30px;font-weight:900;height:30px;justify-content:center;line-height:1;margin-top:.05rem;width:30px}
.bcv-library-health-notice h2{color:#0b4423;font-size:1.1rem;margin:0 0 .4rem}
.bcv-library-health-summary p{color:#27362d;margin:.28rem 0}
.bcv-library-health-details{border-top:1px solid rgba(107,79,58,.22)}
.bcv-library-health-details summary{background:rgba(107,79,58,.07);color:#0b4423;cursor:pointer;font-weight:800;padding:.78rem 1.05rem}
.bcv-library-health-details summary:hover{background:rgba(107,79,58,.11)}
.bcv-library-health-details summary:focus-visible{outline:3px solid rgba(11,68,35,.35);outline-offset:-3px}
.bcv-library-health-body{background:#fff;padding:.95rem 1.05rem 1.05rem}
.bcv-library-health-body p{color:#27362d;margin:0 0 .78rem}
.bcv-library-health-body p:last-child{margin-bottom:0}
.bcv-library-health-emergency{border-left:3px solid #b6453d;padding-left:.75rem}
@media(max-width:640px){.bcv-library-health-summary{gap:.65rem;padding:.9rem}.bcv-library-health-body,.bcv-library-health-details summary{padding-left:.9rem;padding-right:.9rem}}
.bcv-library-admin-stats{margin-bottom:1rem}.bcv-inline-source-form,.bcv-medicinal-edit-form,.bcv-source-link-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;align-items:end}.bcv-inline-source-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.bcv-inline-source-form input,.bcv-inline-source-form select,.bcv-medicinal-edit-form input,.bcv-medicinal-edit-form select,.bcv-medicinal-edit-form textarea,.bcv-source-link-form input,.bcv-source-link-form select{width:100%;min-height:42px;border:1px solid #c8ceca;background:#fff;padding:.55rem .65rem}.bcv-medicinal-edit-form label,.bcv-source-link-form label{display:grid;gap:.3rem;font-weight:800;color:#0b4423}.bcv-span-2{grid-column:1/-1}.bcv-medicinal-admin-list{display:grid;gap:.7rem;margin-top:.9rem}.bcv-medicinal-admin-item{border:1px solid #c8ceca;background:#fff;padding:.8rem}.bcv-medicinal-admin-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.bcv-medicinal-admin-title h3{margin:0;color:#0b4423}.bcv-medicinal-admin-title p{margin:.2rem 0 0;color:#5d6d62}.bcv-medicinal-admin-item details{margin-top:.7rem;border-top:1px solid #eef1ef;padding-top:.6rem}.bcv-medicinal-admin-item summary{cursor:pointer;font-weight:900;color:#0b4423}.bcv-medicinal-edit-form,.bcv-source-link-form{margin-top:.7rem;padding:.75rem;background:#eef1ef;border:1px solid #c8ceca}.bcv-status-pill{display:inline-flex;padding:.3rem .5rem;border:1px solid #c8ceca;font-size:.78rem;font-weight:900}.bcv-status-pill.is-published{background:#eef7ea;color:#20562f}.bcv-status-pill.is-draft{background:#eef1ef;color:#6b4f3a}
@media(max-width:760px){.bcv-library-search-row{grid-template-columns:1fr}.bcv-library-index-head{display:grid}.bcv-alpha{grid-template-columns:repeat(7,minmax(32px,1fr))}.bcv-plant-cards{grid-template-columns:1fr}.bcv-fact-list div{grid-template-columns:1fr}.bcv-inline-source-form,.bcv-medicinal-edit-form,.bcv-source-link-form{grid-template-columns:1fr}.bcv-span-2{grid-column:auto}.bcv-medicinal-admin-title{display:grid}}

/* 1.9.0 — Fuentes medicinales / staging documental */
.bcv-medsource-stats{display:grid;gap:.75rem;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:1rem}.bcv-medsource-stats div{background:#fff;border:1px solid #c8ceca;padding:.8rem 1rem}.bcv-medsource-stats strong{color:#0b4423;display:block;font-size:1.45rem}.bcv-medsource-stats span{color:#69736d;font-size:.78rem}.bcv-medsource-upload select{background:#fff;border:1px solid #c8ceca;min-height:42px;padding:.55rem .65rem;width:100%}.bcv-medsource-status{display:inline-flex;border:1px solid #c8ceca;font-size:.74rem;font-weight:900;padding:.25rem .42rem;white-space:nowrap}.bcv-medsource-status-ready{background:#eef7ea;color:#20562f}.bcv-medsource-status-review_name{background:#f2efe9;color:#6b4f3a}.bcv-medsource-status-duplicate{background:#eef1ef;color:#5d6d62}.bcv-medsource-status-needs_taxon{background:#f3f1ed;color:#6b4f3a}.bcv-medsource-status-conflict{background:#f8dddd;color:#8a2b2b}.bcv-medsource-status-invalid{background:#ececec;color:#5d5d5d}.bcv-medsource-status-linked{background:#e2eadf;color:#20562f}.bcv-medsource-table small{color:#5d6d62}.bcv-medsource-table td:last-child form{margin:0}.bcv-medsource-table td:last-child .bcv-button{white-space:nowrap}
@media(max-width:860px){.bcv-medsource-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 1.10.0 · Lista medicinal de trabajo */
.bcv-candidates-table{min-width:880px}.bcv-candidate-subtext{margin-top:.25rem;color:#5d6d62;font-size:.78rem}.bcv-status-pill.is-exact{background:#eef7ea;color:#20562f}.bcv-status-pill.is-known-name{background:#f3f1ea;color:#6b4f3a}.bcv-status-pill.is-pending{background:#eef1ef;color:#4d5a52}.bcv-status-pill.is-conflict{background:#f8eaea;color:#7c2f2f;border-color:#d8bcbc}

/* 1.11.0 · Revisión taxonómica progresiva */
.bcv-candidate-groups{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.bcv-candidate-groups a{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;border:1px solid #c8ceca;background:#eef1ef;color:#0b4423;padding:.38rem .55rem;font-weight:800}.bcv-candidate-groups a span{display:inline-flex;min-width:1.6rem;justify-content:center;border-radius:999px;background:#fff;border:1px solid #c8ceca;font-size:.76rem}.bcv-status-pill.is-reconciliation{background:#f3f1ea;color:#6b4f3a}.bcv-status-pill.is-resolved{background:#eef7ea;color:#20562f}.bcv-status-pill.is-deferred{background:#f2efe9;color:#6b4f3a}.bcv-status-pill.is-rejected{background:#f8eaea;color:#7c2f2f;border-color:#d8bcbc}.bcv-candidate-fast{border-left:4px solid #85c241}.bcv-candidate-link-form{display:grid;gap:.85rem}.bcv-candidate-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.85rem 0}.bcv-candidate-form-grid label{display:grid;gap:.35rem;font-weight:800;color:#0b4423}.bcv-candidate-form-grid input,.bcv-candidate-form-grid select,.bcv-candidate-form-grid textarea,.bcv-candidate-hold-actions textarea{width:100%;border:1px solid #c8ceca;background:#fff;padding:.55rem .65rem}.bcv-candidate-form-grid input,.bcv-candidate-form-grid select{min-height:42px}.bcv-candidate-wide-field{grid-column:1/-1}.bcv-candidate-corpus{border-left:4px solid #0b4423}.bcv-candidate-hold-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.bcv-candidate-hold-actions form{display:grid;gap:.55rem;padding:.75rem;border:1px solid #c8ceca;background:#eef1ef;align-content:start}.bcv-candidate-hold-actions label{display:grid;gap:.3rem;font-weight:800;color:#0b4423}.bcv-candidate-hold-actions form:last-child{grid-column:1/-1;justify-items:start}.bcv-candidates-table td:nth-child(3),.bcv-candidates-table td:nth-child(4){white-space:nowrap}@media(max-width:760px){.bcv-candidate-form-grid,.bcv-candidate-hold-actions{grid-template-columns:1fr}.bcv-candidate-wide-field,.bcv-candidate-hold-actions form:last-child{grid-column:auto}}

/* 1.12.0 · Evidencia local de inventario */
.bcv-candidate-evidence{border-left:4px solid #6b4f3a}.bcv-candidate-evidence-table{min-width:760px}.bcv-candidate-evidence-table td:nth-child(1){min-width:180px}.bcv-candidate-evidence-table td:nth-child(3){white-space:nowrap}

/* 1.12.1 · Paginación de Lista medicinal */
.bcv-candidates-list-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.45rem 1rem;align-items:center;margin:.65rem 0}.bcv-candidates-list-meta .bcv-help{margin:0}.bcv-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid #c8ceca}.bcv-pagination-summary{color:#4d5a52;font-size:.84rem;font-weight:800}.bcv-pagination-links{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.bcv-pagination-page{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:.35rem .5rem;border:1px solid #c8ceca;background:#eef1ef;color:#0b4423;font-weight:800;text-decoration:none}.bcv-pagination-page:hover,.bcv-pagination-page:focus{background:#fff;border-color:#85c241;color:#0b4423}.bcv-pagination-page.is-current{background:#0b4423;border-color:#0b4423;color:#fff}.bcv-pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:24px;color:#5d6d62}@media(max-width:760px){.bcv-pagination{align-items:flex-start;flex-direction:column}.bcv-pagination-links{width:100%}}


/* 1.14.0 — ficha medicinal: partes usadas y galería administrativa */
.bcv-medicinal-edit-form small{font-weight:500;color:#5d6d62}
.bcv-image-manager{margin-top:.8rem;padding:.8rem;background:#f8faf8;border:1px solid #c8ceca}
.bcv-image-manager h4{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin:0 0 .25rem;color:#0b4423}
.bcv-image-manager h4 span{font-size:.78rem;font-weight:800;color:#5d6d62}
.bcv-admin-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.65rem}
.bcv-admin-photo-slot{min-width:0;border:1px solid #c8ceca;background:#fff;padding:.65rem}
.bcv-admin-photo-preview{margin:-.65rem -.65rem .65rem}
.bcv-admin-photo-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid #c8ceca}
.bcv-image-meta-form,.bcv-image-upload-form{display:grid;gap:.5rem}
.bcv-image-meta-form label,.bcv-image-upload-form label{display:grid;gap:.25rem;font-weight:800;color:#0b4423}
.bcv-image-meta-form input:not([type="checkbox"]),.bcv-image-upload-form input:not([type="checkbox"]){width:100%;min-height:40px;border:1px solid #c8ceca;background:#fff;padding:.5rem .6rem}
.bcv-image-upload-form input[type="file"]{padding:.4rem;background:#eef1ef}
.bcv-image-delete-form{margin-top:.45rem;padding-top:.45rem;border-top:1px solid #eef1ef}
.bcv-image-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.bcv-image-limit-note{grid-column:1/-1;margin:.25rem 0;font-weight:800;color:#5d6d62}
@media(max-width:760px){.bcv-admin-photo-grid{grid-template-columns:1fr}}


/* 1.14.1 — ficha de edición dedicada + editor Joomla */
.bcv-medicinal-row-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.bcv-medicinal-row-actions form{margin:0}.bcv-record-identity{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.bcv-record-identity h2{margin:.15rem 0;color:#0b4423}.bcv-record-identity p{margin:.25rem 0;color:#5d6d62}.bcv-record-meta{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.5rem;margin:0}.bcv-record-meta div{background:#eef1ef;border:1px solid #c8ceca;padding:.55rem .7rem}.bcv-record-meta dt{font-size:.72rem;font-weight:900;text-transform:uppercase;color:#5d6d62}.bcv-record-meta dd{margin:.2rem 0 0;color:#0b4423;font-weight:800}.bcv-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.bcv-section-heading h2{margin:0;color:#0b4423}.bcv-section-heading p{margin:.3rem 0 0;color:#5d6d62}.bcv-record-edit-form{display:grid;gap:1rem}.bcv-record-fields-row{display:grid;grid-template-columns:2fr 1fr;gap:.8rem}.bcv-record-edit-form .control-group{margin:0}.bcv-record-edit-form .control-label{font-weight:800;color:#0b4423;margin-bottom:.3rem}.bcv-record-edit-form input,.bcv-record-edit-form select,.bcv-record-edit-form textarea{width:100%}.bcv-rich-editor-card{border:1px solid #c8ceca;background:#f8faf8;padding:.8rem}.bcv-field-title{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.45rem;color:#0b4423}.bcv-field-title span{font-size:.76rem;font-weight:800;color:#5d6d62;background:#eef1ef;border:1px solid #c8ceca;padding:.2rem .4rem}.bcv-rich-editor-card>.control-group>.control-label{display:none}.bcv-record-savebar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding-top:.25rem}.bcv-record-savebar span{color:#5d6d62;font-size:.84rem}.bcv-admin-photo-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.bcv-admin-photo-slot h3{margin:0 0 .6rem;color:#0b4423}.bcv-admin-photo-slot.is-empty{border-style:dashed}.bcv-photo-empty-preview{display:grid;place-items:center;min-height:150px;background:#eef1ef;border:1px dashed #aeb8b1;margin-bottom:.65rem}.bcv-photo-empty-preview span{font-size:3rem;line-height:1;color:#6b806f}.bcv-photo-details{margin:.15rem 0;border-top:1px solid #eef1ef;border-bottom:1px solid #eef1ef}.bcv-photo-details summary{cursor:pointer;color:#0b4423;font-weight:800;padding:.45rem 0}.bcv-photo-details>div{display:grid;gap:.5rem;padding:.2rem 0 .6rem}.bcv-linked-source-list{display:grid;gap:.55rem;margin:.7rem 0}.bcv-linked-source-list article{border:1px solid #c8ceca;background:#eef1ef;padding:.65rem .75rem}.bcv-linked-source-list p{margin:.2rem 0;color:#5d6d62}.bcv-linked-source-list small{color:#4d5a52}.bcv-source-add-details{margin-top:.8rem}.bcv-source-add-details>summary{cursor:pointer;font-weight:900;color:#0b4423}.bcv-richtext p:first-child{margin-top:0}.bcv-richtext p:last-child{margin-bottom:0}.bcv-richtext ul,.bcv-richtext ol{padding-left:1.35rem}
@media(max-width:760px){.bcv-record-identity{display:grid}.bcv-record-meta,.bcv-record-fields-row,.bcv-admin-photo-grid-four{grid-template-columns:1fr}.bcv-medicinal-row-actions{justify-content:flex-start}}

/* 1.15.1 — miniaturas de identificación + lightbox accesible */
.bcv-photo-thumb{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:inherit}
.bcv-photo-thumb img{transition:transform .18s ease,box-shadow .18s ease}
.bcv-photo-thumb:hover img,.bcv-photo-thumb:focus-visible img{transform:scale(1.015);box-shadow:0 0 0 3px rgba(133,194,65,.35)}
.bcv-photo-thumb:focus-visible{outline:3px solid #0b4423;outline-offset:3px}
.bcv-photo-zoom{position:absolute;right:.5rem;bottom:.5rem;display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:rgba(11,68,35,.88);color:#fff;font-size:1.35rem;font-weight:700;line-height:1;pointer-events:none}
body.bcv-lightbox-open{overflow:hidden}
.bcv-lightbox[hidden]{display:none!important}
.bcv-lightbox{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:1rem}
.bcv-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);cursor:zoom-out}
.bcv-lightbox-dialog{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"prev media next" ". caption .";align-items:center;gap:.8rem;width:min(1180px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:1rem;background:#101512;border:1px solid rgba(255,255,255,.22);box-shadow:0 1.25rem 4rem rgba(0,0,0,.45);color:#fff;overflow:auto}
.bcv-lightbox-dialog:focus{outline:none}
.bcv-lightbox-media{grid-area:media;display:grid;place-items:center;min-width:0;min-height:0}
.bcv-lightbox-media img{display:block;max-width:100%;max-height:74vh;width:auto;height:auto;object-fit:contain;background:#000}
.bcv-lightbox-close,.bcv-lightbox-nav{border:1px solid rgba(255,255,255,.38);background:rgba(11,68,35,.92);color:#fff;cursor:pointer;font-weight:700}
.bcv-lightbox-close:hover,.bcv-lightbox-close:focus-visible,.bcv-lightbox-nav:hover,.bcv-lightbox-nav:focus-visible{background:#fff;color:#0b4423;outline:2px solid #85c241;outline-offset:2px}
.bcv-lightbox-close{position:absolute;top:.65rem;right:.65rem;z-index:2;width:2.5rem;height:2.5rem;border-radius:999px;font-size:1.65rem;line-height:1}
.bcv-lightbox-nav{width:2.75rem;height:3.5rem;font-size:2rem;line-height:1}
.bcv-lightbox-prev{grid-area:prev}.bcv-lightbox-next{grid-area:next}
.bcv-lightbox-caption{grid-area:caption;padding:.15rem .25rem .25rem}
.bcv-lightbox-counter{margin:0 0 .45rem;font-weight:900;letter-spacing:.04em;color:#dbe7dd}
.bcv-lightbox-meta{display:grid;gap:.4rem;margin:0}
.bcv-lightbox-meta div{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);gap:.65rem;padding:.38rem .5rem;border-top:1px solid rgba(255,255,255,.16)}
.bcv-lightbox-meta dt{font-weight:900;color:#dbe7dd}.bcv-lightbox-meta dd{margin:0;overflow-wrap:anywhere}
.bcv-source-details,.bcv-chip-list small{display:block;line-height:1.5;margin-top:.25rem;overflow-wrap:anywhere}
[data-bcv-library-status]{margin-top:1rem;overflow-wrap:anywhere}
[data-bcv-library-status] input{display:block;width:100%;max-width:100%;margin-top:.35rem;padding:.6rem;border:1px solid #aebbb1}
.bcv-library .bcv-pagination a{display:inline-block;margin:.35rem .8rem .35rem 0;padding:.45rem .7rem;border:1px solid #aebbb1}
@media(max-width:760px){.bcv-lightbox{padding:.4rem}.bcv-lightbox-dialog{width:calc(100vw - .8rem);max-height:calc(100vh - .8rem);grid-template-columns:1fr 1fr;grid-template-areas:"media media" "prev next" "caption caption";padding:.75rem;gap:.55rem}.bcv-lightbox-media img{max-height:66vh}.bcv-lightbox-nav{width:100%;height:2.6rem}.bcv-lightbox-meta div{grid-template-columns:1fr;gap:.15rem}.bcv-photo-zoom{width:1.8rem;height:1.8rem;font-size:1.15rem}}

/* 1.16.0 — Herbario editorial adaptable.
   1.17.2 shares the calculator UI palette and square interior geometry.
   Leaf green accents do not carry small text on white surfaces. */
.bcv-library {
    --bcv-deep-green: #0b4423;
    --bcv-forest-green: #245b37;
    --bcv-leaf-green: #85c241;
    --bcv-soft-green: #dfe5e0;
    --bcv-pale-green: #eef1ef;
    --bcv-page: #f1f3f1;
    --bcv-paper: #f1f3f1;
    --bcv-surface: #ffffff;
    --bcv-muted-surface: #eef1ef;
    --bcv-earth-line: #c8ceca;
    --bcv-ink: #26312b;
    --bcv-muted: #626b66;
    --bcv-heading: #0b4423;
    --bcv-link: #0b4423;
    --bcv-button-bg: #0b4423;
    --bcv-button-text: #ffffff;
    --bcv-control-bg: #ffffff;
    --bcv-header-bg: #ffffff;
    --bcv-warning-bg: #f7f4ec;
    --bcv-warning-text: #6b4f3a;
    --bcv-card-radius: 0px;
    --bcv-button-radius: 0px;
    --bcv-control-radius: 4px;
    --bcv-action-height: 46px;
    --bcv-control-height: 48px;
    --bcv-editorial-radius: var(--bcv-card-radius);
    color-scheme: light;
    color: var(--bcv-ink);
    font-size: 16px;
    line-height: 1.65;
}
.bcv-library .bcv-shell {
    background: var(--bcv-page);
    border-color: var(--bcv-earth-line);
    box-shadow: 0 16px 42px rgba(27,43,34,.10);
}
.bcv-library .bcv-header {
    background: var(--bcv-header-bg);
    border-bottom-color: var(--bcv-earth-line);
}
.bcv-library .bcv-header h1,
.bcv-library .bcv-library-search h2,
.bcv-library .bcv-library-index h2,
.bcv-library .bcv-library-results h2,
.bcv-library .bcv-library-welcome h2 {
    color: var(--bcv-heading);
}
.bcv-library .bcv-library-search,
.bcv-library .bcv-library-index,
.bcv-library .bcv-library-results,
.bcv-library .bcv-library-welcome {
    border-color: var(--bcv-earth-line);
    border-radius: var(--bcv-card-radius);
}
.bcv-library .bcv-index-mode,
.bcv-library .bcv-alpha a {
    color: var(--bcv-link);
    border-color: var(--bcv-earth-line);
    background: var(--bcv-surface);
    min-height: 44px;
    border-radius: var(--bcv-button-radius);
}
.bcv-library .bcv-index-mode.is-active,
.bcv-library .bcv-alpha a:hover,
.bcv-library .bcv-alpha a:focus-visible,
.bcv-library .bcv-alpha a.is-active {
    color: var(--bcv-button-text);
    background: var(--bcv-button-bg);
    border-color: var(--bcv-button-bg);
}
.bcv-library .bcv-button {
    align-items: center;
    border-radius: var(--bcv-button-radius);
    min-height: var(--bcv-action-height);
    font-size: .92rem;
    line-height: 1.2;
    padding: .72rem 1.1rem;
}
.bcv-library .bcv-button-secondary {
    background: var(--bcv-surface);
    border-color: var(--bcv-earth-line);
    color: var(--bcv-link);
}
.bcv-library .bcv-button-secondary:hover {
    background: var(--bcv-pale-green);
    border-color: var(--bcv-link);
    color: var(--bcv-link);
}
.bcv-library :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 3px solid var(--bcv-link);
    outline-offset: 3px;
}
.bcv-library .bcv-editorial-sheet {
    display: block;
    color: var(--bcv-ink);
    overflow-wrap: anywhere;
}
.bcv-library .bcv-editorial-sheet :is(header,section,aside,figure,details,div) {
    min-width: 0;
}
.bcv-library .bcv-editorial-sheet :is(h2,h3,h4) {
    color: var(--bcv-heading);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    line-height: 1.25;
}
.bcv-library .bcv-editorial-sheet a {
    color: var(--bcv-link);
    text-decoration: underline;
    text-underline-offset: .18em;
}
.bcv-library .bcv-editorial-sheet a:hover {
    color: var(--bcv-link);
    text-decoration-thickness: 2px;
}
.bcv-library .bcv-editorial-hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    align-items: center;
    gap: clamp(1.5rem,3.2vw,2.75rem);
    padding: .5rem 0 1.75rem;
    border-bottom: 1px solid var(--bcv-earth-line);
}
.bcv-library .bcv-editorial-identity {
    background: transparent;
    border: 0;
    padding: 0;
}
.bcv-library .bcv-editorial-identity:only-child {
    grid-column: 1 / -1;
}
.bcv-library .bcv-editorial-identity .bcv-eyebrow {
    color: var(--bcv-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    margin: 0 0 .7rem;
}
.bcv-library .bcv-editorial-identity h2.bcv-editorial-title {
    font-size: clamp(2.8rem,5.8vw,5rem);
    letter-spacing: -.035em;
    line-height: 1.08;
    margin: 0 0 .85rem;
}
.bcv-library .bcv-editorial-title :is(span,em,strong) {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}
.bcv-library .bcv-scientific-name {
    color: var(--bcv-heading);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem,2.4vw,1.75rem);
    line-height: 1.5;
    margin: 0 0 .65rem;
}
.bcv-library .bcv-scientific-name :is(span:not(:first-child),.bcv-authorship) {
    color: var(--bcv-muted);
    font-family: inherit;
    font-size: .82em;
}
.bcv-library .bcv-editorial-identity .bcv-taxonomic-status {
    color: var(--bcv-muted);
    font-size: .8rem;
    margin: .5rem 0;
}
.bcv-library .bcv-editorial-identity .bcv-plant-meta {
    color: var(--bcv-muted);
    font-size: .85rem;
    gap: .35rem 1rem;
}
.bcv-library .bcv-editorial-summary {
    color: var(--bcv-ink);
    font-size: 1.05rem;
    line-height: 1.75;
    margin: 1.25rem 0 0;
    max-width: 46ch;
    white-space: pre-line;
}
.bcv-library .bcv-editorial-identity .bcv-plant-actions {
    margin-top: 1.3rem;
}
.bcv-library .bcv-editorial-identity .bcv-plant-actions :is(a,button) {
    font-size: .92rem;
    font-weight: 800;
    padding: .72rem 1.1rem;
    text-decoration: none;
}
.bcv-library .bcv-editorial-cover {
    background: var(--bcv-surface);
    border: 1px solid var(--bcv-earth-line);
    border-radius: var(--bcv-editorial-radius);
    margin: 0;
    overflow: hidden;
}
.bcv-library .bcv-editorial-cover .bcv-photo-thumb {
    background: var(--bcv-muted-surface);
}
.bcv-library .bcv-editorial-cover .bcv-photo-thumb img {
    aspect-ratio: 4 / 3;
    border: 0;
    display: block;
    height: clamp(240px,30vw,380px);
    object-fit: cover;
    width: 100%;
}
.bcv-library .bcv-editorial-cover figcaption {
    color: var(--bcv-muted);
    font-size: .76rem;
    line-height: 1.6;
    margin: 0;
    padding: .7rem .9rem;
}
.bcv-library .bcv-editorial-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    padding: 1rem 0;
    margin: 0 0 1.75rem;
    border-bottom: 1px solid var(--bcv-earth-line);
}
.bcv-library .bcv-editorial-nav a {
    align-items: center;
    background: var(--bcv-surface);
    border: 1px solid var(--bcv-earth-line);
    border-radius: var(--bcv-button-radius);
    display: inline-flex;
    font-size: .85rem;
    font-weight: 600;
    justify-content: center;
    min-height: 44px;
    padding: .5rem .85rem;
    text-align: center;
    text-decoration: none;
}
.bcv-library .bcv-editorial-nav a:hover {
    background: var(--bcv-pale-green);
    border-color: var(--bcv-link);
    color: var(--bcv-link);
}
.bcv-library .bcv-editorial-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(240px,.42fr);
    align-items: start;
    gap: 1.5rem;
}
.bcv-library .bcv-editorial-reading {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: start;
    gap: 1.1rem;
}
.bcv-library .bcv-editorial-aside {
    display: grid;
    align-items: start;
    gap: 1.1rem;
}
.bcv-library .bcv-editorial-card,
.bcv-library .bcv-editorial-details {
    background: var(--bcv-surface);
    border: 1px solid var(--bcv-earth-line);
    border-radius: var(--bcv-editorial-radius);
    margin: 0;
    padding: clamp(1rem,2vw,1.4rem);
}
.bcv-library .bcv-editorial-details.bcv-botanical-synonyms {
    margin-block-end: 1.5rem;
}
.bcv-library .bcv-editorial-card h3,
.bcv-library .bcv-editorial-sources h3 {
    font-size: clamp(1.4rem,2.2vw,1.7rem);
    margin: 0 0 .85rem;
}
.bcv-library .bcv-editorial-reading > :is(.bcv-editorial-caution,.bcv-editorial-details,.bcv-editorial-topic-group,.bcv-editorial-sources) {
    grid-column: 1 / -1;
}
.bcv-library .bcv-editorial-topic-group {
    display: grid;
    gap: 1rem;
}
.bcv-library .bcv-editorial-sheet :is(section,details,aside)[id] {
    scroll-margin-top: 1.25rem;
}
.bcv-library .bcv-editorial-details summary {
    align-items: center;
    color: var(--bcv-heading);
    cursor: pointer;
    display: flex;
    font-weight: 500;
    gap: 1rem;
    justify-content: space-between;
    list-style: none;
    min-height: 44px;
}
.bcv-library .bcv-editorial-details summary::-webkit-details-marker {
    display: none;
}
.bcv-library .bcv-editorial-details summary h3 {
    font-size: clamp(1.35rem,2vw,1.65rem);
    margin: 0;
}
.bcv-library .bcv-editorial-details summary h4 {
    font-size: 1.25rem;
    margin: 0;
}
.bcv-library .bcv-editorial-details summary > span:last-child {
    align-items: center;
    color: var(--bcv-heading);
    display: inline-flex;
    flex: 0 0 auto;
    font-family: inherit;
    font-size: 1.4rem;
    justify-content: center;
    line-height: 1;
    min-height: 24px;
    min-width: 24px;
}
.bcv-library .bcv-editorial-details[open] > summary {
    border-bottom: 1px solid var(--bcv-earth-line);
    margin-bottom: 1rem;
    padding-bottom: .9rem;
}
.bcv-library .bcv-editorial-details[open] > summary > span:last-child {
    transform: rotate(45deg);
}
.bcv-library .bcv-editorial-body {
    color: var(--bcv-ink);
}
.bcv-library .bcv-editorial-sheet .bcv-richtext {
    font-size: 1rem;
    line-height: 1.75;
}
.bcv-library .bcv-editorial-sheet .bcv-richtext :is(p,ul,ol,blockquote) {
    margin-top: 0;
    margin-bottom: 1rem;
}
.bcv-library .bcv-editorial-sheet .bcv-richtext > :last-child {
    margin-bottom: 0;
}
.bcv-library .bcv-editorial-sheet .bcv-richtext :is(img,video,iframe) {
    height: auto;
    max-width: 100%;
}
.bcv-library .bcv-editorial-sheet .bcv-richtext pre {
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.bcv-library .bcv-editorial-sheet .bcv-richtext table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}
.bcv-library .bcv-editorial-caution {
    background: var(--bcv-warning-bg);
    border: 1px solid var(--bcv-earth-line);
    border-left: 5px solid var(--bcv-warning-text);
    border-radius: var(--bcv-editorial-radius);
    color: var(--bcv-warning-text);
    padding: 1.3rem 1.4rem;
}
.bcv-library .bcv-editorial-caution h3 {
    color: var(--bcv-warning-text);
    font-size: 1.6rem;
    margin: 0 0 .8rem;
}
.bcv-library .bcv-editorial-caution p {
    margin: 0 0 .8rem;
}
.bcv-library .bcv-editorial-caution p:last-child {
    margin-bottom: 0;
}
.bcv-library .bcv-editorial-caution a {
    color: var(--bcv-warning-text);
}
.bcv-library .bcv-editorial-caution .bcv-section-sources {
    border-top-color: var(--bcv-earth-line);
    color: var(--bcv-warning-text);
}
.bcv-library .bcv-editorial-sources {
    background: var(--bcv-surface);
    border: 1px solid var(--bcv-earth-line);
    border-radius: var(--bcv-editorial-radius);
    margin: 1.75rem 0 0;
    padding: clamp(1.1rem,2.5vw,1.75rem);
}
.bcv-library .bcv-editorial-source-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: start;
    gap: 1.1rem;
    margin-bottom: 1.1rem;
}
.bcv-library .bcv-editorial-source-grid h4 {
    font-size: 1.3rem;
    margin: 0 0 .8rem;
}
.bcv-library .bcv-photo-caption,
.bcv-library .bcv-photo-credit {
    display: block;
}
.bcv-library .bcv-photo-credit:not(:first-child) {
    font-size: .92em;
    margin-top: .25rem;
}
.bcv-library .bcv-caution-context,
.bcv-library .bcv-taxonomy-context {
    font-size: .85rem;
    line-height: 1.6;
}
.bcv-library .bcv-section-sources {
    border-top: 1px solid var(--bcv-earth-line);
    color: var(--bcv-muted);
    font-size: .8rem;
    line-height: 1.6;
    margin-top: 1.1rem;
    padding-top: .85rem;
}
.bcv-library .bcv-section-sources :is(h4,strong) {
    color: inherit;
    font-family: inherit;
    font-size: .8rem;
    font-weight: 650;
    margin: 0 0 .4rem;
}
.bcv-library .bcv-section-sources ul {
    margin: .35rem 0 0;
    padding-left: 1.1rem;
}
.bcv-library .bcv-editorial-sources :is(.bcv-source-list,.bcv-mini-source-list) {
    font-size: .9rem;
    line-height: 1.7;
}
.bcv-library .bcv-editorial-sheet .bcv-clean-list,
.bcv-library .bcv-editorial-sheet .bcv-chip-list,
.bcv-library .bcv-editorial-sheet .bcv-fact-list {
    font-size: .9rem;
}
.bcv-library .bcv-editorial-sheet .bcv-clean-list :is(span,small),
.bcv-library .bcv-editorial-sheet .bcv-source-details {
    color: var(--bcv-muted);
}
.bcv-library .bcv-editorial-sheet .bcv-fact-list div {
    background: var(--bcv-pale-green);
    border-color: var(--bcv-earth-line);
    grid-template-columns: minmax(0,1fr);
}
.bcv-library .bcv-editorial-sheet .bcv-fact-list dt {
    color: var(--bcv-heading);
}
.bcv-library .bcv-editorial-sheet .bcv-chip-list li {
    background: var(--bcv-pale-green);
    border-color: var(--bcv-earth-line);
    color: var(--bcv-ink);
    font-size: .85rem;
    font-weight: 550;
}
.bcv-library .bcv-editorial-gallery .bcv-photo-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .7rem;
}
.bcv-library .bcv-editorial-gallery .bcv-photo-grid figure:only-child {
    grid-column: 1 / -1;
}
.bcv-library .bcv-editorial-gallery .bcv-photo-grid img {
    border: 0;
    border-radius: var(--bcv-card-radius);
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}
.bcv-library .bcv-editorial-gallery .bcv-photo-grid figcaption {
    color: var(--bcv-muted);
    font-size: .75rem;
    line-height: 1.55;
    margin-top: .45rem;
}
.bcv-library .bcv-editorial-sheet .bcv-photo-zoom {
    background: var(--bcv-button-bg);
    color: var(--bcv-button-text);
}

/* 1.17.0 — Theme values are confined to this component. Validated custom
   profiles supplied by LibraryTheme override these preset variables. */
.bcv-library {
    --bcv-deep-green: var(--bcv-link);
    --bcv-forest-green: var(--bcv-link);
    --bcv-muted-surface: var(--bcv-pale-green);
    --bcv-brown: var(--bcv-muted);
    --bcv-warning: var(--bcv-warning-text);
    background: var(--bcv-page);
    accent-color: var(--bcv-button-bg);
}
.bcv-library[data-bcv-theme="dark"] {
    --bcv-page: #1b2420;
    --bcv-paper: #1b2420;
    --bcv-surface: #243028;
    --bcv-heading: #e5ebe5;
    --bcv-ink: #e5ebe5;
    --bcv-muted: #b4c4b8;
    --bcv-link: #a7d4b3;
    --bcv-button-bg: #a7d4b3;
    --bcv-button-text: #152f24;
    --bcv-earth-line: #455448;
    --bcv-leaf-green: #a7d4b3;
    --bcv-pale-green: #2e3d30;
    --bcv-control-bg: #243028;
    --bcv-header-bg: #152f24;
    --bcv-warning-bg: #3e3523;
    --bcv-warning-text: #f0d49e;
    color-scheme: dark;
}
/* The legacy photo viewer uses a fixed bright-green hover outline. Keep its
   dark controls within the restored muted palette without changing light. */
.bcv-library[data-bcv-theme="dark"] :is(.bcv-lightbox-close,.bcv-lightbox-nav):hover {
    outline-color: var(--bcv-link);
}
.bcv-library :is(h1,h2,h3,h4,h5,h6),
.bcv-library .bcv-library-search-form > label,
.bcv-library .bcv-library-principles strong {
    color: var(--bcv-heading);
}
.bcv-library a {
    color: var(--bcv-link);
}
.bcv-library :is(.bcv-library-count,.bcv-help,.bcv-name-context,.bcv-authorship),
.bcv-library .bcv-library-suggestions small,
.bcv-library .bcv-text-results small {
    color: var(--bcv-muted);
}
.bcv-library :is(.bcv-library-search,.bcv-library-index,.bcv-library-results,.bcv-library-welcome),
.bcv-library .bcv-text-results > a,
.bcv-library .bcv-library-suggestions {
    background: var(--bcv-surface);
    border-color: var(--bcv-earth-line);
    color: var(--bcv-ink);
}
.bcv-library .bcv-text-results {
    grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr));
}
.bcv-library .bcv-text-results > a {
    color: var(--bcv-link);
}
.bcv-library .bcv-text-results > a:hover,
.bcv-library .bcv-text-results > a:focus-visible {
    background: var(--bcv-pale-green);
    border-color: var(--bcv-link);
}
.bcv-library :is(.bcv-empty-state,.bcv-message,.bcv-library-principles div),
.bcv-library [data-bcv-library-status]:not(:empty) {
    background: var(--bcv-pale-green);
    border-color: var(--bcv-earth-line);
    color: var(--bcv-ink);
}
.bcv-library [data-bcv-library-status]:not(:empty) {
    border: 1px solid var(--bcv-earth-line);
    border-radius: var(--bcv-card-radius);
    padding: .75rem;
}
.bcv-library .bcv-library-suggestions a {
    background: var(--bcv-surface);
    border-bottom-color: var(--bcv-earth-line);
    color: var(--bcv-link);
    min-height: 44px;
}
.bcv-library .bcv-library-suggestions a:hover,
.bcv-library .bcv-library-suggestions a:focus-visible,
.bcv-library .bcv-library-suggestions a[aria-selected="true"] {
    background: var(--bcv-pale-green);
}
.bcv-library :is(input,select,textarea),
.bcv-library [data-bcv-library-status] input {
    background-color: var(--bcv-control-bg);
    border: 1px solid var(--bcv-earth-line);
    border-radius: var(--bcv-control-radius);
    color: var(--bcv-ink);
    font: inherit;
    max-width: 100%;
    min-height: var(--bcv-control-height);
}
.bcv-library input::placeholder,
.bcv-library textarea::placeholder {
    color: var(--bcv-muted);
    opacity: 1;
}
/* Helix applies its own input[type=search]:not(.form-control) colours,
   including :focus. Keep foreground, placeholder and surface together even
   when the host template stylesheet is loaded after the component. */
.bcv-library .bcv-library-search-row input[type="search"],
.bcv-library .bcv-library-search-row input[type="search"]:is(:hover,:focus,:active),
.bcv-library [data-bcv-library-status] input[type="text"],
.bcv-library [data-bcv-library-status] input[type="text"]:is(:hover,:focus,:active) {
    background-color: var(--bcv-control-bg);
    background-image: none;
    border-color: var(--bcv-earth-line);
    caret-color: var(--bcv-ink);
    color: var(--bcv-ink);
    opacity: 1;
    border-radius: var(--bcv-control-radius);
}
.bcv-library .bcv-library-search-row input[type="search"]::placeholder,
.bcv-library .bcv-library-search-row input[type="search"]:is(:hover,:focus,:active)::placeholder,
.bcv-library [data-bcv-library-status] input[type="text"]::placeholder {
    color: var(--bcv-muted);
    opacity: 1;
}
.bcv-library .bcv-library-search-row input[type="search"]:focus-visible,
.bcv-library [data-bcv-library-status] input[type="text"]:focus-visible {
    border-color: var(--bcv-link);
    outline: 3px solid var(--bcv-link);
    outline-offset: 2px;
}
.bcv-library .bcv-library-search-row input[type="search"]:is(:autofill,:-webkit-autofill),
.bcv-library [data-bcv-library-status] input[type="text"]:is(:autofill,:-webkit-autofill) {
    -webkit-box-shadow: 0 0 0 1000px var(--bcv-control-bg) inset;
    box-shadow: 0 0 0 1000px var(--bcv-control-bg) inset;
    -webkit-text-fill-color: var(--bcv-ink);
    caret-color: var(--bcv-ink);
}
.bcv-library select option {
    background: var(--bcv-control-bg);
    color: var(--bcv-ink);
}
.bcv-library .bcv-button-primary,
.bcv-library .bcv-button-primary:hover,
.bcv-library .bcv-button-primary:focus-visible {
    background: var(--bcv-button-bg);
    border-color: var(--bcv-button-bg);
    color: var(--bcv-button-text) !important;
}
.bcv-library .bcv-button:hover,
.bcv-library .bcv-lightbox-close:hover,
.bcv-library .bcv-lightbox-nav:hover {
    text-decoration: underline;
    text-underline-offset: .18em;
}
.bcv-library .bcv-photo-thumb:hover img,
.bcv-library .bcv-photo-thumb:focus-visible img {
    box-shadow: 0 0 0 3px var(--bcv-link);
}
.bcv-library .bcv-photo-grid img {
    border-color: var(--bcv-earth-line);
}
.bcv-library .bcv-richtext :is(td,th),
.bcv-library .bcv-richtext blockquote {
    border-color: var(--bcv-earth-line);
}
.bcv-library .bcv-richtext :is(pre,code,th) {
    background: var(--bcv-pale-green);
    color: var(--bcv-ink);
}
.bcv-library .bcv-theme-toolbar {
    align-items: center;
    background: var(--bcv-header-bg);
    border-bottom: 1px solid var(--bcv-earth-line);
    color: var(--bcv-ink);
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    justify-content: flex-end;
    padding: .65rem clamp(1rem,4vw,2.75rem);
}
.bcv-library .bcv-theme-switcher {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .65rem;
    max-width: 100%;
}
.bcv-library .bcv-theme-switcher .bcv-theme-label {
    color: var(--bcv-heading);
    font-size: .85rem;
    font-weight: 650;
    margin: 0;
}
.bcv-library .bcv-theme-choices {
    align-items: center;
    background: var(--bcv-control-bg);
    border: 1px solid var(--bcv-earth-line);
    border-radius: var(--bcv-button-radius);
    display: inline-flex;
    gap: 2px;
    max-width: 100%;
    padding: 3px;
}
.bcv-library .bcv-theme-choices .bcv-theme-choice {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--bcv-button-radius);
    box-sizing: border-box;
    color: var(--bcv-ink);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: .85rem;
    font-weight: 650;
    justify-content: center;
    line-height: 1.2;
    margin: 0;
    min-height: var(--bcv-action-height);
    min-width: 5rem;
    padding: .5rem .9rem;
    text-align: center;
    text-transform: none;
    white-space: nowrap;
}
.bcv-library .bcv-theme-choices .bcv-theme-choice[aria-pressed="true"],
.bcv-library .bcv-theme-choices .bcv-theme-choice[aria-pressed="true"]:is(:hover,:focus-visible) {
    background: var(--bcv-button-bg);
    border-color: var(--bcv-button-bg);
    color: var(--bcv-button-text);
    text-decoration: underline;
    text-underline-offset: .22em;
}
.bcv-library .bcv-theme-choices .bcv-theme-choice[aria-pressed="false"]:hover {
    background: var(--bcv-pale-green);
    color: var(--bcv-ink);
}
.bcv-library .bcv-theme-choices .bcv-theme-choice:focus-visible {
    outline: 3px solid var(--bcv-link);
    outline-offset: 2px;
}
.bcv-library .bcv-theme-choices .bcv-theme-choice:disabled {
    cursor: default;
    opacity: 1;
}
.bcv-library .bcv-theme-toolbar noscript {
    color: var(--bcv-muted);
    font-size: .8rem;
    overflow-wrap: anywhere;
}
/* Keep the polite announcement available to assistive technology without
   changing the toolbar dimensions when the selected theme changes. */
.bcv-library .bcv-theme-status {
    border: 0;
    clip: rect(0,0,0,0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}
.bcv-library .bcv-library-health-notice {
    background: var(--bcv-warning-bg);
    border-color: var(--bcv-earth-line);
    border-left-color: var(--bcv-warning-text);
    color: var(--bcv-warning-text);
    border-radius: var(--bcv-card-radius);
}
.bcv-library .bcv-library-health-notice :is(h2,p),
.bcv-library .bcv-library-health-details summary {
    color: var(--bcv-warning-text);
}
.bcv-library .bcv-library-health-icon {
    background: var(--bcv-warning-text);
    color: var(--bcv-warning-bg);
}
.bcv-library .bcv-library-health-details {
    border-top-color: var(--bcv-earth-line);
}
.bcv-library .bcv-library-health-details summary,
.bcv-library .bcv-library-health-details summary:hover,
.bcv-library .bcv-library-health-body {
    background: var(--bcv-warning-bg);
}
.bcv-library .bcv-library-health-emergency {
    border-left-color: var(--bcv-warning-text);
}
.bcv-library .bcv-lightbox-dialog {
    background: var(--bcv-surface);
    border-color: var(--bcv-earth-line);
    color: var(--bcv-ink);
    border-radius: var(--bcv-card-radius);
}
.bcv-library .bcv-lightbox-media img {
    background: var(--bcv-page);
}
.bcv-library :is(.bcv-lightbox-close,.bcv-lightbox-nav),
.bcv-library :is(.bcv-lightbox-close,.bcv-lightbox-nav):hover,
.bcv-library :is(.bcv-lightbox-close,.bcv-lightbox-nav):focus-visible {
    background: var(--bcv-button-bg);
    border-color: var(--bcv-earth-line);
    color: var(--bcv-button-text);
    min-height: 44px;
    min-width: 44px;
}
.bcv-library .bcv-lightbox-counter,
.bcv-library .bcv-lightbox-meta dt {
    color: var(--bcv-heading);
}
.bcv-library .bcv-lightbox-meta div {
    border-top-color: var(--bcv-earth-line);
}
.bcv-library .bcv-lightbox-dialog:focus-visible {
    outline: 3px solid var(--bcv-link);
    outline-offset: 3px;
}
/* 1.17.2 — Interior geometry follows the shared public calculator UI.
   Inputs retain the 4px corners observed with Helix; actions and panels are square.
   These are scoped overrides: administrator and verifier geometry is unchanged. */
.bcv-library :is(.bcv-photo-thumb,.bcv-photo-zoom,.bcv-lightbox-close,.bcv-lightbox-nav),
.bcv-library :is(.bcv-index-mode,.bcv-alpha a,.bcv-pagination a) {
    border-radius: var(--bcv-button-radius);
}
.bcv-library :is(.bcv-text-results > a,.bcv-library-suggestions,.bcv-empty-state,.bcv-message,.bcv-library-principles div) {
    border-radius: var(--bcv-card-radius);
}
@media (max-width: 480px) {
    .bcv-library .bcv-alpha {
        grid-template-columns: repeat(auto-fit,minmax(44px,1fr));
    }
    .bcv-library .bcv-alpha a {
        min-width: 44px;
    }
    .bcv-library .bcv-theme-toolbar {
        justify-content: flex-start;
    }
}
@media (max-width: 1020px) {
    .bcv-library .bcv-editorial-layout {
        grid-template-columns: minmax(0,1fr) minmax(220px,.46fr);
        gap: 1.1rem;
    }
    .bcv-library .bcv-editorial-reading {
        grid-template-columns: minmax(0,1fr);
    }
}
@media (max-width: 760px) {
    .bcv-library .bcv-editorial-hero {
        grid-template-columns: minmax(0,1fr);
        gap: 1.4rem;
    }
    .bcv-library .bcv-editorial-identity h2.bcv-editorial-title {
        font-size: clamp(2.8rem,9vw,4rem);
    }
    .bcv-library .bcv-editorial-summary {
        font-size: 1rem;
        max-width: none;
    }
    .bcv-library .bcv-editorial-cover .bcv-photo-thumb img {
        height: clamp(200px,48vw,320px);
    }
    .bcv-library .bcv-editorial-nav {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: .55rem;
        margin-bottom: 1.3rem;
    }
    .bcv-library .bcv-editorial-nav a {
        font-size: .85rem;
        padding: .6rem .55rem;
    }
    .bcv-library .bcv-editorial-layout {
        grid-template-columns: minmax(0,1fr);
        gap: 1.1rem;
    }
    .bcv-library .bcv-editorial-card,
    .bcv-library .bcv-editorial-details,
    .bcv-library .bcv-editorial-caution {
        padding: 1.2rem;
    }
    .bcv-library .bcv-editorial-sheet .bcv-richtext {
        font-size: 16px;
    }
    .bcv-library .bcv-editorial-sheet :is(.bcv-clean-list,.bcv-chip-list,.bcv-fact-list) {
        font-size: 1rem;
    }
    .bcv-library .bcv-editorial-aside {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .bcv-library .bcv-editorial-aside > .bcv-editorial-gallery {
        grid-column: 1 / -1;
    }
    .bcv-library .bcv-editorial-sources {
        margin-top: 1.25rem;
    }
    .bcv-library .bcv-editorial-source-grid {
        grid-template-columns: minmax(0,1fr);
    }
}
@media (max-width: 480px) {
    .bcv-library .bcv-content {
        padding: 1rem;
    }
    .bcv-library .bcv-editorial-aside {
        grid-template-columns: minmax(0,1fr);
    }
    .bcv-library .bcv-editorial-card,
    .bcv-library .bcv-editorial-details,
    .bcv-library .bcv-editorial-caution {
        padding: 1rem;
    }
    .bcv-library .bcv-editorial-identity .bcv-plant-actions {
        display: grid;
        grid-template-columns: minmax(0,1fr);
    }
}
@media (prefers-reduced-motion: reduce) {
    .bcv-library .bcv-editorial-sheet *,
    .bcv-library .bcv-editorial-sheet *::before,
    .bcv-library .bcv-editorial-sheet *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
@media print {
    .bcv-library {
        --bcv-page: #fff !important;
        --bcv-paper: #fff !important;
        --bcv-surface: #fff !important;
        --bcv-heading: #000 !important;
        --bcv-ink: #000 !important;
        --bcv-muted: #333 !important;
        --bcv-link: #000 !important;
        --bcv-button-bg: #fff !important;
        --bcv-button-text: #000 !important;
        --bcv-earth-line: #aaa !important;
        --bcv-pale-green: #fff !important;
        --bcv-control-bg: #fff !important;
        --bcv-header-bg: #fff !important;
        --bcv-warning-bg: #fff !important;
        --bcv-warning-text: #000 !important;
        color-scheme: light !important;
        background: #fff;
        color: #000;
        font-size: 11pt;
        line-height: 1.5;
        margin: 0;
        max-width: none;
    }
    .bcv-library .bcv-shell {
        background: #fff;
        border: 0;
        box-shadow: none;
        overflow: visible;
    }
    .bcv-library .bcv-shell::before,
    .bcv-library .bcv-library-header,
    .bcv-library .bcv-library-search,
    .bcv-library .bcv-library-index,
    .bcv-library .bcv-theme-toolbar,
    .bcv-library .bcv-editorial-nav,
    .bcv-library .bcv-plant-actions,
    .bcv-library .bcv-photo-zoom,
    .bcv-library [data-bcv-library-status],
    .bcv-library .bcv-library-health-notice {
        display: none !important;
    }
    .bcv-library .bcv-content {
        padding: 0;
    }
    .bcv-library .bcv-editorial-hero {
        grid-template-columns: minmax(0,1fr) minmax(160px,.7fr);
        gap: 1.5rem;
        padding: 0 0 1rem;
    }
    .bcv-library .bcv-editorial-identity h2.bcv-editorial-title {
        font-size: 30pt;
    }
    .bcv-library .bcv-editorial-cover .bcv-photo-thumb img {
        height: 150px;
    }
    .bcv-library .bcv-editorial-layout,
    .bcv-library .bcv-editorial-reading,
    .bcv-library .bcv-editorial-aside {
        display: block;
    }
    .bcv-library .bcv-editorial-card,
    .bcv-library .bcv-editorial-details,
    .bcv-library .bcv-editorial-caution,
    .bcv-library .bcv-editorial-sources {
        background: #fff;
        border: 1px solid #aaa;
        border-radius: 0;
        color: #000;
        margin: .8rem 0;
        padding: .8rem;
    }
    .bcv-library .bcv-editorial-details::details-content,
    .bcv-library .bcv-editorial-sheet details::details-content {
        block-size: auto !important;
        content-visibility: visible !important;
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }
    .bcv-library .bcv-editorial-sheet details:not([open]) > :not(summary) {
        display: block !important;
    }
    .bcv-library .bcv-editorial-details > summary {
        border-bottom: 1px solid #aaa;
        margin-bottom: .6rem;
        padding-bottom: .5rem;
    }
    .bcv-library .bcv-editorial-details > summary > span:last-child {
        display: none;
    }
    .bcv-library .bcv-editorial-sheet .bcv-richtext,
    .bcv-library .bcv-editorial-summary {
        font-size: 11pt;
        line-height: 1.5;
    }
    .bcv-library .bcv-editorial-sheet :is(h2,h3,h4,dt),
    .bcv-library .bcv-editorial-sheet a {
        color: #000;
    }
    .bcv-library .bcv-editorial-sheet :is(h2,h3,h4,summary) {
        break-after: avoid;
    }
    .bcv-library .bcv-editorial-gallery .bcv-photo-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .bcv-lightbox {
        display: none !important;
    }
}
