:root{
    --ink:#102033;
    --muted:#64748b;
    --line:#dbe6ee;
    --soft:#eef6f0;
    --panel:#ffffff;
    --page-bg:#edf2f5;
    --panel-soft:#fbfdfe;
    --input-bg:#ffffff;
    --input-border:#cbd5e1;
    --button-soft:#e8eff3;
    --button-soft-text:#0f172a;
    --green:#16803d;
    --green-2:#2fad4f;
    --blue:#2563eb;
    --shadow:0 18px 45px rgba(15,23,42,.12);
}

html[data-theme="dark"]{
    --ink:#e8f1f8;
    --muted:#a8b8c9;
    --line:#2d4354;
    --soft:#102231;
    --panel:#142332;
    --page-bg:#0b1622;
    --panel-soft:#0f1d2a;
    --input-bg:#0f1d2a;
    --input-border:#355166;
    --button-soft:#213448;
    --button-soft-text:#e8f1f8;
    --green:#22a15d;
    --green-2:#43c776;
    --blue:#60a5fa;
    --shadow:0 18px 45px rgba(0,0,0,.32);
    color-scheme:dark;
}

*{ box-sizing:border-box; }

body{
    margin:0;
    background:var(--page-bg);
    color:var(--ink);
    font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
    transition:background-color .2s ease,color .2s ease;
}

.academy-home{
    min-height:100vh;
    padding:28px;
}

.academy-home-header,
.course-page-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    border-radius:22px;
    padding:26px;
    margin-bottom:22px;
    background:var(--panel);
    box-shadow:var(--shadow);
}

.academy-kicker{
    margin:0 0 6px;
    color:var(--green);
    text-transform:uppercase;
    font-weight:800;
    letter-spacing:.08em;
    font-size:12px;
}

.academy-home-header h1,
.course-page-header h1{
    margin:0;
    font-size:32px;
    letter-spacing:0;
}

.academy-home-header p,
.course-page-header p{
    color:var(--muted);
    margin:8px 0 0;
    max-width:760px;
    line-height:1.55;
}

.academy-home-actions{
    display:grid;
    grid-template-columns:repeat(5, minmax(112px, 1fr));
    gap:10px;
    align-items:stretch;
    justify-content:end;
    width:min(100%, 600px);
    margin-left:auto;
}

.academy-home-actions a,
.academy-home-actions button,
.back-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    min-width:0;
    width:100%;
    color:var(--ink);
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:10px;
    padding:10px 14px;
    text-decoration:none;
    font-weight:800;
}

.academy-home-actions a:hover,
.academy-home-actions button:hover,
.back-link:hover{
    border-color:var(--green-2);
    color:var(--green);
}

.academy-welcome-card{
    max-width:980px;
    margin:0 auto 26px;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    padding:28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
}

.academy-welcome-card span{
    color:var(--green);
    font-weight:800;
}

.academy-welcome-card h2{
    margin:8px 0 0;
    font-size:24px;
}

.academy-filter-panel{
    max-width:980px;
    margin:0 auto 26px;
    display:grid;
    gap:8px;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:0 10px 26px rgba(15,23,42,.07);
    padding:18px;
}

.academy-filter-panel label{
    color:#166534;
    font-weight:900;
}

.academy-filter-panel input{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:10px;
    color:var(--ink);
    font:inherit;
    padding:13px 14px;
}

.academy-filter-panel input:focus{
    outline:3px solid rgba(37,99,235,.15);
    border-color:#2563eb;
}

.academy-counts{
    min-width:150px;
    text-align:center;
    border-left:1px solid var(--line);
    padding-left:24px;
}

.academy-counts strong{
    display:block;
    color:var(--green);
    font-size:40px;
}

.course-grid-cards{
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.academy-empty-state{
    grid-column:1/-1;
    background:#fff;
    border:1px dashed #cbd5e1;
    border-radius:14px;
    color:var(--muted);
    padding:28px;
    text-align:center;
}

.academy-empty-state strong{
    display:block;
    color:var(--ink);
    font-size:20px;
    margin-bottom:6px;
}

.academy-course-card{
    display:flex;
    flex-direction:column;
    min-height:360px;
    color:var(--ink);
    background:#fff;
    border:1px solid #b9dfbf;
    border-radius:14px;
    text-decoration:none;
    overflow:hidden;
    box-shadow:0 10px 26px rgba(15,23,42,.08);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.academy-course-card:hover{
    transform:translateY(-4px);
    border-color:var(--green-2);
    box-shadow:0 20px 45px rgba(15,23,42,.16);
}

.course-card-image{
    position:relative;
    height:178px;
    background-color:#071421;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
}

.course-card-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(255,255,255,.01),rgba(0,0,0,.26));
}

.course-card-image-title{
    position:absolute;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:2;
    display:block;
    max-width:calc(100% - 24px);
    padding:9px 11px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:10px;
    background:rgba(7,20,33,.84);
    color:#f8fbff;
    font-size:14px;
    font-weight:900;
    line-height:1.2;
    text-shadow:0 2px 8px rgba(0,0,0,.45);
}

.course-card-icon{
    position:absolute;
    left:18px;
    top:14px;
    bottom:auto;
    z-index:2;
    display:grid;
    place-items:center;
    width:56px;
    height:56px;
    background:#fff;
    border:1px solid rgba(22,128,61,.28);
    border-radius:16px;
    box-shadow:0 12px 24px rgba(15,23,42,.18);
}

.course-card-icon svg{
    width:34px;
    height:34px;
    fill:none;
    stroke:var(--green);
    stroke-width:4;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.course-card-body{
    padding:18px 18px 18px;
    display:flex;
    flex:1;
    flex-direction:column;
}

.course-card-body span{
    color:var(--green);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.course-card-body h2{
    margin:8px 0;
    font-size:20px;
    line-height:1.22;
}

.course-card-body p{
    color:var(--muted);
    line-height:1.5;
    margin:0;
    flex:1;
}

.course-card-footer{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:16px;
}

.course-card-footer strong,
.course-card-footer small{
    border-radius:999px;
    padding:7px 9px;
    background:#edf8ef;
    color:#166534;
    font-weight:800;
}

.course-card-footer small{
    color:#475569;
    background:#f1f5f9;
}

.course-page-shell{
    min-height:100vh;
    padding:26px;
}

.course-page-header{
    color:#fff;
    background-size:cover;
    background-position:center;
    position:relative;
    overflow:hidden;
}

.course-page-header::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(2,6,23,.16);
}

.course-page-header > *{
    position:relative;
    z-index:1;
}

.course-page-header .academy-kicker,
.course-page-header p{
    color:#e8f7ee;
}

.course-page-header h1{
    max-width:860px;
    font-size:38px;
}

.back-link{
    background:rgba(255,255,255,.95);
    color:#0f172a;
}

.course-meta-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-self:flex-end;
    justify-content:flex-end;
}

.course-meta-row span{
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    padding:9px 12px;
    color:#fff;
    font-weight:800;
}

.course-guide{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 10px 26px rgba(15,23,42,.07);
    margin-bottom:22px;
    padding:18px;
}

.course-guide span{
    color:#166534;
    display:block;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    margin-bottom:5px;
    text-transform:uppercase;
}

.course-guide strong{
    display:block;
    font-size:20px;
}

.course-guide p{
    color:var(--muted);
    margin:6px 0 0;
}

.course-guide-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.section-title{
    margin:8px 0 16px;
    font-size:24px;
}

.track-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:22px;
}

.track-card{
    min-height:160px;
    text-align:left;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    padding:16px;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
    transition:.2s ease;
}

.track-card:hover,
.track-card.active{
    transform:translateY(-2px);
    border-color:var(--green-2);
    background:#f4fbf5;
}

.track-card span{
    color:var(--green);
    font-weight:900;
}

.track-card h3{
    margin:12px 0 8px;
    font-size:17px;
    line-height:1.3;
}

.track-card p{
    color:var(--muted);
    margin:0;
}

.track-card strong{
    display:inline-flex;
    margin-top:14px;
    color:#166534;
    background:#edf8ef;
    border-radius:999px;
    padding:6px 9px;
}

.course-content-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 390px;
    gap:20px;
    align-items:start;
}

.course-content-panel,
.course-side-panel,
.panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:18px;
    box-shadow:0 10px 26px rgba(15,23,42,.07);
}

.course-side-panel{
    display:grid;
    gap:14px;
    position:sticky;
    top:18px;
}

.course-side-panel h3,
.panel h3{
    margin:0 0 10px;
}

.lesson-topline{
    display:flex;
    justify-content:space-between;
    color:var(--muted);
    font-weight:800;
    font-size:13px;
}

#lessonPanel h2{
    margin:12px 0 8px;
    font-size:28px;
}

.lesson-content-label{
    display:inline-flex;
    align-items:center;
    background:#eef8fc;
    color:#0d2a3d;
    border:1px solid #b9ddeb;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    margin:4px 0 12px;
    padding:7px 10px;
}

.lesson-full-content{
    max-height:620px;
    overflow:auto;
    white-space:pre-wrap;
    word-break:break-word;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fbfdfe;
    color:#263b4d;
    line-height:1.66;
    padding:18px;
}

.lesson-actions{
    display:flex;
    gap:10px;
    margin-top:18px;
    flex-wrap:wrap;
}

.lesson-quick-nav{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--line);
}

.primary-action,
.secondary-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:9px;
    padding:11px 14px;
    font-weight:900;
    cursor:pointer;
    text-decoration:none;
}

.primary-action{
    background:var(--green);
    color:#fff;
}

.secondary-action{
    background:var(--button-soft);
    color:var(--button-soft-text);
}

.primary-action:disabled,
.secondary-action:disabled{
    cursor:not-allowed;
    opacity:.52;
}

.course-progress-bar{
    height:10px;
    background:#e2e8f0;
    border-radius:999px;
    overflow:hidden;
}

.academy-theme-toggle{
    min-width:0;
    white-space:nowrap;
}

.academy-home-actions .secure-logout-button{
    margin:0;
}

.academy-floating-top{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:80;
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border:1px solid rgba(22,128,61,.38);
    border-radius:16px;
    background:#16803d;
    color:#ffffff;
    box-shadow:0 18px 35px rgba(15,23,42,.24);
    cursor:pointer;
    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.academy-floating-top:hover{
    transform:translateY(-2px);
    background:#126c34;
    box-shadow:0 22px 42px rgba(15,23,42,.3);
}

.academy-floating-top:focus-visible{
    outline:3px solid rgba(34,197,94,.34);
    outline-offset:3px;
}

.academy-floating-top svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

html[data-theme="dark"] body,
html[data-theme="dark"] body.assessment-page,
html[data-theme="dark"] body.academy-admin-page{
    background:var(--page-bg) !important;
    color:var(--ink);
}

html[data-theme="dark"] .academy-home-header,
html[data-theme="dark"] .academy-welcome-card,
html[data-theme="dark"] .academy-filter-panel,
html[data-theme="dark"] .academy-course-card,
html[data-theme="dark"] .course-guide,
html[data-theme="dark"] .course-content-panel,
html[data-theme="dark"] .course-side-panel,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .assessment-header,
html[data-theme="dark"] .assessment-main-panel,
html[data-theme="dark"] .academy-auth-card,
html[data-theme="dark"] .academy-auto-access,
html[data-theme="dark"] .academy-admin-header,
html[data-theme="dark"] .academy-admin-panel,
html[data-theme="dark"] .academy-admin-metric,
html[data-theme="dark"] .academy-admin-user-detail{
    background:var(--panel) !important;
    border-color:var(--line) !important;
    color:var(--ink) !important;
    box-shadow:var(--shadow);
}

html[data-theme="dark"] .course-page-header{
    box-shadow:var(--shadow);
}

html[data-theme="dark"] .course-page-header::before{
    background:rgba(2,6,23,.54) !important;
}

html[data-theme="dark"] .academy-home-header p,
html[data-theme="dark"] .course-page-header p,
html[data-theme="dark"] .course-card-body p,
html[data-theme="dark"] .course-guide p,
html[data-theme="dark"] .lesson-topline,
html[data-theme="dark"] .assessment-header p,
html[data-theme="dark"] .academy-auth-copy p,
html[data-theme="dark"] .academy-admin-header p,
html[data-theme="dark"] .academy-admin-panel-title span,
html[data-theme="dark"] .academy-admin-table td,
html[data-theme="dark"] .academy-admin-table small{
    color:var(--muted) !important;
}

html[data-theme="dark"] .academy-auth-copy h1{
    color:#f8fbff !important;
    text-shadow:0 2px 18px rgba(0,0,0,.28);
}

html[data-theme="dark"] .academy-auth-copy .academy-kicker{
    color:#d7e6f5 !important;
}

html[data-theme="dark"] .academy-home-actions a,
html[data-theme="dark"] .academy-home-actions button,
html[data-theme="dark"] .back-link,
html[data-theme="dark"] .secondary-action,
html[data-theme="dark"] .academy-auth-secondary,
html[data-theme="dark"] .secure-logout-button{
    background:var(--button-soft) !important;
    border-color:var(--line) !important;
    color:var(--button-soft-text) !important;
}

html[data-theme="dark"] .academy-home-actions a:hover,
html[data-theme="dark"] .academy-home-actions button:hover,
html[data-theme="dark"] .back-link:hover,
html[data-theme="dark"] .secondary-action:hover,
html[data-theme="dark"] .academy-theme-toggle:hover,
html[data-theme="dark"] .secure-logout-button:hover{
    border-color:var(--green-2) !important;
    color:#b7f7ce !important;
}

html[data-theme="dark"] .academy-floating-top{
    border-color:#43c776;
    background:#22a15d;
    color:#06120c;
    box-shadow:0 18px 35px rgba(0,0,0,.42);
}

html[data-theme="dark"] .academy-floating-top:hover{
    background:#43c776;
}

html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
html[data-theme="dark"] .academy-search-input{
    background:var(--input-bg) !important;
    border-color:var(--input-border) !important;
    color:var(--ink) !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{
    color:#8ea4b8 !important;
}

html[data-theme="dark"] .academy-course-card{
    border-color:#28583f !important;
}

html[data-theme="dark"] .course-card-body,
html[data-theme="dark"] .track-card,
html[data-theme="dark"] .lesson-full-content,
html[data-theme="dark"] .lesson-screenshot-block,
html[data-theme="dark"] .lesson-screenshot-card,
html[data-theme="dark"] .certificate-page-actions,
html[data-theme="dark"] .quiz-question,
html[data-theme="dark"] .assessment-result,
html[data-theme="dark"] .academy-admin-table-wrap{
    background:var(--panel-soft) !important;
    border-color:var(--line) !important;
    color:var(--ink) !important;
}

html[data-theme="dark"] .track-card{
    background:linear-gradient(180deg,#142332,#0f1d2a) !important;
}

html[data-theme="dark"] .track-card.active,
html[data-theme="dark"] .track-card:hover{
    background:linear-gradient(180deg,#173625,#142332) !important;
}

html[data-theme="dark"] .lesson-content-label,
html[data-theme="dark"] .course-card-footer strong,
html[data-theme="dark"] .course-card-footer small,
html[data-theme="dark"] .track-card small{
    background:#102f24 !important;
    border-color:#28583f !important;
    color:#b7f7ce !important;
}

html[data-theme="dark"] .lesson-command,
html[data-theme="dark"] pre{
    background:#030712 !important;
    border-color:#334155 !important;
    color:#e5f0ff !important;
}

html[data-theme="dark"] .quiz-card{
    background:#f8fbff !important;
    border-color:#cbd5e1 !important;
    color:#0f172a !important;
}

html[data-theme="dark"] .quiz-question-title,
html[data-theme="dark"] .quiz-question-title strong{
    color:#0f172a !important;
}

html[data-theme="dark"] .quiz-question-title span{
    background:#dff8eb !important;
    color:#047857 !important;
}

html[data-theme="dark"] .quiz-option{
    background:#ffffff !important;
    border-color:#d8e3ea !important;
    color:#142433 !important;
}

html[data-theme="dark"] .quiz-option:hover,
html[data-theme="dark"] .quiz-option.selected{
    border-color:#22c55e !important;
    background:#edf8ef !important;
    color:#0f172a !important;
}

html[data-theme="dark"] .academy-admin-table th,
html[data-theme="dark"] .academy-admin-table td{
    border-color:var(--line) !important;
}

html[data-theme="dark"] .academy-admin-status{
    background:#102f24 !important;
    border-color:#2f7a4b !important;
    color:#b7f7ce !important;
}

html[data-theme="dark"] .certificate-document{
    background:#f8fbff !important;
    color:#071421 !important;
}

.course-progress-bar span{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#16803d,#22c55e);
    border-radius:999px;
}

.course-mini-tracks{
    display:grid;
    gap:8px;
}

.course-mini-tracks button{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
    align-items:center;
    width:100%;
    border:1px solid #dbe6ee;
    border-radius:10px;
    background:#f8fafc;
    color:var(--ink);
    cursor:pointer;
    padding:10px 12px;
    text-align:left;
}

.course-mini-tracks button:hover,
.course-mini-tracks button.active{
    border-color:#15803d;
    background:#f0fdf4;
}

.course-mini-tracks button.completed span{
    background:#16803d;
    color:#fff;
}

.course-mini-tracks span{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    background:#e2e8f0;
    border-radius:999px;
    color:#166534;
    font-size:12px;
    font-weight:900;
}

.course-mini-tracks strong{
    display:block;
    color:#0f172a;
    font-size:14px;
    line-height:1.25;
    overflow-wrap:anywhere;
}

html[data-theme="dark"] .course-mini-tracks button{
    background:#eef4f8 !important;
    border-color:#c7d7e5 !important;
    color:#0f172a !important;
}

html[data-theme="dark"] .course-mini-tracks button:hover,
html[data-theme="dark"] .course-mini-tracks button.active{
    background:#dcfce7 !important;
    border-color:#86efac !important;
}

html[data-theme="dark"] .course-mini-tracks strong{
    color:#0f172a !important;
}

html[data-theme="dark"] .course-mini-tracks span{
    background:#dbe7f0 !important;
    color:#047857 !important;
}

html[data-theme="dark"] .course-mini-tracks button.completed span{
    background:#16803d !important;
    color:#ffffff !important;
}

.lab-links{
    display:grid;
    gap:10px;
}

.lab-link{
    display:flex;
    justify-content:space-between;
    align-items:center;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f9fcfd;
    color:var(--ink);
    padding:12px;
    text-decoration:none;
}

.lab-link strong{
    color:var(--green);
}

.assessment-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.assessment-head span{
    color:var(--muted);
    display:block;
    font-weight:800;
    font-size:12px;
}

.assessment-head strong{
    font-size:18px;
}

.assessment-score{
    background:#eef8fc;
    color:#0d2a3d;
    border:1px solid #b9ddeb;
    border-radius:999px;
    font-weight:900;
    padding:8px 10px;
}

.assessment-empty{
    color:var(--muted);
    background:#f9fcfd;
    border:1px solid var(--line);
    border-radius:10px;
    padding:14px;
}

.quiz-list{
    display:grid;
    gap:10px;
    margin-top:12px;
    max-height:520px;
    overflow:auto;
    padding-right:4px;
}

.quiz-card{
    border:1px solid var(--line);
    background:#fbfdfe;
    border-radius:12px;
    padding:12px;
}

.quiz-card h3{
    font-size:14px;
    line-height:1.45;
    margin:0 0 10px;
}

.quiz-question-title{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#0f172a !important;
    opacity:1 !important;
    visibility:visible !important;
}

.quiz-question-title span{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:30px;
    height:30px;
    border-radius:999px;
    background:#e6f8ee;
    color:#047857;
    font-size:13px;
    font-weight:900;
}

.quiz-question-title strong{
    display:block;
    color:#0f172a !important;
    font-weight:900;
}

.quiz-options{
    display:grid;
    gap:7px;
}

.quiz-option{
    width:100%;
    border:1px solid #d8e3ea;
    background:#fff;
    color:#142433 !important;
    border-radius:8px;
    padding:9px 10px;
    text-align:left;
    cursor:pointer;
    line-height:1.35;
}

.quiz-option:hover,
.quiz-option.selected{
    border-color:var(--green-2);
    background:#edf8ef;
}

.academy-copy-protected :where(
    .academy-welcome-card,
    .academy-course-card,
    .course-guide,
    .course-content-panel,
    .course-side-panel,
    .assessment-main-panel,
    .lesson-full-content,
    .lesson-inline-visual,
    .lesson-rich-card,
    .lesson-screenshot-block,
    .lesson-command,
    .academy-course-card,
    .track-card,
    .quiz-card,
    .assessment-result,
    .assessment-review,
    .assessment-wrong-card,
    .operational-library,
    .library-card
){
    -webkit-user-select:none;
    user-select:none;
}

.academy-copy-protected input,
.academy-copy-protected textarea,
.academy-copy-protected select,
.academy-copy-protected button,
.academy-copy-protected a,
.academy-copy-protected .certificate-document,
.academy-copy-protected .certificate-document *{
    -webkit-user-select:text;
    user-select:text;
}

.academy-security-watermark{
    position:fixed;
    right:16px;
    bottom:14px;
    z-index:9999;
    pointer-events:none;
    max-width:min(420px,calc(100vw - 32px));
    padding:8px 12px;
    border:1px solid rgba(148,163,184,.35);
    border-radius:999px;
    background:rgba(15,23,42,.72);
    color:rgba(255,255,255,.86);
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:0 12px 30px rgba(15,23,42,.18);
    backdrop-filter:blur(10px);
}

.academy-print-guard .academy-shell,
.academy-print-guard .course-shell,
.academy-print-guard .assessment-shell,
.academy-print-guard .academy-admin-shell{
    display:none !important;
}

.academy-print-guard::before{
    content:"Impressão bloqueada. Conteúdo protegido da Leal Academy.";
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:80vh;
    padding:40px;
    color:#0f172a;
    font-size:22px;
    font-weight:900;
    text-align:center;
}

.assessment-actions{
    border-top:1px solid var(--line);
    padding-top:14px;
}

.assessment-feedback{
    color:var(--muted);
    font-weight:800;
    margin-top:10px;
}

.assessment-result{
    border:1px solid #fecaca;
    background:linear-gradient(180deg,#fff7f7,#ffffff);
    color:#7f1d1d;
    border-radius:16px;
    padding:16px;
}

.assessment-result.approved{
    border-color:#bbf7d0;
    background:linear-gradient(180deg,#ecfdf5,#ffffff);
    color:#14532d;
}

.assessment-result span,
.certificate-result-card span{
    display:block;
    margin-bottom:5px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.assessment-result strong{
    display:block;
    color:#0f172a;
    font-size:20px;
}

.assessment-result p,
.certificate-result-card p,
.certificate-result-card small{
    margin:8px 0 0;
    color:#475569;
    font-weight:700;
}

html[data-theme="dark"] .assessment-result{
    border-color:#355166;
    background:#0f1d2a;
    color:#e8f1f8;
}

html[data-theme="dark"] .assessment-result.approved{
    border-color:#22a15d;
    background:#0f1d2a;
    color:#86efac;
}

html[data-theme="dark"] .assessment-result.failed{
    border-color:#f87171;
    color:#fecaca;
}

html[data-theme="dark"] .assessment-result strong{
    color:#f8fafc;
}

html[data-theme="dark"] .assessment-result p{
    color:#cbd5e1;
}

.assessment-review{
    margin-top:14px;
    border:1px solid #dbeafe;
    background:#f8fbff;
    border-radius:16px;
    padding:14px;
}

.assessment-review-clean{
    color:#166534;
}

.assessment-review h3{
    margin:0 0 12px;
    color:#0f172a;
    font-size:17px;
}

.assessment-wrong-list{
    display:grid;
    gap:10px;
}

.assessment-wrong-card{
    border:1px solid #fed7aa;
    background:#fff7ed;
    border-radius:12px;
    padding:12px;
}

.assessment-wrong-card strong{
    display:block;
    color:#7c2d12;
    line-height:1.4;
    margin-bottom:8px;
}

.assessment-wrong-card p{
    margin:5px 0;
    color:#334155;
    font-weight:700;
}

.assessment-wrong-card span{
    color:#9a3412;
    font-weight:900;
}

.certificate-result-card{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    align-items:center;
    margin-top:14px;
    border:1px solid #bfdbfe;
    background:linear-gradient(135deg,#eff6ff,#ffffff);
    border-radius:16px;
    padding:16px;
}

.certificate-result-card span{
    color:#0369a1;
}

.certificate-result-card strong{
    color:#0f172a;
    font-size:18px;
}

.certificate-actions,
.certificate-page-actions{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}

.full-material-panel{
    margin-top:20px;
}

.full-material{
    border:1px solid var(--line);
    border-radius:12px;
    background:#fbfdfe;
    overflow:hidden;
}

.full-material summary{
    cursor:pointer;
    font-weight:900;
    color:var(--ink);
    padding:14px 16px;
    background:#eef8fc;
    border-bottom:1px solid var(--line);
}

.full-material pre{
    margin:0;
    max-height:620px;
    overflow:auto;
    padding:18px;
    white-space:pre-wrap;
    word-break:break-word;
    line-height:1.55;
    color:#263b4d;
    font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
    font-size:14px;
}

@media(max-width:1180px){
    .course-grid-cards,
    .track-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .course-content-layout{
        grid-template-columns:1fr;
    }

    .course-side-panel{
        position:static;
    }
}

@media(max-width:720px){
    .academy-home,
    .course-page-shell{
        padding:14px;
    }

    .academy-home-header,
    .course-page-header,
    .academy-welcome-card,
    .course-guide{
        flex-direction:column;
    }

    .course-guide{
        align-items:stretch;
    }

    .course-guide-actions{
        justify-content:stretch;
    }

    .course-guide-actions button{
        flex:1;
    }

    .academy-home-actions{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        justify-content:stretch;
        width:100%;
        margin-left:0;
    }

    .academy-home-actions .secure-logout-button{
        grid-column:auto;
    }

    .academy-counts{
        text-align:left;
        border-left:0;
        padding-left:0;
    }

    .course-grid-cards,
    .track-grid{
        grid-template-columns:1fr;
    }

    .course-page-header h1{
        font-size:30px;
    }

    .academy-floating-top{
        right:16px;
        bottom:16px;
        width:50px;
        height:50px;
        border-radius:14px;
    }
}

/* Academy lesson visual refresh */
.track-card{
    border-color:#cbd5e1;
    background:linear-gradient(180deg,#ffffff,#f8fafc);
}

.track-card:hover,
.track-card.active{
    border-color:#15803d;
    background:linear-gradient(180deg,#f0fdf4,#ffffff);
    box-shadow:0 16px 32px rgba(15,23,42,.12);
}

.lesson-media-card{
    display:grid;
    gap:14px;
    margin:16px 0 18px;
}

.lesson-media-image{
    min-height:320px;
    display:flex;
    align-items:flex-end;
    border-radius:18px;
    overflow:hidden;
    background-color:#071421;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
    box-shadow:0 18px 42px rgba(15,23,42,.16);
}

.lesson-media-image div{
    width:100%;
    max-width:62%;
    padding:24px;
    color:#fff;
    background:linear-gradient(90deg,rgba(15,23,42,.88),rgba(15,23,42,.58),rgba(15,23,42,0));
}

.lesson-media-image span,
.lesson-video-copy span{
    display:block;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.lesson-media-image strong{
    display:block;
    margin-top:6px;
    font-size:clamp(20px,2.4vw,28px);
    line-height:1.15;
    text-shadow:0 2px 12px rgba(0,0,0,.45);
    overflow-wrap:anywhere;
}

.lesson-inline-visual{
    display:grid;
    grid-template-columns:minmax(260px,.9fr) minmax(0,1fr);
    gap:18px;
    align-items:center;
    margin:18px 0 22px;
    padding:18px;
    border:1px solid #bfd8e6;
    border-radius:18px;
    background:linear-gradient(135deg,#f8fcff,#eef8f2);
    white-space:normal;
}

.lesson-inline-visual-art{
    min-width:0;
    min-height:210px;
    border-radius:16px;
    overflow:hidden;
    background:radial-gradient(circle at 20% 20%,rgba(34,197,94,.22),transparent 32%),
        linear-gradient(135deg,#0f2c3d,#123f46 54%,#071421);
    color:#ffffff;
    position:relative;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}

.lesson-inline-visual-art *,
.lesson-inline-visual-art *::before,
.lesson-inline-visual-art *::after{
    box-sizing:border-box;
}

.lesson-inline-visual-art span,
.lesson-inline-visual-art li,
.lesson-inline-visual-art strong,
.lesson-inline-visual-art b{
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
}

.lesson-inline-visual figcaption{
    display:grid;
    gap:8px;
}

.lesson-inline-visual figcaption strong{
    color:#0f172a;
    font-size:20px;
    line-height:1.22;
}

.lesson-inline-visual figcaption span{
    color:#475569;
    line-height:1.55;
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.lesson-visual-tag,
.lesson-visual-route,
.lesson-visual-match,
.lesson-visual-damage,
.lesson-visual-security,
.lesson-visual-service,
.lesson-visual-form,
.lesson-visual-found,
.lesson-visual-flow{
    width:100%;
    min-height:210px;
    padding:22px;
}

.lesson-visual-tag{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
}

.tag-slip{
    width:138px;
    min-height:168px;
    display:grid;
    gap:8px;
    padding:13px;
    color:#0f172a;
    background:#ffffff;
    border-radius:10px;
    box-shadow:0 14px 28px rgba(0,0,0,.28);
}

.tag-slip::before{
    content:"";
    width:42px;
    height:8px;
    margin:auto;
    border-radius:999px;
    background:#cbd5e1;
}

.tag-airport{
    display:block;
    padding:5px 7px;
    border-radius:7px;
    background:#e0f2fe;
    color:#075985;
    font-size:12px;
    font-weight:900;
    text-align:center;
}

.tag-barcode{
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:3px;
    height:42px;
    padding:6px;
    border-radius:6px;
    background:#f8fafc;
}

.tag-barcode i{
    display:block;
    width:4px;
    background:#0f172a;
}

.tag-barcode i:nth-child(2),
.tag-barcode i:nth-child(5){
    width:8px;
}

.tag-slip strong{
    text-align:center;
    font-size:13px;
    color:#166534;
}

.tag-note{
    max-width:210px;
    display:grid;
    gap:8px;
    padding:16px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:14px;
    background:rgba(15,23,42,.38);
}

.tag-note b{
    font-size:18px;
}

.tag-note span{
    color:#dbeafe;
    line-height:1.45;
}

.lesson-visual-route{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:auto auto;
    align-items:center;
    gap:12px;
}

.lesson-visual-route span,
.lesson-visual-flow span,
.lesson-visual-form span,
.lesson-visual-form strong,
.lesson-visual-service span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.92);
    color:#0f172a;
    font-weight:900;
    text-align:center;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    min-width:0;
    max-width:100%;
    font-size:clamp(10px,1.04vw,13px);
    line-height:1.2;
}

.lesson-visual-route i{
    display:none;
}

.lesson-visual-route strong{
    grid-column:1/-1;
    justify-self:center;
    margin-top:10px;
    padding:8px 14px;
    border-radius:999px;
    background:#facc15;
    color:#0f172a;
}

.lesson-visual-match{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:12px;
    align-items:center;
}

.lesson-visual-match div{
    min-height:104px;
    display:grid;
    place-items:center;
    gap:5px;
    padding:14px;
    border-radius:14px;
    background:rgba(255,255,255,.92);
    color:#0f172a;
    text-align:center;
}

.lesson-visual-match div b{
    color:#047857;
    font-size:22px;
}

.lesson-visual-match > strong{
    padding:12px 10px;
    border-radius:999px;
    background:#facc15;
    color:#0f172a;
}

.lesson-visual-match footer{
    grid-column:1/-1;
    text-align:center;
    color:#dbeafe;
    font-weight:900;
}

.lesson-visual-damage{
    display:grid;
    grid-template-columns:minmax(118px,.88fr) minmax(112px,1fr);
    gap:14px;
    align-items:center;
}

.damage-case{
    width:min(150px,100%);
    height:auto;
    aspect-ratio:1/1;
    justify-self:center;
    position:relative;
    border-radius:20px;
    background:#dbe4eb;
    box-shadow:0 18px 30px rgba(0,0,0,.3);
}

.damage-case::before{
    content:"";
    position:absolute;
    left:50%;
    top:-14%;
    width:40%;
    height:24%;
    transform:translateX(-50%);
    border:clamp(6px,1.2vw,9px) solid #94a3b8;
    border-bottom:0;
    border-radius:16px 16px 0 0;
}

.damage-case i{
    position:absolute;
    background:#ef4444;
    border-radius:999px;
}

.damage-case i:nth-child(1){
    width:64px;
    height:8px;
    transform:rotate(35deg);
    left:46px;
    top:58px;
}

.damage-case i:nth-child(2){
    width:44px;
    height:8px;
    transform:rotate(-32deg);
    left:54px;
    top:76px;
}

.damage-case i:nth-child(3){
    width:10px;
    height:10px;
    left:24px;
    bottom:20px;
}

.lesson-visual-damage ul,
.lesson-visual-security ol{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}

.lesson-visual-damage li,
.lesson-visual-security li{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 10px;
    border-radius:10px;
    background:rgba(255,255,255,.92);
    color:#0f172a;
    font-weight:800;
    text-align:center;
    font-size:clamp(10px,1.02vw,12px);
    line-height:1.16;
}

.lesson-visual-security{
    display:grid;
    grid-template-columns:.8fr 1fr;
    gap:18px;
    align-items:center;
}

.shield-shape{
    width:128px;
    height:150px;
    justify-self:center;
    background:linear-gradient(135deg,#38bdf8,#2563eb);
    clip-path:polygon(50% 0,92% 16%,84% 68%,50% 100%,16% 68%,8% 16%);
    box-shadow:0 18px 34px rgba(0,0,0,.32);
}

.lesson-visual-service{
    display:grid;
    grid-template-columns:minmax(82px,.54fr) minmax(0,1.46fr);
    gap:14px;
    align-items:center;
}

.service-person{
    width:min(112px,100%);
    height:146px;
    justify-self:center;
    position:relative;
}

.service-person::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:48px;
    height:48px;
    transform:translateX(-50%);
    border-radius:50%;
    background:#bfdbfe;
}

.service-person::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    width:88px;
    height:94px;
    transform:translateX(-50%);
    border-radius:34px 34px 14px 14px;
    background:#22c55e;
}

.service-counter{
    min-width:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}

.service-counter span{
    min-width:0;
}

.lesson-visual-form,
.lesson-visual-flow{
    display:grid;
    gap:10px;
    align-content:center;
}

.lesson-visual-found{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    grid-template-rows:1fr auto;
    gap:14px;
    align-items:center;
}

.found-cabin{
    min-height:145px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    align-items:end;
    padding:14px;
    border-radius:16px;
    background:rgba(15,23,42,.45);
    position:relative;
}

.found-cabin span{
    height:92px;
    border-radius:14px 14px 8px 8px;
    background:#e2e8f0;
    box-shadow:inset 0 -14px 0 rgba(15,23,42,.1);
}

.found-cabin strong{
    position:absolute;
    left:14px;
    bottom:14px;
    padding:6px 10px;
    border-radius:999px;
    background:#0ea5e9;
    color:#ffffff;
    font-size:12px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.found-object{
    min-height:145px;
    display:grid;
    place-items:center;
    gap:8px;
    padding:16px;
    border-radius:16px;
    background:rgba(255,255,255,.92);
    color:#0f172a;
    text-align:center;
    font-weight:900;
}

.found-object i{
    width:72px;
    height:58px;
    border-radius:12px;
    background:linear-gradient(135deg,#facc15,#f97316);
    position:relative;
    display:block;
}

.found-object i::before{
    content:"";
    position:absolute;
    left:22px;
    top:-18px;
    width:28px;
    height:22px;
    border:6px solid #334155;
    border-bottom:0;
    border-radius:14px 14px 0 0;
}

.found-steps{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.found-steps span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:10px;
    border-radius:12px;
    background:#ffffff;
    color:#0f172a;
    font-weight:900;
    text-align:center;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
}

.lesson-visual-form span,
.lesson-visual-form strong{
    justify-content:flex-start;
}

.lesson-visual-form span::before,
.lesson-visual-form strong::before{
    content:"";
    width:34px;
    height:8px;
    margin-right:12px;
    border-radius:999px;
    background:#38bdf8;
    flex:none;
}

.lesson-visual-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.lesson-visual-flow span{
    position:relative;
}

.lesson-visual-flow span:nth-child(odd):not(:last-child)::after{
    content:"";
    position:absolute;
    right:-12px;
    width:18px;
    height:3px;
    background:#38bdf8;
}

.lesson-video-box{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(300px,1.18fr);
    gap:14px;
    align-items:stretch;
}

.lesson-video-copy{
    border:1px solid #bfdbfe;
    border-radius:16px;
    background:#eff6ff;
    color:#0f172a;
    padding:18px;
}

.lesson-video-copy strong{
    display:block;
    margin:5px 0 8px;
    font-size:18px;
}

.lesson-video-copy p{
    margin:0 0 14px;
    color:#334155;
    line-height:1.55;
}

.lesson-video-copy a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#1d4ed8;
    color:#fff;
    font-weight:900;
    padding:10px 13px;
    text-decoration:none;
}

.lesson-video-box iframe{
    width:100%;
    min-height:220px;
    border:0;
    border-radius:16px;
    background:#0f172a;
}

.lesson-full-content{
    max-height:none;
    overflow:visible;
    background:#ffffff;
    color:#0f172a;
    border-color:#cbd5e1;
    box-shadow:inset 4px 0 0 #16a34a;
    font-size:15px;
    line-height:1.72;
}

.lesson-full-content h3{
    margin:24px 0 10px;
    padding:12px 14px;
    border-radius:12px;
    background:#ecfdf5;
    color:#14532d;
    font-size:20px;
    line-height:1.25;
}

.lesson-full-content h3:first-child{
    margin-top:0;
}

.lesson-full-content h4{
    margin:18px 0 8px;
    color:#0f766e;
    font-size:16px;
}

.lesson-full-content p{
    margin:0 0 10px;
}

.lesson-full-content ul{
    margin:8px 0 14px 18px;
    padding:0;
}

.lesson-full-content li{
    margin:7px 0;
}

.lesson-command{
    margin:12px 0 16px;
    padding:14px;
    border-radius:12px;
    border:1px solid #334155;
    background:#020617;
    color:#f8fafc;
    white-space:pre-wrap;
    font-size:13px;
    line-height:1.55;
}

.lesson-content-label{
    background:#fef3c7;
    color:#78350f;
    border-color:#facc15;
}

.quiz-card,
.assessment-empty,
.lab-link{
    border-color:#cbd5e1;
}

.quiz-option.selected{
    outline:3px solid rgba(22,163,74,.22);
}

@media(max-width:980px){
    .lesson-video-box{
        grid-template-columns:1fr;
    }

    .lesson-inline-visual{
        grid-template-columns:1fr;
    }

    .lesson-visual-route,
    .lesson-visual-match,
    .lesson-visual-damage,
    .lesson-visual-security,
    .lesson-visual-service,
    .lesson-visual-found,
    .lesson-visual-flow{
        grid-template-columns:1fr;
    }

    .lesson-visual-route i,
    .lesson-visual-flow span:nth-child(odd):not(:last-child)::after,
    .lesson-visual-flow span:not(:last-child)::after{
        display:none;
    }

    .lesson-visual-tag{
        flex-direction:column;
    }

    .tag-note{
        max-width:none;
    }

    .lesson-media-image{
        min-height:240px;
    }

    .lesson-media-image div{
        max-width:100%;
        background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.84));
    }
}

/* Expandable assessment card */
.assessment-start-card{
    display:grid;
    gap:14px;
    border:1px solid #bbf7d0;
    border-radius:16px;
    background:linear-gradient(180deg,#f0fdf4,#ffffff);
    padding:16px;
}

.assessment-start-card span,
.assessment-expander summary span{
    display:block;
    color:#15803d;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.assessment-start-card strong,
.assessment-expander summary strong{
    display:block;
    margin-top:4px;
    color:#0f172a;
    font-size:19px;
}

.assessment-start-card p{
    margin:8px 0 0;
    color:#475569;
    line-height:1.45;
}

.assessment-start-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}

.assessment-expander{
    border:1px solid #cbd5e1;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
}

.assessment-expander summary{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
    cursor:pointer;
    padding:15px;
    background:#f8fafc;
    list-style:none;
}

.assessment-expander summary::-webkit-details-marker{
    display:none;
}

.assessment-expander summary small{
    border-radius:999px;
    background:#dcfce7;
    color:#166534;
    font-weight:900;
    padding:8px 10px;
}

.assessment-expander .quiz-list{
    padding:14px;
    margin-top:0;
}

.assessment-expander .assessment-actions,
.assessment-expander .assessment-feedback{
    margin:0 14px 14px;
}

.assessment-page{
    min-height:100vh;
    background:linear-gradient(135deg,#e6eef4,#f7fbff);
    color:#0f172a;
}

.assessment-shell{
    min-height:100vh;
    display:grid;
    grid-template-rows:auto 1fr;
    gap:18px;
    padding:24px;
}

.assessment-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:20px 24px;
    border:1px solid #cbd5e1;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 14px 36px rgba(15,23,42,.08);
}

.assessment-header span{
    display:block;
    margin-bottom:5px;
    color:#15803d;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.assessment-header h1{
    margin:0;
    color:#0f172a;
    font-size:clamp(24px,3vw,38px);
    line-height:1.1;
}

.assessment-header p{
    margin:8px 0 0;
    color:#475569;
    font-weight:700;
}

.assessment-main-panel{
    min-height:0;
}

.assessment-fullscreen-card{
    height:100%;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto auto;
}

.assessment-fullscreen-card .quiz-list{
    max-height:none;
    overflow:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.assessment-fullscreen-card .quiz-card{
    display:grid;
    align-content:start;
}

.assessment-fullscreen-card .quiz-card h3{
    font-size:16px;
}

.assessment-fullscreen-card .quiz-option{
    min-height:46px;
}

.certificate-page{
    min-height:100vh;
    background:linear-gradient(135deg,#e6eef4,#f7fbff);
    color:#0f172a;
}

.certificate-shell{
    max-width:1180px;
    margin:0 auto;
}

.certificate-main-panel{
    display:grid;
    gap:18px;
}

.certificate-page-actions{
    justify-content:flex-end;
}

.certificate-document{
    background:#fff;
    border:1px solid #cbd5e1;
    border-radius:24px;
    padding:18px;
    box-shadow:0 24px 60px rgba(15,23,42,.14);
}

.certificate-border{
    position:relative;
    overflow:hidden;
    min-height:640px;
    border:3px solid #0f766e;
    border-radius:18px;
    padding:42px;
    background:
        linear-gradient(135deg,rgba(15,118,110,.08),rgba(255,255,255,.95) 42%,rgba(14,165,233,.1)),
        radial-gradient(circle at 88% 16%,rgba(14,116,144,.16),transparent 32%),
        #ffffff;
}

.certificate-border::before{
    content:"";
    position:absolute;
    inset:22px;
    border:1px solid rgba(15,118,110,.25);
    border-radius:12px;
    pointer-events:none;
}

.certificate-top{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:18px;
}

.certificate-top img{
    width:92px;
    height:92px;
    object-fit:contain;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,23,42,.12);
}

.certificate-top span{
    display:block;
    color:#0f766e;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.certificate-top strong{
    display:block;
    margin-top:5px;
    color:#0f172a;
    font-size:clamp(28px,4vw,48px);
    line-height:1.05;
}

.certificate-body{
    position:relative;
    z-index:1;
    max-width:860px;
    margin:70px auto 60px;
    text-align:center;
}

.certificate-kicker{
    display:inline-flex;
    border:1px solid #99f6e4;
    border-radius:999px;
    background:#ecfdf5;
    color:#047857;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:8px 14px;
}

.certificate-body h1{
    margin:28px 0 18px;
    color:#082f49;
    font-size:clamp(42px,6vw,76px);
    line-height:1;
    font-family:Georgia,"Times New Roman",serif;
}

.certificate-body p{
    margin:0 auto;
    max-width:760px;
    color:#334155;
    font-size:clamp(18px,2.2vw,26px);
    line-height:1.55;
}

.certificate-body p strong{
    color:#0f766e;
}

.certificate-footer{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:52px;
}

.certificate-footer div{
    border-top:2px solid #0f766e;
    padding-top:12px;
}

.certificate-footer span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.certificate-footer strong{
    display:block;
    margin-top:4px;
    color:#0f172a;
    overflow-wrap:anywhere;
}

.certificate-runway{
    position:absolute;
    right:-80px;
    bottom:-90px;
    width:420px;
    height:260px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(8,47,73,.95),rgba(15,118,110,.88));
    transform:rotate(-12deg);
    opacity:.95;
}

.certificate-runway span{
    position:absolute;
    left:86px;
    right:86px;
    height:5px;
    background:rgba(255,255,255,.84);
    border-radius:999px;
}

.certificate-runway span:nth-child(1){
    top:82px;
}

.certificate-runway span:nth-child(2){
    top:128px;
}

.certificate-runway span:nth-child(3){
    top:174px;
}

.lesson-local-video{
    width:100%;
    aspect-ratio:16 / 9;
    max-height:min(68vh,720px);
    min-height:220px;
    border:0;
    border-radius:16px;
    background:#020617;
    object-fit:contain;
    display:block;
}

.lesson-local-video:fullscreen{
    width:100vw;
    height:100vh;
    max-height:100vh;
    border-radius:0;
    object-fit:contain;
    background:#000;
}

.lesson-local-video:-webkit-full-screen{
    width:100vw;
    height:100vh;
    max-height:100vh;
    border-radius:0;
    object-fit:contain;
    background:#000;
}



.course-intro-video-card{
    display:grid;
    grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
    gap:18px;
    align-items:center;
    margin:20px 0 22px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:22px;
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    box-shadow:0 14px 35px rgba(15,23,42,.10);
}

.course-intro-copy span{
    display:block;
    color:#15803d;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.course-intro-copy h2{
    margin:8px 0 10px;
    color:#0f172a;
    font-size:24px;
}

.course-intro-copy p{
    margin:0;
    color:#475569;
    line-height:1.6;
}

.course-intro-video{
    min-height:260px;
    box-shadow:0 16px 32px rgba(15,23,42,.18);
}

@media(max-width:900px){
    .course-intro-video-card{
        grid-template-columns:1fr;
    }
}

.lesson-screenshot-block{
    margin:18px 0 22px;
    padding:16px;
    border:1px solid #cbd5e1;
    border-radius:18px;
    background:linear-gradient(135deg,#f8fafc,#eef6ff);
}

.lesson-screenshot-heading{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:end;
    margin-bottom:14px;
}

.lesson-screenshot-heading span{
    display:block;
    color:#0369a1;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.lesson-screenshot-heading strong{
    color:#0f172a;
    font-size:18px;
}

.lesson-screenshot-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:14px;
}

.lesson-screenshot-card{
    margin:0;
    overflow:hidden;
    border:1px solid #dbe3ef;
    border-radius:16px;
    background:#ffffff;
    box-shadow:0 12px 28px rgba(15,23,42,.10);
}

.lesson-screenshot-zoom{
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:#0f172a;
    cursor:pointer;
}

.lesson-screenshot-zoom img{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:contain;
    background:#f8fafc;
}

.lesson-screenshot-card figcaption{
    display:grid;
    gap:5px;
    padding:13px 14px 15px;
}

.lesson-screenshot-card figcaption strong{
    color:#0f172a;
    font-size:15px;
}

.lesson-screenshot-card figcaption span{
    color:#475569;
    font-size:13px;
    line-height:1.45;
}

.screenshot-preview-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(15,23,42,.82);
}

.screenshot-preview-dialog{
    width:min(1180px,96vw);
    max-height:92vh;
    overflow:auto;
    border:1px solid #64748b;
    border-radius:18px;
    background:#0f172a;
    box-shadow:0 22px 70px rgba(0,0,0,.42);
}

.screenshot-preview-header{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:14px 16px;
    color:#ffffff;
    border-bottom:1px solid #334155;
}

.screenshot-preview-header button{
    border:1px solid #93c5fd;
    border-radius:10px;
    background:#1d4ed8;
    color:#ffffff;
    padding:8px 12px;
    cursor:pointer;
}

.screenshot-preview-dialog img{
    display:block;
    width:100%;
    height:auto;
}

@media(max-width:700px){
    .lesson-quick-nav{
        align-items:stretch;
        flex-direction:column;
    }

    .lesson-quick-nav .primary-action,
    .lesson-quick-nav .secondary-action{
        width:100%;
    }

    .lesson-screenshot-heading{
        align-items:start;
        flex-direction:column;
    }

    .screenshot-preview-modal{
        padding:10px;
    }
}





/*==========================================================
ACADEMY AUTH ACCESS
==========================================================*/
.academy-auth-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:28px;
    background:
        linear-gradient(135deg,rgba(239,246,255,.86),rgba(236,253,245,.88)),
        url("https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=1600&q=82");
    background-size:cover;
    background-position:center;
}

.academy-auth-card{
    width:min(980px,100%);
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:28px;
    align-items:center;
    padding:34px;
    border:1px solid rgba(203,213,225,.78);
    border-radius:24px;
    background:rgba(255,255,255,.94);
    box-shadow:0 24px 70px rgba(15,23,42,.18);
    backdrop-filter:blur(12px);
}

.academy-auth-copy h1{
    margin:0;
    font-size:36px;
    line-height:1.1;
    color:#0f172a;
}

.academy-auth-copy p:not(.academy-kicker){
    margin:14px 0 0;
    color:#475569;
    line-height:1.65;
    font-size:16px;
}

.academy-auth-form,
.academy-auto-access{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:24px;
    border:1px solid #dbe6ee;
    border-radius:18px;
    background:#f8fafc;
}

.academy-auth-form label{
    color:#0f766e;
    font-size:13px;
    font-weight:900;
}

.academy-auth-form input{
    width:100%;
    min-height:46px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#ffffff;
    color:#0f172a;
    padding:0 14px;
    font:inherit;
}

.academy-auth-form input:focus{
    outline:none;
    border-color:#14b8a6;
    box-shadow:0 0 0 4px rgba(20,184,166,.16);
}

.academy-auth-form button,
.academy-auth-actions button{
    min-height:46px;
    border:0;
    border-radius:10px;
    background:#0f766e;
    color:#ffffff;
    font-weight:900;
    cursor:pointer;
}

.academy-auth-form button:hover,
.academy-auth-actions button:hover{
    background:#115e59;
}

.academy-auth-message{
    min-height:20px;
    color:#be123c;
    font-size:13px;
    font-weight:800;
}

.academy-auto-access span{
    color:#0f766e;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.academy-auto-access strong{
    color:#0f172a;
    font-size:22px;
}

.academy-auto-access p{
    margin:0;
    color:#475569;
    line-height:1.5;
}

.academy-auth-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:8px;
}

.academy-auth-actions button:last-child{
    background:#ffffff;
    color:#0f172a;
    border:1px solid #cbd5e1;
}

@media(max-width:820px){
    .academy-auth-card{
        grid-template-columns:1fr;
        padding:24px;
    }

    .academy-auth-copy h1{
        font-size:30px;
    }

    .academy-auth-actions{
        grid-template-columns:1fr;
    }
}

/*==========================================================
LEAL ACADEMY BRAND
==========================================================*/
.academy-brand-lockup{
    display:flex;
    align-items:center;
    gap:18px;
}

.academy-brand-lockup img{
    width:96px;
    height:96px;
    object-fit:cover;
    border-radius:22px;
    box-shadow:0 16px 34px rgba(15,23,42,.18);
}

.academy-header-copy{
    margin-top:12px;
}

.academy-auth-logo{
    width:150px;
    height:150px;
    object-fit:cover;
    border-radius:28px;
    margin-bottom:18px;
    box-shadow:0 18px 42px rgba(15,23,42,.18);
}

.course-header-logo{
    width:78px;
    height:78px;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.42);
    border-radius:18px;
    box-shadow:0 14px 32px rgba(15,23,42,.22);
}

@media(max-width:700px){
    .academy-brand-lockup{
        align-items:flex-start;
        flex-direction:column;
    }

    .academy-brand-lockup img,
    .course-header-logo{
        width:72px;
        height:72px;
        border-radius:16px;
    }

    .academy-auth-logo{
        width:112px;
        height:112px;
        border-radius:22px;
    }
}

.academy-auth-secondary{
    background:#ffffff !important;
    color:#0f172a !important;
    border:1px solid #cbd5e1 !important;
}

.secure-logout-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:112px;
    min-height:42px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#ffffff;
    color:#0f172a;
    padding:10px 14px;
    font-weight:900;
    cursor:pointer;
}

.secure-logout-button:hover{
    border-color:#16803d;
    color:#16803d;
}

@media(max-width:900px){
    .assessment-fullscreen-card .quiz-list{
        grid-template-columns:1fr;
    }

    .certificate-result-card,
    .certificate-footer{
        grid-template-columns:1fr;
    }

    .certificate-page-actions{
        justify-content:flex-start;
    }
}

@media(max-width:720px){
    .assessment-shell{
        padding:14px;
    }

    .assessment-header{
        align-items:flex-start;
        flex-direction:column;
        padding:18px;
    }

    .certificate-document{
        padding:10px;
        border-radius:16px;
    }

    .certificate-border{
        min-height:auto;
        padding:26px 20px;
    }

    .certificate-top{
        align-items:flex-start;
        flex-direction:column;
    }

    .certificate-top img{
        width:76px;
        height:76px;
    }

    .certificate-body{
        margin:42px auto;
        text-align:left;
    }

    .certificate-runway{
        right:-180px;
        bottom:-150px;
        opacity:.18;
    }
}

@media print{
    body.certificate-page{
        background:#fff;
    }

    .certificate-screen-header,
    .certificate-page-actions{
        display:none !important;
    }

    .certificate-shell,
    .assessment-shell{
        display:block;
        min-height:auto;
        padding:0;
        max-width:none;
    }

    .certificate-main-panel{
        display:block;
    }

    .certificate-document{
        box-shadow:none;
        border:0;
        border-radius:0;
        padding:0;
        page-break-inside:avoid;
    }

    .certificate-border{
        min-height:92vh;
        border-color:#0f766e;
    }
}

/*==========================================================
ADMIN DASHBOARD
==========================================================*/

.academy-admin-page{
    background:#e8f0f5;
    color:#0f172a;
}

.academy-admin-shell{
    min-height:100vh;
    padding:28px;
}

.academy-admin-header{
    display:flex;
    justify-content:space-between;
    gap:22px;
    align-items:flex-start;
    background:#ffffff;
    border:1px solid #d6e2eb;
    border-radius:24px;
    padding:24px;
    box-shadow:0 18px 44px rgba(15,23,42,.08);
}

.academy-admin-header h1{
    margin:0;
    font-size:32px;
    letter-spacing:0;
}

.academy-admin-header p{
    margin:8px 0 0;
    color:#52657a;
}

.academy-admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}

.academy-admin-status{
    margin:18px 0;
    border:1px solid #bfdbfe;
    border-radius:14px;
    background:#eff6ff;
    color:#1d4ed8;
    padding:14px 16px;
    font-weight:800;
}

.academy-admin-status.success{
    border-color:#bbf7d0;
    background:#f0fdf4;
    color:#15803d;
}

.academy-admin-status.danger{
    border-color:#fecaca;
    background:#fef2f2;
    color:#b91c1c;
}

.academy-admin-metrics{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.academy-admin-metric{
    background:#ffffff;
    border:1px solid #d6e2eb;
    border-radius:18px;
    padding:18px;
    box-shadow:0 12px 28px rgba(15,23,42,.07);
}

.academy-admin-metric span{
    display:block;
    color:#047857;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.academy-admin-metric strong{
    display:block;
    margin-top:8px;
    color:#082f49;
    font-size:36px;
    line-height:1;
}

.academy-admin-metric small{
    display:block;
    margin-top:8px;
    color:#64748b;
    font-weight:700;
}

.academy-admin-layout{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);
    gap:18px;
    margin-bottom:18px;
}

.academy-admin-panel{
    background:#ffffff;
    border:1px solid #d6e2eb;
    border-radius:18px;
    padding:18px;
    box-shadow:0 14px 34px rgba(15,23,42,.07);
}

.academy-admin-wide-panel{
    margin-bottom:18px;
}

.academy-admin-panel-title{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:14px;
}

.academy-admin-panel-title h2{
    margin:0;
    font-size:20px;
}

.academy-admin-panel-title span{
    color:#64748b;
    font-weight:800;
}

.academy-admin-table-wrap{
    width:100%;
    overflow:auto;
}

.academy-admin-table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
}

.academy-admin-table th,
.academy-admin-table td{
    border-bottom:1px solid #e2e8f0;
    padding:11px 10px;
    text-align:left;
    vertical-align:top;
}

.academy-admin-table th{
    color:#0f766e;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.academy-admin-table td{
    color:#203247;
    font-weight:650;
}

.academy-admin-empty{
    border:1px dashed #cbd5e1;
    border-radius:14px;
    color:#64748b;
    padding:18px;
    font-weight:800;
}

.academy-admin-user-list{
    display:grid;
    gap:14px;
}

.academy-admin-user-card{
    border:1px solid #cbd5e1;
    border-radius:16px;
    background:#f8fafc;
    overflow:hidden;
}

.academy-admin-user-card summary{
    display:grid;
    grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);
    gap:16px;
    align-items:center;
    padding:16px;
    cursor:pointer;
    list-style:none;
}

.academy-admin-user-card summary::-webkit-details-marker{
    display:none;
}

.academy-admin-user-card summary::after{
    content:"Abrir detalhes";
    justify-self:end;
    grid-column:1 / -1;
    color:#0f766e;
    font-size:12px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.academy-admin-user-card[open] summary::after{
    content:"Fechar detalhes";
}

.academy-admin-user-card summary strong{
    display:block;
    color:#0f172a;
    font-size:18px;
}

.academy-admin-user-card summary span{
    display:block;
    margin-top:4px;
    color:#52657a;
    overflow-wrap:anywhere;
}

.academy-admin-user-metrics{
    display:grid;
    grid-template-columns:repeat(7,minmax(82px,1fr));
    gap:8px;
}

.academy-admin-user-metrics span{
    min-height:58px;
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#ffffff;
    color:#52657a;
    padding:8px;
    font-size:12px;
    font-weight:800;
}

.academy-admin-user-metrics b{
    display:block;
    color:#047857;
    font-size:20px;
    line-height:1;
}

.academy-admin-user-detail{
    border-top:1px solid #dbe6ee;
    background:#ffffff;
    padding:16px;
}

.academy-admin-user-detail > p{
    margin:0 0 12px;
    color:#52657a;
}

.academy-admin-user-detail .academy-admin-table{
    min-width:980px;
}

@media(max-width:1180px){
    .academy-admin-metrics{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .academy-admin-layout{
        grid-template-columns:1fr;
    }

    .academy-admin-user-card summary{
        grid-template-columns:1fr;
    }

    .academy-admin-user-metrics{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:720px){
    .academy-admin-shell{
        padding:14px;
    }

    .academy-admin-header,
    .academy-admin-panel-title{
        flex-direction:column;
        align-items:flex-start;
    }

    .academy-admin-actions{
        width:100%;
        justify-content:flex-start;
    }

    .academy-admin-metrics{
        grid-template-columns:1fr;
    }

    .academy-admin-user-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

.support-materials-block{
    margin-top:22px;
}

.support-materials-block[hidden]{
    display:none;
}

.siga-final-practice-card{
    background:#ffffff;
}

.siga-final-practice-visual{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(132px,.32fr);
    gap:24px;
    align-items:center;
    width:100%;
    aspect-ratio:16 / 9;
    padding:42px;
    background:linear-gradient(135deg,#071827 0%,#12324a 58%,#0f766e 100%);
    overflow:hidden;
    box-sizing:border-box;
}

.siga-final-practice-visual::before,
.siga-final-practice-visual::after{
    content:"";
    position:absolute;
    border-radius:999px;
    pointer-events:none;
}

.siga-final-practice-visual::before{
    right:-70px;
    top:-80px;
    width:230px;
    height:230px;
    background:rgba(56,189,248,.14);
}

.siga-final-practice-visual::after{
    left:-55px;
    bottom:-65px;
    width:220px;
    height:220px;
    background:rgba(34,197,94,.12);
}

.siga-visual-screen,
.siga-visual-side{
    position:relative;
    z-index:1;
    border-radius:22px;
    box-shadow:0 18px 34px rgba(2,6,23,.28);
}

.siga-visual-screen{
    height:100%;
    max-height:330px;
    min-height:220px;
    background:linear-gradient(180deg,#f8fafc,#dbeafe);
    padding:26px;
    box-sizing:border-box;
}

.siga-visual-bar{
    display:flex;
    align-items:center;
    gap:10px;
    height:48px;
    border-radius:14px;
    background:#0f2740;
    padding:0 20px;
}

.siga-visual-bar span{
    width:14px;
    height:14px;
    border-radius:999px;
    background:#22c55e;
}

.siga-visual-bar span:nth-child(2){ background:#38bdf8; }
.siga-visual-bar span:nth-child(3){ background:#facc15; }

.siga-visual-content{
    display:grid;
    grid-template-columns:.42fr .58fr;
    gap:22px;
    margin-top:24px;
}

.siga-visual-check,
.siga-visual-lines,
.siga-visual-status,
.siga-visual-table{
    border-radius:18px;
    background:#ffffff;
}

.siga-visual-check{
    min-height:110px;
    position:relative;
}

.siga-visual-check::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:82px;
    height:42px;
    border-left:13px solid #16a34a;
    border-bottom:13px solid #16a34a;
    transform:translate(-50%,-62%) rotate(-45deg);
}

.siga-visual-lines{
    display:grid;
    gap:14px;
    align-content:center;
    min-height:110px;
    padding:24px;
    box-sizing:border-box;
}

.siga-visual-lines span,
.siga-visual-table span,
.siga-visual-side span{
    display:block;
    border-radius:999px;
    background:#cbd5e1;
}

.siga-visual-lines span{ height:14px; }
.siga-visual-lines span:nth-child(1){ width:78%; }
.siga-visual-lines span:nth-child(2){ width:95%; }
.siga-visual-lines span:nth-child(3){ width:64%; }

.siga-visual-status{
    display:flex;
    gap:12px;
    align-items:center;
    margin-top:22px;
    padding:18px 20px;
}

.siga-visual-status span{
    display:block;
    width:46px;
    height:46px;
    border-radius:999px;
    background:#0f766e;
    opacity:.9;
}

.siga-visual-status span:nth-child(2){ background:#2563eb; }
.siga-visual-status span:nth-child(3){ background:#16a34a; }

.siga-visual-table{
    display:grid;
    gap:14px;
    margin-top:22px;
    padding:22px;
}

.siga-visual-table span{ height:13px; }
.siga-visual-table span:nth-child(1){ width:92%; }
.siga-visual-table span:nth-child(2){ width:70%; }
.siga-visual-table span:nth-child(3){ width:82%; }

.siga-visual-side{
    display:grid;
    align-content:center;
    gap:34px;
    min-height:320px;
    padding:34px;
    background:#f8fafc;
    box-sizing:border-box;
}

.siga-visual-side span{
    position:relative;
    height:22px;
    background:#dbeafe;
}

.siga-visual-side span::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:46px;
    height:24px;
    border-left:10px solid #16a34a;
    border-bottom:10px solid #16a34a;
    transform:translate(0,-80%) rotate(-45deg);
}

html[data-theme="dark"] .siga-final-practice-card{
    background:#0f1f2f;
}

@media(max-width:720px){
    .siga-final-practice-visual{
        grid-template-columns:1fr;
        padding:22px;
    }

    .siga-visual-side{
        display:none;
    }
}

@media(max-width:760px){
    .academy-floating-top{
        left:18px;
        right:auto;
        bottom:calc(92px + env(safe-area-inset-bottom, 0px));
    }
}
