/* =========================================================
   CFTeCourses — Learning Center V2
   ========================================================= */

:root{
    --lc-bg:#f5f9fc;
    --lc-card:#ffffff;
    --lc-text:#12344d;
    --lc-muted:#718494;
    --lc-line:#e3edf3;
    --lc-navy:#123e5c;
    --lc-blue:#087fa5;
    --lc-cyan:#12b8d4;
    --lc-soft:#eef8fb;
    --lc-success:#159a69;
    --lc-radius:22px;
    --lc-shadow:0 12px 38px rgba(18,62,92,.07);
}

[data-theme="dark"]{
    --lc-bg:#071923;
    --lc-card:#0d2331;
    --lc-text:#edf8fc;
    --lc-muted:#91a8b7;
    --lc-line:#203b4b;
    --lc-soft:#102c3c;
    --lc-shadow:0 12px 38px rgba(0,0,0,.18);
}

.lc-page{
    min-height:100vh;
    background:var(--lc-bg);
    color:var(--lc-text);
    padding:34px 18px 70px;
}

.lc-shell{
    width:min(1220px,100%);
    margin:0 auto;
}

.lc-hero{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    min-height:190px;
    padding:36px 38px;
    border-radius:28px;
    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(34,211,238,.18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #103b59 0%,
            #155b76 100%
        );
    color:#fff;
    box-shadow:0 22px 55px rgba(18,62,92,.14);
}

.lc-hero:after{
    content:"LEARN";
    position:absolute;
    left:25px;
    bottom:-36px;
    font-size:112px;
    font-weight:900;
    line-height:1;
    letter-spacing:-5px;
    opacity:.045;
    pointer-events:none;
}

.lc-eyebrow{
    display:block;
    margin-bottom:9px;
    color:#8ceafa;
    font-size:11px;
    font-weight:900;
    letter-spacing:.13em;
}

.lc-hero h1{
    margin:0;
    font-size:clamp(28px,4vw,43px);
    line-height:1.25;
}

.lc-hero p{
    max-width:680px;
    margin:12px 0 0;
    color:rgba(255,255,255,.76);
    font-size:14px;
    line-height:1.9;
}

.lc-hero-action{
    position:relative;
    z-index:2;
    flex:none;
}

.lc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 19px;
    border:0;
    border-radius:13px;
    background:var(--lc-navy);
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    transition:.2s ease;
}

.lc-btn:hover{
    transform:translateY(-1px);
    background:var(--lc-blue);
}

.lc-btn-light{
    background:#fff;
    color:#123e5c;
}

.lc-btn-light:hover{
    background:#e9f9fc;
    color:#123e5c;
}

.lc-flash{
    margin-bottom:18px;
    padding:14px 17px;
    border:1px solid #bde4d0;
    border-radius:14px;
    background:#effaf4;
    color:#21704a;
    font-size:13px;
    font-weight:800;
}

.lc-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-top:18px;
}

.lc-stat{
    display:flex;
    align-items:center;
    gap:14px;
    padding:20px;
    border:1px solid var(--lc-line);
    border-radius:18px;
    background:var(--lc-card);
    box-shadow:var(--lc-shadow);
}

.lc-stat-icon{
    width:43px;
    height:43px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:var(--lc-soft);
    color:var(--lc-blue);
    font-size:19px;
    font-weight:900;
}

.lc-stat strong{
    display:block;
    color:var(--lc-text);
    font-size:25px;
    line-height:1;
}

.lc-stat span{
    display:block;
    margin-top:6px;
    color:var(--lc-muted);
    font-size:11px;
    font-weight:800;
}

.lc-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:20px;
    margin-top:20px;
}

.lc-main,
.lc-side{
    display:grid;
    align-content:start;
    gap:20px;
}

.lc-card{
    border:1px solid var(--lc-line);
    border-radius:var(--lc-radius);
    background:var(--lc-card);
    box-shadow:var(--lc-shadow);
    padding:25px;
}

.lc-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}

.lc-card-head h2{
    margin:0;
    color:var(--lc-text);
    font-size:19px;
}

.lc-card-head p{
    margin:6px 0 0;
    color:var(--lc-muted);
    font-size:12px;
    line-height:1.7;
}

.lc-paths{
    display:grid;
    gap:14px;
}

.lc-path{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:20px;
    padding:20px;
    border:1px solid var(--lc-line);
    border-radius:17px;
    background:var(--lc-soft);
}

.lc-path-label{
    display:flex;
    align-items:center;
    gap:13px;
}

.lc-path-badge{
    width:48px;
    height:48px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:var(--lc-navy);
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.lc-path h3{
    margin:0;
    color:var(--lc-text);
    font-size:16px;
}

.lc-path-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:7px;
}

.lc-chip{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    background:var(--lc-card);
    color:var(--lc-muted);
    font-size:10px;
    font-weight:800;
}

.lc-empty{
    padding:35px 22px;
    border:1px dashed #bdd2dc;
    border-radius:17px;
    text-align:center;
}

.lc-empty-icon{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 13px;
    border-radius:17px;
    background:var(--lc-soft);
    color:var(--lc-blue);
    font-size:23px;
}

.lc-empty strong{
    display:block;
    margin-bottom:7px;
    font-size:16px;
}

.lc-empty p{
    max-width:480px;
    margin:0 auto 17px;
    color:var(--lc-muted);
    font-size:12px;
    line-height:1.8;
}

.lc-activity{
    display:grid;
}

.lc-activity-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 0;
    border-bottom:1px solid var(--lc-line);
}

.lc-activity-row:last-child{
    border-bottom:0;
}

.lc-activity-title{
    font-size:13px;
    font-weight:800;
}

.lc-activity-date{
    flex:none;
    color:var(--lc-muted);
    font-size:11px;
}

.lc-profile{
    display:flex;
    align-items:center;
    gap:13px;
}

.lc-avatar{
    width:56px;
    height:56px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:
        linear-gradient(
            135deg,
            var(--lc-navy),
            var(--lc-blue)
        );
    color:#fff;
    font-size:21px;
    font-weight:900;
}

.lc-profile strong{
    display:block;
    font-size:15px;
}

.lc-profile span{
    display:block;
    margin-top:4px;
    color:var(--lc-muted);
    font-size:11px;
    overflow-wrap:anywhere;
}

.lc-menu{
    display:grid;
    gap:7px;
    margin-top:20px;
}

.lc-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 13px;
    border-radius:11px;
    color:var(--lc-text);
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    transition:.2s ease;
}

.lc-menu a:hover{
    background:var(--lc-soft);
}

.lc-menu a.active{
    background:var(--lc-soft);
    color:var(--lc-blue);
}

.lc-quick{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}

.lc-quick a{
    display:flex;
    flex-direction:column;
    gap:6px;
    min-height:82px;
    padding:14px;
    border:1px solid var(--lc-line);
    border-radius:14px;
    color:var(--lc-text);
    text-decoration:none;
    background:var(--lc-card);
}

.lc-quick a:hover{
    background:var(--lc-soft);
}

.lc-quick strong{
    font-size:12px;
}

.lc-quick span{
    color:var(--lc-muted);
    font-size:10px;
    line-height:1.5;
}

.lc-readiness{
    margin-top:17px;
    padding:17px;
    border-radius:15px;
    background:var(--lc-soft);
}

.lc-readiness strong{
    display:block;
    font-size:13px;
}

.lc-readiness p{
    margin:7px 0 0;
    color:var(--lc-muted);
    font-size:11px;
    line-height:1.7;
}

.lc-footer-note{
    margin-top:26px;
    padding-top:20px;
    border-top:1px solid var(--lc-line);
    text-align:center;
    color:var(--lc-muted);
    font-size:11px;
    line-height:1.8;
}

.lc-footer-note a{
    color:var(--lc-blue);
    text-decoration:none;
    font-weight:800;
}

[data-theme="dark"] .lc-flash{
    background:#102f27;
    border-color:#235743;
    color:#8ee2ba;
}

[data-theme="dark"] .lc-empty{
    border-color:#2b4a5b;
}

@media(max-width:1000px){
    .lc-layout{
        grid-template-columns:1fr;
    }

    .lc-side{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:760px){
    .lc-page{
        padding:22px 12px 55px;
    }

    .lc-hero{
        align-items:flex-start;
        flex-direction:column;
        padding:27px 22px;
    }

    .lc-hero-action,
    .lc-hero-action .lc-btn{
        width:100%;
    }

    .lc-stats{
        grid-template-columns:repeat(2,1fr);
    }

    .lc-side{
        grid-template-columns:1fr;
    }

    .lc-path{
        grid-template-columns:1fr;
    }

    .lc-path .lc-btn{
        width:100%;
    }
}

@media(max-width:460px){
    .lc-stats{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .lc-stat{
        align-items:flex-start;
        flex-direction:column;
        padding:16px;
    }

    .lc-card{
        padding:19px;
    }

    .lc-quick{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   CFTeCourses — Learning Center Premium V2
   ========================================================== */

:root{
    --lcv2-ink:#102a43;
    --lcv2-muted:#6b8297;
    --lcv2-line:#dfeaf2;
    --lcv2-blue:#0ea5e9;
    --lcv2-blue2:#2563eb;
    --lcv2-teal:#14b8a6;
    --lcv2-green:#22c55e;
    --lcv2-purple:#8b5cf6;
    --lcv2-orange:#f59e0b;
    --lcv2-pink:#ec4899;
}


/* ---------- Page atmosphere ---------- */

body:has(.lc-page){
    background:
        radial-gradient(
            circle at 7% 7%,
            rgba(14,165,233,.12),
            transparent 25%
        ),
        radial-gradient(
            circle at 94% 13%,
            rgba(139,92,246,.11),
            transparent 27%
        ),
        radial-gradient(
            circle at 88% 88%,
            rgba(20,184,166,.09),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #f7fcff 0%,
            #ffffff 42%,
            #f8fbff 100%
        );
    background-attachment:fixed;
}

.lc-page{
    position:relative;
    isolation:isolate;
}

.lc-shell{
    width:min(1240px,calc(100% - 40px));
    margin-inline:auto;
}


/* ---------- Hero ---------- */

.lc-hero{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(125,180,211,.24) !important;
    border-radius:30px !important;
    background:
        linear-gradient(
            125deg,
            #0f766e 0%,
            #0e7490 38%,
            #2563eb 72%,
            #7c3aed 115%
        ) !important;
    box-shadow:
        0 25px 60px rgba(20,83,115,.18) !important;
}

.lc-hero::before{
    content:"";
    position:absolute;
    width:310px;
    height:310px;
    top:-185px;
    left:-80px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
}

.lc-hero::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    bottom:-125px;
    right:42%;
    border-radius:50%;
    background:rgba(255,255,255,.08);
}

.lc-hero > *{
    position:relative;
    z-index:1;
}

.lc-eyebrow{
    display:inline-flex !important;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:7px 12px !important;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
}

.lc-eyebrow::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#7fffd4;
    box-shadow:0 0 0 5px rgba(127,255,212,.12);
}

.lc-hero h1{
    letter-spacing:-.025em;
}

.lc-hero-action{
    gap:10px !important;
}

.lc-btn-light{
    border:1px solid rgba(255,255,255,.25) !important;
    background:rgba(255,255,255,.14) !important;
    color:#fff !important;
    backdrop-filter:blur(10px);
}

.lc-btn-light:hover{
    background:#fff !important;
    color:#135a75 !important;
}


/* ---------- Statistics ---------- */

.lc-stats{
    gap:15px !important;
}

.lc-stat{
    position:relative;
    overflow:hidden;
    min-height:126px;
    border:1px solid #e3edf4 !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.92) !important;
    box-shadow:
        0 13px 32px rgba(43,86,120,.075) !important;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.lc-stat:hover{
    transform:translateY(-4px);
    box-shadow:
        0 20px 42px rgba(43,86,120,.12) !important;
}

.lc-stat::after{
    content:"";
    position:absolute;
    width:75px;
    height:75px;
    left:-30px;
    bottom:-35px;
    border-radius:50%;
    background:currentColor;
    opacity:.035;
}

.lc-stat:nth-child(1){
    color:#07845e;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f1fbf7
        ) !important;
}

.lc-stat:nth-child(2){
    color:#0878bb;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f1f9ff
        ) !important;
}

.lc-stat:nth-child(3){
    color:#7250c8;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f7f4ff
        ) !important;
}

.lc-stat:nth-child(4){
    color:#b86c08;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fff8ed
        ) !important;
}

.lc-stat-icon{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:43px !important;
    height:43px !important;
    border-radius:14px !important;
    background:currentColor !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(43,86,120,.12);
}


/* ---------- Main layout ---------- */

.lc-layout{
    align-items:start;
    gap:22px !important;
}

.lc-main,
.lc-side{
    gap:20px !important;
}


/* ---------- Cards ---------- */

.lc-card{
    position:relative;
    overflow:hidden;
    border:1px solid #e1ebf2 !important;
    border-radius:25px !important;
    background:rgba(255,255,255,.91) !important;
    box-shadow:
        0 14px 38px rgba(43,86,120,.075) !important;
    transition:
        box-shadow .22s ease,
        border-color .22s ease;
}

.lc-card:hover{
    border-color:#cfe2ed !important;
    box-shadow:
        0 18px 45px rgba(43,86,120,.105) !important;
}

.lc-card-head h2{
    color:var(--lcv2-ink);
}

.lc-card-head p{
    color:var(--lcv2-muted);
}


/* ---------- Main buttons ---------- */

.lc-btn{
    border:0 !important;
    border-radius:13px !important;
    background:
        linear-gradient(
            135deg,
            var(--lcv2-blue2),
            var(--lcv2-blue)
        ) !important;
    color:#fff !important;
    box-shadow:
        0 9px 20px rgba(14,165,233,.20);
    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

.lc-btn:hover{
    transform:translateY(-2px);
    box-shadow:
        0 13px 26px rgba(14,165,233,.27);
}


/* ---------- Learning paths ---------- */

.lc-paths{
    gap:14px !important;
}

.lc-path{
    position:relative;
    overflow:hidden;
    border:1px solid #e1ebf2 !important;
    border-radius:20px !important;
    background:
        linear-gradient(
            135deg,
            #fbfeff,
            #f6fbff
        ) !important;
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.lc-path::before{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:4px;
    height:100%;
    background:
        linear-gradient(
            180deg,
            var(--lcv2-teal),
            var(--lcv2-blue),
            var(--lcv2-purple)
        );
}

.lc-path:hover{
    transform:translateY(-3px);
    border-color:#bfe1ef !important;
    box-shadow:
        0 14px 30px rgba(43,86,120,.09);
}

.lc-path-badge{
    background:
        linear-gradient(
            145deg,
            #0f766e,
            #0ea5e9
        ) !important;
    color:#fff !important;
    box-shadow:
        0 8px 18px rgba(14,165,233,.18);
}

.lc-chip{
    border:1px solid #dce9f1 !important;
    background:#fff !important;
    color:#5e778b !important;
}


/* ---------- Activity ---------- */

.lc-activity{
    display:grid;
    gap:10px;
}

.lc-activity-row{
    position:relative;
    border:1px solid #e6eef4 !important;
    border-radius:15px !important;
    background:#fbfdff !important;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.lc-activity-row::before{
    content:"";
    width:8px;
    height:8px;
    flex:0 0 8px;
    border-radius:50%;
    background:var(--lcv2-teal);
    box-shadow:
        0 0 0 5px rgba(20,184,166,.08);
}

.lc-activity-row:hover{
    transform:translateX(-3px);
    border-color:#c9e4ee !important;
    background:#fff !important;
}

.lc-activity-title{
    color:#294861;
    font-weight:800;
}

.lc-activity-date{
    color:#8297a7;
}


/* ---------- Empty state ---------- */

.lc-empty{
    border:1px dashed #cbdfe9 !important;
    border-radius:20px !important;
    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(14,165,233,.07),
            transparent 28%
        ),
        #fbfdff !important;
}

.lc-empty-icon{
    display:flex !important;
    align-items:center;
    justify-content:center;
    background:
        linear-gradient(
            145deg,
            #e9fbf7,
            #edf8ff
        ) !important;
    color:#087f8c !important;
}


/* ---------- Quick actions ---------- */

.lc-quick{
    gap:12px !important;
}

.lc-quick a{
    position:relative;
    overflow:hidden;
    border:1px solid #e2ebf2 !important;
    border-radius:18px !important;
    background:#fff !important;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease !important;
}

.lc-quick a:nth-child(1){
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f0fbf7
        ) !important;
}

.lc-quick a:nth-child(2){
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f1f9ff
        ) !important;
}

.lc-quick a:nth-child(3){
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8f4ff
        ) !important;
}

.lc-quick a:nth-child(4){
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fff8ed
        ) !important;
}

.lc-quick a::after{
    content:"←";
    position:absolute;
    left:15px;
    bottom:13px;
    font-weight:900;
    opacity:.25;
    transition:
        transform .2s ease,
        opacity .2s ease;
}

.lc-quick a:hover{
    transform:translateY(-4px);
    border-color:#c8e3ee !important;
    box-shadow:
        0 13px 28px rgba(43,86,120,.09);
}

.lc-quick a:hover::after{
    transform:translateX(-4px);
    opacity:.7;
}

.lc-quick strong{
    color:var(--lcv2-ink);
}

.lc-quick span{
    color:var(--lcv2-muted);
}


/* ---------- Profile ---------- */

.lc-profile{
    position:relative;
    padding-bottom:18px;
    border-bottom:1px solid #e8eff4;
}

.lc-avatar{
    position:relative;
    width:58px !important;
    height:58px !important;
    border-radius:18px !important;
    background:
        linear-gradient(
            145deg,
            var(--lcv2-teal),
            var(--lcv2-blue),
            var(--lcv2-purple)
        ) !important;
    color:#fff !important;
    box-shadow:
        0 10px 24px rgba(14,165,233,.20);
}

.lc-avatar::after{
    content:"";
    position:absolute;
    right:-2px;
    bottom:-2px;
    width:13px;
    height:13px;
    border:3px solid #fff;
    border-radius:50%;
    background:#22c55e;
}

.lc-profile strong{
    color:var(--lcv2-ink);
}

.lc-profile span{
    color:#8094a5;
}


/* ---------- Member menu ---------- */

.lc-menu{
    gap:7px !important;
}

.lc-menu a{
    border:1px solid transparent;
    border-radius:13px !important;
    color:#4c667a !important;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease !important;
}

.lc-menu a:hover{
    transform:translateX(-3px);
    border-color:#dce9f1;
    background:#f6fbfe !important;
}

.lc-menu a.active{
    border-color:#cce8ef !important;
    background:
        linear-gradient(
            135deg,
            #edfafa,
            #edf7ff
        ) !important;
    color:#087f8c !important;
}


/* ---------- Performance ---------- */

.lc-readiness{
    position:relative;
    overflow:hidden;
    border:1px solid #dbeaf2 !important;
    border-radius:18px !important;
    background:
        linear-gradient(
            135deg,
            #f0fbf8,
            #f2f9ff,
            #f8f5ff
        ) !important;
}

.lc-readiness::after{
    content:"";
    position:absolute;
    width:95px;
    height:95px;
    left:-35px;
    bottom:-45px;
    border-radius:50%;
    background:rgba(139,92,246,.07);
}

.lc-readiness strong{
    color:#087f8c !important;
}

.lc-readiness p{
    color:#607b8e;
}


/* ---------- Footer ---------- */

.lc-footer-note{
    margin-top:28px !important;
    padding:20px !important;
    border-top:1px solid #e1ebf2;
    color:#8296a6 !important;
}

.lc-footer-note a{
    color:#087f8c !important;
    font-weight:800;
}


/* ---------- Dark mode ---------- */

html[data-theme="dark"] body:has(.lc-page){
    background:
        radial-gradient(
            circle at 7% 7%,
            rgba(14,165,233,.09),
            transparent 25%
        ),
        radial-gradient(
            circle at 94% 13%,
            rgba(139,92,246,.09),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #071521,
            #0a1b29 48%,
            #071521
        );
}

html[data-theme="dark"] .lc-card,
html[data-theme="dark"] .lc-stat{
    border-color:rgba(148,196,221,.12) !important;
    background:
        linear-gradient(
            145deg,
            rgba(13,34,51,.96),
            rgba(10,28,43,.96)
        ) !important;
}

html[data-theme="dark"] .lc-card-head h2,
html[data-theme="dark"] .lc-profile strong,
html[data-theme="dark"] .lc-quick strong{
    color:#edf8ff;
}

html[data-theme="dark"] .lc-card-head p,
html[data-theme="dark"] .lc-profile span,
html[data-theme="dark"] .lc-quick span{
    color:#94abba;
}

html[data-theme="dark"] .lc-path,
html[data-theme="dark"] .lc-activity-row,
html[data-theme="dark"] .lc-quick a,
html[data-theme="dark"] .lc-empty{
    border-color:rgba(148,196,221,.12) !important;
    background:rgba(255,255,255,.035) !important;
}

html[data-theme="dark"] .lc-chip{
    border-color:rgba(148,196,221,.12) !important;
    background:rgba(255,255,255,.045) !important;
    color:#a7bdca !important;
}

html[data-theme="dark"] .lc-menu a{
    color:#b1c5d1 !important;
}

html[data-theme="dark"] .lc-menu a:hover,
html[data-theme="dark"] .lc-menu a.active{
    border-color:rgba(45,212,191,.16) !important;
    background:rgba(20,184,166,.08) !important;
    color:#7eead9 !important;
}

html[data-theme="dark"] .lc-profile{
    border-color:rgba(148,196,221,.12);
}

html[data-theme="dark"] .lc-avatar::after{
    border-color:#0d2233;
}

html[data-theme="dark"] .lc-readiness{
    border-color:rgba(148,196,221,.12) !important;
    background:
        linear-gradient(
            135deg,
            rgba(20,184,166,.07),
            rgba(14,165,233,.06),
            rgba(139,92,246,.06)
        ) !important;
}

html[data-theme="dark"] .lc-readiness p{
    color:#a0b6c4;
}

html[data-theme="dark"] .lc-footer-note{
    border-color:rgba(148,196,221,.12);
}


/* ---------- Responsive ---------- */

@media(max-width:1000px){

    .lc-shell{
        width:min(100% - 26px,1240px);
    }

}

@media(max-width:700px){

    .lc-hero{
        border-radius:24px !important;
    }

    .lc-stat{
        min-height:110px;
    }

    .lc-card{
        border-radius:21px !important;
    }

}

@media(max-width:520px){

    .lc-shell{
        width:min(100% - 20px,1240px);
    }

    .lc-hero{
        border-radius:21px !important;
    }

    .lc-stat{
        border-radius:18px !important;
    }

}


/* ---------- Motion ---------- */

@media(prefers-reduced-motion:no-preference){

    .lc-eyebrow::before{
        animation:lcv2Pulse 2.5s ease-in-out infinite;
    }

    @keyframes lcv2Pulse{
        0%,100%{
            box-shadow:
                0 0 0 4px rgba(127,255,212,.10);
        }

        50%{
            box-shadow:
                0 0 0 8px rgba(127,255,212,.025);
        }
    }

}


/* ==========================================================
   Learning Center — Readability V1
   ========================================================== */

.lc-page{
    font-size:16.5px;
}

.lc-hero p{
    font-size:16px !important;
    line-height:1.9 !important;
}

.lc-eyebrow{
    font-size:14px !important;
}

.lc-stat{
    font-size:16px;
}

.lc-stat strong{
    font-size:24px !important;
}

.lc-stat span,
.lc-stat small{
    font-size:14px !important;
    line-height:1.7;
}

.lc-card-head h2{
    font-size:23px !important;
}

.lc-card-head p{
    font-size:15px !important;
    line-height:1.85;
}

.lc-path{
    font-size:16px;
}

.lc-path strong{
    font-size:18px;
}

.lc-chip{
    font-size:14px !important;
}

.lc-activity-title{
    font-size:15.5px !important;
}

.lc-activity-date{
    font-size:14px !important;
}

.lc-quick strong{
    font-size:16px !important;
}

.lc-quick span{
    font-size:14px !important;
    line-height:1.8;
}

.lc-profile strong{
    font-size:17px !important;
}

.lc-profile span{
    font-size:14px !important;
}

.lc-menu a{
    font-size:15.5px !important;
    font-weight:700;
}

.lc-readiness strong{
    font-size:18px !important;
}

.lc-readiness p{
    font-size:15px !important;
    line-height:1.9;
}

.lc-btn{
    font-size:15px !important;
    font-weight:800;
}

.lc-footer-note{
    font-size:14px !important;
    line-height:1.9;
}

@media(max-width:600px){

    .lc-page{
        font-size:16px;
    }

    .lc-card-head h2{
        font-size:21px !important;
    }

    .lc-menu a{
        font-size:15px !important;
    }

}


/* =========================================================
   CFTeCourses Learning Center V3
   Premium RTL Member Dashboard
   ========================================================= */

.lc-v3{
    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(49,134,184,.07),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 22%,
            rgba(218,169,62,.07),
            transparent 26%
        ),
        #f5f8fb;
}

.lc-v3 .lc-shell{
    width:min(1380px,calc(100% - 34px));
    margin:auto;
    padding:32px 0 46px;
}


/* ===== RTL MASTER LAYOUT ===== */

.lc-v3-layout{
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    grid-template-areas:"side main";
    gap:26px;
    align-items:start;
    direction:rtl;
}

.lc-v3-side{
    grid-area:side;
    position:sticky;
    top:96px;
    display:grid;
    gap:16px;
}

.lc-v3-main{
    grid-area:main;
    min-width:0;
}


/* ===== SIDEBAR PROFILE ===== */

.lc-v3-profile{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:14px;
    padding:21px;
    background:
        linear-gradient(
            145deg,
            #0a2947,
            #103f68
        );
    border-radius:24px;
    color:#fff;
    box-shadow:
        0 18px 42px rgba(7,38,66,.16);
}

.lc-v3-profile::after{
    content:"";
    position:absolute;
    width:110px;
    height:110px;
    border:18px solid rgba(255,255,255,.045);
    border-radius:50%;
    left:-42px;
    bottom:-58px;
}

.lc-v3-avatar{
    position:relative;
    z-index:1;
    flex:0 0 58px;
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:
        linear-gradient(
            145deg,
            #f0c86a,
            #d5a638
        );
    color:#092744;
    font-size:1.5rem;
    font-weight:900;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.35),
        0 8px 20px rgba(0,0,0,.12);
}

.lc-v3-profile-copy{
    position:relative;
    z-index:1;
    min-width:0;
}

.lc-v3-welcome{
    display:block;
    margin-bottom:2px;
    font-size:.72rem;
    color:rgba(255,255,255,.64);
}

.lc-v3-profile-copy strong{
    display:block;
    font-size:1rem;
    line-height:1.45;
    color:#fff;
}

.lc-v3-profile-copy small{
    display:block;
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.72rem;
    color:rgba(255,255,255,.62);
}


/* ===== SIDEBAR MENU ===== */

.lc-v3-menu{
    display:grid;
    gap:5px;
    padding:10px;
    background:#fff;
    border:1px solid #e5edf4;
    border-radius:22px;
    box-shadow:
        0 12px 32px rgba(20,48,74,.055);
}

.lc-v3-menu a{
    display:grid;
    grid-template-columns:36px 1fr auto;
    align-items:center;
    gap:9px;
    min-height:50px;
    padding:7px 11px;
    border-radius:14px;
    color:#29445d;
    text-decoration:none;
    font-weight:800;
    font-size:.88rem;
    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease;
}

.lc-v3-menu a:hover{
    background:#f2f7fb;
    transform:translateX(-2px);
}

.lc-v3-menu a.active{
    color:#0b4f79;
    background:
        linear-gradient(
            90deg,
            rgba(29,116,166,.11),
            rgba(216,169,62,.08)
        );
}

.lc-v3-menu-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#f1f6fa;
    color:#176b9b;
    font-weight:900;
}

.lc-v3-menu a.active .lc-v3-menu-icon{
    background:#176b9b;
    color:#fff;
}

.lc-v3-arrow{
    opacity:.38;
}


/* ===== SIDEBAR CARDS ===== */

.lc-v3-side-card{
    padding:19px;
    background:#fff;
    border:1px solid #e5edf4;
    border-radius:22px;
    box-shadow:
        0 12px 32px rgba(20,48,74,.05);
}

.lc-v3-side-title{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:15px;
}

.lc-v3-side-kicker,
.lc-v3-section-kicker{
    display:block;
    margin-bottom:3px;
    color:#b1872f;
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.09em;
}

.lc-v3-side-title h2{
    margin:0;
    color:#102f4b;
    font-size:1rem;
}

.lc-v3-side-title a{
    color:#1672a6;
    font-size:.72rem;
    font-weight:800;
    text-decoration:none;
}

.lc-v3-timeline{
    display:grid;
    gap:0;
}

.lc-v3-timeline-item{
    position:relative;
    display:grid;
    grid-template-columns:15px 1fr;
    gap:9px;
    padding:0 0 16px;
}

.lc-v3-timeline-item:not(:last-child)::after{
    content:"";
    position:absolute;
    right:5px;
    top:14px;
    bottom:0;
    width:1px;
    background:#dbe7ef;
}

.lc-v3-timeline-dot{
    position:relative;
    z-index:1;
    width:11px;
    height:11px;
    margin-top:5px;
    border-radius:50%;
    background:#d8a93e;
    box-shadow:
        0 0 0 4px rgba(216,169,62,.12);
}

.lc-v3-timeline-item strong{
    display:block;
    color:#263f55;
    font-size:.79rem;
    line-height:1.5;
}

.lc-v3-timeline-item small{
    display:block;
    margin-top:2px;
    color:#8292a1;
    font-size:.68rem;
}

.lc-v3-side-empty{
    text-align:center;
    padding:13px 5px 5px;
}

.lc-v3-side-empty > span{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    margin:0 auto 9px;
    border-radius:13px;
    background:#eef6fa;
    color:#1672a6;
}

.lc-v3-side-empty strong{
    display:block;
    font-size:.82rem;
}

.lc-v3-side-empty p{
    margin:5px 0 0;
    color:#75889a;
    font-size:.73rem;
    line-height:1.7;
}

.lc-v3-help{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:10px;
}

.lc-v3-help-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:
        linear-gradient(
            145deg,
            #eef6fb,
            #fff7e7
        );
    color:#176b9b;
    font-weight:900;
}

.lc-v3-help strong{
    display:block;
    color:#173650;
    font-size:.84rem;
}

.lc-v3-help p{
    margin:3px 0 8px;
    color:#718496;
    font-size:.72rem;
    line-height:1.55;
}

.lc-v3-help a{
    color:#1672a6;
    font-size:.74rem;
    font-weight:900;
}

/* CFTECOURSES — CONTACT GRID SOURCE FIX V1 */
.lc-v3-help > a.account-contact-btn{
    grid-column:1 / -1;
    width:100%;
    box-sizing:border-box;
    justify-self:stretch;

    display:flex;
    align-items:center;
    justify-content:center;

    min-height:42px;
    padding:9px 16px;

    white-space:nowrap;
}

.lc-v3-logout{
    display:flex;
    justify-content:space-between;
    padding:12px 16px;
    color:#a24646;
    text-decoration:none;
    font-size:.78rem;
    font-weight:800;
}


/* ===== HERO ===== */

.lc-v3-hero{
    position:relative;
    overflow:hidden;
    min-height:260px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    align-items:center;
    padding:38px 42px;
    margin-bottom:20px;
    border-radius:30px;
    background:
        radial-gradient(
            circle at 14% 0%,
            rgba(53,139,190,.30),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #082844 0%,
            #0d3d64 55%,
            #0c5078 100%
        );
    color:#fff;
    box-shadow:
        0 24px 60px rgba(7,37,64,.17);
}

.lc-v3-hero::before{
    content:"";
    position:absolute;
    width:290px;
    height:290px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    left:-120px;
    bottom:-180px;
}

.lc-v3-hero-content{
    position:relative;
    z-index:2;
}

.lc-v3-eyebrow{
    display:inline-flex;
    padding:7px 12px;
    margin-bottom:11px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:#efcb73;
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.09em;
}

.lc-v3-hero h1{
    margin:0 0 10px;
    color:#fff;
    font-size:clamp(2rem,4vw,3.15rem);
    line-height:1.25;
}

.lc-v3-hero p{
    max-width:610px;
    margin:0;
    color:rgba(255,255,255,.74);
    font-size:1rem;
    line-height:1.9;
}

.lc-v3-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.lc-v3-primary-btn,
.lc-v3-ghost-btn,
.lc-v3-dark-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    padding:10px 18px;
    border-radius:13px;
    text-decoration:none;
    font-weight:900;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.lc-v3-primary-btn{
    background:
        linear-gradient(
            135deg,
            #f0c763,
            #d7a538
        );
    color:#082844;
    box-shadow:
        0 10px 25px rgba(215,165,56,.20);
}

.lc-v3-ghost-btn{
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.07);
}

.lc-v3-primary-btn:hover,
.lc-v3-ghost-btn:hover,
.lc-v3-dark-btn:hover{
    transform:translateY(-2px);
}

.lc-v3-hero-visual{
    position:relative;
    height:200px;
    display:grid;
    place-items:center;
}

.lc-v3-hero-mark{
    position:relative;
    z-index:3;
    width:128px;
    height:128px;
    display:grid;
    place-content:center;
    text-align:center;
    border-radius:38px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.15),
            rgba(255,255,255,.055)
        );
    border:1px solid rgba(255,255,255,.15);
    box-shadow:
        inset 0 0 28px rgba(255,255,255,.05),
        0 20px 50px rgba(0,0,0,.16);
    transform:rotate(-4deg);
}

.lc-v3-hero-mark span{
    color:#f0c763;
    font-size:2rem;
    font-weight:900;
    line-height:1;
}

.lc-v3-hero-mark small{
    margin-top:7px;
    color:rgba(255,255,255,.65);
    font-size:.57rem;
    letter-spacing:.16em;
}

.lc-v3-orbit{
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.10);
}

.orbit-one{
    width:190px;
    height:190px;
}

.orbit-two{
    width:245px;
    height:145px;
    transform:rotate(32deg);
}

.orbit-one::before,
.orbit-two::before{
    content:"";
    position:absolute;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#e7b84c;
}

.orbit-one::before{
    top:15px;
    left:42px;
}

.orbit-two::before{
    right:18px;
    bottom:34px;
}


/* ===== METRICS ===== */

.lc-v3-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:20px;
}

.lc-v3-metric{
    position:relative;
    overflow:hidden;
    min-height:145px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:20px;
    border:1px solid transparent;
    border-radius:22px;
    box-shadow:
        0 12px 32px rgba(20,48,74,.055);
}

.metric-lessons{
    background:
        linear-gradient(
            145deg,
            #edf8f4,
            #f9fdfb
        );
    border-color:#d7eee5;
}

.metric-questions{
    background:
        linear-gradient(
            145deg,
            #eef6fb,
            #fbfdff
        );
    border-color:#dcebf4;
}

.metric-accuracy{
    background:
        linear-gradient(
            145deg,
            #fff8e8,
            #fffdf7
        );
    border-color:#f2e5c3;
}

.metric-streak{
    background:
        linear-gradient(
            145deg,
            #f5effb,
            #fdfbff
        );
    border-color:#e8dcf3;
}

.lc-v3-metric-icon{
    flex:0 0 46px;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:rgba(255,255,255,.78);
    color:#176b9b;
    font-size:1.2rem;
    font-weight:900;
    box-shadow:
        0 7px 18px rgba(30,70,100,.07);
}

.metric-lessons .lc-v3-metric-icon{
    color:#168360;
}

.metric-accuracy .lc-v3-metric-icon{
    color:#b17e17;
}

.metric-streak .lc-v3-metric-icon{
    color:#7d52a6;
}

.lc-v3-metric-copy{
    position:relative;
    z-index:2;
}

.lc-v3-metric-copy > span{
    display:block;
    color:#667d90;
    font-size:.78rem;
    font-weight:800;
}

.lc-v3-metric-copy strong{
    display:block;
    margin:3px 0;
    color:#102f4b;
    font-size:1.9rem;
    line-height:1.1;
}

.lc-v3-metric-copy small{
    display:block;
    color:#8495a3;
    font-size:.67rem;
}

.lc-v3-mini-decoration{
    position:absolute;
    left:14px;
    bottom:14px;
    display:flex;
    align-items:flex-end;
    gap:3px;
    opacity:.45;
}

.lc-v3-mini-decoration span{
    width:4px;
    border-radius:4px;
    background:#3d9d7d;
}

.lc-v3-mini-decoration span:nth-child(1){
    height:11px;
}

.lc-v3-mini-decoration span:nth-child(2){
    height:18px;
}

.lc-v3-mini-decoration span:nth-child(3){
    height:27px;
}

.lc-v3-mini-dots{
    position:absolute;
    left:15px;
    bottom:16px;
    display:flex;
    gap:4px;
}

.lc-v3-mini-dots i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#4e98c2;
    opacity:.35;
}

.lc-v3-ring{
    --score:0;
    position:absolute;
    left:15px;
    bottom:13px;
    width:37px;
    height:37px;
    border-radius:50%;
    background:
        conic-gradient(
            #d3a33a calc(var(--score) * 1%),
            rgba(211,163,58,.13) 0
        );
}

.lc-v3-ring::after{
    content:"";
    position:absolute;
    inset:6px;
    border-radius:50%;
    background:#fffaf0;
}

.lc-v3-flame{
    position:absolute;
    left:16px;
    bottom:14px;
    color:#8d5eb3;
    opacity:.38;
    font-size:1.4rem;
}


/* ===== MAIN SECTIONS ===== */

.lc-v3-section{
    padding:25px;
    margin-bottom:20px;
    background:#fff;
    border:1px solid #e4edf4;
    border-radius:25px;
    box-shadow:
        0 12px 36px rgba(20,48,74,.055);
}

.lc-v3-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:20px;
}

.lc-v3-section-head h2{
    margin:0;
    color:#102f4b;
    font-size:1.35rem;
}

.lc-v3-section-head p{
    margin:4px 0 0;
    color:#778a9a;
    font-size:.82rem;
}

.lc-v3-section-head > a{
    color:#176f9f;
    font-size:.78rem;
    font-weight:900;
    text-decoration:none;
}


/* ===== CURRENT PATH ===== */

.lc-v3-current-path{
    position:relative;
    overflow:hidden;
    padding:24px;
    border:1px solid #dfeaf1;
    border-radius:21px;
    background:
        linear-gradient(
            135deg,
            #fbfdff,
            #f5f9fc
        );
}

.lc-v3-current-path::before{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:5px;
    height:100%;
    background:
        linear-gradient(
            #176b9b,
            #d8a83d
        );
}

.lc-v3-path-top{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
}

.lc-v3-path-brand{
    display:flex;
    gap:14px;
    align-items:center;
}

.lc-v3-path-logo{
    min-width:68px;
    height:68px;
    display:grid;
    place-items:center;
    padding:0 10px;
    border-radius:18px;
    background:
        linear-gradient(
            145deg,
            #0a2c4a,
            #12608c
        );
    color:#f0c763;
    font-weight:900;
    box-shadow:
        0 9px 22px rgba(11,52,83,.13);
}

.lc-v3-path-status{
    display:block;
    margin-bottom:3px;
    color:#198562;
    font-size:.69rem;
    font-weight:900;
}

.lc-v3-path-brand h3{
    margin:0 0 7px;
    color:#143550;
    font-size:1.15rem;
}

.lc-v3-path-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.lc-v3-path-tags span,
.lc-v3-active-pill{
    display:inline-flex;
    padding:4px 9px;
    border-radius:999px;
    background:#eef5f9;
    color:#597386;
    font-size:.67rem;
    font-weight:800;
}

.lc-v3-path-percent{
    text-align:center;
}

.lc-v3-path-percent strong{
    display:block;
    color:#0e527b;
    font-size:1.65rem;
    line-height:1.1;
}

.lc-v3-path-percent span{
    color:#8393a0;
    font-size:.67rem;
}

.lc-v3-progress{
    margin:22px 0;
}

.lc-v3-progress-track,
.lc-v3-small-track{
    overflow:hidden;
    height:9px;
    border-radius:999px;
    background:#e8eff4;
}

.lc-v3-progress-track > span,
.lc-v3-small-track > span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:
        linear-gradient(
            90deg,
            #d8a83d,
            #1674a6
        );
}

.lc-v3-progress-labels{
    display:flex;
    justify-content:space-between;
    margin-top:7px;
    color:#8796a3;
    font-size:.65rem;
}

.lc-v3-progress-labels strong{
    color:#446479;
}

.lc-v3-current-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding-top:18px;
    border-top:1px solid #e5edf3;
}

.lc-v3-current-info{
    display:flex;
    flex-wrap:wrap;
    gap:32px;
}

.lc-v3-current-info span{
    display:block;
    margin-bottom:3px;
    color:#8795a1;
    font-size:.66rem;
}

.lc-v3-current-info strong{
    display:block;
    color:#29475d;
    font-size:.78rem;
}

.lc-v3-dark-btn{
    background:#0c3859;
    color:#fff;
    box-shadow:
        0 9px 22px rgba(12,56,89,.14);
}


/* ===== PATH CARDS ===== */

.lc-v3-path-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.lc-v3-path-card{
    padding:20px;
    border:1px solid #e3ebf1;
    border-radius:19px;
    background:#fbfdfe;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.lc-v3-path-card:hover{
    transform:translateY(-3px);
    box-shadow:
        0 14px 30px rgba(20,48,74,.07);
}

.lc-v3-path-card-top{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:15px;
}

.lc-v3-path-card-icon{
    min-width:52px;
    height:42px;
    display:grid;
    place-items:center;
    padding:0 9px;
    border-radius:12px;
    background:#0c3859;
    color:#e6b64b;
    font-size:.75rem;
    font-weight:900;
}

.lc-v3-active-pill{
    align-self:center;
    color:#168360;
    background:#eaf7f2;
}

.lc-v3-path-card h3{
    margin:0 0 3px;
    color:#173650;
    font-size:.96rem;
}

.lc-v3-path-card > p{
    margin:0;
    color:#8494a1;
    font-size:.73rem;
}

.lc-v3-small-progress{
    margin:17px 0;
}

.lc-v3-small-progress > div:first-child{
    display:flex;
    justify-content:space-between;
    margin-bottom:6px;
    color:#758797;
    font-size:.68rem;
}

.lc-v3-small-track{
    height:6px;
}

.lc-v3-path-card > a{
    display:flex;
    justify-content:space-between;
    color:#176f9f;
    font-size:.76rem;
    font-weight:900;
    text-decoration:none;
}


/* ===== PERFORMANCE ===== */

.lc-v3-performance-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1.45fr;
    gap:14px;
}

.lc-v3-performance-card{
    min-height:180px;
    padding:20px;
    border:1px solid #e2ebf1;
    border-radius:19px;
    background:#fbfdfe;
}

.lc-v3-performance-icon{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    margin-bottom:14px;
    border-radius:12px;
    background:#eaf4f9;
    color:#176b9b;
    font-weight:900;
}

.lc-v3-performance-icon.gold{
    background:#fff5dd;
    color:#aa7916;
}

.lc-v3-performance-card > span{
    display:block;
    color:#718698;
    font-size:.72rem;
    font-weight:800;
}

.lc-v3-performance-card > strong{
    display:block;
    margin:4px 0 12px;
    color:#123650;
    font-size:1.65rem;
}

.lc-v3-performance-bar{
    overflow:hidden;
    height:7px;
    margin-bottom:8px;
    border-radius:999px;
    background:#e6edf2;
}

.lc-v3-performance-bar span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:
        linear-gradient(
            90deg,
            #d7a73c,
            #1874a6
        );
}

.lc-v3-performance-card small,
.lc-v3-performance-card p{
    color:#81919e;
    font-size:.68rem;
    line-height:1.7;
}

.lc-v3-performance-card > a:not(.lc-v3-dark-btn){
    display:flex;
    justify-content:space-between;
    margin-top:12px;
    color:#176f9f;
    font-size:.75rem;
    font-weight:900;
    text-decoration:none;
}

.lc-v3-readiness{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:
        linear-gradient(
            135deg,
            #f3f8fb,
            #fffaf0
        );
}

.lc-v3-readiness h3{
    margin:4px 0 7px;
    color:#153750;
    font-size:1rem;
}

.lc-v3-readiness p{
    margin:0;
    font-size:.75rem;
}


/* ===== QUICK ACCESS ===== */

.lc-v3-quick{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:13px;
}

.lc-v3-quick > a{
    display:grid;
    grid-template-columns:45px 1fr auto;
    align-items:center;
    gap:11px;
    padding:16px;
    border:1px solid #e3ebf1;
    border-radius:18px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    box-shadow:
        0 9px 25px rgba(20,48,74,.045);
    transition:transform .2s ease;
}

.lc-v3-quick > a:hover{
    transform:translateY(-2px);
}

.lc-v3-quick-icon{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#edf5f9;
    color:#176f9f;
    font-weight:900;
}

.lc-v3-quick strong{
    display:block;
    color:#173650;
    font-size:.82rem;
}

.lc-v3-quick span{
    display:block;
    margin-top:2px;
    color:#8192a0;
    font-size:.66rem;
}

.lc-v3-quick b{
    color:#a7b3bd;
}


/* ===== EMPTY ===== */

.lc-v3-empty-main{
    display:flex;
    align-items:center;
    gap:18px;
    padding:24px;
    border:1px dashed #cedde7;
    border-radius:18px;
    background:#f8fbfd;
}

.lc-v3-empty-art{
    flex:0 0 58px;
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:17px;
    background:#eaf4f9;
    color:#176f9f;
    font-size:1.3rem;
    font-weight:900;
}

.lc-v3-empty-main h3{
    margin:0 0 5px;
    color:#173650;
}

.lc-v3-empty-main p{
    margin:0 0 12px;
    color:#75899a;
    font-size:.78rem;
}


/* ===== FOOTER ===== */

.lc-v3 + *{
    clear:both;
}

.lc-v3 .lc-footer-note{
    margin-top:32px;
    text-align:center;
    color:#7b8d9b;
    font-size:.72rem;
    line-height:1.8;
}

.lc-v3 .lc-footer-note a{
    color:#176f9f;
    font-weight:900;
}


/* ===== DARK MODE ===== */

html[data-theme="dark"] .lc-v3{
    background:#081c2d;
}

html[data-theme="dark"] .lc-v3-menu,
html[data-theme="dark"] .lc-v3-side-card,
html[data-theme="dark"] .lc-v3-section,
html[data-theme="dark"] .lc-v3-quick > a{
    background:#102a3d;
    border-color:rgba(255,255,255,.08);
}

html[data-theme="dark"] .lc-v3-current-path,
html[data-theme="dark"] .lc-v3-path-card,
html[data-theme="dark"] .lc-v3-performance-card{
    background:#0d2537;
    border-color:rgba(255,255,255,.07);
}

html[data-theme="dark"] .lc-v3-section h2,
html[data-theme="dark"] .lc-v3-side-title h2,
html[data-theme="dark"] .lc-v3-path-brand h3,
html[data-theme="dark"] .lc-v3-path-card h3,
html[data-theme="dark"] .lc-v3-performance-card strong,
html[data-theme="dark"] .lc-v3-readiness h3,
html[data-theme="dark"] .lc-v3-quick strong,
html[data-theme="dark"] .lc-v3-current-info strong,
html[data-theme="dark"] .lc-v3-metric-copy strong{
    color:#eef6fb;
}

html[data-theme="dark"] .lc-v3-menu a{
    color:#c7d6e1;
}

html[data-theme="dark"] .lc-v3-menu a:hover,
html[data-theme="dark"] .lc-v3-menu a.active{
    background:rgba(255,255,255,.06);
}

html[data-theme="dark"] .lc-v3-metric{
    filter:saturate(.85) brightness(.72);
}

html[data-theme="dark"] .lc-v3-metric-copy{
    filter:brightness(1.5);
}

html[data-theme="dark"] .lc-v3-small-track,
html[data-theme="dark"] .lc-v3-progress-track,
html[data-theme="dark"] .lc-v3-performance-bar{
    background:rgba(255,255,255,.08);
}


/* ===== RESPONSIVE ===== */

@media(max-width:1180px){

    .lc-v3-layout{
        grid-template-columns:260px minmax(0,1fr);
        gap:18px;
    }

    .lc-v3-metrics{
        grid-template-columns:repeat(2,1fr);
    }

    .lc-v3-performance-grid{
        grid-template-columns:1fr 1fr;
    }

    .lc-v3-readiness{
        grid-column:1 / -1;
    }

}


@media(max-width:900px){

    .lc-v3-layout{
        display:flex;
        flex-direction:column;
    }

    .lc-v3-main{
        order:1;
        width:100%;
    }

    .lc-v3-side{
        order:2;
        position:static;
        width:100%;
        grid-template-columns:1fr 1fr;
    }

    .lc-v3-profile,
    .lc-v3-menu{
        grid-column:1 / -1;
    }

    .lc-v3-hero{
        grid-template-columns:1fr 170px;
        padding:30px;
    }

    .lc-v3-hero-visual{
        height:160px;
    }

    .lc-v3-hero-mark{
        width:105px;
        height:105px;
    }

    .lc-v3-path-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:680px){

    .lc-v3 .lc-shell{
        width:min(100% - 20px,1380px);
        padding-top:18px;
    }

    .lc-v3-hero{
        display:block;
        min-height:0;
        padding:26px 21px;
        border-radius:23px;
    }

    .lc-v3-hero-visual{
        display:none;
    }

    .lc-v3-hero h1{
        font-size:2rem;
    }

    .lc-v3-metrics{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .lc-v3-metric{
        min-height:135px;
        display:block;
        padding:16px;
        border-radius:18px;
    }

    .lc-v3-metric-icon{
        width:38px;
        height:38px;
        margin-bottom:10px;
        border-radius:12px;
    }

    .lc-v3-metric-copy strong{
        font-size:1.55rem;
    }

    .lc-v3-section{
        padding:19px;
        border-radius:21px;
    }

    .lc-v3-section-head{
        display:block;
    }

    .lc-v3-section-head > a{
        display:inline-block;
        margin-top:9px;
    }

    .lc-v3-path-top,
    .lc-v3-current-bottom{
        display:block;
    }

    .lc-v3-path-percent{
        margin-top:18px;
        text-align:right;
    }

    .lc-v3-current-info{
        display:grid;
        gap:12px;
        margin-bottom:17px;
    }

    .lc-v3-dark-btn{
        width:100%;
    }

    .lc-v3-performance-grid,
    .lc-v3-quick{
        grid-template-columns:1fr;
    }

    .lc-v3-readiness{
        grid-column:auto;
    }

    .lc-v3-side{
        display:grid;
        grid-template-columns:1fr;
    }

    .lc-v3-profile,
    .lc-v3-menu{
        grid-column:auto;
    }

}


@media(max-width:420px){

    .lc-v3-metrics{
        grid-template-columns:1fr 1fr;
    }

    .lc-v3-metric-copy small{
        display:none;
    }

    .lc-v3-metric{
        min-height:120px;
    }

}



/* =========================================================
   Activity Formatter V1
   ========================================================= */

.lc-v3-activity-link{
    color:inherit;
    text-decoration:none;
    border-radius:10px;
    transition:
        background .18s ease,
        transform .18s ease;
}

.lc-v3-activity-link:hover{
    background:rgba(23,111,159,.045);
    transform:translateX(-2px);
}

.lc-v3-activity-context{
    display:block;
    margin-top:2px;
    color:#61798c;
    font-size:.69rem;
    font-weight:700;
    line-height:1.55;
}

.lc-v3-timeline-dot.activity-complete{
    background:#2b9a73;
    box-shadow:
        0 0 0 4px rgba(43,154,115,.12);
}

.lc-v3-timeline-dot.activity-quiz{
    background:#d6a536;
    box-shadow:
        0 0 0 4px rgba(214,165,54,.13);
}

.lc-v3-timeline-dot.activity-question{
    background:#2c82b4;
    box-shadow:
        0 0 0 4px rgba(44,130,180,.12);
}

.lc-v3-timeline-dot.activity-lesson{
    background:#557fc1;
    box-shadow:
        0 0 0 4px rgba(85,127,193,.12);
}

.lc-v3-timeline-dot.activity-enrollment{
    background:#875db0;
    box-shadow:
        0 0 0 4px rgba(135,93,176,.12);
}

html[data-theme="dark"]
.lc-v3-activity-context{
    color:#9eb1c0;
}

html[data-theme="dark"]
.lc-v3-activity-link:hover{
    background:rgba(255,255,255,.035);
}



/* =========================================================
   Learning Center V3 — Dark Mode Contrast Fix
   ========================================================= */

html[data-theme="dark"] .lc-v3-metric{
    filter:none !important;
    box-shadow:
        0 14px 34px rgba(0,0,0,.18);
}


/* Lessons */

html[data-theme="dark"] .lc-v3-metric.metric-lessons{
    background:
        linear-gradient(
            145deg,
            #12382f,
            #102d2a
        ) !important;
    border-color:rgba(76,190,151,.22) !important;
}


/* Questions */

html[data-theme="dark"] .lc-v3-metric.metric-questions{
    background:
        linear-gradient(
            145deg,
            #12344a,
            #102b3d
        ) !important;
    border-color:rgba(78,157,202,.24) !important;
}


/* Accuracy */

html[data-theme="dark"] .lc-v3-metric.metric-accuracy{
    background:
        linear-gradient(
            145deg,
            #3a321d,
            #2d2a20
        ) !important;
    border-color:rgba(218,174,74,.25) !important;
}


/* Streak */

html[data-theme="dark"] .lc-v3-metric.metric-streak{
    background:
        linear-gradient(
            145deg,
            #312941,
            #282438
        ) !important;
    border-color:rgba(157,113,198,.25) !important;
}


/* Metric labels */

html[data-theme="dark"]
.lc-v3-metric-copy{
    filter:none !important;
}

html[data-theme="dark"]
.lc-v3-metric-copy > span{
    color:#c5d3dd !important;
}

html[data-theme="dark"]
.lc-v3-metric-copy strong{
    color:#ffffff !important;
    text-shadow:
        0 1px 1px rgba(0,0,0,.12);
}

html[data-theme="dark"]
.lc-v3-metric-copy small{
    color:#9fb1be !important;
}


/* Metric icons */

html[data-theme="dark"]
.lc-v3-metric-icon{
    background:rgba(255,255,255,.08) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.05);
}

html[data-theme="dark"]
.metric-lessons .lc-v3-metric-icon{
    color:#66d1aa !important;
}

html[data-theme="dark"]
.metric-questions .lc-v3-metric-icon{
    color:#71bce5 !important;
}

html[data-theme="dark"]
.metric-accuracy .lc-v3-metric-icon{
    color:#f0c96b !important;
}

html[data-theme="dark"]
.metric-streak .lc-v3-metric-icon{
    color:#c59ae8 !important;
}


/* Accuracy mini ring */

html[data-theme="dark"]
.lc-v3-ring{
    background:
        conic-gradient(
            #e2b54d calc(var(--score) * 1%),
            rgba(255,255,255,.09) 0
        );
}

html[data-theme="dark"]
.lc-v3-ring::after{
    background:#312b20 !important;
}


/* Recent activity card */

html[data-theme="dark"]
.lc-v3-activity-card{
    background:
        linear-gradient(
            145deg,
            #102d42,
            #0d2638
        ) !important;
}

html[data-theme="dark"]
.lc-v3-side-title h2{
    color:#ffffff !important;
}

html[data-theme="dark"]
.lc-v3-side-title a{
    color:#73bce4 !important;
}

html[data-theme="dark"]
.lc-v3-side-kicker{
    color:#e2b752 !important;
}


/* Activity title */

html[data-theme="dark"]
.lc-v3-timeline-item strong{
    color:#f3f7fa !important;
}


/* Module / context */

html[data-theme="dark"]
.lc-v3-activity-context{
    color:#a9bfce !important;
}


/* Activity date */

html[data-theme="dark"]
.lc-v3-timeline-item small{
    color:#819bad !important;
}


/* Timeline */

html[data-theme="dark"]
.lc-v3-timeline-item:not(:last-child)::after{
    background:rgba(255,255,255,.10) !important;
}


/* Empty activity */

html[data-theme="dark"]
.lc-v3-side-empty strong{
    color:#f3f7fa !important;
}

html[data-theme="dark"]
.lc-v3-side-empty p{
    color:#9eb2c0 !important;
}


/* Improve hover without washing text out */

html[data-theme="dark"]
.lc-v3-activity-link:hover{
    background:rgba(255,255,255,.045) !important;
}


/* Keep decorative metric details visible */

html[data-theme="dark"]
.lc-v3-mini-decoration{
    opacity:.72;
}

html[data-theme="dark"]
.lc-v3-mini-dots i{
    background:#70b9df;
    opacity:.55;
}

html[data-theme="dark"]
.lc-v3-flame{
    color:#c49ae6;
    opacity:.62;
}



/* =========================================================
   Learning Center V3 — Light Mode Vivid Cards
   ========================================================= */

/* General metric card */
html:not([data-theme="dark"]) .lc-v3-metric{
    filter:none !important;
    position:relative;
    overflow:hidden;
    box-shadow:
        0 12px 28px rgba(15,49,70,.09),
        inset 0 1px 0 rgba(255,255,255,.72);
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

html:not([data-theme="dark"]) .lc-v3-metric:hover{
    transform:translateY(-3px);
    box-shadow:
        0 17px 36px rgba(15,49,70,.13),
        inset 0 1px 0 rgba(255,255,255,.78);
}


/* ---------------------------------------------------------
   Lessons — fresh green
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-metric.metric-lessons{
    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(39,174,127,.18),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #dff5eb 0%,
            #ccebdd 100%
        ) !important;

    border-color:#9ed8c1 !important;
}

html:not([data-theme="dark"])
.metric-lessons .lc-v3-metric-icon{
    color:#167a5b !important;
    background:#bce7d5 !important;
}

html:not([data-theme="dark"])
.metric-lessons .lc-v3-metric-copy strong{
    color:#115f48 !important;
}


/* ---------------------------------------------------------
   Questions — vivid blue
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-metric.metric-questions{
    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(37,134,191,.17),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #dceefa 0%,
            #c7e3f4 100%
        ) !important;

    border-color:#91c9e7 !important;
}

html:not([data-theme="dark"])
.metric-questions .lc-v3-metric-icon{
    color:#176f9e !important;
    background:#afd9ef !important;
}

html:not([data-theme="dark"])
.metric-questions .lc-v3-metric-copy strong{
    color:#135f88 !important;
}


/* ---------------------------------------------------------
   Accuracy — premium gold
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-metric.metric-accuracy{
    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(211,160,37,.19),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #fff1c9 0%,
            #f7dfa2 100%
        ) !important;

    border-color:#e5c66f !important;
}

html:not([data-theme="dark"])
.metric-accuracy .lc-v3-metric-icon{
    color:#9b6c00 !important;
    background:#efd486 !important;
}

html:not([data-theme="dark"])
.metric-accuracy .lc-v3-metric-copy strong{
    color:#7d5700 !important;
}


/* ---------------------------------------------------------
   Streak — lively purple
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-metric.metric-streak{
    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(130,78,177,.17),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #eee3f7 0%,
            #dcc7ed 100%
        ) !important;

    border-color:#c4a0df !important;
}

html:not([data-theme="dark"])
.metric-streak .lc-v3-metric-icon{
    color:#74409d !important;
    background:#d3b6e8 !important;
}

html:not([data-theme="dark"])
.metric-streak .lc-v3-metric-copy strong{
    color:#643687 !important;
}


/* ---------------------------------------------------------
   Labels
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-metric-copy > span{
    color:#334f60 !important;
    font-weight:800;
}

html:not([data-theme="dark"])
.lc-v3-metric-copy small{
    color:#607887 !important;
    font-weight:700;
}


/* ---------------------------------------------------------
   Accuracy ring
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-ring{
    background:
        conic-gradient(
            #c99113 calc(var(--score) * 1%),
            rgba(137,99,13,.13) 0
        ) !important;

    box-shadow:
        0 5px 14px rgba(153,108,0,.13);
}

html:not([data-theme="dark"])
.lc-v3-ring::after{
    background:#fff5d8 !important;
}


/* ---------------------------------------------------------
   Decorative elements
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-mini-decoration{
    opacity:1 !important;
}

html:not([data-theme="dark"])
.lc-v3-mini-dots i{
    background:#2a8fc4 !important;
    opacity:.48 !important;
}

html:not([data-theme="dark"])
.lc-v3-flame{
    color:#8650ad !important;
    opacity:.72 !important;
}


/* ---------------------------------------------------------
   Recent Activity — Light Mode
   Give sidebar more life too
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-activity-card{
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(40,142,196,.10),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #f8fcff 0%,
            #edf7fc 100%
        ) !important;

    border-color:#c4dfed !important;

    box-shadow:
        0 12px 28px rgba(23,91,128,.08);
}

html:not([data-theme="dark"])
.lc-v3-side-kicker{
    color:#a87408 !important;
    font-weight:900;
}

html:not([data-theme="dark"])
.lc-v3-side-title h2{
    color:#123f59 !important;
}

html:not([data-theme="dark"])
.lc-v3-side-title a{
    color:#1677aa !important;
    font-weight:800;
}

html:not([data-theme="dark"])
.lc-v3-timeline-item strong{
    color:#173e54 !important;
}

html:not([data-theme="dark"])
.lc-v3-activity-context{
    color:#547284 !important;
}

html:not([data-theme="dark"])
.lc-v3-timeline-item small{
    color:#718b99 !important;
}


/* ---------------------------------------------------------
   Stronger activity dots
   --------------------------------------------------------- */

html:not([data-theme="dark"])
.lc-v3-timeline-dot.activity-complete{
    background:#20936b !important;
    box-shadow:
        0 0 0 4px rgba(32,147,107,.14);
}

html:not([data-theme="dark"])
.lc-v3-timeline-dot.activity-quiz{
    background:#c89013 !important;
    box-shadow:
        0 0 0 4px rgba(200,144,19,.15);
}

html:not([data-theme="dark"])
.lc-v3-timeline-dot.activity-question{
    background:#2485b8 !important;
    box-shadow:
        0 0 0 4px rgba(36,133,184,.14);
}

html:not([data-theme="dark"])
.lc-v3-timeline-dot.activity-lesson{
    background:#536fc4 !important;
    box-shadow:
        0 0 0 4px rgba(83,111,196,.14);
}

