
:root {
    --lrt-navy: #062b60;
    --lrt-blue: #0d6efd;
    --lrt-bg: #f2f4f7;
    --lrt-white: #ffffff;
    --lrt-text: #1f2937;
    --lrt-muted: #667085;
    --lrt-border: #dfe4ea;
    --lrt-green: #3b8c55;
    --lrt-amber: #d88a16;
    --lrt-purple: #7a4bb3;
}

.lrt-wrap,
.lrt-wrap * {
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

.lrt-wrap {
    width: 100%;
    margin: 0;
    padding: 24px;
    background: var(--lrt-bg);
    color: var(--lrt-text);
}

.lrt-dashboard-shell {
    max-width: 1380px;
    margin: 0 auto;
    background: var(--lrt-white);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 18px 55px rgba(6, 43, 96, 0.10);
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    min-height: 780px;
}

.lrt-sidebar {
    background: var(--lrt-navy);
    color: var(--lrt-white);
    padding: 30px 24px;
}

.lrt-logo {
    width: 96px;
    height: 96px;
    object-fit: contain;
    display: block;
    margin-bottom: 22px;
}

.lrt-course-label,
.lrt-eyebrow,
.lrt-section-label,
.lrt-module-kicker {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.lrt-course-label {
    color: #9fc7ff;
    margin-bottom: 8px;
}

.lrt-sidebar h2 {
    margin: 0 0 25px;
    color: #fff;
    font-size: 24px;
    line-height: 1.2;
}

.lrt-module-nav {
    display: grid;
    gap: 10px;
}

.lrt-nav-item {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.25;
    font-size: 13px;
}

.lrt-nav-item small {
    display: block;
    color: #a9c6e7;
    margin-bottom: 3px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.lrt-nav-item.is-current {
    background: var(--lrt-blue);
    color: #fff;
}

.lrt-nav-item.is-current small {
    color: #eaf2ff;
}

.lrt-nav-item.is-complete {
    background: rgba(59, 140, 85, 0.28);
}

.lrt-nav-item.is-locked {
    opacity: 0.62;
}

.lrt-nav-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.lrt-main {
    padding: 42px;
    background: #f8fafc;
}

.lrt-topbar {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    align-items: flex-start;
    margin-bottom: 28px;
}

.lrt-eyebrow,
.lrt-section-label,
.lrt-module-kicker {
    color: var(--lrt-blue);
}

.lrt-topbar h1 {
    margin: 8px 0 8px;
    color: var(--lrt-navy);
    font-size: 34px;
    line-height: 1.12;
}

.lrt-topbar p,
.lrt-course-intro p {
    margin: 0;
    color: var(--lrt-muted);
}

.lrt-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    border: 1px solid #cfd7e2;
    border-radius: 10px;
    color: var(--lrt-navy);
    background: #fff;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

.lrt-progress-card,
.lrt-course-card,
.lrt-foundation-note,
.lrt-login-card,
.lrt-message-card {
    background: #fff;
    border: 1px solid var(--lrt-border);
    border-radius: 18px;
}

.lrt-progress-card {
    padding: 22px 24px;
    margin-bottom: 24px;
}

.lrt-progress-copy {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 12px;
    color: var(--lrt-muted);
    font-size: 14px;
}

.lrt-progress-copy strong {
    display: block;
    color: var(--lrt-navy);
    font-size: 30px;
    margin-top: 4px;
}

.lrt-progress-track {
    height: 12px;
    border-radius: 999px;
    background: #e7edf5;
    overflow: hidden;
}

.lrt-progress-track span {
    display: block;
    height: 100%;
    min-width: 0;
    background: var(--lrt-blue);
    border-radius: inherit;
}

.lrt-course-card {
    padding: 26px;
}

.lrt-course-intro {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 22px;
}

.lrt-course-intro h2 {
    margin: 5px 0 8px;
    color: var(--lrt-navy);
    font-size: 26px;
}

.lrt-status-pill {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eaf7ee;
    color: #27673b;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.lrt-module-grid {
    display: grid;
    gap: 13px;
}

.lrt-module-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    padding: 16px;
    border: 1px solid var(--lrt-border);
    border-radius: 14px;
    background: #fff;
}

.lrt-module-card.is-locked {
    background: #f8fafc;
    opacity: 0.75;
}

.lrt-module-number {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: #edf4ff;
    color: var(--lrt-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 20px;
}

.lrt-module-content h3 {
    margin: 4px 0 5px;
    color: var(--lrt-navy);
    font-size: 17px;
}

.lrt-module-state {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
}

.lrt-module-state.complete {
    color: var(--lrt-green);
}

.lrt-module-state.available {
    color: var(--lrt-blue);
}

.lrt-module-state.locked {
    color: #7a8492;
}

.lrt-placeholder-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    padding: 10px 13px;
    border-radius: 10px;
    background: var(--lrt-blue);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.lrt-placeholder-button.secondary {
    background: #eef1f5;
    color: #6a7380;
}

.lrt-foundation-note {
    margin-top: 18px;
    padding: 15px 18px;
    display: grid;
    gap: 4px;
    border-left: 5px solid var(--lrt-purple);
    font-size: 13px;
    color: var(--lrt-muted);
}

.lrt-foundation-note strong {
    color: var(--lrt-navy);
}

.lrt-login-card,
.lrt-message-card {
    max-width: 540px;
    margin: 50px auto;
    padding: 34px;
    box-shadow: 0 14px 40px rgba(6, 43, 96, 0.08);
}

.lrt-login-card .lrt-logo {
    margin-left: auto;
    margin-right: auto;
}

.lrt-login-card h1,
.lrt-message-card h2 {
    color: var(--lrt-navy);
    text-align: center;
}

.lrt-login-card > p,
.lrt-message-card p {
    text-align: center;
    color: var(--lrt-muted);
}

.lrt-login-card label {
    display: block;
    margin-bottom: 5px;
    color: var(--lrt-navy);
    font-weight: 700;
}

.lrt-login-card input[type="text"],
.lrt-login-card input[type="password"] {
    width: 100%;
    min-height: 44px;
    border: 1px solid #cfd7e2;
    border-radius: 9px;
    padding: 10px 12px;
}

.lrt-login-card input[type="submit"] {
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: 9px;
    background: var(--lrt-blue);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.lrt-login-card .login-remember {
    font-size: 13px;
}

.lrt-help {
    margin-top: 18px !important;
    font-size: 12px;
}

@media (max-width: 980px) {
    .lrt-dashboard-shell {
        grid-template-columns: 1fr;
    }

    .lrt-sidebar {
        padding: 22px;
    }

    .lrt-module-nav {
        display: none;
    }

    .lrt-sidebar .lrt-logo {
        width: 82px;
        height: 82px;
        margin-bottom: 14px;
    }

    .lrt-sidebar h2 {
        margin-bottom: 0;
    }

    .lrt-main {
        padding: 24px;
    }
}

@media (max-width: 720px) {
    .lrt-wrap {
        padding: 10px;
    }

    .lrt-topbar,
    .lrt-course-intro,
    .lrt-progress-copy {
        flex-direction: column;
        align-items: stretch;
    }

    .lrt-topbar h1 {
        font-size: 28px;
    }

    .lrt-module-card {
        grid-template-columns: 46px 1fr;
    }

    .lrt-placeholder-button {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
    }

    .lrt-main {
        padding: 18px;
    }

    .lrt-course-card {
        padding: 18px;
    }
}

.lrt-placeholder-button{text-decoration:none;}

.lrt-placeholder-button.start-next {
    background: #3b8c55;
    color: #fff;
}
.lrt-placeholder-button.review {
    background: #eef4fb;
    color: #062b60;
    border: 1px solid #cbd8e8;
}
.lrt-module-state.available {
    color: #3b8c55;
    font-size: 14px;
}

.lrt-assessment-card{margin-top:18px;padding:18px;border:1px solid #dfe4ea;border-radius:14px;display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff}.lrt-assessment-card h3{margin:4px 0 5px;color:#062b60}.lrt-assessment-card p{margin:0;color:#667085}.lrt-assessment-card.is-locked{background:#f8fafc;opacity:.78}@media(max-width:720px){.lrt-assessment-card{flex-direction:column;align-items:stretch}}
