/* ITS Academy v2.2 — restored module learning flow and visual dashboard */
.course-shell{grid-template-columns:360px minmax(0,1fr);background:#f6f8f7}
.course-nav{padding:0;background:#092b3c;overflow-x:hidden}
.course-nav__heading{position:sticky;top:0;z-index:3;padding:24px 22px 17px;background:linear-gradient(180deg,#092b3c 82%,rgba(9,43,60,.94));border-bottom:1px solid rgba(255,255,255,.12)}
.course-nav__heading h2{margin:5px 0 15px;font-size:1.35rem;line-height:1.22}
.course-nav__heading p{margin:9px 0 0;color:#bad0d7}
.course-nav__eyebrow{color:#62ced9;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.course-nav__modules{padding:5px 15px 10px}
.course-nav .module{margin:8px 0;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.035);overflow:hidden}
.course-nav .module.is-current{border-color:rgba(85,194,211,.62);background:rgba(85,194,211,.08)}
.course-nav .module summary{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:13px 14px;cursor:pointer;list-style:none}
.course-nav .module summary::-webkit-details-marker{display:none}
.course-nav .module summary:before{content:"+";grid-column:2;grid-row:1/3;color:#65cbd6;font-size:1.15rem}
.course-nav .module[open] summary:before{content:"−"}
.module__number{color:#73d2dc;font-size:.67rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.module__name{grid-column:1;color:#fff;font-size:.83rem;font-weight:650;line-height:1.3}
.module__status{display:none}
.module__lessons{padding:4px 8px 10px;border-top:1px solid rgba(255,255,255,.09)}
.course-nav .lesson-link{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:10px;margin:3px 0;padding:9px 8px;color:#d8e8ed;font-size:.82rem;line-height:1.35}
.course-nav .lesson-link>.lesson-link__marker{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:transparent;color:#c9dce2;font-size:.68rem;font-weight:700}
.course-nav .lesson-link>.lesson-link__text{display:block;width:auto;height:auto;min-width:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;overflow-wrap:break-word}
.course-nav .lesson-link:hover,.course-nav .lesson-link.active{background:rgba(85,194,211,.14)}
.course-nav .lesson-link.active{box-shadow:inset 3px 0 #55c2d3;color:#fff}
.course-nav .lesson-link.done>.lesson-link__marker{border-color:#55bb98;background:#197658;color:#fff}
.course-nav .module-check-link{margin:7px 5px 1px;padding:9px 10px;border-radius:6px;background:rgba(85,194,211,.09);color:#76dae3;font-size:.76rem;font-weight:700;line-height:1.35}
.course-nav .module-check-link.is-complete{background:rgba(40,145,107,.14);color:#83dbbc}
.course-nav .module-check-link.is-locked{background:transparent;color:#91a9b1;font-weight:500}
.course-nav .course-final-link{margin:12px 20px 28px}
.learning-pane{max-width:1180px;padding:46px clamp(30px,5vw,72px) 60px}
.lesson-kicker{color:#18708b;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.learning-pane h1{max-width:900px;margin:10px 0 10px;font-size:clamp(2.35rem,4vw,3.9rem)}
.lesson-summary{max-width:780px;margin:0;color:#5c6e78;font-size:1rem}
.video-frame{margin-top:24px}
.watch-card{box-shadow:0 8px 25px rgba(8,37,54,.05)}

.module-check-shell{max-width:900px}
.module-question-card{padding:clamp(24px,4vw,42px)}
.module-question-card>h1{margin:6px 0 9px;font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.1}
.question-intro{max-width:690px;color:#596b75}
.question-sequence{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 30px;padding-bottom:18px;border-bottom:1px solid #dbe3e5;color:#60717c;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}
.question-sequence__dots{display:flex;gap:7px}
.question-sequence__dots span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #cbd7da;border-radius:50%;background:#fff;color:#60717c;font-weight:800}
.question-sequence__dots .is-current{border-color:#146b8c;background:#146b8c;color:#fff}
.question-sequence__dots .is-complete{border-color:#13745a;background:#13745a;color:#fff}

.dashboard-hero{padding:54px 24px 46px;background:linear-gradient(120deg,#072536 0%,#0c4659 62%,#0a6972 100%);color:#fff}
.dashboard-hero h1{margin:5px 0 28px;font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(2.6rem,5.5vw,4.8rem);font-weight:400;line-height:1.02}
.course-progress-card{display:grid;grid-template-columns:170px 1fr;gap:16px 26px;align-items:center;padding:24px 28px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}
.course-progress-card>div:first-child{display:flex;flex-direction:column;color:#c7e3e7}
.course-progress-card__number{color:#fff;font-family:"Libre Caslon Display",Georgia,serif;font-size:3.2rem;line-height:1}
.course-progress-card__bar{height:10px;border-radius:99px;background:rgba(255,255,255,.17);overflow:hidden}
.course-progress-card__bar span{display:block;height:100%;background:#65d3dd}
.course-progress-card__meta{grid-column:2;display:flex;gap:18px;flex-wrap:wrap;color:#cbe2e7;font-size:.79rem}
.course-progress-card .actions{grid-column:2;margin:3px 0 0}
.dashboard-modules{padding-top:46px}
.section-heading{display:grid;grid-template-columns:1fr .8fr;gap:35px;align-items:end;margin-bottom:24px}
.section-heading h2{margin:0;font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(2rem,4vw,3.35rem);font-weight:400;line-height:1.08}
.section-heading>p{margin:0;color:#60717c}
.module-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.module-card{position:relative;min-height:242px;border:1px solid rgba(104,210,220,.28);border-radius:13px;overflow:hidden;background:#092b3c;box-shadow:0 12px 35px rgba(8,37,54,.14);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.module-card:hover{transform:translateY(-3px);border-color:rgba(104,210,220,.55);box-shadow:0 18px 42px rgba(8,37,54,.22)}
.module-card__art{position:absolute;inset:0;background-position:center;background-size:cover;overflow:hidden}
.module-card__art:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(5,31,45,.97) 0%,rgba(5,36,51,.92) 47%,rgba(5,36,51,.62) 100%)}
.module-card__content{position:relative;z-index:1;display:flex;flex-direction:column;min-height:242px;padding:18px 19px 17px;color:#fff}
.module-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#86dee6;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.module-card__identity{display:flex;align-items:center;gap:9px}
.module-card__icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(126,225,232,.42);border-radius:9px;background:rgba(5,53,70,.74);color:#83e0e8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.module-card__icon svg{width:20px;height:20px;overflow:visible}
.module-card__complete,.module-card__ready{padding:4px 7px;border:1px solid rgba(111,220,181,.22);border-radius:99px;background:rgba(30,137,101,.34);color:#a5ead0;font-size:.59rem;letter-spacing:.04em}
.module-card__ready{border-color:rgba(104,210,220,.24);background:rgba(59,157,172,.25);color:#a7e8ee}
.module-card h3{max-width:90%;margin:15px 0 7px;color:#fff;font-size:1.18rem;line-height:1.24}
.module-card p{max-width:88%;margin:0;color:#c5d8de;font-size:.79rem;line-height:1.5}
.module-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.15)}
.module-card__focus{color:#a9c4cc;font-size:.67rem;font-weight:700;letter-spacing:.02em}
.module-card a{flex:0 0 auto;color:#76dbe4;font-size:.79rem;font-weight:800;text-decoration:none}
.module-card a:hover{text-decoration:underline}
.module-card--1 .module-card__art{background-image:url('module-art/module-01.svg')}.module-card--2 .module-card__art{background-image:url('module-art/module-02.svg')}.module-card--3 .module-card__art{background-image:url('module-art/module-03.svg')}.module-card--4 .module-card__art{background-image:url('module-art/module-04.svg')}.module-card--5 .module-card__art{background-image:url('module-art/module-05.svg')}.module-card--6 .module-card__art{background-image:url('module-art/module-06.svg')}.module-card--7 .module-card__art{background-image:url('module-art/module-07.svg')}.module-card--8 .module-card__art{background-image:url('module-art/module-08.svg')}.module-card--9 .module-card__art{background-image:url('module-art/module-09.svg')}
.dashboard-modules .final-assessment-card{margin-top:25px}

@media(max-width:1050px){.course-shell{grid-template-columns:320px minmax(0,1fr)}.module-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.course-shell{grid-template-columns:1fr}.course-nav{position:relative;max-height:none}.course-nav__heading{position:relative}.course-nav__modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.learning-pane{padding:34px 22px}.section-heading{grid-template-columns:1fr}.course-progress-card{grid-template-columns:135px 1fr}}
@media(max-width:650px){.course-nav__modules,.module-card-grid{grid-template-columns:1fr}.course-progress-card{display:block}.course-progress-card__bar{margin:18px 0 12px}.course-progress-card__meta{display:grid;gap:4px}.course-progress-card .actions{margin-top:18px}.question-sequence{align-items:flex-start;flex-direction:column}.module-card,.module-card__content{min-height:226px}}
