/* Chosen Armor Academy v5.6 — Midnight Glass for Middle & High (Grades 6–12).
   All course data, form actions, navigation and permissions remain unchanged. */
:root {
  --lms-navy:#081b3b;
  --lms-deep:#041025;
  --lms-gold:#f2ca79;
  --lms-ink:#eff6ff;
  --lms-muted:#b4c8e5;
  --lms-border:rgba(160,199,255,.25);
  --lms-white:#f8fbff;
  --lms-panel:rgba(16,43,84,.66);
  --lms-sky:#61baff;
}
html,body.caa2-course-body{background:#041025!important;color:#eff6ff;font-family:'Poppins','Montserrat',sans-serif!important}
body.caa2-course-body button,body.caa2-course-body input,body.caa2-course-body textarea,body.caa2-course-body select,
.caap-real-guest #caa-lms-root,.caap-real-guest #caa-lms-root *{font-family:'Poppins','Montserrat',sans-serif!important}
.caap-real-guest:has(#caa-lms-root){background:#041025!important}
.lms-shell{
  color:#edf5ff;
  background:
    radial-gradient(ellipse at 82% 4%,rgba(36,111,207,.35),transparent 34%),
    radial-gradient(ellipse at 20% 76%,rgba(22,97,182,.23),transparent 34%),
    radial-gradient(ellipse at 94% 91%,rgba(220,162,71,.095),transparent 30%),
    linear-gradient(145deg,#07152e,#071c3c 45%,#061329 100%);
  background-attachment:fixed;
  isolation:isolate;
}
.lms-sidebar{
  background:linear-gradient(160deg,rgba(9,31,68,.94),rgba(4,17,42,.97) 72%,rgba(9,33,67,.96));
  border-right:1px solid rgba(156,200,255,.22);
  box-shadow:8px 0 33px rgba(0,7,25,.32),inset -1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(20px) saturate(125%);
  -webkit-backdrop-filter:blur(20px) saturate(125%);
}
.lms-brand{filter:brightness(0) invert(1) drop-shadow(0 6px 14px rgba(5,7,20,.3))}
.lms-edition{
  background:linear-gradient(132deg,rgba(40,92,156,.35),rgba(11,44,88,.26));
  border-color:rgba(179,212,255,.28);
  box-shadow:inset 0 1px rgba(255,255,255,.10),0 10px 18px rgba(0,9,32,.18);
  backdrop-filter:blur(14px);
}
.lms-edition b{color:#f6d18e}.lms-edition small,.lms-sidebar-end span{color:#c1d3ee}
.lms-navitem{color:#c8d9f2;border:1px solid transparent;transition:background .18s,border-color .18s,transform .18s}
.lms-navitem:hover{background:rgba(54,125,218,.23);border-color:rgba(155,204,255,.25);color:#fff}
.lms-navitem.on{
 background:linear-gradient(110deg,rgba(22,118,231,.68),rgba(27,78,154,.61));
 border-color:rgba(151,209,255,.48);color:#fff;
 box-shadow:inset 0 1px rgba(255,255,255,.22),0 6px 19px rgba(14,80,163,.25);
}
.lms-sidebar-end{border-top-color:rgba(192,221,255,.19)}
.lms-sidebar-end a{color:#f2cc83}
.lms-content{position:relative}
.lms-topbar{padding:10px 0 3px}
.lms-topbar h1{color:#f7fbff;text-shadow:0 4px 16px rgba(5,13,34,.24);letter-spacing:-.04em}
.lms-eyebrow{color:#88c9ff}
.lms-year{
 background:rgba(32,74,126,.47);color:#dcecff;
 border:1px solid rgba(158,206,255,.3);box-shadow:inset 0 1px rgba(255,255,255,.13);
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.lms-avatar{background:linear-gradient(145deg,#2c7fd5,#164285);border-color:#edc477;box-shadow:0 0 0 4px rgba(91,156,231,.13)}
.lms-welcome,.lms-detail-hero{
 background:
   radial-gradient(circle at 92% 10%,rgba(65,149,247,.3),transparent 37%),
   linear-gradient(128deg,rgba(24,69,126,.86),rgba(8,34,77,.84) 58%,rgba(25,56,105,.85));
 border:1px solid rgba(180,215,255,.37);
 box-shadow:inset 0 1px rgba(255,255,255,.24),inset 0 -1px rgba(56,127,201,.08),0 20px 42px rgba(1,10,32,.33);
 backdrop-filter:blur(21px) saturate(140%);-webkit-backdrop-filter:blur(21px) saturate(140%);
}
.lms-welcome:before{background:radial-gradient(circle,rgba(248,195,100,.22),transparent 70%)}
.lms-welcome:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.11),transparent 37%)}
.lms-welcome>*,.lms-detail-hero>*{position:relative;z-index:1}
.lms-welcome span,.lms-detail-hero span{color:#f4cf85}
.lms-welcome h2,.lms-detail-hero h2{color:#fff}
.lms-welcome p,.lms-detail-hero p{color:#d7e7fb}
.lms-welcome-shield img{filter:drop-shadow(0 18px 24px rgba(0,7,27,.35))}
.lms-btn{background:linear-gradient(145deg,#348ce5,#1762be);border:1px solid rgba(170,217,255,.46);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.32),0 8px 18px rgba(0,18,65,.29)}
.lms-btn:hover{filter:brightness(1.12)}
.lms-btn.ghost{background:rgba(255,255,255,.13);border:1px solid rgba(217,234,255,.5);backdrop-filter:blur(8px)}
.lms-btn.secondary{background:rgba(190,220,255,.15);border:1px solid rgba(172,207,255,.30);color:#f1f7ff}
.lms-stats>div,
.lms-course-card,
.lms-task,
.lms-module,
.lms-side-card,
.lms-grade-course,
.lms-announcement,
.lms-empty,
.lms-login,
.lms-error{
 background:linear-gradient(150deg,rgba(35,82,141,.56),rgba(15,44,89,.72) 60%,rgba(10,34,77,.73));
 border:1px solid rgba(176,211,255,.23);
 color:#edf5ff;
 box-shadow:inset 0 1px rgba(255,255,255,.16),0 13px 29px rgba(0,9,34,.26);
 backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);
}
.lms-stats>div{position:relative;overflow:hidden;border-radius:19px}
.lms-stats>div:before{content:'';position:absolute;top:0;left:10px;right:10px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)}
.lms-stats strong{color:#fff;font-weight:800}
.lms-stats span{color:#b7cff0}
.lms-section h2,.lms-detail-cols h3,.lms-module h4,.lms-announcement h3,.lms-grade-course header{color:#f5f9ff}
.lms-course-card{border-top:3px solid var(--course-accent);position:relative;overflow:hidden;border-radius:21px;min-height:193px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.lms-course-card:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 95% -10%,var(--course-accent),transparent 39%);opacity:.21}
.lms-course-card:after{content:'';position:absolute;top:0;left:0;right:0;height:45%;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent)}
.lms-course-card>*{position:relative;z-index:1}
.lms-course-card:hover{transform:translateY(-3px);border-color:rgba(179,215,255,.53);border-top-color:var(--course-accent);box-shadow:inset 0 1px rgba(255,255,255,.25),0 19px 38px rgba(0,11,39,.4)}
.lms-course-subject{color:#d4e6ff}.lms-course-arrow{color:#a6d7ff}
.lms-course-card h3{color:#f5faff;font-weight:750}.lms-course-card p,.lms-course-bottom{color:#c3d4ee}
.lms-task{border-radius:16px}
.lms-task:hover{border-color:rgba(144,204,255,.56);background:linear-gradient(130deg,rgba(36,94,159,.74),rgba(14,51,106,.85))}
.lms-task b{color:#f2f8ff}.lms-task small{color:#baccdf}.lms-task em{color:#8bd2ff}
.lms-task-point{background:#f5cc7c;box-shadow:0 0 0 4px rgba(236,188,101,.13)}
.lms-empty h3,.lms-empty{color:#d0dff3}.lms-empty{border-style:dashed;border-color:rgba(172,210,255,.34)}
.lms-back{color:#8bc9ff}.lms-detail-hero{border-top:4px solid var(--course-accent)}
.lms-teacher-tools button{background:rgba(31,80,139,.55);border:1px solid rgba(157,202,254,.3);color:#e5f2ff;box-shadow:inset 0 1px rgba(255,255,255,.12)}
.lms-teacher-tools button:hover{background:rgba(42,109,186,.74)}
.lms-teacher-tools .danger{color:#ffd0d2;border-color:rgba(255,141,155,.3)}
.lms-module>p,.lms-side-card p,.lms-muted,.lms-grade-course span,.lms-announcement small{color:#b9cde9}
.lms-assignment,.lms-notice,.lms-grade-course header,.lms-grade-course>div{border-color:rgba(167,207,255,.17)}
.lms-assignment summary b,.lms-assignment summary small{color:#e8f2ff}
.lms-assignment summary em{color:#a9d8ff;background:rgba(43,108,183,.40);border:1px solid rgba(150,201,255,.19)}
.lms-assignment-body{color:#d8e5f8}
.lms-submit-badge{color:#90e9c2}
.lms-assignment blockquote{color:#e5f0ff;border-left-color:#e8c17c;background:rgba(7,26,63,.53);border-radius:0 12px 12px 0}
.lms-feedback{background:rgba(34,113,85,.33);color:#b7f5d5;border:1px solid rgba(111,223,174,.23)}
.lms-progress-bar{background:rgba(5,21,51,.78);border:1px solid rgba(164,203,255,.26);height:12px}
.lms-progress-bar span{background:linear-gradient(90deg,#278ae6,#8ac7ff);box-shadow:0 0 12px rgba(93,177,247,.45)}
.lms-calendar-entry>time{color:#dceaff}
.lms-submit-form label,.lms-grade-form label,.lms-modal form label{color:#e7f0fe}
.lms-submit-form textarea,.lms-grade-form textarea,.lms-grade-form input,.lms-modal input,.lms-modal select,.lms-modal textarea{
 background:rgba(6,25,57,.83);border:1px solid rgba(155,200,249,.37);color:#fff;border-radius:12px;
}
.lms-submit-form textarea::placeholder,.lms-grade-form textarea::placeholder,.lms-modal input::placeholder,.lms-modal textarea::placeholder{color:#a4bcdb}
.lms-modal input[type=color]{padding:3px;min-height:42px}
.lms-modal select option{background:#102c55;color:#fff}
.lms-modal-backdrop{background:rgba(1,8,25,.79);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lms-modal{background:linear-gradient(145deg,rgba(27,70,122,.96),rgba(7,27,64,.97));color:#eaf3ff;border:1px solid rgba(159,208,255,.38);box-shadow:0 35px 100px rgba(0,7,26,.7),inset 0 1px rgba(255,255,255,.17)}
.lms-modal h2{color:#fff}.lms-modal-x{background:rgba(187,220,255,.15);color:#fff;border:1px solid rgba(196,222,255,.26)}
.lms-foot{color:#8da8d0}.lms-toast{background:#144b88;border:1px solid rgba(198,229,255,.4)}
.lms-login,.lms-error{color:#e7f1ff}.lms-login a,.lms-error a{background:#1a6bc5}.lms-loading{color:#dceaff}
.lms-mobile-nav{background:rgba(5,22,52,.94);border-top:1px solid rgba(159,203,255,.31);box-shadow:0 -10px 32px rgba(0,7,30,.43);backdrop-filter:blur(19px) saturate(130%);-webkit-backdrop-filter:blur(19px) saturate(130%)}
.lms-mobile-nav button.on{background:linear-gradient(140deg,#267bd0,#154987);box-shadow:inset 0 1px rgba(255,255,255,.23)}
@media(max-width:700px){
 .lms-shell{background-attachment:scroll}
 .lms-content{padding-top:24px}
 .lms-welcome{min-height:195px;padding:23px 19px}
 .lms-welcome p{font-size:13px;line-height:1.6}
 .lms-course-card{min-height:166px}
 .lms-stats>div{padding:13px 11px}
 .lms-detail-cols{gap:12px}
}
@media(prefers-reduced-motion:reduce){.lms-course-card{transition:none!important}.lms-course-card:hover{transform:none}}
