.lecturas-admin {
    --la-ink: var(--ct-body-color, #24343d);
    --la-muted: var(--ct-secondary-color, #657780);
    --la-paper: var(--ct-card-bg, #fff);
    --la-soft: var(--mia-soft-bg, #f2f7f8);
    --la-border: var(--mia-soft-border, #d7e3e8);
    --la-blue: var(--mia-blue, #286aa6);
    --la-teal: var(--mia-teal, #198c87);
    color: var(--la-ink);
    padding: 1.25rem 0 2.5rem;
}

.la-hero,
.la-editor-heading {
    align-items: end;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.la-hero h1,
.la-editor-heading h1 {
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    letter-spacing: -.035em;
    margin: .15rem 0 .4rem;
}

.la-hero p,
.la-editor-heading p {
    color: var(--la-muted);
    margin: 0;
    max-width: 740px;
}

.la-eyebrow {
    color: var(--la-teal) !important;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.la-hero-actions,
.la-editor-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: flex-end;
}

.la-back {
    border: 0;
    color: var(--la-muted);
    margin: 0 0 .65rem;
    padding: 0;
}

.la-back:hover { color: var(--la-blue); }

.la-loading {
    align-items: center;
    background: var(--la-paper);
    border: 1px solid var(--la-border);
    border-radius: .85rem;
    display: flex;
    gap: .8rem;
    justify-content: center;
    min-height: 180px;
}

.la-summary {
    display: grid;
    gap: .9rem;
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 1rem;
}

.la-summary article {
    align-items: center;
    background: var(--la-paper);
    border: 1px solid var(--la-border);
    border-radius: .85rem;
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.la-summary article > span {
    align-items: center;
    background: color-mix(in srgb, var(--la-teal) 12%, transparent);
    border-radius: .7rem;
    color: var(--la-teal);
    display: inline-flex;
    font-size: 1.35rem;
    height: 2.7rem;
    justify-content: center;
    width: 2.7rem;
}

.la-summary strong,
.la-summary small { display: block; }
.la-summary strong { font-size: 1.35rem; line-height: 1.1; }
.la-summary small { color: var(--la-muted); margin-top: .15rem; }

.la-toolbar {
    background: var(--la-paper);
    border: 1px solid var(--la-border);
    border-radius: .85rem;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(260px, 1fr) 220px;
    margin-bottom: 1rem;
    padding: .8rem;
}

.la-search { position: relative; }
.la-search i { color: var(--la-muted); left: .85rem; position: absolute; top: .72rem; }
.la-search input { padding-left: 2.45rem; }

.la-admin-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.la-admin-card {
    background: var(--la-paper);
    border: 1px solid var(--la-border);
    border-radius: .9rem;
    display: flex;
    flex-direction: column;
    min-height: 280px;
    overflow: hidden;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.la-admin-card:hover {
    border-color: color-mix(in srgb, var(--la-blue) 42%, var(--la-border));
    box-shadow: 0 .75rem 1.8rem rgba(35, 67, 82, .1);
    transform: translateY(-2px);
}

.la-book-spine {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(0,0,0,.12), transparent 10%, transparent 88%, rgba(255,255,255,.16)),
        linear-gradient(155deg, var(--la-blue), var(--la-teal));
    color: #fff;
    display: flex;
    height: 150px;
    justify-content: center;
    overflow: hidden;
    padding: 0;
}

.la-book-spine span { font-size: 2rem; font-weight: 800; }
.la-book-spine i { font-size: 1.45rem; opacity: .85; }
.la-admin-card-body { display: flex; flex-direction: column; min-width: 0; padding: 1rem; }
.la-card-topline { align-items: center; display: flex; justify-content: space-between; }
.la-card-topline small { color: var(--la-muted); font-size: .67rem; font-weight: 700; letter-spacing: .06em; }
.la-admin-card h2 { font-size: 1.15rem; margin: .85rem 0 .15rem; overflow-wrap: anywhere; }
.la-author { color: var(--la-muted); font-size: .88rem; margin-bottom: 1rem; }
.la-meta-list { display: grid; gap: .45rem; margin: 0; }
.la-meta-list div { display: flex; font-size: .8rem; gap: .5rem; justify-content: space-between; }
.la-meta-list dt { color: var(--la-muted); font-weight: 500; }
.la-meta-list dd { font-weight: 650; margin: 0; text-align: right; }
.la-card-actions { align-items: center; display: flex; gap: .45rem; margin-top: auto; padding-top: 1rem; }
.la-card-actions .btn-primary { flex: 1; }
.la-icon-button { align-items: center; display: inline-flex; justify-content: center; min-height: 38px; min-width: 38px; padding: .4rem; }

.la-empty {
    align-items: center;
    background: var(--la-paper);
    border: 1px dashed var(--la-border);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    min-height: 310px;
    padding: 3rem 1rem;
    text-align: center;
}
.la-empty > span { color: var(--la-teal); font-size: 3rem; }
.la-empty h2 { font-size: 1.25rem; }
.la-empty p { color: var(--la-muted); max-width: 520px; }

.la-save-state { align-items: center; color: var(--la-muted); display: flex; font-size: .8rem; gap: .35rem; }
.la-save-state .mdi-circle-edit-outline { color: #b96b12; }
.la-save-state .mdi-check-circle-outline { color: var(--la-teal); }
.la-pending-sections { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.65rem; }

.la-editor-tabs {
    background: var(--la-paper);
    border: 1px solid var(--la-border);
    border-radius: .85rem;
    display: flex;
    gap: .2rem;
    margin-bottom: 1rem;
    overflow-x: auto;
    padding: .35rem;
}

.la-editor-tabs button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: .6rem;
    color: var(--la-muted);
    display: inline-flex;
    flex: 0 0 auto;
    gap: .4rem;
    min-height: 42px;
    padding: .55rem .8rem;
    position: relative;
}

.la-editor-tabs button.active { background: var(--la-soft); color: var(--la-blue); font-weight: 700; }
.la-editor-tabs button.has-unsaved { background:#fff7e8; color:#8a4f0f; }
.la-editor-tabs button.has-unsaved.active { box-shadow:inset 0 0 0 1px rgba(185,107,18,.35); }
.la-tab-unsaved { background:#b96b12; border-radius:1rem; color:#fff; font-size:.6rem; font-weight:750; line-height:1; padding:.25rem .4rem; text-transform:uppercase; }
.la-tab-alert { background: #d88917; border-radius: 50%; height: .42rem; position: absolute; right: .3rem; top: .25rem; width: .42rem; }
.la-editor-section { min-height: 320px; }

.la-form-card,
.la-version-list,
.la-page-interactions {
    background: var(--la-paper);
    border: 1px solid var(--la-border);
    border-radius: .9rem;
    padding: 1.2rem;
}

.la-form-card fieldset { border: 0; margin: 0 0 1.4rem; padding: 0; }
.la-form-card legend { border-bottom: 1px solid var(--la-border); font-size: .83rem; font-weight: 800; letter-spacing: .04em; margin-bottom: .85rem; padding-bottom: .45rem; text-transform: uppercase; }
.la-section-title { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.la-section-title h2,
.la-section-title h3 { font-size: 1.15rem; margin: 0 0 .2rem; }
.la-section-title p { color: var(--la-muted); font-size: .86rem; margin: 0; }

.la-step-note {
    align-items: center;
    background: var(--la-soft);
    border: 1px solid var(--la-border);
    border-radius: .8rem;
    display: flex;
    gap: .8rem;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
}
.la-step-note > span { align-items: center; background: var(--la-blue); border-radius: 50%; color: #fff; display: flex; height: 2rem; justify-content: center; width: 2rem; }
.la-step-note p { color: var(--la-muted); margin: .1rem 0 0; }

.la-check-grid { display: grid; gap: .7rem; grid-template-columns: repeat(3, 1fr); }
.la-check-grid label { align-items: start; border: 1px solid var(--la-border); border-radius: .75rem; cursor: pointer; display: flex; gap: .65rem; min-height: 88px; padding: .85rem; }
.la-check-grid input { margin-top: .2rem; }
.la-check-grid strong,
.la-check-grid small { display: block; }
.la-check-grid small { color: var(--la-muted); font-size: .75rem; margin-top: .15rem; }
.la-switch-grid { display: grid; gap: .5rem; grid-template-columns: repeat(4, 1fr); }
.la-switch-item { align-items: center; background: var(--la-soft); border-radius: .55rem; cursor: pointer; display: flex; gap: .55rem; min-height: 42px; padding: .55rem .7rem; }

.la-file-grid { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; margin-bottom: 1rem; }
.la-file-card { align-items: center; background: var(--la-paper); border: 1px solid var(--la-border); border-radius: .9rem; display: flex; gap: 1rem; padding: 1.1rem; }
.la-file-card > span { align-items: center; background: var(--la-soft); border-radius: .8rem; color: var(--la-blue); display: flex; flex: 0 0 3.2rem; font-size: 1.6rem; height: 3.2rem; justify-content: center; }
.la-file-card h3 { font-size: 1rem; margin: 0 0 .2rem; }
.la-file-card p { color: var(--la-muted); font-size: .82rem; margin: 0 0 .65rem; }
.la-file-card input { max-width: 100%; }
.la-version-list h3 { font-size: 1rem; }
.la-version-list article { align-items: center; border-top: 1px solid var(--la-border); display: grid; gap: .75rem; grid-template-columns: 2.5rem 1fr auto; padding: .7rem 0; }
.la-version-number { color: var(--la-blue); font-weight: 800; }
.la-version-list small { color: var(--la-muted); display: block; }

.la-catalog-layout { display: grid; gap: 1rem; grid-template-columns: 235px minmax(0, 1fr); }
.la-catalog-nav { align-self: start; background: var(--la-paper); border: 1px solid var(--la-border); border-radius: .85rem; display: grid; gap: .2rem; padding: .4rem; position: sticky; top: 84px; }
.la-catalog-nav button { align-items: center; background: transparent; border: 0; border-radius: .6rem; color: var(--la-muted); display: grid; gap: .55rem; grid-template-columns: 1.4rem 1fr auto; min-height: 44px; padding: .55rem .65rem; text-align: left; }
.la-catalog-nav button.active { background: var(--la-soft); color: var(--la-blue); font-weight: 700; }
.la-catalog-nav small { background: color-mix(in srgb, var(--la-muted) 12%, transparent); border-radius: 1rem; min-width: 1.5rem; padding: .1rem .35rem; text-align: center; }
.la-catalog-content { background: var(--la-paper); border: 1px solid var(--la-border); border-radius: .9rem; padding: 1.1rem; }
.la-catalog-columns { display: grid; gap: 1rem; grid-template-columns: minmax(280px, 1fr) minmax(300px, .8fr); }
.la-option-list { border: 1px solid var(--la-border); border-radius: .75rem; overflow: hidden; }
.la-option-row { align-items: center; border-bottom: 1px solid var(--la-border); display: grid; gap: .55rem; grid-template-columns: 2.4rem 1fr auto; min-height: 58px; padding: .45rem .55rem; }
.la-option-row:last-child { border-bottom: 0; }
.la-option-row.selected { background: var(--la-soft); }
.la-option-main { background: transparent; border: 0; min-width: 0; text-align: left; }
.la-option-main strong,
.la-option-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.la-option-main small { color: var(--la-muted); font-size: .72rem; }
.la-order-pill,
.la-level-swatch { align-items: center; border: 1px solid var(--la-border); border-radius: .55rem; display: flex; height: 2.25rem; justify-content: center; width: 2.25rem; }
.la-catalog-form { background: var(--la-soft); border-radius: .75rem; padding: 1rem; }
.la-catalog-form h3 { font-size: 1rem; }
.la-empty-compact { align-items: center; color: var(--la-muted); display: flex; flex-direction: column; gap: .4rem; justify-content: center; min-height: 180px; text-align: center; }
.la-empty-compact i { font-size: 2rem; }

.la-support-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.la-support-panel { background: var(--la-paper); border: 1px solid var(--la-border); border-radius: .9rem; min-width: 0; padding: 1rem; }
.la-support-head { align-items: start; display: flex; justify-content: space-between; }
.la-support-head h3 { font-size: 1rem; margin: 0; }
.la-support-head p { color: var(--la-muted); font-size: .75rem; }
.la-support-list { display: grid; margin: .75rem 0; max-height: 210px; overflow: auto; }
.la-support-list > button { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--la-border); display: flex; gap: .55rem; padding: .55rem .25rem; text-align: left; }
.la-support-list > button i { color: var(--la-teal); font-size: 1.2rem; }
.la-support-list strong,
.la-support-list small { display: block; }
.la-support-list small { color: var(--la-muted); font-size: .7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.la-mini-form { background: var(--la-soft); border-radius: .65rem; padding: .8rem; }
.la-mini-form h4 { font-size: .85rem; }
.la-mini-form label { font-size: .72rem; font-weight: 650; }

.la-interaction-editor { display: grid; gap: 1rem; }
.la-editor-toolbar { align-items: center; background: var(--la-paper); border: 1px solid var(--la-border); border-radius: .8rem; display: flex; flex-wrap: wrap; gap: .8rem; justify-content: space-between; padding: .65rem; }
.la-page-field { align-items: center; display: flex; font-size: .8rem; gap: .35rem; margin: 0; padding: 0 .45rem; white-space: nowrap; }
.la-page-field input { height: 32px; padding: .2rem; text-align: center; width: 4rem; }
.la-zoom-control { align-items: center; display: flex; font-size: .78rem; gap: .45rem; }
.la-zoom-control input { width: 130px; }
.la-editor-workspace { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) 330px; }
.la-page-viewport { background: #dde5e8; border: 1px solid var(--la-border); border-radius: .9rem; min-width: 0; overflow: auto; padding: 1rem; text-align: center; }
.la-pdf-stage { box-shadow: 0 .6rem 1.6rem rgba(34, 56, 66, .2); display: inline-block; line-height: 0; max-width: 100%; position: relative; touch-action: pan-x pan-y; }
.la-pdf-stage canvas { background: #fff; display: block; max-width: none; }
.la-pdf-overlay { inset: 0; position: absolute; }
.la-zone { align-items: center; background: transparent; border: 0; color: var(--la-teal); cursor: move; display: flex; height: 44px; justify-content: center; overflow: visible; padding: 0; position: absolute; touch-action: none; transform: translate(-50%, -50%); width: 44px; }
.la-zone:hover,
.la-zone.selected { background: transparent; border: 0; box-shadow: none; }
.la-pdf-stage.is-locked { touch-action: auto; }
.la-pdf-stage.is-locked .la-zone { cursor: pointer; }
.la-editor-hint { color: #50646d; font-size: .76rem; line-height: 1.35; margin: .8rem 0 0; }
.la-inspector { background: var(--la-paper); border: 1px solid var(--la-border); border-radius: .9rem; max-height: calc(100vh - 170px); overflow: auto; padding: 1rem; position: sticky; top: 84px; }
.la-inspector-head { align-items: start; display: flex; justify-content: space-between; }
.la-inspector-head p { color: var(--la-teal); font-size: .68rem; font-weight: 800; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.la-inspector-head h3 { font-size: 1rem; margin-top: .2rem; }
.la-inspector-empty { align-items: center; color: var(--la-muted); display: flex; flex-direction: column; min-height: 200px; padding: 2rem .5rem; text-align: center; }
.la-inspector-empty i { font-size: 2.4rem; }
.la-inspector-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.la-page-interactions .form-select { max-width: 210px; }
.la-interaction-list { display: grid; gap: .4rem; }
.la-interaction-list button { align-items: center; background: var(--la-soft); border: 1px solid transparent; border-radius: .6rem; display: grid; gap: .65rem; grid-template-columns: 1.6rem 1fr 1rem; min-height: 48px; padding: .5rem .7rem; text-align: left; }
.la-interaction-list button.selected { border-color: var(--la-teal); }
.la-interaction-list strong,
.la-interaction-list small { display: block; }
.la-interaction-list small { color: var(--la-muted); font-size: .72rem; }
.la-pdf-missing { align-items: center; background: var(--la-soft); border: 1px dashed var(--la-border); border-radius: .9rem; display: flex; gap: 1rem; justify-content: center; min-height: 260px; padding: 1rem; }
.la-pdf-missing > i { color: #c64545; font-size: 3rem; }
.la-pdf-missing p { color: var(--la-muted); margin: .2rem 0 0; max-width: 500px; }

.lecturas-admin button:focus-visible,
.lecturas-admin input:focus-visible,
.lecturas-admin select:focus-visible,
.lecturas-admin textarea:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--la-blue) 42%, transparent);
    outline-offset: 2px;
}

@media (max-width: 1199.98px) {
    .la-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .la-support-grid { grid-template-columns: 1fr 1fr; }
    .la-editor-workspace { grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (max-width: 991.98px) {
    .la-summary { grid-template-columns: 1fr 1fr; }
    .la-catalog-layout { grid-template-columns: 1fr; }
    .la-catalog-nav { display: flex; overflow-x: auto; position: static; }
    .la-catalog-nav button { flex: 0 0 auto; }
    .la-catalog-columns,
    .la-editor-workspace { grid-template-columns: 1fr; }
    .la-inspector { max-height: none; position: static; }
    .la-check-grid { grid-template-columns: 1fr 1fr; }
    .la-switch-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767.98px) {
    .la-hero,
    .la-editor-heading { align-items: stretch; flex-direction: column; gap: 1rem; }
    .la-hero-actions,
    .la-editor-actions { justify-content: flex-start; }
    .la-toolbar,
    .la-admin-grid,
    .la-file-grid,
    .la-support-grid { grid-template-columns: 1fr; }
    .la-admin-card { grid-template-columns: 4.25rem minmax(0, 1fr); }
    .la-section-title { align-items: stretch; flex-direction: column; }
    .la-page-interactions .form-select { max-width: none; }
}

@media (max-width: 479.98px) {
    .lecturas-admin { padding-top: .75rem; }
    .la-summary { grid-template-columns: 1fr; }
    .la-check-grid,
    .la-switch-grid { grid-template-columns: 1fr; }
    .la-catalog-content,
    .la-form-card { padding: .8rem; }
    .la-card-actions { flex-wrap: wrap; }
    .la-card-actions .btn-primary { flex-basis: 100%; }
    .la-editor-toolbar { align-items: stretch; flex-direction: column; }
}

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

.lecturas-alumno { --lr-ink:#21353d; --lr-muted:#657780; --lr-blue:var(--mia-blue,#286aa6); --lr-teal:var(--mia-teal,#198c87); --lr-paper:var(--ct-card-bg,#fff); --lr-soft:var(--mia-soft-bg,#f2f7f8); --lr-border:var(--mia-soft-border,#d7e3e8); color:var(--lr-ink); padding:1.25rem 0 2.5rem; }
.lr-library-hero { align-items:center; background:linear-gradient(125deg,#e9f5f4,#f6fbfb 60%,#e7f0f9); border:1px solid var(--lr-border); border-radius:1rem; display:flex; justify-content:space-between; margin-bottom:1rem; overflow:hidden; padding:2rem; }
.lr-eyebrow { color:var(--lr-teal); font-size:.72rem; font-weight:800; letter-spacing:.11em; margin:0 0 .3rem; text-transform:uppercase; }
.lr-library-hero h1,.lr-detail-copy h1 { font-size:clamp(1.7rem,4vw,2.55rem); letter-spacing:-.04em; margin:0 0 .5rem; }
.lr-library-hero > div:first-child > p:last-child { color:var(--lr-muted); margin:0; max-width:650px; }
.lr-hero-mark { align-items:center; background:rgba(25,140,135,.1); border:1px solid rgba(25,140,135,.16); border-radius:50%; color:var(--lr-teal); display:flex; flex:0 0 7rem; font-size:3.4rem; height:7rem; justify-content:center; transform:rotate(-7deg); }
.lr-loading { align-items:center; background:var(--lr-paper); border:1px solid var(--lr-border); border-radius:.9rem; display:flex; gap:.75rem; justify-content:center; min-height:190px; }
.lr-library-tools { background:var(--lr-paper); border:1px solid var(--lr-border); border-radius:.8rem; display:grid; gap:.7rem; grid-template-columns:minmax(260px,1fr) 190px 190px; margin-bottom:1.35rem; padding:.75rem; }
.lr-search { position:relative; }.lr-search i { color:var(--lr-muted); left:.85rem; position:absolute; top:.72rem; }.lr-search input { padding-left:2.45rem; }
.lr-shelf { margin:0 0 2rem; }.lr-shelf-head { align-items:end; display:flex; justify-content:space-between; margin:0 0 .8rem; }.lr-shelf-head p { color:var(--lr-teal); font-size:.72rem; font-weight:800; letter-spacing:.08em; margin:0; text-transform:uppercase; }.lr-shelf-head h2 { font-size:1.35rem; margin:.1rem 0 0; }.lr-shelf-head small { color:var(--lr-muted); }
.lr-card-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }.lr-card { background:var(--lr-paper); border:1px solid var(--lr-border); border-radius:.9rem; display:flex; flex-direction:column; overflow:hidden; transition:transform .2s ease,box-shadow .2s ease; }.lr-card:hover { box-shadow:0 .7rem 1.6rem rgba(37,70,81,.1); transform:translateY(-2px); }
.lr-cover { align-items:center; background:linear-gradient(145deg,#276aa6,#198c87); color:#fff; display:flex; height:128px; justify-content:space-between; padding:1rem; }.lr-cover span { font-size:2.65rem; font-weight:800; }.lr-cover i { font-size:2rem; opacity:.82; }.lr-card-body { display:flex; flex:1; flex-direction:column; padding:1rem; }.lr-card-tags { align-items:center; color:var(--lr-teal); display:flex; font-size:.72rem; font-weight:750; gap:.5rem; }.lr-card-tags small { background:var(--lr-soft); border-radius:1rem; color:var(--lr-muted); font-size:.67rem; padding:.15rem .4rem; }.lr-card h3 { font-size:1.05rem; margin:.65rem 0 .2rem; overflow-wrap:anywhere; }.lr-card p { color:var(--lr-muted); font-size:.82rem; margin:0 0 .75rem; }.lr-card-info { color:var(--lr-muted); display:flex; flex-wrap:wrap; font-size:.75rem; gap:.65rem; margin-bottom:.8rem; }.lr-card-info i { margin-right:.2rem; }.lr-progress { margin:auto 0 .8rem; }.lr-progress > div:first-child { display:flex; font-size:.7rem; justify-content:space-between; margin-bottom:.25rem; }.lr-progress small { color:var(--lr-muted); }.lr-progress .progress { height:.35rem; }.lr-progress .progress-bar { background:var(--lr-teal); }
.lr-empty { align-items:center; background:var(--lr-paper); border:1px dashed var(--lr-border); border-radius:.9rem; display:flex; flex-direction:column; min-height:240px; justify-content:center; padding:1rem; text-align:center; }.lr-empty i { color:var(--lr-teal); font-size:2.5rem; }.lr-empty h3 { font-size:1.1rem; }.lr-empty p { color:var(--lr-muted); }
.lr-back { border:0; color:var(--lr-muted); margin:0 0 .8rem; padding:0; }.lr-back:hover { color:var(--lr-blue); }.lr-detail-hero { align-items:center; background:var(--lr-paper); border:1px solid var(--lr-border); border-radius:1rem; display:grid; gap:2.5rem; grid-template-columns:230px minmax(0,1fr); padding:2rem; }.lr-detail-cover { align-items:center; background:linear-gradient(150deg,#276aa6,#198c87); border-radius:.8rem; box-shadow:.6rem .8rem 0 rgba(25,140,135,.12); color:#fff; display:flex; flex-direction:column; height:310px; justify-content:space-between; padding:1.4rem; }.lr-detail-cover span { font-size:5rem; font-weight:800; }.lr-detail-cover i { font-size:2.3rem; }.lr-detail-copy h2 { color:var(--lr-muted); font-size:1.15rem; font-weight:500; margin:-.2rem 0 .45rem; }.lr-detail-author { color:var(--lr-teal); font-weight:650; }.lr-detail-synopsis { color:var(--lr-muted); line-height:1.65; max-width:720px; }.lr-detail-meta { display:grid; gap:.6rem; grid-template-columns:repeat(4,1fr); margin:1.2rem 0; }.lr-detail-meta div { border-left:2px solid var(--lr-border); padding-left:.65rem; }.lr-detail-meta dt { color:var(--lr-muted); font-size:.7rem; font-weight:500; }.lr-detail-meta dd { font-size:.85rem; font-weight:700; margin:0; }.lr-detail-progress { max-width:450px; margin:1rem 0; }.lr-detail-progress > div:first-child { display:flex; font-size:.78rem; justify-content:space-between; margin-bottom:.3rem; }.lr-detail-progress span { color:var(--lr-muted); }.lr-detail-progress .progress-bar { background:var(--lr-teal); }.lr-detail-notes { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); margin-top:1rem; }.lr-detail-notes article { align-items:start; background:var(--lr-soft); border-radius:.8rem; display:flex; gap:.75rem; padding:1rem; }.lr-detail-notes i { color:var(--lr-teal); font-size:1.4rem; }.lr-detail-notes h3 { font-size:.9rem; margin:0 0 .25rem; }.lr-detail-notes p { color:var(--lr-muted); font-size:.78rem; margin:0; }
.lr-reader { background:var(--lr-soft); border-radius:1rem; min-height:calc(100vh - 175px); padding:1rem; }.lr-reader-header { align-items:center; display:flex; justify-content:space-between; margin-bottom:.75rem; }.lr-reader-header .lr-back { align-items:center; display:flex; gap:.45rem; margin:0; max-width:65%; overflow:hidden; }.lr-back-text { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.lr-reader-header-actions { display:flex; gap:.45rem; }.lr-control { align-items:center; display:inline-flex; gap:.35rem; }.lr-reader-layout { display:grid; gap:1rem; grid-template-columns:minmax(0,1fr) 300px; }.lr-reader-layout.with-notebook { grid-template-columns:minmax(0,1fr) 280px 300px; }.lr-reader-stage-wrap,.lr-context-panel,.lr-notebook { background:var(--lr-paper); border:1px solid var(--lr-border); border-radius:.85rem; min-width:0; }.lr-reader-toolbar { align-items:center; border-bottom:1px solid var(--lr-border); display:flex; flex-wrap:wrap; gap:.75rem; justify-content:space-between; padding:.65rem; }.lr-page-indicator { align-items:center; display:inline-flex; font-size:.8rem; min-width:115px; justify-content:center; }.lr-zoom { align-items:center; display:flex; font-size:.75rem; gap:.4rem; }.lr-zoom input { width:100px; }.lr-reader-actions { align-items:center; display:flex; gap:.4rem; }.lr-reader-progress { color:var(--lr-teal); font-size:.78rem; font-weight:750; }.lr-document-viewport { background:#dde5e8; border-radius:0 0 .85rem .85rem; max-height:calc(100vh - 320px); min-height:450px; overflow:auto; padding:1rem; text-align:center; }.lr-document-stage { box-shadow:0 .5rem 1.4rem rgba(29,54,65,.2); display:inline-block; line-height:0; max-width:100%; position:relative; }.lr-document-stage canvas { display:block; }.lr-document-overlay { inset:0; position:absolute; }.lr-hotspot { align-items:center; background:rgba(25,140,135,.2); border:2px solid var(--lr-teal); border-radius:.3rem; color:#095a58; display:flex; justify-content:center; min-height:26px; min-width:26px; padding:0; position:absolute; }.lr-hotspot:hover,.lr-hotspot:focus-visible,.lr-hotspot.selected { background:rgba(39,106,166,.25); border-color:var(--lr-blue); box-shadow:0 0 0 3px rgba(39,106,166,.18); }.lr-reader-hint { color:var(--lr-muted); font-size:.72rem; margin:.6rem .8rem; }.lr-context-panel,.lr-notebook { padding:1rem; }.lr-context-head { align-items:start; display:flex; justify-content:space-between; }.lr-context-type { color:var(--lr-teal); font-size:.72rem; font-weight:750; }.lr-context-type i { margin-right:.3rem; }.lr-icon-close { align-items:center; border:0; display:inline-flex; height:32px; justify-content:center; width:32px; }.lr-context-panel h2,.lr-notebook h2 { font-size:1.1rem; margin:.65rem 0; }.lr-context-content { color:var(--lr-muted); line-height:1.6; white-space:pre-line; }.lr-context-note { background:var(--lr-soft); border-radius:.6rem; color:var(--lr-muted); font-size:.76rem; padding:.65rem; }.lr-context-empty { align-items:center; color:var(--lr-muted); display:flex; flex-direction:column; min-height:280px; justify-content:center; text-align:center; }.lr-context-empty i { color:var(--lr-teal); font-size:2.5rem; }.lr-context-empty h2 { color:var(--lr-ink); }.lr-notebook { max-height:calc(100vh - 235px); overflow:auto; }.lr-notebook-tabs { display:flex; gap:.3rem; margin:.7rem 0; }.lr-notebook-tabs button { background:var(--lr-soft); border:0; border-radius:.4rem; color:var(--lr-muted); flex:1; font-size:.72rem; padding:.45rem; }.lr-notebook-tabs button.active { background:var(--lr-teal); color:#fff; }.lr-note-compose { border-bottom:1px solid var(--lr-border); margin-bottom:.6rem; padding-bottom:.8rem; }.lr-note-compose label { font-size:.75rem; font-weight:650; }.lr-saved-item { align-items:center; background:transparent; border:0; border-bottom:1px solid var(--lr-border); display:grid; gap:.5rem; grid-template-columns:1.3rem 1fr 1rem; padding:.7rem .1rem; text-align:left; width:100%; }.lr-saved-item > i:first-child { color:var(--lr-teal); }.lr-saved-item strong,.lr-saved-item small { display:block; }.lr-saved-item small { color:var(--lr-muted); font-size:.7rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.lr-note-item { border-bottom:1px solid var(--lr-border); padding:.65rem 0; }.lr-note-item > button:first-child { background:transparent; border:0; color:var(--lr-blue); font-size:.75rem; padding:0; }.lr-note-item p { color:var(--lr-muted); font-size:.78rem; margin:.35rem 0; white-space:pre-line; }
.lr-reader-layout { grid-template-columns:minmax(0,1fr); }
.lr-reader-layout.with-context,.lr-reader-layout.with-notebook { grid-template-columns:minmax(0,1fr) 300px; }
.lr-reader-layout.with-context.with-notebook { grid-template-columns:minmax(0,1fr) 280px 300px; }
.lr-document-viewport { max-height:calc(100vh - 300px); min-height:520px; }
.lr-reader-hint { align-items:center; display:flex; gap:.35rem; }
.lr-reader-hint i { color:var(--lr-teal); font-size:1rem; }
.lecturas-alumno button:focus-visible,.lecturas-alumno input:focus-visible,.lecturas-alumno select:focus-visible,.lecturas-alumno textarea:focus-visible { outline:3px solid rgba(40,106,166,.4); outline-offset:2px; }
@media (max-width:1199.98px) { .lr-card-grid { grid-template-columns:repeat(3,1fr); }.lr-reader-layout.with-notebook { grid-template-columns:minmax(0,1fr) 280px; }.lr-reader-layout.with-notebook .lr-notebook { grid-column:1 / -1; max-height:none; } }
@media (max-width:991.98px) { .lr-card-grid { grid-template-columns:repeat(2,1fr); }.lr-detail-hero { grid-template-columns:180px minmax(0,1fr); gap:1.5rem; }.lr-detail-cover { height:250px; }.lr-detail-meta { grid-template-columns:1fr 1fr; }.lr-reader-layout,.lr-reader-layout.with-notebook { grid-template-columns:1fr; }.lr-context-panel,.lr-notebook { max-height:none; }.lr-document-viewport { max-height:none; min-height:380px; } }
@media (max-width:767.98px) { .lr-library-hero { padding:1.25rem; }.lr-hero-mark { display:none; }.lr-library-tools { grid-template-columns:1fr; }.lr-detail-hero { grid-template-columns:1fr; padding:1.25rem; }.lr-detail-cover { height:200px; }.lr-detail-notes { grid-template-columns:1fr; }.lr-reader { border-radius:0; margin:0 -12px; padding:.65rem; }.lr-control span,.lr-back-text { display:none; }.lr-reader-toolbar { align-items:stretch; flex-direction:column; }.lr-reader-toolbar > * { justify-content:center; }.lr-zoom { justify-content:center; }.lr-reader-actions { justify-content:center; }.lr-document-viewport { min-height:320px; padding:.5rem; }.lr-card-grid { grid-template-columns:1fr; } }
.la-book-spine > img { height: 100%; object-fit: cover; width: 100%; }
.lr-cover { overflow: hidden; padding: 0; }
.lr-cover > img { height: 100%; object-fit: cover; width: 100%; }

/* Lecturas: hardening de editor, lector y estados de validación. */
.la-pdf-stage,
.lr-document-stage { display: block; margin-inline: auto; max-width: none; width: max-content; }
.la-page-viewport,
.lr-document-viewport { text-align: left; }
.la-file-preview { align-items: center; background: var(--la-soft); border-radius: .8rem; color: var(--la-blue); display: flex; flex: 0 0 4.25rem; height: 5.5rem; justify-content: center; overflow: hidden; }
.la-file-preview img { height: 100%; object-fit: cover; width: 100%; }
.la-file-preview i { font-size: 1.7rem; }
.la-version-options { background: var(--la-soft); border: 1px solid var(--la-border); border-radius: .9rem; display: grid; gap: .65rem; grid-template-columns: 1fr 1fr; margin-bottom: 1rem; padding: 1rem; }
.la-version-options > button:not(.btn-link) { align-items: flex-start; background: var(--la-paper); border: 1px solid var(--la-border); border-radius: .75rem; display: flex; gap: .75rem; padding: 1rem; text-align: left; }
.la-version-options > button.recommended { border-color: var(--la-teal); box-shadow: 0 0 0 2px rgba(25, 140, 135, .12); }
.la-version-options > button i { color: var(--la-teal); font-size: 1.4rem; }
.la-version-options strong,
.la-version-options small { display: block; }
.la-version-options small { color: var(--la-muted); font-size: .75rem; margin-top: .2rem; }
.la-version-options .btn-link { grid-column: 1 / -1; justify-self: start; }
.la-validation-report { background: var(--la-paper); border: 1px solid var(--la-border); border-radius: .9rem; margin-bottom: 1rem; padding: 1rem; }
.la-validation-list { display: grid; gap: .45rem; }
.la-validation-list button { align-items: center; background: var(--la-soft); border: 1px solid transparent; border-radius: .65rem; display: grid; gap: .65rem; grid-template-columns: 1.5rem 1fr auto; padding: .65rem .75rem; text-align: left; }
.la-validation-list button.is-error { border-color: rgba(198, 69, 69, .35); }
.la-validation-list button.is-warning { border-color: rgba(185, 107, 18, .35); }
.la-validation-list strong,
.la-validation-list small { display: block; }
.la-validation-list small { color: var(--la-muted); }
.la-mini-form fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.la-mini-form legend.h4 { font-size: .85rem; font-weight: 700; }

.lr-detail-cover { overflow: hidden; padding: 0; }
.lr-detail-cover > img { height: 100%; object-fit: cover; width: 100%; }
.lr-preview-banner { align-items: center; background: #fff7dc; border: 1px solid #e6cc72; border-radius: .75rem; color: #5e4b09; display: flex; gap: .6rem; margin-bottom: .75rem; padding: .65rem .8rem; }
.lr-preview-banner i { font-size: 1.35rem; }
.lr-reader-cover { border-radius: .25rem; height: 34px; object-fit: cover; width: 26px; }
.lr-reading-modes { align-items: center; background: var(--lr-paper); border: 1px solid var(--lr-border); border-radius: .75rem; display: flex; flex-wrap: wrap; gap: .5rem .75rem; margin-bottom: .75rem; padding: .6rem .75rem; }
.lr-reading-modes label { font-size: .75rem; font-weight: 750; }
.lr-reading-modes .form-select { max-width: 220px; }
.lr-reading-modes small { color: var(--lr-muted); flex-basis: 100%; }
.lr-touch-target { align-items: center; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; }
.lr-reader-progress { display: grid; line-height: 1.05; text-align: right; }
.lr-reader-progress small { color: var(--lr-muted); font-size: .65rem; font-weight: 500; }
.lr-document-overlay { z-index: 2; }
.lr-hotspot { isolation: isolate; position: absolute; }
.lr-hotspot::after { content: ""; inset: -10px; position: absolute; }
.lr-hotspot > * { pointer-events: none; }
.lr-page-loading { align-items: center; background: rgba(255,255,255,.92); border-radius: .5rem; display: flex; gap: .45rem; left: 50%; padding: .45rem .7rem; position: sticky; top: .5rem; transform: translateX(-50%); width: max-content; z-index: 5; }
.lr-reader-hint { color: var(--lr-muted); font-size: .78rem; margin: .7rem; }
.lr-pages-left { color: var(--lr-muted); font-size: .75rem; margin: -.3rem .7rem .7rem; }
.lr-context-panel,
.lr-notebook { max-height: calc(100vh - 230px); overflow: auto; padding: 1rem; }
.lr-narrative-card { background: var(--lr-soft); border-left: 3px solid var(--lr-teal); border-radius: .45rem; margin-top: .75rem; padding: .7rem; }
.lr-narrative-card h3 { font-size: .95rem; margin: 0 0 .25rem; }
.lr-narrative-card p { color: var(--lr-muted); margin: 0; }
.lr-media-resource details { background: var(--lr-soft); border-radius: .45rem; margin-top: .5rem; padding: .5rem; }
.lr-audio-actions,.lr-guided-actions { align-items:center; display:flex; gap:.5rem; margin-top:.6rem; }
.lr-audio-actions { flex-wrap:wrap; }
.lr-audio-speed { flex:1 1 160px; margin-left:auto; max-width:220px; min-width:160px; }
.lr-audio-speed label { color:var(--lr-muted); display:flex; font-size:.75rem; justify-content:space-between; }
.lr-audio-speed output { color:var(--lr-teal); font-weight:750; }
.lr-audio-speed .form-range { display:block; margin:0; }
.lr-guided-actions { border-top:1px solid var(--lr-border); justify-content:space-between; padding-top:.75rem; }
.lr-guided-actions span { color:var(--lr-muted); font-size:.75rem; }
.lr-media-resource video { max-height: 360px; }
.lr-notebook-empty { align-items: center; color: var(--lr-muted); display: flex; flex-direction: column; min-height: 170px; justify-content: center; padding: 1rem; text-align: center; }
.lr-notebook-empty i { color: var(--lr-teal); font-size: 2rem; }
.lr-notebook-empty p { font-size: .78rem; margin: .3rem 0 0; }
.lr-completion { background: transparent; border: 0; height: 100%; max-height: none; max-width: none; padding: 1rem; width: 100%; }
.lr-completion[open] { align-items: center; display: flex; justify-content: center; }
.lr-completion::backdrop { background: rgba(20, 38, 46, .64); }
.lr-completion > div { background: var(--lr-paper); border-radius: 1rem; box-shadow: 0 1rem 3rem rgba(0,0,0,.25); max-width: 560px; padding: 2rem; text-align: center; }
.lr-completion > div > i { color: var(--lr-teal); font-size: 3rem; }
.lr-completion h2 { margin: .35rem 0; }
.lr-completion p { color: var(--lr-muted); }
.lr-completion div div { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.lr-diagnostics { background: #18242a; border-radius: .75rem; color: #d9ebee; margin-top: .75rem; padding: .75rem 1rem; }
.lr-diagnostics summary { cursor: pointer; font-weight: 700; }
.lr-diagnostics p,
.lr-diagnostics ul { margin: .65rem 0 0; }

/* En el lector solo se muestra el icono; la geometria completa sigue siendo clicable. */
.lr-hotspot,
.lr-hotspot:hover,
.lr-hotspot.selected {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    overflow: visible;
}
.lr-hotspot > i,
.la-zone > i {
    align-items: center;
    background: var(--lr-paper, var(--la-paper));
    border: 2px solid var(--lr-teal, var(--la-teal));
    border-radius: .7rem;
    box-shadow: 0 .2rem .55rem rgba(29, 54, 65, .22);
    color: var(--lr-teal, var(--la-teal));
    display: inline-flex;
    flex: 0 0 44px;
    font-size: 1.35rem;
    height: 44px;
    justify-content: center;
    line-height: 1;
    transition: background-color .15s ease, color .15s ease, transform .15s ease;
    width: 44px;
}
.lr-hotspot:hover > i,
.lr-hotspot.selected > i,
.la-zone:hover > i,
.la-zone.selected > i {
    background: var(--lr-teal, var(--la-teal));
    color: #fff;
    transform: translateY(-1px);
}
.lecturas-alumno .lr-hotspot:focus-visible { outline: none; }
.lecturas-alumno .lr-hotspot:focus-visible > i {
    outline: 3px solid rgba(40, 106, 166, .45);
    outline-offset: 3px;
}
.lecturas-admin .la-zone:focus-visible { outline: none; }
.lecturas-admin .la-zone:focus-visible > i {
    outline: 3px solid rgba(40, 106, 166, .45);
    outline-offset: 3px;
}

@media (max-width: 991.98px) {
    .lr-reader-layout,
    .lr-reader-layout.with-context,
    .lr-reader-layout.with-notebook,
    .lr-reader-layout.with-context.with-notebook { grid-template-columns: minmax(0, 1fr); }
    .lr-context-panel,
    .lr-notebook { max-height: none; }
}

@media (max-width: 767.98px) {
    .la-version-options { grid-template-columns: 1fr; }
    .la-version-options .btn-link { grid-column: 1; }
    .lr-reader-header-actions { gap: .25rem; }
    .lr-reading-modes { align-items: stretch; flex-direction: column; }
    .lr-reading-modes .form-select { max-width: none; }
    .lr-zoom input { flex: 1; min-width: 120px; width: auto; }
    .lr-completion > div { padding: 1.25rem; }
    .lr-completion div div .btn { width: 100%; }
}

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