@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --primary: #0866ff;
    --primary-dark: #004dcc;
    --primary-soft: #eaf2ff;
    --primary-pale: #f4f8ff;
    --navy: #071b48;
    --navy-soft: #102b60;
    --success: #07966b;
    --success-soft: #e8f8f2;
    --danger: #e23d4f;
    --danger-soft: #fff0f2;
    --warning: #d48700;
    --warning-soft: #fff7df;
    --ink: #0b1938;
    --muted: #65728d;
    --muted-light: #94a0b7;
    --surface: #ffffff;
    --canvas: #f4f7fb;
    --line: #dce4ef;
    --line-strong: #c8d4e4;
    --shadow-xs: 0 1px 2px rgba(10, 32, 75, .05);
    --shadow-sm: 0 8px 24px rgba(15, 40, 90, .07);
    --shadow-md: 0 18px 48px rgba(15, 40, 90, .12);
    --shadow-lg: 0 28px 80px rgba(6, 24, 64, .2);
    --radius-xs: 8px;
    --radius-sm: 12px;
    --radius: 18px;
    --radius-lg: 26px;
    --sidebar-width: 340px;
}

/* Catalogo comercial 2026-08-08 */
.admin-catalog-hero,.catalog-student-hero,.promoter-catalog-hero,.student-dashboard-hero{background:linear-gradient(135deg,#071a3b 0%,#123f8f 62%,#1575ee 100%);color:#fff;border:0;overflow:hidden;position:relative}.admin-catalog-hero:after,.catalog-student-hero:after,.promoter-catalog-hero:after,.student-dashboard-hero:after{content:"";position:absolute;width:280px;height:280px;border:55px solid rgba(255,255,255,.08);border-radius:50%;right:-75px;top:-110px}.admin-catalog-hero .eyebrow,.catalog-student-hero .eyebrow,.promoter-catalog-hero .eyebrow,.student-dashboard-hero .eyebrow{color:#9fd3ff}.admin-catalog-hero p,.catalog-student-hero p,.promoter-catalog-hero p,.student-dashboard-hero p{color:#d9eaff}.catalog-price-legend{display:flex;gap:10px;position:relative;z-index:1}.catalog-price-legend span{min-width:98px;padding:14px 18px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}.catalog-price-legend small,.catalog-price-legend strong{display:block}.catalog-price-legend small{color:#bad7ff;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.catalog-price-legend strong{font-size:1.35rem;margin-top:3px}.category-manager{margin:22px 0 34px}.category-create-form{display:grid;grid-template-columns:1fr 1.7fr auto;gap:12px;align-items:end}.category-create-form label,.catalog-product-form label,.promoter-student-selector label{display:grid;gap:7px;color:#29415f;font-size:.78rem;font-weight:800}.category-create-form input,.catalog-product-form input,.catalog-product-form select,.catalog-product-form textarea,.promoter-student-selector input,.catalog-filterbar input,.catalog-filterbar select{width:100%;border:1px solid #d7e1ef;background:#fff;border-radius:12px;padding:11px 13px;color:#0a1e3b;font:inherit}.category-create-form input:focus,.catalog-product-form input:focus,.catalog-product-form select:focus,.catalog-product-form textarea:focus,.promoter-student-selector input:focus,.catalog-filterbar input:focus,.catalog-filterbar select:focus{outline:3px solid rgba(20,112,239,.14);border-color:#1470ef}.category-chip-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.category-editor{position:relative}.category-editor>summary{list-style:none;cursor:pointer;padding:8px 12px;border-radius:999px;background:#eef5ff;color:#164da1;font-weight:800;font-size:.8rem}.category-editor>summary::-webkit-details-marker{display:none}.category-editor>summary span{font-weight:500;opacity:.65;margin-left:5px}.category-editor form{position:absolute;z-index:20;top:42px;left:0;width:320px;padding:14px;display:grid;gap:9px;background:#fff;border:1px solid #dce5f1;border-radius:16px;box-shadow:0 18px 50px rgba(8,29,62,.18)}.catalog-admin-section{margin:36px 0}.catalog-admin-section>.section-heading>strong{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf3ff;color:#1263d4}.catalog-admin-grid{display:grid;gap:12px}.catalog-admin-card{background:#fff;border:1px solid #dce5f1;border-radius:18px;box-shadow:0 7px 24px rgba(15,42,80,.05);overflow:hidden}.catalog-admin-card>summary{list-style:none;display:grid;grid-template-columns:82px 1fr auto;gap:16px;align-items:center;padding:12px 16px;cursor:pointer}.catalog-admin-card>summary::-webkit-details-marker{display:none}.catalog-admin-card[open]>summary{background:#f7faff;border-bottom:1px solid #e3ebf5}.catalog-admin-thumb{width:82px;aspect-ratio:16/10;display:grid;place-items:center;border-radius:12px;color:#fff;font-size:1.35rem;overflow:hidden}.catalog-admin-thumb img{width:100%;height:100%;object-fit:cover}.catalog-admin-copy{min-width:0}.catalog-admin-copy small,.catalog-admin-copy strong,.catalog-admin-copy em{display:block}.catalog-admin-copy small{color:#3971b8;font-size:.7rem;text-transform:uppercase;font-weight:900;letter-spacing:.07em}.catalog-admin-copy strong{color:#071b3a;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0}.catalog-admin-copy em{font-style:normal;color:#607490;font-size:.78rem}.catalog-admin-state{padding:6px 9px;border-radius:999px;background:#f1f3f6;color:#738094;font-size:.7rem;font-weight:900}.catalog-admin-state.visible{background:#e7f8ef;color:#13804d}.catalog-product-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px}.catalog-product-form .full{grid-column:1/-1}.catalog-product-form textarea{resize:vertical;min-height:105px}.cover-upload input{padding:8px}.catalog-toggle{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important;padding:10px 12px;border:1px solid #e1e8f1;border-radius:12px}.catalog-toggle input{width:17px;height:17px}.catalog-form-actions{display:flex;gap:9px;padding-top:4px}.promoter-contact-card,.student-account-pill{position:relative;z-index:1;display:flex;flex-direction:column;padding:15px 18px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);border-radius:17px;backdrop-filter:blur(10px)}.promoter-contact-card small,.student-account-pill small{color:#b9d8ff}.promoter-contact-card strong{margin:3px 0}.promoter-contact-card span{font-size:.75rem;color:#d8e9ff}.student-account-pill{flex-direction:row;align-items:center;gap:12px}.student-account-pill>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#1d64d8;font-weight:900}.student-account-pill strong,.student-account-pill small{display:block}.catalog-filterbar{display:grid;grid-template-columns:minmax(220px,1fr) 240px auto auto;gap:10px;align-items:center;padding:12px;margin:22px 0 34px;background:#fff;border:1px solid #dce5f1;border-radius:17px;box-shadow:0 8px 28px rgba(10,35,72,.05)}.catalog-section,.student-learning-section,.promoter-product-section{margin:34px 0 44px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d8e3f0;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(9,38,79,.07);transition:transform .2s,box-shadow .2s}.catalog-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(9,38,79,.12)}.catalog-card.is-owned{border-color:#9bd9bd}.catalog-card-cover{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;color:#fff;text-decoration:none}.catalog-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.catalog-card:hover .catalog-card-cover img{transform:scale(1.035)}.catalog-card-cover>span{position:absolute;inset:0;display:grid;place-items:center;font-size:2rem;color:rgba(255,255,255,.95)}.catalog-card-cover em{position:absolute;left:12px;top:12px;padding:6px 9px;border-radius:8px;background:rgba(5,24,54,.82);color:#fff;font-size:.66rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(8px)}.catalog-card-body{display:flex;flex:1;flex-direction:column;padding:17px}.catalog-card-tags{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.catalog-card-tags span,.catalog-card-tags strong{padding:5px 8px;border-radius:999px;background:#edf5ff;color:#1760bd;font-size:.65rem;font-weight:900}.catalog-card-tags strong{background:#e5f8ee;color:#087a43}.catalog-card h3{font-size:1.03rem;line-height:1.3;margin:10px 0 7px}.catalog-card h3 a{color:#071b3a;text-decoration:none}.catalog-card-body>p{font-size:.8rem;line-height:1.55;color:#657994;margin:0;min-height:3.75em}.catalog-card-meta{display:flex;gap:14px;margin:13px 0;color:#73849b;font-size:.7rem;font-weight:700}.catalog-card-footer{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:auto;padding-top:13px;border-top:1px solid #edf1f6}.catalog-price small,.catalog-price strong{display:block}.catalog-price small{color:#75859a;font-size:.62rem;text-transform:uppercase;font-weight:800}.catalog-price strong{color:#071b3a;font-size:1.2rem;margin-top:2px}.btn-whatsapp{background:#0caa63;color:#fff;border-color:#0caa63}.btn-whatsapp:hover{background:#07854c;color:#fff}.catalog-empty-inline{padding:22px;border:1px dashed #bfcde0;border-radius:16px;color:#6c7f98;background:#f8fbff}.route-catalog-section,.route-owned-section{padding-top:28px;border-top:1px solid #dfe7f1}.course-detail-hero{display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(300px,1fr) 280px;gap:28px;align-items:start;margin:20px 0 34px}.course-detail-cover{position:relative;aspect-ratio:16/10;border-radius:24px;overflow:hidden;display:grid;place-items:center;color:#fff;box-shadow:0 20px 50px rgba(8,36,78,.16)}.course-detail-cover img{width:100%;height:100%;object-fit:cover}.course-detail-cover>span{font-size:3rem}.course-detail-cover em{position:absolute;left:16px;top:16px;padding:7px 10px;border-radius:9px;background:rgba(5,21,48,.82);font-style:normal;font-size:.7rem;font-weight:900;text-transform:uppercase}.course-detail-copy{padding:12px 0}.course-detail-copy h1{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.05;color:#061a38;margin:16px 0}.course-detail-copy>p{color:#5d718e;line-height:1.7}.detail-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.detail-facts span{padding:10px 12px;border-radius:12px;background:#f0f6ff;color:#516987;font-size:.72rem}.detail-facts strong{color:#0b58c4}.course-purchase-card{position:sticky;top:92px;padding:22px;border:1px solid #d9e4f0;border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(9,38,79,.09)}.course-purchase-card>small,.course-purchase-card>strong{display:block}.course-purchase-card>small{color:#75869d;text-transform:uppercase;font-size:.68rem;font-weight:900}.course-purchase-card>strong{font-size:2rem;color:#061a38;margin:5px 0 18px}.course-purchase-card .btn{width:100%;text-align:center}.course-purchase-card>p{margin:12px 0 0;color:#708198;font-size:.73rem;line-height:1.5}.detail-promoter-cost{display:block;padding:9px 11px;margin:-6px 0 14px;border-radius:10px;background:#eef5ff;color:#125ebf;font-size:.75rem;font-weight:900}.route-detail-list ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-detail-list li{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e1e8f1;border-radius:13px}.route-detail-list li>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf3ff;color:#1263d4;font-weight:900;font-size:.7rem}.route-detail-list strong,.route-detail-list small{display:block}.route-detail-list small{color:#788aa0;margin-top:3px}.promoter-student-selector{display:grid;grid-template-columns:1fr minmax(340px,.8fr);gap:20px;align-items:end;margin:22px 0}.promoter-student-selector form{display:flex;align-items:end;gap:9px}.promoter-student-selector form label{flex:1}.promoter-student-selector .student-lookup-result,.promoter-student-selector .alert{grid-column:1/-1}.promoter-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.promoter-product-card{padding:18px;display:flex;flex-direction:column;border:1px solid #dce5f1;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(9,38,79,.05)}.promoter-product-card.purchased{border-color:#9ddcbc;background:linear-gradient(180deg,#f8fffb,#fff)}.promoter-product-card>div>span{font-size:.65rem;text-transform:uppercase;font-weight:900;color:#1b65c3}.promoter-product-card.purchased>div>span{color:#07804a}.promoter-product-card h3{font-size:1rem;margin:6px 0;color:#071b3a}.promoter-product-card p{color:#7689a1;font-size:.74rem;margin:0}.promoter-product-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.promoter-product-card dl>div{padding:9px;background:#f3f7fc;border-radius:11px}.promoter-product-card dt{font-size:.61rem;text-transform:uppercase;color:#7a8ca2}.promoter-product-card dd{margin:3px 0 0;color:#0a2449;font-weight:900}.promoter-product-actions{display:flex!important;gap:8px;margin-top:auto}.promoter-product-actions form{flex:1}.promoter-product-actions .btn{width:100%;text-align:center}.promoter-profile-card{max-width:650px;margin:20px auto}.admin-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-preview-card{border:1px solid #dce5f1;border-radius:18px;overflow:hidden;background:#fff}.admin-preview-cover{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;text-decoration:none;color:#fff}.admin-preview-cover img{width:100%;height:100%;object-fit:cover}.admin-preview-cover>span{position:absolute;inset:0;display:grid;place-items:center;font-size:1.8rem}.admin-preview-cover em{position:absolute;top:10px;left:10px;padding:5px 8px;border-radius:7px;background:rgba(5,22,49,.8);font-style:normal;font-size:.62rem;font-weight:900}.admin-preview-card>div{padding:14px}.admin-preview-card small{color:#2670ca;font-weight:900;text-transform:uppercase;font-size:.64rem}.admin-preview-card h3{font-size:.95rem;line-height:1.3;margin:6px 0;color:#071b3a}.admin-preview-card p{color:#74879f;font-size:.73rem;line-height:1.45;min-height:3.1em}.admin-preview-card footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid #edf1f6}.admin-preview-card footer strong{color:#061b3a}.admin-preview-card footer span{color:#1764c5;font-size:.72rem;font-weight:800}

@media (max-width:1050px){.catalog-grid,.promoter-product-grid,.admin-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-detail-hero{grid-template-columns:1fr 1fr}.course-purchase-card{grid-column:1/-1;position:static;display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center}.course-purchase-card .btn{grid-column:2;grid-row:1/3}.course-purchase-card>p,.course-purchase-card>.alert{grid-column:1/-1}.catalog-filterbar{grid-template-columns:1fr 220px auto}.catalog-filterbar>.btn:last-child{grid-column:1/-1}.nav-links{gap:2px}.nav-links a{padding-left:8px;padding-right:8px;font-size:.76rem}}
@media (max-width:760px){.catalog-price-legend,.promoter-contact-card,.student-account-pill{width:100%;margin-top:15px}.category-create-form,.catalog-product-form,.promoter-student-selector,.course-detail-hero{grid-template-columns:1fr}.catalog-product-form .full{grid-column:auto}.catalog-admin-card>summary{grid-template-columns:64px 1fr}.catalog-admin-thumb{width:64px}.catalog-admin-state{grid-column:2}.catalog-filterbar{grid-template-columns:1fr}.catalog-grid,.promoter-product-grid,.admin-preview-grid,.route-detail-list ol{grid-template-columns:1fr}.course-purchase-card{display:block}.course-purchase-card .btn{margin-top:12px}.promoter-student-selector form{align-items:stretch;flex-direction:column}.category-editor form{position:fixed;left:14px;right:14px;top:auto;width:auto}.catalog-form-actions{flex-direction:column}.catalog-card-body>p{min-height:auto}}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
[hidden] { display: none !important; }

body {
    min-height: 100vh;
    background: var(--canvas);
    color: var(--ink);
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

body.dialog-open,
body.nav-open,
body.syllabus-open { overflow: hidden; }

a { color: var(--primary); }
button, input, select, textarea { font: inherit; }
button, summary { -webkit-tap-highlight-color: transparent; }

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .11em;
    line-height: 1.2;
    text-transform: uppercase;
}

.muted-copy { color: var(--muted); font-size: .86rem; }
.mb-1 { margin-bottom: .5rem; }
.mb-2 { margin-bottom: 1.4rem; }
.mt-1 { margin-top: .5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 2rem; }
.section-title-spacing { margin-bottom: 1rem; }
.inline { display: inline-flex; }

/* Brand and navigation */
.brand-mark {
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px 4px 11px 4px;
    background: linear-gradient(145deg, #1781ff, #075de7);
    box-shadow: 0 8px 22px rgba(8, 102, 255, .28);
    color: #fff;
}

.brand-mark svg { width: 24px; height: 24px; }
.brand-mark-large { width: 54px; height: 54px; border-radius: 15px 6px 15px 6px; }
.brand-mark-large svg { width: 34px; height: 34px; }
.brand-name, .login-brand { color: var(--navy); font-style: normal; font-weight: 800; letter-spacing: -.035em; }
.brand-name em, .login-brand em, .login-mobile-brand em { color: var(--primary); font-style: normal; }

.navbar {
    position: sticky;
    z-index: 100;
    top: 0;
    height: 72px;
    border-bottom: 1px solid rgba(207, 219, 234, .9);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 4px 22px rgba(10, 31, 70, .04);
    backdrop-filter: blur(16px);
}

.nav-inner {
    display: flex;
    width: min(1440px, 100%);
    height: 100%;
    margin: 0 auto;
    padding: 0 28px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.nav-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--navy);
    font-size: 1.13rem;
    text-decoration: none;
    white-space: nowrap;
}

.nav-menu { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: flex-end; gap: 18px; }
.nav-links { display: flex; min-width: 0; list-style: none; align-items: center; gap: 3px; }
.nav-links a {
    display: inline-flex;
    padding: 9px 12px;
    border-radius: 10px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
    transition: .18s ease;
}
.nav-links a:hover { background: var(--primary-pale); color: var(--primary); }
.nav-links a.active { background: var(--primary-soft); color: var(--primary-dark); }

.nav-user {
    display: flex;
    min-width: 0;
    padding-left: 18px;
    border-left: 1px solid var(--line);
    align-items: center;
    gap: 10px;
}
.user-avatar, .table-avatar {
    display: inline-grid;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 12px;
    background: var(--navy);
    color: #fff;
    font-size: .82rem;
    font-weight: 800;
}
.user-copy { display: flex; min-width: 0; max-width: 170px; flex-direction: column; line-height: 1.25; }
.user-copy strong { font-size: .75rem; }
.user-copy small { overflow: hidden; color: var(--muted); font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.nav-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    place-items: center;
}
.nav-toggle > span:not(.sr-only) { display: block; width: 19px; height: 2px; margin: 2px auto; border-radius: 2px; background: var(--navy); }

/* Global page structures */
.container { width: min(1240px, 100%); margin: 0 auto; padding: 34px 28px 60px; }
.app-main-raw { min-height: calc(100vh - 72px); }
.page-header { display: flex; margin-bottom: 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.page-header h2 { font-size: clamp(1.55rem, 2vw, 2rem); letter-spacing: -.035em; }

.page-hero {
    display: flex;
    min-height: 178px;
    margin-bottom: 24px;
    padding: 32px;
    overflow: hidden;
    position: relative;
    border: 1px solid #d6e5fb;
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 92% 15%, rgba(8, 102, 255, .18), transparent 24%),
        linear-gradient(135deg, #fff, #f4f8ff);
    box-shadow: var(--shadow-sm);
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.page-hero::after { content: ''; position: absolute; right: -70px; bottom: -100px; width: 260px; height: 260px; border: 38px solid rgba(8, 102, 255, .05); border-radius: 50%; pointer-events: none; }
.page-hero > * { position: relative; z-index: 1; }
.page-hero h1 { max-width: 760px; margin: 7px 0 8px; color: var(--navy); font-size: clamp(1.8rem, 3.1vw, 2.65rem); line-height: 1.08; letter-spacing: -.045em; }
.page-hero p { max-width: 720px; color: var(--muted); font-size: .96rem; }
.compact-hero { min-height: 144px; padding: 27px 30px; }

.breadcrumb { display: flex; margin-bottom: 15px; align-items: center; gap: 8px; color: var(--muted); font-size: .8rem; }
.breadcrumb a { color: var(--primary); font-weight: 700; text-decoration: none; }
.breadcrumb .sep { color: var(--muted-light); }

.card {
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-xs);
}
.card-header { display: flex; margin-bottom: 16px; align-items: center; gap: 12px; flex-wrap: wrap; }
.card-header h3 { margin-right: auto; }

.section-heading { display: flex; margin-bottom: 22px; align-items: center; gap: 13px; }
.section-heading h2, .section-toolbar h2 { color: var(--navy); font-size: 1.15rem; letter-spacing: -.025em; }
.section-heading p { color: var(--muted); font-size: .8rem; }
.section-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--primary-soft); color: var(--primary); font-size: 1.4rem; font-weight: 600; }
.section-toolbar { display: flex; margin-bottom: 20px; align-items: flex-end; justify-content: space-between; gap: 18px; }

/* Buttons and forms */
.btn {
    display: inline-flex;
    min-height: 40px;
    padding: 9px 16px;
    border: 1px solid transparent;
    border-radius: 11px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba(8, 102, 255, .22); outline-offset: 2px; }
.btn:disabled, .btn.is-loading { cursor: wait; opacity: .68; transform: none; }
.btn-primary { border-color: var(--primary); background: linear-gradient(135deg, #0a72ff, var(--primary)); box-shadow: 0 8px 18px rgba(8, 102, 255, .2); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); box-shadow: 0 10px 24px rgba(8, 102, 255, .27); }
.btn-success { border-color: var(--success); background: var(--success); color: #fff; }
.btn-danger { border-color: var(--danger); background: var(--danger); color: #fff; }
.btn-danger-soft { border-color: #ffd0d6; background: var(--danger-soft); color: #c82c40; }
.btn-danger-soft:hover { border-color: var(--danger); background: #ffe4e8; }
.btn-outline { border-color: var(--line-strong); background: #fff; color: var(--navy); box-shadow: none; }
.btn-outline:hover { border-color: #9fc2fb; background: var(--primary-pale); color: var(--primary); }
.btn-ghost { background: transparent; color: var(--primary); }
.btn-sm { min-height: 34px; padding: 7px 11px; border-radius: 9px; font-size: .74rem; }
.btn-lg { min-height: 48px; padding: 12px 20px; font-size: .88rem; }
.btn-full { width: 100%; }

.form-group { margin-bottom: 16px; }
.form-group label { display: block; margin-bottom: 6px; color: var(--ink); font-size: .78rem; font-weight: 750; }
.form-group small { display: block; margin-top: 6px; color: var(--muted); font-size: .7rem; }
.form-group input, .form-group select, .form-group textarea, .search-field input, select {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid var(--line-strong);
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
    font-size: .86rem;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.form-group input:hover, .form-group select:hover, .search-field input:hover { border-color: #aac2e5; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus, .search-field input:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(8, 102, 255, .09); outline: 0; }
.form-inline { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.form-inline .form-group { margin: 0; }

.search-field { display: flex; width: min(480px, 100%); position: relative; align-items: center; }
.search-field > span:first-child { position: absolute; z-index: 1; left: 14px; color: var(--muted); font-size: 1.25rem; }
.search-field input { padding-left: 40px; }
.small-search { width: min(330px, 100%); }

/* Alerts, badges, statistics */
.alert {
    display: flex;
    margin-bottom: 18px;
    padding: 13px 16px;
    border: 1px solid;
    border-radius: 13px;
    align-items: center;
    gap: 10px;
    font-size: .83rem;
    transition: opacity .3s, transform .3s;
}
.alert a { margin-left: auto; font-weight: 750; }
.alert-success { border-color: #b8ead8; background: var(--success-soft); color: #076a4e; }
.alert-error { border-color: #ffc6ce; background: var(--danger-soft); color: #9f2334; }
.alert-warning { border-color: #f6d990; background: var(--warning-soft); color: #875b00; }
.alert-leaving { opacity: 0; transform: translateY(-6px); }

.badge { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: #eef2f7; color: var(--muted); align-items: center; gap: 4px; font-size: .68rem; font-weight: 750; white-space: nowrap; }
.badge-admin { background: #e9efff; color: #3455c5; }
.badge-promoter { background: #fff3d8; color: #9a6300; }
.badge-student { background: var(--primary-soft); color: var(--primary-dark); }
.badge-success { background: var(--success-soft); color: #087657; }
.badge-sm { padding: 3px 7px; font-size: .63rem; }

.stats-grid { display: grid; margin-bottom: 22px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.stat-card { display: flex; min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-xs); align-items: center; gap: 13px; }
.stat-icon { display: grid; width: 46px; height: 46px; flex: 0 0 auto; place-items: center; border-radius: 14px; background: var(--primary-soft); font-size: 1.2rem; }
.stat-icon.green { background: var(--success-soft); }
.stat-icon.blue { background: #e8f6ff; }
.stat-icon.orange { background: var(--warning-soft); }
.stat-icon.purple { background: #f0eaff; color: #6f45d8; }
.stat-info h3 { color: var(--navy); font-size: 1.55rem; line-height: 1; }
.stat-info p { margin-top: 4px; color: var(--muted); font-size: .73rem; }

/* Login */
.login-page { background: #fff; overflow-x: hidden; }
.login-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(430px, 1.08fr) minmax(430px, .92fr); }
.login-showcase {
    display: flex;
    min-height: 100vh;
    padding: clamp(36px, 6vw, 86px);
    overflow: hidden;
    position: relative;
    background:
        radial-gradient(circle at 14% 85%, rgba(34, 140, 255, .34), transparent 28%),
        radial-gradient(circle at 91% 8%, rgba(72, 158, 255, .28), transparent 25%),
        linear-gradient(145deg, #061638 0%, #082760 55%, #0758cd 100%);
    color: #fff;
    flex-direction: column;
    justify-content: space-between;
}
.login-showcase::before { content: ''; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, black, transparent 82%); }
.login-showcase::after { content: ''; position: absolute; right: -15vw; bottom: -24vw; width: 56vw; height: 56vw; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02); }
.login-showcase > * { position: relative; z-index: 1; }
.login-brand { display: flex; color: #fff; align-items: center; gap: 13px; font-size: 1.25rem; }
.login-brand em { color: #75b6ff; }
.showcase-copy { max-width: 670px; margin: auto 0; padding: 70px 0; }
.showcase-copy .eyebrow { color: #79bbff; }
.showcase-copy h1 { max-width: 650px; margin: 15px 0 20px; font-size: clamp(2.7rem, 5vw, 5.25rem); line-height: .99; letter-spacing: -.065em; }
.showcase-copy p { max-width: 580px; color: #c9d8f4; font-size: clamp(1rem, 1.35vw, 1.18rem); }
.showcase-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.showcase-points > div { min-width: 0; padding: 17px; border: 1px solid rgba(255,255,255,.14); border-radius: 15px; background: rgba(255,255,255,.07); backdrop-filter: blur(10px); }
.showcase-points span { color: #6eb3ff; font-size: .7rem; font-weight: 800; }
.showcase-points p { margin-top: 6px; color: #e7efff; font-size: .76rem; line-height: 1.45; }

.login-panel { display: grid; min-height: 100vh; padding: clamp(24px, 5vw, 72px); background: #fff; place-items: center; }
.login-card { width: min(470px, 100%); }
.login-mobile-brand { display: none; margin-bottom: 34px; align-items: center; gap: 10px; }
.login-mobile-brand strong { font-size: 1.05rem; }
.login-card h2 { margin: 8px 0 8px; color: var(--navy); font-size: clamp(2rem, 3vw, 2.7rem); line-height: 1.08; letter-spacing: -.05em; }
.login-intro { margin-bottom: 24px; color: var(--muted); font-size: .92rem; }
.google-login-button { display: grid; width: 100%; min-height: 58px; padding: 10px 14px; border: 1px solid #b9c8da; border-radius: 14px; background: #fff; box-shadow: 0 6px 16px rgba(16, 42, 84, .06); color: var(--ink); grid-template-columns: 34px 1fr 24px; align-items: center; gap: 10px; font-size: .9rem; font-weight: 750; text-align: center; text-decoration: none; transition: .18s ease; }
.google-login-button:hover { border-color: #7da9ed; box-shadow: 0 12px 30px rgba(8, 102, 255, .11); transform: translateY(-1px); }
.google-g { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #4285f4; font-size: 1rem; font-weight: 800; }
.button-arrow { color: var(--primary); font-size: 1.2rem; }
.login-security-note { display: flex; margin: 17px 0 20px; padding: 13px; border: 1px solid #d7e8ff; border-radius: 13px; background: var(--primary-pale); align-items: flex-start; gap: 10px; }
.security-icon { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--success); color: #fff; font-size: .72rem; }
.login-security-note p { color: #426084; font-size: .75rem; }
.admin-login-details { border-top: 1px solid var(--line); }
.admin-login-details summary { padding: 16px 0; cursor: pointer; color: var(--muted); font-size: .77rem; font-weight: 700; list-style: none; }
.admin-login-details summary::-webkit-details-marker { display: none; }
.admin-login-details summary::after { content: '+'; float: right; color: var(--primary); font-size: 1rem; }
.admin-login-details[open] summary::after { content: '−'; }
.admin-login-details form { padding-top: 4px; }
.login-help { margin-top: 20px; color: var(--muted-light); font-size: .72rem; text-align: center; }

/* Course and route cards */
.routes-grid, .courses-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; }
.route-card, .course-card { display: flex; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-xs); color: var(--ink); flex-direction: column; text-decoration: none; transition: .2s ease; }
.route-card:hover, .course-card:hover { border-color: #a7c8fb; box-shadow: var(--shadow-md); transform: translateY(-4px); }
.card-cover { display: grid; height: 145px; overflow: hidden; position: relative; place-items: center; color: #fff; font-size: 2.7rem; }
.card-cover::after { content: ''; position: absolute; right: -25px; bottom: -55px; width: 130px; height: 130px; border: 22px solid rgba(255,255,255,.12); border-radius: 50%; }
.cover-1 { background: linear-gradient(135deg, #075fea, #22a8ff); }
.cover-2 { background: linear-gradient(135deg, #123f9c, #0866ff); }
.cover-3 { background: linear-gradient(135deg, #057a61, #16b887); }
.cover-4 { background: linear-gradient(135deg, #9b4b05, #f59a19); }
.cover-5 { background: linear-gradient(135deg, #a52c58, #ec5f8b); }
.cover-6 { background: linear-gradient(135deg, #4732a2, #8c68ea); }
.card-body { padding: 17px 18px; flex: 1; }
.card-body h3 { margin-bottom: 4px; color: var(--navy); font-size: 1rem; line-height: 1.35; }
.card-body p { color: var(--muted); font-size: .78rem; }
.card-meta { display: flex; padding: 12px 18px; border-top: 1px solid var(--line); color: var(--muted); align-items: center; gap: 14px; font-size: .72rem; }

/* LMS / protected player */
.course-mobile-bar { display: none; }
.syllabus-mobile-header, .syllabus-backdrop { display: none; }
.lms-layout { display: grid; min-height: calc(100vh - 72px); grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.lms-sidebar { height: calc(100vh - 72px); overflow-y: auto; position: sticky; top: 72px; border-right: 1px solid var(--line); background: #fff; scrollbar-width: thin; scrollbar-color: #bdcae0 transparent; }
.sidebar-header { padding: 27px 22px 21px; border-bottom: 1px solid var(--line); background: linear-gradient(160deg, #fff, #f3f8ff); }
.sidebar-header .course-back { display: inline-flex; margin-bottom: 22px; color: var(--muted); font-size: .74rem; font-weight: 700; text-decoration: none; }
.sidebar-header h1 { margin: 7px 0 9px; color: var(--navy); font-size: 1.22rem; line-height: 1.25; letter-spacing: -.03em; }
.sidebar-summary { display: flex; color: var(--muted); align-items: center; gap: 8px; font-size: .72rem; flex-wrap: wrap; }
.sidebar-section { padding: 12px 0 24px; }
.sidebar-section-title { padding: 8px 20px; color: var(--muted-light); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.sidebar-item { display: flex; min-width: 0; padding: 11px 15px 11px 18px; position: relative; border-left: 3px solid transparent; color: var(--ink); align-items: center; gap: 10px; text-decoration: none; transition: .16s ease; }
.sidebar-item:hover { background: var(--primary-pale); }
.sidebar-item.active { border-left-color: var(--primary); background: var(--primary-soft); color: var(--primary-dark); }
.item-num { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: #eef2f7; color: var(--muted); font-size: .67rem; font-weight: 800; }
.sidebar-item.active .item-num { background: var(--primary); color: #fff; }
.item-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.item-title { overflow: hidden; font-size: .78rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.item-kind { color: var(--muted); font-size: .64rem; }
.item-play { color: var(--muted-light); font-size: 1.2rem; }

.lms-content { min-width: 0; padding: clamp(22px, 3vw, 46px); overflow: hidden; background: var(--canvas); }
.lesson-heading { display: flex; width: min(1120px, 100%); margin: 0 auto 18px; align-items: flex-end; justify-content: space-between; gap: 18px; }
.lesson-heading h2 { max-width: 760px; margin-top: 7px; color: var(--navy); font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.2; letter-spacing: -.035em; }
.secure-account-pill, .google-status-pill { display: inline-flex; min-width: 0; padding: 9px 12px; border: 1px solid #ccebdc; border-radius: 12px; background: var(--success-soft); color: #17664f; align-items: center; gap: 8px; }
.secure-account-pill > span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--success); color: #fff; font-size: .65rem; }
.secure-account-pill small, .secure-account-pill strong { display: block; }
.secure-account-pill small { color: #4d806f; font-size: .58rem; }
.secure-account-pill strong { max-width: 190px; overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.google-status-pill { max-width: 310px; border-color: #cfe0fa; background: #fff; color: var(--navy); font-size: .74rem; font-weight: 700; }
.google-status-pill > span { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #4285f4; font-weight: 800; }

.media-stage, .document-stage, .download-stage { width: min(1120px, 100%); margin: 0 auto; overflow: hidden; border: 1px solid #1e335b; border-radius: 20px; background: #020817; box-shadow: 0 22px 56px rgba(5, 22, 56, .19); }
.media-stage { position: relative; aspect-ratio: 16 / 9; }
.protected-video { display: block; width: 100%; height: 100%; background: #020817; object-fit: contain; }
.media-error { display: flex; position: absolute; inset: 0; padding: 30px; background: rgba(2, 8, 23, .92); color: #fff; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.media-error span { margin-top: 6px; color: #b9c6dd; font-size: .8rem; }
.document-stage { height: min(72vh, 820px); border-color: var(--line); background: #fff; }
.document-stage iframe { display: block; width: 100%; height: 100%; border: 0; }
.image-stage { display: grid; height: auto; min-height: 420px; padding: 20px; place-items: center; background: #eef3f9; }
.image-stage img { display: block; max-width: 100%; max-height: 74vh; border-radius: 10px; object-fit: contain; }
.download-stage { padding: 68px 28px; border-color: var(--line); background: #fff; text-align: center; }
.download-stage h3 { margin: 12px 0 5px; color: var(--navy); }
.download-stage p { margin-bottom: 18px; color: var(--muted); }
.download-icon { display: grid; width: 62px; height: 62px; margin: 0 auto; place-items: center; border-radius: 18px; background: var(--primary-soft); color: var(--primary); font-size: 1.7rem; }
.lesson-meta { display: flex; width: min(1120px, 100%); margin: 16px auto 0; padding-bottom: 20px; border-bottom: 1px solid var(--line); color: var(--muted); align-items: center; gap: 12px; font-size: .75rem; }
.lesson-download { margin-left: auto; font-weight: 750; text-decoration: none; }

.video-nav { display: flex; width: min(1120px, 100%); margin: 20px auto 0; align-items: stretch; justify-content: space-between; gap: 16px; }
.video-nav-btn { display: flex; width: min(46%, 390px); min-width: 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--navy); box-shadow: var(--shadow-xs); align-items: center; gap: 11px; text-decoration: none; transition: .17s ease; }
.video-nav-btn:hover { border-color: #9fc2fb; box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.video-nav-btn > span:nth-child(2), .video-nav-btn.next > span:first-child { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.video-nav-btn small { color: var(--muted); font-size: .62rem; }
.video-nav-btn strong { overflow: hidden; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.video-nav-btn.next { margin-left: auto; text-align: right; }

.file-type-badge { display: inline-flex; padding: 4px 8px; border-radius: 7px; font-size: .65rem; font-weight: 800; }
.file-type-badge.video { background: #ffe8ed; color: #bc2940; }
.file-type-badge.document { background: #e8f2ff; color: #155dcc; }
.file-type-badge.image { background: #e8f8f2; color: #087456; }
.file-type-badge.other { background: #eef1f5; color: var(--muted); }

/* Admin library */
.library-toolbar { display: flex; margin-bottom: 18px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-xs); align-items: center; justify-content: space-between; gap: 18px; }
.library-totals { display: flex; color: var(--muted); gap: 7px; flex-wrap: wrap; }
.library-totals span { padding: 7px 10px; border-radius: 9px; background: #f3f6fa; font-size: .7rem; white-space: nowrap; }
.library-totals strong { color: var(--navy); }
.library-list { display: grid; gap: 13px; }
.route-accordion, .course-accordion { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-xs); }
.route-accordion > summary, .course-accordion > summary { display: flex; min-height: 84px; padding: 16px 19px; cursor: pointer; list-style: none; align-items: center; gap: 12px; user-select: none; }
.route-accordion > summary::-webkit-details-marker, .course-accordion > summary::-webkit-details-marker { display: none; }
.route-accordion > summary:hover, .course-accordion > summary:hover { background: #f9fbfe; }
.accordion-chevron { color: var(--muted-light); font-size: 1.45rem; transition: transform .2s ease; }
.route-accordion[open] > summary .accordion-chevron, .course-accordion[open] > summary .accordion-chevron { transform: rotate(90deg); }
.route-symbol, .course-symbol { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 13px; background: linear-gradient(145deg, var(--primary), #2a96ff); color: #fff; font-size: .78rem; font-weight: 800; }
.route-symbol.bootcamp { background: linear-gradient(145deg, #6b2bd9, #a247ee); }
.course-symbol { width: 36px; height: 36px; border-radius: 11px; background: var(--primary-soft); color: var(--primary); font-size: .65rem; }
.accordion-title { display: flex; min-width: 0; margin-right: auto; flex-direction: column; }
.accordion-title strong { overflow: hidden; color: var(--navy); font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.accordion-title small { color: var(--muted); font-size: .68rem; }
.accordion-counts { display: flex; align-items: center; gap: 7px; }
.accordion-counts > span { padding: 5px 8px; border-radius: 8px; background: #f1f4f8; color: var(--muted); font-size: .66rem; white-space: nowrap; }
.route-accordion-body { padding: 0 17px 17px; border-top: 1px solid var(--line); background: #f8fafd; }
.route-actions { display: flex; padding: 13px 2px; color: var(--muted); align-items: center; justify-content: flex-start; gap: 8px; font-size: .72rem; flex-wrap: wrap; }
.route-actions .inline-name-form { margin-right: auto; }
.course-accordion { margin-bottom: 9px; border-radius: 14px; box-shadow: none; }
.course-accordion > summary { min-height: 65px; padding: 12px 14px; }
.course-accordion-body { padding: 0 13px 13px; border-top: 1px solid var(--line); }
.admin-file-list { display: grid; padding: 8px 0; gap: 4px; }
.admin-file-row { display: grid; min-width: 0; padding: 9px 8px; border-radius: 10px; grid-template-columns: 25px 33px minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.admin-file-row:hover { background: #f5f8fc; }
.file-order { color: var(--muted-light); font-size: .65rem; text-align: center; }
.file-type-icon { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; background: #ffecef; color: #bd3045; font-size: .65rem; }
.file-type-icon.document { background: #eaf3ff; color: #1765d7; }
.file-type-icon.image { background: #e8f8f2; color: #087456; }
.file-type-icon.other { background: #edf1f6; color: var(--muted); }
.file-copy { display: flex; min-width: 0; flex-direction: column; }
.file-copy strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.file-copy small { color: var(--muted); font-size: .63rem; }
.course-admin-actions { display: flex; padding-top: 11px; border-top: 1px solid var(--line); justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.inline-name-form { display: flex; min-width: min(100%, 620px); align-items: end; gap: 8px; }
.inline-name-form label { display: flex; min-width: 220px; flex: 1; flex-direction: column; gap: 4px; }
.inline-name-form label span, .file-rename-editor label span { color: var(--muted); font-size: .62rem; font-weight: 750; }
.inline-name-form input, .file-rename-editor input { width: 100%; min-height: 37px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--navy); font: inherit; font-size: .73rem; }
.inline-name-form input:focus, .file-rename-editor input:focus { border-color: var(--primary); outline: 3px solid rgba(10, 108, 247, .1); }
.course-name-form { padding: 11px 0; border-bottom: 1px solid var(--line); }
.admin-section-label { display: flex; margin: 8px 8px 2px; padding: 7px 10px; align-items: center; justify-content: space-between; gap: 10px; border-left: 3px solid var(--primary); border-radius: 0 8px 8px 0; background: var(--primary-soft); color: #1458b5; font-size: .66rem; font-weight: 800; }
.section-rename-form { display: flex; min-width: min(100%, 460px); align-items: center; justify-content: flex-end; gap: 6px; }
.section-rename-form input[type="text"] { min-width: 180px; min-height: 32px; flex: 1; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--navy); font: inherit; font-weight: 650; }
.section-rename-form input[type="text"]:focus { border-color: var(--primary); outline: 3px solid rgba(10, 108, 247, .1); }
.file-row-actions { display: flex; position: relative; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.compact-action-form { display: inline-flex; }
.download-disabled-badge { display: inline-flex; padding: 6px 8px; border-radius: 8px; background: #fff0f1; color: #b52d3e; font-size: .61rem; font-weight: 800; white-space: nowrap; }
.file-rename-editor { position: relative; }
.file-rename-editor > summary { list-style: none; cursor: pointer; }
.file-rename-editor > summary::-webkit-details-marker { display: none; }
.file-rename-editor > form { display: flex; width: min(420px, 80vw); padding: 11px; position: absolute; z-index: 15; top: calc(100% + 6px); right: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-lg); align-items: end; gap: 7px; }
.file-rename-editor label { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 4px; }

.import-mode-fieldset { display: grid; margin: 0 0 18px; padding: 0; border: 0; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.import-mode-fieldset legend { margin-bottom: 9px; color: var(--navy); font-size: .76rem; font-weight: 800; }
.import-mode-option { display: flex; min-height: 96px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; cursor: pointer; align-items: flex-start; gap: 11px; transition: .17s ease; }
.import-mode-option:hover { border-color: #bdd4f5; }
.import-mode-option:has(input:checked) { border-color: #8ab8fb; background: #f4f8ff; box-shadow: 0 0 0 3px rgba(10, 108, 247, .06); }
.import-mode-option input { position: absolute; opacity: 0; pointer-events: none; }
.import-mode-option:has(input:disabled) { opacity: .58; cursor: not-allowed; }
.import-mode-option > span:last-child { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.import-mode-option strong { color: var(--navy); font-size: .78rem; }
.import-mode-option small { color: var(--muted); font-size: .68rem; line-height: 1.45; }
.import-mode-icon { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: var(--primary); color: #fff; font-size: .67rem; font-weight: 900; }
.import-mode-icon.route { background: #0a2355; }
.import-mode-icon.bootcamp { background: linear-gradient(145deg, #6424c8, #9b3de5); }
.scan-section { margin-top: 8px; color: var(--primary); font-size: .69rem !important; font-weight: 800; }
.syllabus-download-all { display: flex; margin: 0 12px 10px; padding: 10px 11px; border: 1px solid #b9d6ff; border-radius: 10px; background: var(--primary-soft); color: var(--primary); align-items: center; gap: 8px; font-size: .69rem; font-weight: 800; text-decoration: none; }
.syllabus-download-all span { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 7px; background: var(--primary); color: #fff; }
.syllabus-section-label { padding: 12px 14px 6px; color: #6d7d98; font-size: .61rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }

.preview-dialog { width: min(1120px, calc(100vw - 34px)); max-height: calc(100vh - 34px); padding: 0; overflow: hidden; border: 0; border-radius: 22px; background: #fff; box-shadow: var(--shadow-lg); }
.preview-dialog::backdrop { background: rgba(3, 13, 35, .78); backdrop-filter: blur(6px); }
.preview-dialog-shell { display: flex; max-height: calc(100vh - 34px); flex-direction: column; }
.preview-header { display: flex; min-height: 76px; padding: 14px 20px; border-bottom: 1px solid var(--line); background: #fff; align-items: center; justify-content: space-between; gap: 15px; }
.preview-header h2 { margin-top: 4px; color: var(--navy); font-size: 1.03rem; }
.preview-close { display: grid; width: 39px; height: 39px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--muted); cursor: pointer; font-size: 1.5rem; place-items: center; }
.preview-body { display: grid; min-height: min(70vh, 700px); overflow: auto; position: relative; background: #020817; place-items: center; }
.preview-body video, .preview-body iframe { display: block; width: 100%; height: min(70vh, 700px); border: 0; background: #020817; }
.preview-body img { display: block; max-width: 100%; max-height: min(70vh, 700px); padding: 20px; object-fit: contain; }
.preview-loader, .preview-error { display: flex; position: absolute; z-index: 2; inset: 0; background: #071127; color: #fff; align-items: center; justify-content: center; flex-direction: column; gap: 10px; text-align: center; }
.preview-loader span { width: 42px; height: 42px; border: 3px solid rgba(255,255,255,.18); border-top-color: #55a6ff; border-radius: 50%; animation: spin .8s linear infinite; }
.preview-loader p, .preview-error span { color: #b6c4dc; font-size: .78rem; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Users and access management */
.access-management-grid { display: grid; margin-bottom: 20px; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 18px; }
.authorization-form { display: grid; grid-template-columns: 1.4fr 1fr auto; align-items: end; gap: 12px; }
.authorization-form .form-group { margin: 0; }
.access-explainer { position: relative; overflow: hidden; background: linear-gradient(145deg, #071b48, #0a3985); color: #fff; }
.access-explainer::after { content: ''; position: absolute; right: -55px; bottom: -70px; width: 190px; height: 190px; border: 25px solid rgba(255,255,255,.06); border-radius: 50%; }
.security-shield { display: grid; width: 39px; height: 39px; position: relative; z-index: 1; place-items: center; border-radius: 12px; background: var(--success); color: #fff; font-weight: 800; }
.access-explainer h2 { margin: 11px 0 13px; position: relative; z-index: 1; font-size: 1.12rem; }
.access-explainer ol { display: grid; position: relative; z-index: 1; list-style: none; gap: 10px; }
.access-explainer li { display: flex; color: #d8e5fb; align-items: center; gap: 9px; font-size: .72rem; }
.access-explainer li span { display: grid; width: 22px; height: 22px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 7px; color: #79bcff; font-size: .62rem; }
.users-card { padding: 0; overflow: hidden; }
.users-card .section-toolbar { padding: 21px 22px 0; }

.table-wrapper { width: 100%; overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding: 13px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.table th { background: #f7f9fc; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.table td { font-size: .76rem; }
.table tbody tr:hover { background: #fbfcfe; }
.user-cell { display: flex; min-width: 215px; align-items: center; gap: 10px; }
.table-avatar { width: 34px; height: 34px; border-radius: 10px; background: var(--primary-soft); color: var(--primary); }
.user-cell > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.user-cell strong { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-cell small { color: var(--success); font-size: .63rem; font-weight: 700; }
.table-actions { display: flex; align-items: center; gap: 6px; }
.table-actions form { display: inline-flex; }
.access-link { font-size: .72rem; font-weight: 750; text-decoration: none; }
.access-link span { margin-left: 3px; }

.access-user-hero { min-height: 130px; }
.access-route-list { display: grid; gap: 14px; }
.access-route-card { padding: 0; overflow: hidden; }
.access-route-card > header { display: flex; padding: 16px 18px; border-bottom: 1px solid var(--line); background: #fbfcfe; align-items: center; justify-content: space-between; gap: 14px; }
.access-route-card > header > div { display: flex; align-items: center; gap: 11px; }
.access-route-card h2 { color: var(--navy); font-size: .92rem; }
.access-route-card header p { color: var(--muted); font-size: .67rem; }
.access-route-card .route-symbol { width: 36px; height: 36px; border-radius: 11px; }
.access-course-grid { display: grid; padding: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.access-course-item { display: flex; min-width: 0; min-height: 58px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fff; align-items: center; gap: 9px; }
.access-course-item.enabled { border-color: #bde7d8; background: #f7fdfa; }
.access-check { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: #edf1f6; color: var(--muted); font-size: .7rem; font-weight: 800; }
.access-course-item.enabled .access-check { background: var(--success); color: #fff; }
.access-course-item > span:nth-child(2) { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.access-course-item strong { overflow: hidden; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.access-course-item small { color: var(--muted); font-size: .62rem; }
.account-security-card { display: flex; align-items: center; gap: 14px; }
.account-security-card p { margin-top: 3px; color: var(--muted); font-size: .78rem; }

/* Legacy/admin utility views */
.scan-route { margin: 14px 0; padding: 15px; border-radius: 14px; background: #f4f7fb; }
.scan-course { margin: 9px 0 9px 22px; }
.scan-course ul { padding-left: 18px; list-style: none; }
.scan-course li { padding: 3px 0; font-size: .8rem; }
.course-item { display: flex; margin: 7px 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafd; align-items: center; gap: 9px; flex-wrap: wrap; }
.file-list { width: 100%; padding-left: 18px; list-style: none; }
.file-list li { padding: 4px 0; font-size: .76rem; }
.content-list { margin-top: 8px; }
.content-item { display: flex; margin-bottom: 7px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; align-items: center; gap: 10px; }
.content-number { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--primary); color: #fff; font-size: .72rem; font-weight: 800; }
.content-info { min-width: 0; flex: 1; }
.content-info h4 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-info small { color: var(--muted); }
.content-actions { display: flex; gap: 6px; }

.empty-state { padding: 44px 20px; color: var(--muted); text-align: center; }
.empty-state-large { min-height: 310px; display: grid; align-content: center; justify-items: center; }
.empty-icon { margin-bottom: 10px; color: var(--primary); font-size: 3.2rem; }
.empty-state h2, .empty-state h3 { margin-bottom: 6px; color: var(--navy); }
.empty-state p { max-width: 520px; margin: 0 auto 18px; font-size: .82rem; }

.footer { padding: 28px; color: var(--muted-light); font-size: .69rem; text-align: center; }
.footer-raw { display: none; }

/* Responsive */
@media (max-width: 1180px) {
    .nav-inner { padding-inline: 20px; }
    .nav-links a { padding-inline: 9px; font-size: .75rem; }
    .user-copy { display: none; }
    .authorization-form { grid-template-columns: 1fr 1fr; }
    .authorization-form .btn { grid-column: 1 / -1; }
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .login-shell { grid-template-columns: 1fr; }
    .login-showcase { display: none; }
    .login-panel { min-height: 100vh; }
    .login-mobile-brand { display: flex; }
    .access-management-grid { grid-template-columns: 1fr; }
    .access-explainer { min-height: 260px; }
    .access-course-grid { grid-template-columns: 1fr; }
    .lesson-heading { align-items: flex-start; flex-direction: column; }
    .secure-account-pill { width: 100%; }
}

@media (max-width: 960px) {
    .navbar { height: 64px; }
    .nav-inner { padding-inline: 14px; }
    .nav-toggle { display: grid; }
    .nav-menu { display: none; position: fixed; z-index: 110; top: 64px; right: 0; bottom: 0; left: 0; padding: 15px; overflow-y: auto; background: rgba(244, 247, 251, .98); align-items: stretch; flex-direction: column; justify-content: flex-start; }
    .nav-menu.active { display: flex; }
    .nav-links { width: 100%; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: #fff; align-items: stretch; flex-direction: column; }
    .nav-links a { width: 100%; min-height: 44px; padding: 12px; align-items: center; }
    .nav-user { width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
    .user-copy { display: flex; max-width: none; flex: 1; }
    .container { padding: 22px 15px 45px; }
    .page-hero { min-height: 0; padding: 23px 20px; align-items: flex-start; flex-direction: column; }
    .page-hero .btn-lg { width: 100%; }
    .section-toolbar, .library-toolbar { align-items: stretch; flex-direction: column; }
    .library-totals { width: 100%; }
    .library-totals span { flex: 1; text-align: center; }
    .accordion-counts { display: none; }
    .route-accordion > summary { padding-inline: 13px; }
    .route-actions { align-items: flex-start; flex-direction: column; }
    .route-actions > form, .inline-name-form { width: 100%; }
    .inline-name-form { align-items: stretch; flex-direction: column; }
    .inline-name-form label { min-width: 0; }
    .admin-section-label, .section-rename-form { width: 100%; align-items: stretch; flex-direction: column; }
    .section-rename-form input[type="text"] { min-width: 0; }
    .admin-file-row { grid-template-columns: 24px 31px minmax(0, 1fr); }
    .admin-file-row > .file-row-actions { grid-column: 2 / -1; justify-self: stretch; justify-content: flex-start; }
    .file-rename-editor > form { right: auto; left: 0; }
    .import-mode-fieldset { grid-template-columns: 1fr; }
    .course-admin-actions { justify-content: stretch; }
    .course-admin-actions > * { flex: 1; }
    .course-admin-actions .btn { width: 100%; }

    .course-mobile-bar { display: flex; height: 52px; padding: 8px 14px; position: sticky; z-index: 90; top: 64px; border-bottom: 1px solid var(--line); background: #fff; align-items: center; justify-content: space-between; }
    .course-back { color: var(--primary); font-size: .73rem; font-weight: 750; text-decoration: none; }
    .lms-layout { min-height: calc(100vh - 116px); grid-template-columns: minmax(0, 1fr); }
    .lms-sidebar { width: min(92vw, 360px); height: calc(100vh - 116px); position: fixed; z-index: 80; top: 116px; left: 0; border-right: 1px solid var(--line); box-shadow: var(--shadow-lg); transform: translateX(-105%); transition: transform .22s ease; }
    .lms-sidebar.mobile-open { transform: translateX(0); }
    .syllabus-mobile-header { display: flex; min-height: 54px; padding: 10px 14px; position: sticky; z-index: 3; top: 0; border-bottom: 1px solid var(--line); background: #fff; color: var(--navy); align-items: center; justify-content: space-between; gap: 12px; }
    .syllabus-mobile-header strong { font-size: .82rem; }
    .syllabus-close { display: grid; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--muted); cursor: pointer; font-size: 1.35rem; line-height: 1; place-items: center; }
    .syllabus-backdrop { display: block; position: fixed; z-index: 70; inset: 116px 0 0; width: 100%; height: auto; padding: 0; border: 0; background: rgba(3, 13, 35, .58); backdrop-filter: blur(2px); cursor: pointer; }
    .sidebar-header .course-back { display: none; }
    .lms-content { padding: 20px 14px 35px; }
    .document-stage { height: 65vh; }
    .video-nav { gap: 9px; }
    .video-nav-btn { width: calc(50% - 5px); padding: 11px; }
    .video-nav-btn strong { max-width: 130px; }
    .footer-raw { display: none; }
    .authorization-form { grid-template-columns: 1fr; }
    .authorization-form .btn { grid-column: auto; width: 100%; }
    .access-route-card > header { align-items: flex-start; flex-direction: column; }
    .access-route-card > header form, .access-route-card > header .btn { width: 100%; }
    .table th, .table td { padding: 11px 12px; }
}

@media (max-width: 520px) {
    .login-panel { padding: 24px 18px; align-items: start; }
    .login-card { padding-top: 14px; }
    .login-card h2 { font-size: 2rem; }
    .stats-grid { grid-template-columns: 1fr; }
    .routes-grid, .courses-grid { grid-template-columns: 1fr; }
    .page-hero h1 { font-size: 1.75rem; }
    .page-hero p { font-size: .83rem; }
    .google-status-pill { width: 100%; }
    .media-stage { border-radius: 13px; }
    .lesson-heading h2 { font-size: 1.3rem; }
    .lesson-meta { flex-wrap: wrap; }
    .video-nav { flex-direction: column; }
    .video-nav > span:empty { display: none; }
    .video-nav-btn { width: 100%; }
    .video-nav-btn strong { max-width: none; }
    .preview-dialog { width: 100vw; max-height: 100vh; border-radius: 0; }
    .preview-dialog-shell { max-height: 100vh; }
    .preview-body, .preview-body video, .preview-body iframe { min-height: 65vh; height: 65vh; }
    .route-symbol { width: 36px; height: 36px; }
    .accordion-title strong { max-width: 185px; }
    .table-actions { flex-direction: column; align-items: stretch; }
}

/* Mantener la identidad del catalogo por encima de los estilos generales. */
.page-hero.admin-catalog-hero,.page-hero.catalog-student-hero,.page-hero.promoter-catalog-hero,.page-hero.student-dashboard-hero{background:linear-gradient(135deg,#071a3b 0%,#123f8f 62%,#1575ee 100%);color:#fff;border:0}
.page-hero.admin-catalog-hero h1,.page-hero.catalog-student-hero h1,.page-hero.promoter-catalog-hero h1,.page-hero.student-dashboard-hero h1{color:#fff}

/* Recuperacion de cursos y paquetes comerciales */
.backup-id-inline{display:inline-flex!important;width:max-content;margin-top:7px;padding:4px 7px;border:1px solid #cfe0f5;border-radius:7px;background:#edf5ff;color:#124f9e;font:800 .68rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.catalog-admin-state.down{background:#fff0f1;color:#c52f44}.catalog-down-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;margin:0 20px 20px;padding:16px;border:1px solid #ffd4da;border-radius:14px;background:#fff8f9}.catalog-down-form label{display:grid;gap:7px;color:#7d2634;font-size:.76rem;font-weight:800}.catalog-down-form input{width:100%;padding:11px 12px;border:1px solid #f0c5cc;border-radius:11px;background:#fff}.recovery-hero,.package-admin-hero,.package-student-hero,.course-maintenance-hero{background:linear-gradient(135deg,#061a3a,#123e89 68%,#1578ee);color:#fff;border:0}.recovery-hero h1,.package-admin-hero h1,.package-student-hero h1,.course-maintenance-hero h1{color:#fff}.recovery-hero p,.package-admin-hero p,.package-student-hero p,.course-maintenance-hero p{color:#d5e6ff}.recovery-count{min-width:118px;padding:16px 20px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.1);text-align:center}.recovery-count strong,.recovery-count span{display:block}.recovery-count strong{font-size:2rem}.recovery-count span{color:#c6ddff;font-size:.7rem;text-transform:uppercase;font-weight:800}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}.recovery-card{padding:20px;border:1px solid #dbe5f1;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(8,34,70,.07)}.recovery-card>header{display:flex;align-items:center;gap:12px}.recovery-card h2{margin:3px 0 0;color:#071b3b;font-size:1.08rem}.recovery-card header small{color:#667b96}.backup-id-badge{display:grid;min-width:94px;place-items:center;padding:10px;border-radius:12px;background:#071e45;color:#9fd2ff;font:900 .78rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.07em}.recovery-alert{margin:15px 0;padding:13px;border:1px solid #ffd4da;border-radius:13px;background:#fff7f8}.recovery-alert strong{color:#b9253b}.recovery-alert p{margin:4px 0;color:#6d3b43}.recovery-alert small{color:#9d6d75}.recovery-card form+form{margin-top:10px}.recovery-history{margin-top:30px}.package-create-card,.package-edit-card{margin:18px 0;overflow:hidden}.package-create-card>summary,.package-edit-card>summary{list-style:none;cursor:pointer}.package-create-card>summary{display:flex;justify-content:space-between;padding:18px 20px}.package-create-card>summary span{color:#1364ce}.package-edit-card>summary{display:grid;grid-template-columns:82px 1fr auto;gap:15px;align-items:center;padding:14px 18px}.package-edit-card>summary>span:nth-child(2) small,.package-edit-card>summary>span:nth-child(2) strong,.package-edit-card>summary>span:nth-child(2) em{display:block}.package-edit-card>summary small{color:#2468bc;font-size:.68rem;text-transform:uppercase;font-weight:900}.package-edit-card>summary strong{margin:3px 0;color:#071b3b}.package-edit-card>summary em{color:#6f8199;font-size:.74rem;font-style:normal}.package-edit-card>summary>b{padding:6px 9px;border-radius:999px;background:#e9f8f0;color:#14804f;font-size:.68rem}.package-form{padding:20px;border-top:1px solid #e4ebf3}.package-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.package-form-grid label{display:grid;gap:7px;color:#29415f;font-size:.77rem;font-weight:800}.package-form-grid .full{grid-column:1/-1}.package-form-grid input,.package-form-grid select,.package-form-grid textarea{width:100%;padding:11px 12px;border:1px solid #d7e1ed;border-radius:11px;background:#fff}.package-course-picker{margin:20px 0;padding:16px;border:1px solid #dce5f0;border-radius:15px}.package-course-picker legend{padding:0 7px;color:#09234b;font-weight:900}.package-course-picker>p{margin:0 0 12px;color:#6d8098;font-size:.77rem}.package-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:420px;overflow:auto}.package-course-grid>label{display:flex;gap:10px;padding:11px;border:1px solid #e0e8f1;border-radius:12px;cursor:pointer}.package-course-grid input{margin-top:3px}.package-course-grid strong,.package-course-grid small{display:block}.package-course-grid strong{color:#0a2448;font-size:.78rem}.package-course-grid small{margin-top:3px;color:#71849d;font-size:.67rem}.package-archive-form{padding:0 20px 20px;text-align:right}.package-catalog-section,.package-owned-section{padding-top:28px;border-top:1px solid #dfe7f1}.course-maintenance-card{max-width:720px;margin:24px auto;text-align:center}.course-maintenance-card strong{display:block;color:#071c3d;font-size:1.2rem}.course-maintenance-card p{color:#687c96}.maintenance-shield{display:grid;width:70px;height:70px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:rgba(255,255,255,.12);font-size:2rem}
@media(max-width:760px){.catalog-down-form,.package-form-grid,.package-course-grid,.recovery-grid{grid-template-columns:1fr}.package-form-grid .full{grid-column:auto}.package-edit-card>summary{grid-template-columns:64px 1fr}.package-edit-card>summary>b{grid-column:2}.recovery-count{width:100%}}

.backup-inventory{margin:24px 0 38px}.backup-inventory>.section-heading{align-items:flex-end}.inventory-actions{display:flex;align-items:center;gap:9px}.inventory-search input{width:min(300px,32vw);padding:10px 12px;border:1px solid #d6e1ee;border-radius:11px;background:#fff;color:#10294c}.route-backup-list{display:grid;gap:11px}.route-backup-group{overflow:hidden;border:1px solid #dce5f0;border-radius:16px;background:#fff}.route-backup-group>summary{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 15px;list-style:none;cursor:pointer;background:#f8fbff}.route-backup-group>summary::-webkit-details-marker{display:none}.route-backup-group[open]>summary{border-bottom:1px solid #e2eaf3}.route-backup-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#0d61d5;color:#fff;font-weight:900}.route-backup-group summary small,.route-backup-group summary strong{display:block}.route-backup-group summary small{color:#4e7fba;font-size:.65rem;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.route-backup-group summary strong{margin-top:3px;color:#081d3d}.route-backup-group summary>b{padding:6px 9px;border-radius:999px;background:#eaf3ff;color:#1760ba;font-size:.68rem}.route-backup-courses{display:grid}.backup-course-row{display:grid;grid-template-columns:128px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 15px;border-bottom:1px solid #edf1f6}.backup-course-row:last-child{border-bottom:0}.backup-code-copy{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 9px;border:1px solid #c9daf0;border-radius:10px;background:#eef6ff;color:#114f9d;cursor:pointer}.backup-code-copy code{font-weight:900;letter-spacing:.04em}.backup-code-copy span{font-size:.6rem;font-weight:800;text-transform:uppercase}.backup-course-copy{min-width:0}.backup-course-copy strong,.backup-course-copy small{display:block}.backup-course-copy strong{overflow:hidden;color:#0a2347;text-overflow:ellipsis;white-space:nowrap}.backup-course-copy small{margin-top:3px;color:#71839a;font-size:.67rem}.backup-course-status{padding:6px 8px;border-radius:999px;font-size:.65rem;font-weight:900}.backup-course-status.active{background:#e8f8ef;color:#117b4a}.backup-course-status.down{background:#fff0f2;color:#bd2d43}.inventory-down-form{margin:0}.recovery-pending-section{margin:34px 0}.recovery-pending-section>.section-heading>strong{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:#fff0f2;color:#bd2d43}
@media(max-width:760px){.backup-inventory>.section-heading,.inventory-actions{align-items:stretch;flex-direction:column}.inventory-actions,.inventory-search,.inventory-search input{width:100%}.route-backup-group>summary{grid-template-columns:42px 1fr}.route-backup-group summary>b{grid-column:2;width:max-content}.backup-course-row{grid-template-columns:1fr auto}.backup-code-copy{width:128px}.backup-course-copy{grid-column:1/-1;grid-row:2}.inventory-down-form,.backup-course-row>.btn{grid-column:2;grid-row:1}.backup-course-status{grid-column:2;grid-row:2;width:max-content;justify-self:end}}

.backup-code-cell{display:grid;gap:5px}.backup-code-cell>code{display:block;padding:7px 8px;border:1px solid #c9daf0;border-radius:9px;background:#eef6ff;color:#114f9d;font-weight:900;text-align:center;letter-spacing:.04em}.backup-code-cell>.backup-code-copy{display:block;width:100%;padding:7px 8px;border:1px solid #1765c8;border-radius:8px;background:#1765c8;color:#fff;cursor:pointer;font-size:.64rem;font-weight:900;text-align:center}.backup-code-cell>.backup-code-copy:hover{background:#0d4fa8}
@media(max-width:760px){.backup-code-cell{width:138px}}

/* Editor enriquecido para fichas comerciales */
.catalog-rich-editor{overflow:hidden;border:1px solid #cfdceb;border-radius:14px;background:#fff;box-shadow:0 0 0 3px rgba(21,112,239,.06)}.catalog-rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:8px;border-bottom:1px solid #dce6f1;background:#f5f8fc}.catalog-rich-toolbar>span{width:1px;height:25px;margin:0 3px;background:#d7e1ec}.catalog-rich-toolbar button{min-width:33px;height:32px;padding:5px 9px;border:1px solid #d2deeb;border-radius:8px;background:#fff;color:#183657;cursor:pointer;font:700 .7rem/1 inherit}.catalog-rich-toolbar button:hover,.catalog-rich-toolbar button:focus{border-color:#1768d5;background:#eaf3ff;color:#1055b2;outline:0}.catalog-rich-surface{min-height:170px;max-height:520px;padding:15px 16px;overflow:auto;color:#172b47;font-size:.86rem;font-weight:400;line-height:1.65;outline:0;white-space:normal}.catalog-rich-surface:focus{box-shadow:inset 0 0 0 2px #2f80ed}.catalog-rich-surface:empty:before{content:attr(data-placeholder);color:#8796aa;pointer-events:none}.catalog-rich-surface h2,.catalog-rich-surface h3,.catalog-rich-surface h4{margin:.55em 0 .35em;color:#071d3e;line-height:1.3}.catalog-rich-surface h2{font-size:1.35rem}.catalog-rich-surface h3{font-size:1.12rem}.catalog-rich-surface p,.catalog-rich-surface div{margin:.35em 0}.catalog-rich-surface ul,.catalog-rich-surface ol{margin:.55em 0;padding-left:1.5rem}.catalog-rich-surface blockquote{margin:.7em 0;padding:10px 13px;border-left:4px solid #2173dd;background:#eef5ff;color:#385778}.catalog-rich-surface a{color:#1064cf}.course-rich-description{color:#5d718e;line-height:1.72}.course-rich-description>*:first-child{margin-top:0}.course-rich-description>*:last-child{margin-bottom:0}.course-rich-description h2,.course-rich-description h3,.course-rich-description h4{color:#071d3e;line-height:1.25}.course-rich-description h2{font-size:1.45rem}.course-rich-description h3{font-size:1.18rem}.course-rich-description p,.course-rich-description div{margin:.65em 0}.course-rich-description ul,.course-rich-description ol{padding-left:1.35rem}.course-rich-description li{margin:.35em 0}.course-rich-description blockquote{margin:1em 0;padding:12px 15px;border-left:4px solid #1b6ed7;border-radius:0 10px 10px 0;background:#eff6ff}.course-rich-description a{color:#1164cb;font-weight:700}
@media(max-width:760px){.catalog-rich-toolbar{max-height:124px;overflow:auto}.catalog-rich-toolbar>span{display:none}.catalog-rich-toolbar button{flex:0 0 auto}.catalog-rich-surface{min-height:200px}}
.catalog-rich-toolbar button{font-family:inherit;font-size:.7rem;font-weight:700;line-height:1}
.catalog-rich-field{display:grid;gap:7px}.catalog-field-label{color:#29415f;font-size:.78rem;font-weight:800}
.admin-preview-header-actions,.admin-preview-actions{display:flex;align-items:center;gap:7px}.admin-preview-card h3 a{color:inherit;text-decoration:none}.admin-preview-card h3 a:hover{color:#1467cf}.admin-preview-card .admin-preview-footer{align-items:flex-end;gap:10px}.admin-preview-footer>div:first-child strong,.admin-preview-footer>div:first-child span{display:block}.admin-preview-footer>div:first-child span{margin-top:3px}.admin-preview-actions{flex-wrap:wrap;justify-content:flex-end}.course-purchase-card>.btn+.btn{margin-top:8px}
@media(max-width:760px){.admin-preview-header-actions{width:100%;flex-wrap:wrap}.admin-preview-card .admin-preview-footer{align-items:stretch;flex-direction:column}.admin-preview-actions{justify-content:stretch}.admin-preview-actions .btn{flex:1}.course-purchase-card>.btn+.btn{margin-top:8px}}

.inventory-course-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.inventory-course-actions form{margin:0}.content-replace-dialog{width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 32px);padding:0;overflow:auto;border:0;border-radius:22px;background:#fff;box-shadow:0 30px 100px rgba(3,18,45,.32)}.content-replace-dialog::backdrop{background:rgba(3,15,36,.68);backdrop-filter:blur(4px)}.content-replace-form{padding:22px}.content-replace-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.content-replace-form h2{margin:5px 0 0;color:#071b3b;font-size:1.5rem}.dialog-close{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid #d7e1ec;border-radius:11px;background:#fff;color:#546b87;cursor:pointer;font-size:1.35rem}.replace-course-identity{display:flex;align-items:center;gap:10px;margin:18px 0;padding:12px;border:1px solid #d9e5f2;border-radius:13px;background:#f6faff}.replace-course-identity code{padding:6px 8px;border-radius:8px;background:#0b2b5d;color:#a9d6ff;font-weight:900;letter-spacing:.06em}.replace-course-identity strong{color:#10294b}.replace-warning{padding:15px;border:1px solid #ffc8d0;border-radius:14px;background:#fff5f6}.replace-warning>strong{color:#b5233a}.replace-warning ul{margin:10px 0 0;padding-left:1.25rem;color:#6e3c44;font-size:.78rem;line-height:1.65}.content-replace-form>label:not(.replace-confirm){display:grid;gap:7px;margin-top:16px;color:#253f61;font-size:.78rem;font-weight:800}.content-replace-form>label input[type="text"],.content-replace-form>label input:not([type]){width:100%;padding:12px 13px;border:1px solid #ccd9e8;border-radius:11px}.replace-confirm{display:flex;align-items:flex-start;gap:9px;margin:15px 0;color:#475f7d;font-size:.77rem}.replace-confirm input{margin-top:2px}.content-replace-form>footer{display:flex;justify-content:flex-end;gap:9px;padding-top:17px;border-top:1px solid #e4ebf3}.replacement-folder-id{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recovery-history td form{margin:0}
@media(max-width:760px){.inventory-course-actions{grid-column:2;grid-row:1;align-items:stretch;flex-direction:column}.inventory-course-actions .btn{width:100%}.content-replace-form{padding:17px}.content-replace-form>footer{align-items:stretch;flex-direction:column-reverse}.content-replace-form>footer .btn{width:100%}}

/* Gestion administrativa de usuarios y saldos 2026-08-10 */
.users-table{min-width:1180px}.user-balance-cell{min-width:300px}.user-balance-cell>strong{display:block;color:#08234b;font-size:.86rem}.inline-balance-form{display:grid;grid-template-columns:92px minmax(110px,1fr) auto;gap:6px;align-items:center;margin-top:7px}.inline-balance-form input{width:100%;min-width:0;height:34px;padding:6px 8px;border:1px solid #d2deec;border-radius:9px;background:#fff;color:#10294a;font-size:.72rem}.inline-balance-form input:focus{border-color:#1470ef;outline:3px solid rgba(20,112,239,.12)}.direct-student-card{border-color:rgba(113,236,191,.42);background:rgba(24,174,117,.16)}.direct-purchase-note{margin-top:12px;padding:12px;border:1px solid #cfe0f5;border-radius:12px;background:#f1f7ff;color:#365573}.direct-purchase-note strong{display:block;color:#0e4f9f}.direct-purchase-note p{margin:4px 0 0!important;color:#59708c!important}.promoter-profile-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid #dce5f0;border-radius:14px;background:#f8fbff}.promoter-profile-form label{display:grid;gap:6px;color:#29425f;font-size:.72rem;font-weight:800}.promoter-profile-form input{width:100%;min-height:40px;padding:8px 11px;border:1px solid #cfdaea;border-radius:10px;background:#fff}.promoter-log-heading>div:first-child small{display:block;margin-top:3px;color:#4d72a2}.permanent-delete-card{max-width:780px;margin:22px auto;padding:28px;border-color:#f1b8c1}.danger-heading{display:flex;gap:16px;align-items:flex-start}.danger-heading>span{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border-radius:15px;background:#d72f46;color:#fff;font-size:1.6rem;font-weight:900}.danger-heading h1{margin:3px 0 7px;color:#841d2b}.danger-heading p{color:#6e5260}.delete-user-identity{margin:22px 0;padding:14px;border:1px solid #ead7da;border-radius:14px;background:#fff9fa}.delete-impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.delete-impact-grid>div{padding:12px;border:1px solid #e1e8f1;border-radius:12px;background:#f8fbff}.delete-impact-grid small,.delete-impact-grid strong{display:block}.delete-impact-grid small{color:#74859b;font-size:.65rem;text-transform:uppercase;font-weight:800}.delete-impact-grid strong{margin-top:4px;color:#0a2449;font-size:1rem}.permanent-delete-form{margin-top:20px}.delete-understanding{align-items:flex-start;margin:14px 0 20px}.delete-understanding input{margin-top:3px}.delete-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:17px;border-top:1px solid #e6eaf0}
@media(max-width:900px){.promoter-profile-form{grid-template-columns:1fr 1fr}.promoter-profile-form .btn{grid-column:1/-1}.delete-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.inline-balance-form{grid-template-columns:1fr}.promoter-profile-form,.delete-impact-grid{grid-template-columns:1fr}.permanent-delete-card{padding:19px}.danger-heading{flex-direction:column}.delete-actions{align-items:stretch;flex-direction:column-reverse}.delete-actions .btn{width:100%}}

/* Edicion, archivo y recuperacion de cursos desde Contenido */
.course-edit-hero{background:linear-gradient(135deg,#071a3b 0%,#123f8f 64%,#1679ef 100%);color:#fff;border:0}.course-edit-hero h1{color:#fff}.course-edit-hero p{color:#d7e8ff}.course-edit-card{max-width:1040px;margin:22px auto;padding:24px}.course-unified-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.course-unified-form>label{display:grid;gap:7px;color:#29415f;font-size:.78rem;font-weight:800}.course-unified-form>label.full,.course-unified-form>.full{grid-column:1/-1}.course-unified-form input:not([type=checkbox]),.course-unified-form select{width:100%;min-height:43px;padding:10px 12px;border:1px solid #cfdaea;border-radius:11px;background:#fff;color:#112b4d}.course-unified-form input:focus,.course-unified-form select:focus{border-color:#1470ef;outline:3px solid rgba(20,112,239,.12)}.course-current-cover{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #d9e4f0;border-radius:14px;background:#f7fbff}.course-current-cover img{width:116px;height:76px;object-fit:cover;border-radius:10px}.course-source-card{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1040px;margin:18px auto;padding:22px}.course-source-card h2{margin:4px 0 7px;color:#09234a}.course-source-card p{margin:0;color:#637994}.course-source-card>div:last-child{display:flex;align-items:center;gap:10px}.course-source-card code{padding:10px 12px;border-radius:10px;background:#082653;color:#acd7ff;font-weight:900;letter-spacing:.05em}.course-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px;padding:13px 14px;border:1px solid #dce6f1;border-radius:14px;background:#f5f9ff}.course-editor-heading h3{margin:3px 0 0;color:#08234a}.course-editor-heading .hero-actions{display:flex;flex-wrap:wrap;gap:7px}.course-delete-card{max-width:880px}.course-delete-decision{margin:20px 0;padding:16px;border:1px solid #d6e4f4;border-radius:14px;background:#f3f8ff}.course-delete-decision h2{margin:0 0 6px;color:#092650;font-size:1.08rem}.course-delete-decision p{margin:0;color:#607792}.delete-restore-form{display:flex;justify-content:flex-end;margin:14px 0}.archived-content-section{margin:34px 0;padding-top:26px;border-top:1px solid #dce5ef}.archived-content-heading{align-items:flex-end}.archived-content-heading p{max-width:760px;margin:7px 0 0;color:#627792}.archived-count{padding:8px 11px;border-radius:999px;background:#fff0f2;color:#b62b41;font-size:.7rem;font-weight:900}.archived-subsection{margin-top:22px}.archived-subsection>h3{margin:0 0 11px;color:#0a2449;font-size:1rem}.archived-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.archived-content-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;padding:16px;border-color:#ead8db;background:#fffbfc}.archived-content-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#8e2334;color:#fff;font-weight:900}.archived-content-icon.route{background:#5d375f}.archived-content-copy small,.archived-content-copy strong{display:block}.archived-content-copy small{color:#8b6570;font-size:.66rem;text-transform:uppercase;font-weight:900}.archived-content-copy strong{margin-top:4px;color:#301923}.archived-content-copy p{margin:6px 0 0;color:#765f67;font-size:.74rem}.archived-parent-warning{display:block;margin-top:7px;color:#a52a3e;font-size:.7rem;font-weight:800}.archived-content-card>form,.archived-content-actions{grid-column:2}.archived-content-actions{display:flex;flex-wrap:wrap;gap:7px}.archived-content-actions form{margin:0}
@media(max-width:760px){.course-unified-form,.archived-content-grid{grid-template-columns:1fr}.course-unified-form>label.full,.course-unified-form>.full{grid-column:auto}.course-source-card,.course-source-card>div:last-child,.course-editor-heading,.archived-content-heading{align-items:stretch;flex-direction:column}.course-source-card>div:last-child{display:flex}.course-source-card .btn,.course-editor-heading .btn{width:100%}.course-current-cover{align-items:flex-start;flex-direction:column}.archived-content-card{grid-template-columns:42px minmax(0,1fr)}}

/* Gestion visual de promotores 2026-08-11 */
.promoter-admin-hero {
    position: relative;
    overflow: hidden;
    border: 0;
    background: linear-gradient(135deg, #061936 0%, #123e8b 62%, #1679ef 100%);
    color: #fff;
}
.promoter-admin-hero::after {
    content: "";
    position: absolute;
    top: -115px;
    right: -75px;
    width: 285px;
    height: 285px;
    border: 54px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
}
.promoter-admin-hero > div { position: relative; z-index: 1; }
.promoter-admin-hero h1 { color: #fff; }
.promoter-admin-hero p { color: #d8e9ff; }
.promoter-admin-hero .eyebrow { color: #9fd2ff; }
.promoter-admin-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.promoter-admin-hero .btn-light { border-color: #fff; background: #fff; color: #0d54b5; }
.promoter-admin-hero .btn-light:hover { border-color: #edf5ff; background: #edf5ff; color: #083e89; }
.promoter-admin-hero .btn-outline-light { border-color: rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .09); color: #fff; }
.promoter-admin-hero .btn-outline-light:hover { border-color: #fff; background: rgba(255, 255, 255, .18); color: #fff; }

.promoter-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}
.promoter-stat-card {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 13px;
    padding: 16px;
    border: 1px solid #dbe5f1;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(10, 36, 77, .055);
}
.promoter-stat-icon {
    display: grid;
    width: 43px;
    height: 43px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 13px;
    font-size: .8rem;
    font-weight: 900;
}
.promoter-stat-icon.blue { background: #e8f2ff; color: #1265d6; }
.promoter-stat-icon.green { background: #e7f8ef; color: #0d8954; }
.promoter-stat-icon.amber { background: #fff4d9; color: #b57000; }
.promoter-stat-icon.navy { background: #e8edf7; color: #0b2d62; }
.promoter-stat-card div { min-width: 0; }
.promoter-stat-card small,
.promoter-stat-card strong,
.promoter-stat-card p { display: block; }
.promoter-stat-card small { color: #566a83; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.promoter-stat-card strong { margin-top: 1px; color: #071d40; font-size: 1.42rem; line-height: 1.2; }
.promoter-stat-card p { overflow: hidden; margin-top: 3px; color: #596c83; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }

.promoter-quick-assign {
    display: grid;
    grid-template-columns: minmax(230px, .72fr) minmax(0, 1.55fr);
    align-items: center;
    gap: 24px;
    margin: 0 0 30px;
    padding: 20px;
    border-color: #cfe0f4;
    background: linear-gradient(135deg, #f5f9ff, #fff);
}
.promoter-quick-copy h2 { margin: 5px 0 6px; color: #071e42; font-size: 1.1rem; }
.promoter-quick-copy p { margin: 0; color: #586c85; font-size: .75rem; }
.promoter-quick-assign > form {
    display: grid;
    grid-template-columns: minmax(180px, .75fr) minmax(250px, 1.25fr) auto;
    align-items: end;
    gap: 10px;
}
.promoter-quick-assign label,
.promoter-profile-form-modern label {
    display: grid;
    gap: 6px;
    color: #29425f;
    font-size: .7rem;
    font-weight: 800;
}
.promoter-quick-assign select,
.promoter-profile-form-modern input {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cbd8e8;
    border-radius: 11px;
    background: #fff;
    color: #102a4d;
}
.promoter-quick-assign select:focus,
.promoter-profile-form-modern input:focus {
    border-color: #1470ef;
    outline: 3px solid rgba(20, 112, 239, .12);
}
.promoter-quick-assign.is-empty { grid-template-columns: 1fr auto; }

.promoter-management-section { margin: 34px 0 42px; }
.promoter-section-toolbar { align-items: flex-end; margin-bottom: 14px; }
.promoter-section-toolbar h2 { margin: 4px 0 2px; color: #071e42; }
.promoter-section-toolbar p { margin: 0; color: #586c85; font-size: .76rem; }
.promoter-section-toolbar .search-field { min-width: min(340px, 100%); }
.promoter-search-tools { display: grid; justify-items: end; gap: 5px; }
.promoter-search-count { color: #586c85; font-size: .65rem; font-weight: 700; }
.promoter-management-list { display: grid; gap: 16px; }
.promoter-management-card {
    overflow: hidden;
    padding: 0;
    border-color: #d7e2ef;
    box-shadow: 0 12px 34px rgba(8, 35, 74, .07);
}
.promoter-card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 20px;
    padding: 18px 20px;
    border-bottom: 1px solid #e2e9f2;
    background: #fff;
}
.promoter-card-identity { display: flex; min-width: 0; align-items: center; gap: 12px; }
.promoter-avatar {
    display: grid;
    width: 47px;
    height: 47px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(145deg, #0b2c61, #1576ed);
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(14, 83, 175, .19);
}
.promoter-card-identity > div { min-width: 0; }
.promoter-active-badge {
    display: inline-flex;
    padding: 3px 7px;
    border-radius: 999px;
    background: #e6f8ee;
    color: #087b49;
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.promoter-card-identity h3 { overflow-wrap: anywhere; margin: 4px 0 2px; color: #071e40; font-size: .97rem; }
.promoter-card-identity p { margin: 0; color: #586d86; font-size: .68rem; }
.promoter-card-metrics { display: flex; gap: 8px; }
.promoter-card-metrics > span {
    min-width: 84px;
    padding: 8px 11px;
    border: 1px solid #dce6f1;
    border-radius: 11px;
    background: #f6f9fd;
}
.promoter-card-metrics small,
.promoter-card-metrics strong { display: block; }
.promoter-card-metrics small { color: #566a83; font-size: .59rem; font-weight: 800; text-transform: uppercase; }
.promoter-card-metrics strong { margin-top: 2px; color: #092650; font-size: .9rem; }
.promoter-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.promoter-card-body {
    display: grid;
    grid-template-columns: minmax(290px, .82fr) minmax(0, 1.18fr);
    gap: 14px;
    padding: 16px;
    background: #f5f8fc;
}
.promoter-panel {
    min-width: 0;
    padding: 17px;
    border: 1px solid #dde6f0;
    border-radius: 15px;
    background: #fff;
}
.promoter-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.promoter-panel-heading h4 { margin: 3px 0 0; color: #0a2449; font-size: .94rem; }
.promoter-panel-number { padding: 5px 8px; border-radius: 8px; background: #eef4fc; color: #47709f; font: 800 .64rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.promoter-profile-form.promoter-profile-form-modern {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.promoter-profile-form-modern .btn { width: max-content; margin-top: 2px; }
.promoter-inline-alert { padding: 12px; border: 1px solid #f1d49a; border-radius: 11px; background: #fff8e9; color: #89601b; font-size: .73rem; }
.promoter-student-list { display: grid; max-height: 370px; overflow: auto; gap: 8px; padding-right: 3px; }
.promoter-student-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid #e1e8f1;
    border-radius: 12px;
    background: #fbfdff;
}
.student-mini-avatar {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 11px;
    background: #e8f2ff;
    color: #1261ca;
    font-size: .75rem;
    font-weight: 900;
}
.promoter-student-row > div { min-width: 0; }
.promoter-student-row strong,
.promoter-student-row small { display: block; overflow-wrap: anywhere; }
.promoter-student-row strong { color: #132d50; font-size: .75rem; }
.promoter-student-row small { margin-top: 2px; color: #596d84; font-size: .62rem; }
.promoter-student-row form { margin: 0; }
.promoter-empty-students { display: flex; align-items: center; gap: 12px; min-height: 92px; padding: 15px; border: 1px dashed #bdcce0; border-radius: 13px; background: #f8fbff; }
.promoter-empty-students > span { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 12px; background: #e8f2ff; color: #1265d6; font-size: 1.25rem; }
.promoter-empty-students strong { color: #173354; font-size: .78rem; }
.promoter-empty-students p { margin: 3px 0 0; color: #5b6f87; font-size: .68rem; }
.promoter-page-empty { margin: 25px auto; padding: 34px; text-align: center; }
.promoter-page-empty > span { display: grid; width: 54px; height: 54px; margin: 0 auto 13px; place-items: center; border-radius: 16px; background: #e8f2ff; color: #1264d2; font-weight: 900; }
.promoter-page-empty h2 { color: #09244a; }
.promoter-page-empty p { margin: 6px 0 17px; color: #586d86; }

@media (max-width: 1080px) {
    .promoter-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .promoter-quick-assign { grid-template-columns: 1fr; }
    .promoter-card-header { grid-template-columns: minmax(0, 1fr) auto; }
    .promoter-card-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .promoter-card-body { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .promoter-admin-hero .hero-actions,
    .promoter-admin-hero .hero-actions .btn { width: 100%; }
    .promoter-admin-hero .hero-actions .btn { justify-content: center; }
    .promoter-quick-assign > form { grid-template-columns: 1fr 1fr; }
    .promoter-quick-assign > form .btn { grid-column: 1 / -1; width: 100%; }
    .promoter-section-toolbar { align-items: stretch; flex-direction: column; }
    .promoter-section-toolbar .search-field,
    .promoter-search-tools { width: 100%; }
    .promoter-search-tools { justify-items: stretch; }
    .promoter-card-header { grid-template-columns: 1fr; gap: 13px; }
    .promoter-card-metrics { width: 100%; }
    .promoter-card-metrics > span { flex: 1; }
    .promoter-card-actions { grid-column: auto; }
    .promoter-card-actions .btn { flex: 1; text-align: center; }
}
@media (max-width: 560px) {
    .promoter-overview-grid { grid-template-columns: 1fr; }
    .promoter-quick-assign,
    .promoter-quick-assign.is-empty { grid-template-columns: 1fr; padding: 16px; }
    .promoter-quick-assign > form { grid-template-columns: 1fr; }
    .promoter-quick-assign > form .btn { grid-column: auto; }
    .promoter-card-header { padding: 15px; }
    .promoter-card-actions { align-items: stretch; flex-direction: column; }
    .promoter-card-actions .btn { width: 100%; }
    .promoter-card-body { padding: 11px; }
    .promoter-panel { padding: 14px; }
    .promoter-panel-heading { align-items: flex-start; }
    .promoter-student-row { grid-template-columns: 36px minmax(0, 1fr); }
    .promoter-student-row form { grid-column: 1 / -1; }
    .promoter-student-row form .btn { width: 100%; min-height: 40px; }
    .promoter-profile-form-modern .btn { width: 100%; }
}

/* Visible, protected content removal controls */
.content-delete-panel {
    margin: 22px 0;
    padding: 22px;
    border: 1px solid #ecd6da;
    border-radius: 20px;
    background: linear-gradient(145deg, #fff 0%, #fff8f9 100%);
    box-shadow: 0 14px 38px rgba(83, 22, 34, .06);
}
.content-delete-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 17px;
}
.content-delete-heading h2 { margin: 3px 0 5px; color: #471421; }
.content-delete-heading p { max-width: 760px; margin: 0; color: #67565d; }
.safe-delete-badge {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: #e9f8ef;
    color: #087445;
    font-size: .68rem;
    font-weight: 900;
}
.content-delete-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.content-delete-option {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-content: start;
    gap: 9px 11px;
    padding: 16px;
    border: 1px solid #e3d9dc;
    border-radius: 16px;
    background: #fff;
}
.content-delete-icon {
    display: grid;
    width: 42px;
    height: 42px;
    grid-row: span 1;
    place-items: center;
    border-radius: 13px;
    background: #9c2539;
    color: #fff;
    font-weight: 900;
}
.content-delete-icon.route { background: #5a3b72; }
.content-delete-icon.bootcamp { background: linear-gradient(145deg, #6326bd, #8d38d6); }
.content-delete-icon.course { background: #164f9f; }
.content-delete-option strong,
.content-delete-option small { display: block; }
.content-delete-option strong { color: #28141a; }
.content-delete-option small { margin-top: 3px; color: #685c62; font-size: .7rem; }
.content-delete-option label,
.content-delete-option select,
.content-delete-option .btn,
.content-delete-option > .muted-copy { grid-column: 1 / -1; }
.content-delete-option label { margin-top: 4px; color: #4d3d43; font-size: .7rem; font-weight: 800; }
.content-delete-option select {
    width: 100%;
    min-height: 43px;
    padding: 9px 11px;
    border: 1px solid #d9cdd1;
    border-radius: 11px;
    background: #fff;
    color: #2c1c22;
}
.content-delete-option select:focus { border-color: #c02c45; outline: 3px solid rgba(192, 44, 69, .12); }
.content-delete-option .btn { width: 100%; justify-content: center; }
.content-delete-option > .muted-copy { margin: 0; color: #6a5e63; font-size: .68rem; }
.archived-content-icon.school { background: #8f2438; }
.archived-content-icon.bootcamp { background: #6a2e92; }
.school-route-list { margin: 20px 0; padding: 15px; border: 1px solid #e1e8f1; border-radius: 14px; background: #f8fbff; }
.school-route-list h2 { margin: 0 0 10px; color: #122e54; font-size: .92rem; }
.school-route-list > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 0; border-top: 1px solid #e2e9f2; }
.school-route-list > div:first-of-type { border-top: 0; }
.school-route-list span { min-width: 0; overflow-wrap: anywhere; color: #203b5e; font-weight: 800; }
.school-route-list small { flex: 0 0 auto; color: #5b6f87; }

@media (max-width: 980px) {
    .content-delete-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .content-delete-panel { padding: 16px; }
    .content-delete-heading { align-items: stretch; flex-direction: column; }
    .safe-delete-badge { width: max-content; }
    .school-route-list > div { align-items: flex-start; flex-direction: column; gap: 3px; }
}

.catalog-price del{display:block;color:#8694a6;font-size:.68rem;margin-bottom:2px}.course-original-price{display:block;margin:-12px 0 15px;color:#697b92;font-size:.8rem}.course-detail-summary{font-size:1rem;font-weight:700;color:#3f5878!important}.course-program-overview{margin:0 0 26px}.course-program-about{color:#4f6480;line-height:1.75;max-width:900px}.course-program-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 0}.course-program-facts>div{padding:13px;border-radius:13px;background:#f2f7fd}.course-program-facts dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#6f8198;font-weight:900}.course-program-facts dd{margin:5px 0 0;color:#092348;font-weight:800;font-size:.82rem}.course-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 26px}.course-learning-grid h2{font-size:1.05rem}.course-learning-grid ul{padding-left:1.2rem;color:#526983;line-height:1.65}.course-learning-grid li+li{margin-top:6px}.course-certificate-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;background:linear-gradient(135deg,#eef7ff,#fff)}.course-certificate-panel h2{margin:5px 0}.course-certificate-panel p{margin:0;color:#56708f}.course-certificate-panel>strong{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#126be6;color:#fff;font-size:1.7rem}@media(max-width:900px){.course-program-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.course-program-facts,.course-learning-grid{grid-template-columns:1fr}.course-certificate-panel{align-items:flex-start}.course-certificate-panel>strong{width:46px;height:46px;flex:0 0 46px}}

.course-curriculum{margin-bottom:28px}.course-curriculum-course+ .course-curriculum-course{margin-top:22px}.course-curriculum-course h3{font-size:1.05rem;margin:0 0 10px}.course-curriculum details{border:1px solid #dce6f1;border-radius:13px;overflow:hidden}.course-curriculum details+details{margin-top:8px}.course-curriculum summary{display:flex;justify-content:space-between;gap:14px;padding:13px 15px;cursor:pointer;background:#f7faff;color:#102b50;font-weight:800}.course-curriculum summary em{color:#647b98;font-size:.72rem;font-style:normal;font-weight:700}.course-curriculum details>p{padding:0 15px;color:#637894}.course-curriculum ol{list-style:none;padding:0 15px 14px;margin:0}.course-curriculum li{display:flex;gap:12px;padding:8px 0;border-top:1px solid #edf1f6}.course-curriculum li span{min-width:70px;color:#2771ca;font-size:.65rem;text-transform:uppercase;font-weight:900}.course-curriculum li strong{font-size:.8rem;color:#314a69}

/* Secure Course Pack importer */
.course-import-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    align-items: center;
    gap: 28px;
    margin-bottom: 20px;
    padding: 30px;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(135deg, #0b2857 0%, #154f9f 56%, #1769d5 100%);
    box-shadow: 0 20px 45px rgba(20, 67, 132, .18);
    color: #fff;
}
.course-import-hero .eyebrow { color: #80d7ff; }
.course-import-hero h1 { margin: 5px 0 10px; color: #fff; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.course-import-hero p { max-width: 760px; margin: 0; color: #dbeaff; line-height: 1.65; }
.course-import-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 19px; }
.course-import-hero .btn-outline { border-color: rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .08); color: #fff; }
.course-import-shield {
    display: grid;
    width: 164px;
    min-height: 164px;
    place-content: center;
    justify-self: end;
    border: 1px solid rgba(255, 255, 255, .27);
    border-radius: 38px 38px 62px 62px;
    background: linear-gradient(155deg, rgba(255,255,255,.2), rgba(255,255,255,.06));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
    text-align: center;
}
.course-import-shield strong { font-size: 2.15rem; letter-spacing: .08em; }
.course-import-shield span { display: block; max-width: 110px; margin-top: 5px; color: #d7e8ff; font-size: .7rem; font-weight: 800; line-height: 1.35; }
.course-import-unavailable { margin-bottom: 18px; line-height: 1.55; }
.course-import-unavailable strong { display: block; margin-bottom: 3px; }
.course-import-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
.course-import-steps article {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border: 1px solid #dce6f3;
    border-radius: 16px;
    background: #fff;
}
.course-import-steps article > span {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    background: #eaf3ff;
    color: #0d5bc4;
    font-weight: 900;
}
.course-import-steps strong { display: block; color: #102e59; }
.course-import-steps p { margin: 4px 0 0; color: #617089; font-size: .76rem; line-height: 1.45; }
.course-import-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(270px, .7fr);
    align-items: start;
    gap: 18px;
    margin-bottom: 20px;
}
.course-import-upload-card,
.course-import-rules,
.course-import-preview,
.course-import-history { border: 1px solid #dce5f1; box-shadow: 0 12px 30px rgba(21, 54, 99, .06); }
.course-import-upload-card .section-heading,
.course-import-preview .section-heading { align-items: flex-start; }
.course-import-draft-badge {
    flex: 0 0 auto;
    padding: 7px 11px;
    border-radius: 999px;
    background: #fff4d8;
    color: #945c00;
    font-size: .68rem;
    font-weight: 900;
}
.course-import-upload-form { display: grid; gap: 15px; }
.course-import-dropzone {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 122px;
    padding: 20px;
    border: 2px dashed #9bbbe4;
    border-radius: 18px;
    background: #f5f9ff;
    color: #15365f;
    cursor: pointer;
}
.course-import-dropzone:focus-within { border-color: #1468d4; box-shadow: 0 0 0 4px rgba(20, 104, 212, .11); }
.course-import-file-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 15px;
    background: #1468d4;
    box-shadow: 0 8px 18px rgba(20, 104, 212, .22);
    color: #fff;
    font-size: 1.7rem;
    font-weight: 500;
}
.course-import-dropzone strong,
.course-import-dropzone small { display: block; }
.course-import-dropzone small { margin-top: 4px; color: #667991; line-height: 1.45; }
.course-import-dropzone input { min-width: 0; margin-left: auto; color: #385473; }
.course-import-dropzone input::file-selector-button {
    margin-right: 10px;
    padding: 9px 12px;
    border: 0;
    border-radius: 10px;
    background: #dcecff;
    color: #104f9f;
    font-weight: 800;
    cursor: pointer;
}
.course-import-upload-notes { display: flex; flex-wrap: wrap; gap: 7px; }
.course-import-upload-notes span {
    padding: 6px 9px;
    border-radius: 999px;
    background: #edf7f1;
    color: #177149;
    font-size: .67rem;
    font-weight: 800;
}
.course-import-rules { position: sticky; top: 104px; }
.course-import-rules h2 { margin: 5px 0 12px; color: #17375f; }
.course-import-rules ul { display: grid; gap: 9px; margin: 0 0 17px; padding-left: 19px; color: #52647a; font-size: .78rem; line-height: 1.48; }
.course-import-preview { margin: 20px 0; }
.course-import-status {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: 6px 9px;
    border-radius: 999px;
    background: #edf1f6;
    color: #536273;
    font-size: .66rem;
    font-weight: 900;
    white-space: nowrap;
}
.course-import-status.ready { background: #e9f3ff; color: #0c5dbb; }
.course-import-status.pending { background: #fff5d9; color: #916100; }
.course-import-status.success { background: #e8f8ef; color: #087344; }
.course-import-status.error { background: #fff0f1; color: #b12537; }
.course-import-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(90px, 1fr));
    gap: 10px;
    margin: 16px 0;
}
.course-import-summary-grid > div {
    padding: 13px;
    border: 1px solid #e1e9f3;
    border-radius: 13px;
    background: #f8fbff;
}
.course-import-summary-grid small,
.course-import-summary-grid strong { display: block; }
.course-import-summary-grid small { color: #67788e; font-size: .65rem; font-weight: 800; }
.course-import-summary-grid strong { margin-top: 4px; color: #102f59; font-size: 1.12rem; }
.course-import-warning-list { margin: 15px 0; padding: 14px 16px; border-left: 4px solid #e59b18; border-radius: 0 12px 12px 0; background: #fff8e8; color: #704900; }
.course-import-warning-list ul { margin: 7px 0 0; padding-left: 19px; font-size: .76rem; line-height: 1.5; }
.course-import-apply-form { display: grid; gap: 15px; margin-top: 17px; padding-top: 17px; border-top: 1px solid #e1e8f1; }
.course-import-confirm-actions { display: flex; justify-content: flex-end; gap: 9px; }
.course-import-complete { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 14px; border-radius: 13px; background: #eaf8f0; color: #176643; }
.course-import-complete span { flex: 1; }
.course-import-no-apply { margin-top: 15px; padding: 13px; border-radius: 12px; background: #f1f4f8; color: #59697c; }
.course-import-history { margin-top: 20px; }
.course-import-table-note { display: block; margin-top: 3px; color: #6a7889; font-size: .7rem; }
.empty-state.compact { min-height: 170px; }

@media (max-width: 1050px) {
    .course-import-summary-grid { grid-template-columns: repeat(3, minmax(90px, 1fr)); }
}
@media (max-width: 900px) {
    .course-import-hero { grid-template-columns: 1fr; }
    .course-import-shield { display: none; }
    .course-import-steps { grid-template-columns: 1fr; }
    .course-import-layout { grid-template-columns: 1fr; }
    .course-import-rules { position: static; }
}
@media (max-width: 640px) {
    .course-import-hero { padding: 21px; border-radius: 19px; }
    .course-import-hero-actions,
    .course-import-confirm-actions,
    .course-import-complete { align-items: stretch; flex-direction: column; }
    .course-import-hero-actions .btn,
    .course-import-confirm-actions .btn { width: 100%; justify-content: center; }
    .course-import-dropzone { align-items: flex-start; flex-direction: column; }
    .course-import-dropzone input { width: 100%; margin-left: 0; }
    .course-import-summary-grid { grid-template-columns: repeat(2, minmax(90px, 1fr)); }
}

/* Student learning path and durable progress */
.learning-catalog-item{display:flex;min-width:0;flex-direction:column}.learning-catalog-item>.catalog-card{height:100%}.learning-card-progress{margin:-1px 12px 0;padding:12px 14px;border:1px solid #d9e6f4;border-top:0;border-radius:0 0 15px 15px;background:#f8fbff;box-shadow:0 8px 20px rgba(9,38,79,.04)}.learning-card-progress>div,.course-progress-summary>div,.hero-learning-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.learning-card-progress span,.course-progress-summary span,.hero-learning-progress span{color:#5f7592;font-size:.7rem;font-weight:800}.learning-card-progress strong,.course-progress-summary strong,.hero-learning-progress strong{color:#075bc9}.learning-card-progress small,.course-progress-summary small,.hero-learning-progress small{display:block;margin-top:6px;color:#71849d;font-size:.65rem}.learning-progress-track{display:block!important;height:7px;margin-top:8px;overflow:hidden;border-radius:999px;background:#dfe8f3}.learning-progress-track>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0967ed,#20a7ff);transition:width .25s ease}.hero-learning-progress{max-width:520px;margin-top:20px;padding:14px 16px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(255,255,255,.1)}.hero-learning-progress span,.hero-learning-progress small{color:#d7e8ff}.hero-learning-progress strong{color:#fff}.hero-learning-progress .learning-progress-track{background:rgba(255,255,255,.2)}.hero-learning-progress .learning-progress-track>i{background:#fff}
.learning-path-list{display:grid;gap:13px;padding:0;margin:0;list-style:none}.learning-path-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(150px,210px) auto;gap:17px;align-items:center;padding:17px 18px;border:1px solid #dbe5f1;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(9,38,79,.055)}.learning-path-card.is-complete{border-color:#a7ddc3;background:linear-gradient(90deg,#f7fffb,#fff 48%)}.learning-path-number{display:grid;width:43px;height:43px;place-items:center;border-radius:13px;background:#e9f3ff;color:#0963dd;font-weight:900}.learning-path-card.is-complete .learning-path-number{background:#daf5e7;color:#087847}.learning-path-copy{min-width:0}.learning-path-copy .eyebrow{font-size:.62rem}.learning-path-copy h3{margin:3px 0 4px;color:#071c3d;font-size:1rem}.learning-path-copy p{margin:0;color:#6a7e98;font-size:.73rem;line-height:1.45}.learning-path-progress{min-width:0}.learning-path-progress>strong,.learning-path-progress>small{display:block}.learning-path-progress>strong{color:#075dce}.learning-path-progress>small{margin-top:5px;color:#71849a;font-size:.66rem}.learning-path-card>.btn{min-width:96px;text-align:center}.route-learning-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:linear-gradient(135deg,#061a3b,#104392 68%,#1279ef);color:#fff;border:0}.route-learning-hero h1{color:#fff}.route-learning-hero p{max-width:760px;color:#d5e7ff}.route-learning-hero .eyebrow{color:#9fd1ff}.route-learning-stats{display:grid;min-width:150px;padding:17px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.1);grid-template-columns:1fr 1fr;align-items:end}.route-learning-stats strong,.route-learning-stats b{font-size:1.7rem}.route-learning-stats span,.route-learning-stats small{color:#cbe1ff;font-size:.67rem;text-transform:uppercase}.route-progress-overview{display:grid;grid-template-columns:minmax(220px,.55fr) 1fr;gap:20px;align-items:center;margin:-12px 0 28px;padding:16px 20px;border:1px solid #dbe6f3;border-radius:16px;background:#fff}.route-progress-overview strong,.route-progress-overview span{display:block}.route-progress-overview strong{color:#09234a}.route-progress-overview div>span{margin-top:3px;color:#71849c;font-size:.72rem}
.course-progress-summary{margin-top:15px;padding:11px 12px;border:1px solid #d8e5f3;border-radius:12px;background:#fff}.course-progress-summary .learning-progress-track{height:6px}.sidebar-item.is-complete .item-num{background:#daf5e7;color:#087847}.sidebar-item.is-complete .item-title{color:#436b59}.sidebar-item.is-complete.active .item-num{background:#0b9a5c;color:#fff}.lesson-completion-panel{display:flex;width:min(1120px,100%);margin:14px auto 0;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #d8e4f1;border-radius:15px;background:#fff}.learning-complete-toggle{display:flex;align-items:center;gap:12px;cursor:pointer}.learning-complete-toggle input{width:21px;height:21px;accent-color:#087e4c}.learning-complete-toggle strong,.learning-complete-toggle small{display:block}.learning-complete-toggle strong{color:#092449}.learning-complete-toggle small{margin-top:2px;color:#71849c;font-size:.68rem}.learning-save-status{min-height:1.1em;color:#6b7e95;font-size:.7rem;font-weight:800}.learning-save-status[data-state=success]{color:#087747}.learning-save-status[data-state=error]{color:#bd2e42}.timeline-quiz-stage{width:min(850px,100%);margin:30px auto;padding:clamp(28px,5vw,55px);text-align:center}.timeline-quiz-stage.is-passed{border-color:#a5dbc1;background:linear-gradient(180deg,#f5fff9,#fff)}.timeline-quiz-icon{display:grid;width:66px;height:66px;margin:0 auto 16px;place-items:center;border-radius:20px;background:#e8f2ff;color:#0966e4;font-size:1.7rem;font-weight:900}.timeline-quiz-stage.is-passed .timeline-quiz-icon{background:#dcf6e9;color:#087849}.timeline-quiz-stage h3{margin:7px 0;color:#071c3e;font-size:1.45rem}.timeline-quiz-stage>p{max-width:650px;margin:0 auto 18px;color:#637792;line-height:1.65}.quiz-stage-facts{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.quiz-stage-facts span,.quiz-stage-facts strong{padding:7px 10px;border-radius:999px;background:#edf4fd;color:#406080;font-size:.7rem}.quiz-stage-facts strong{background:#dcf6e9;color:#087849}.quiz-learning-page{display:contents}
@media (max-width:760px){.learning-path-card{grid-template-columns:auto minmax(0,1fr);gap:12px}.learning-path-progress,.learning-path-card>.btn{grid-column:2}.learning-path-card>.btn{width:max-content}.route-learning-hero{grid-template-columns:1fr}.route-learning-stats{margin-top:8px}.route-progress-overview{grid-template-columns:1fr}.lesson-completion-panel{align-items:flex-start;flex-direction:column}.learning-save-status{padding-left:33px}}
