/* CCA LMS faculty (v25) */
.lf{display:grid;gap:22px}
.lf-flash{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:#E8F6E6;color:#145F1B;font-weight:600;box-shadow:inset 0 0 0 1px #CBE7C6}
.lf-flash.is-err{background:#FDECEE;color:#B4081F;box-shadow:inset 0 0 0 1px #F6C9D0}
.lf-flash .lx-chip{width:34px;height:34px;border-radius:11px}.lf-flash a{color:inherit;font-weight:800}
.lf-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;border-radius:26px;color:#fff;background:radial-gradient(60% 120% at 100% 0%,rgba(255,255,255,.16),transparent 60%),radial-gradient(rgba(255,255,255,.12) 1.2px,transparent 1.4px) 0 0/18px 18px,linear-gradient(130deg,#145F1B,#2FA12A 70%,#4DB843);box-shadow:0 30px 60px -38px rgba(20,95,27,.8)}
.lf-hero__me{display:flex;align-items:center;gap:16px}
.lf-hero h2{margin:6px 0 4px;font:800 clamp(22px,2.6vw,30px)/1.1 "Bricolage Grotesque",sans-serif;color:#fff}
.lf-hero p{margin:0;opacity:.9;font-size:14.5px}
.lf-tag{display:inline-block;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lf-hero__b{display:flex;flex-wrap:wrap;gap:10px}
.lf-hero .lx-btn.t-white{color:#145F1B!important}
.lf-av{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;background:#E8F6E6;box-shadow:0 0 0 2px #fff,0 4px 10px -4px rgba(0,0,0,.25)}
.lf-hero .lf-av{width:64px;height:64px}
.lf-av--lg{width:56px;height:56px}
.lf-av--i{display:inline-grid;place-items:center;background:linear-gradient(140deg,#1C7A22,#5BC74E);color:#fff;font:800 14px Figtree,sans-serif}
.lf-hero .lf-av--i{font-size:22px}
.lf-course .lx-card__h p{margin:2px 0 0}
.lf-acts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;align-items:flex-start}
.lf-act{border-radius:16px;background:#F6FAF5;box-shadow:inset 0 0 0 1px #E2EAE1}
.lf-act[open]{flex:1 1 100%;background:#fff;box-shadow:inset 0 0 0 1.5px #CFE3CB}
.lf-act>summary{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;list-style:none;font-weight:800;font-size:14px;color:#122016}
.lf-act>summary::-webkit-details-marker{display:none}
.lf-act>summary .lx-i svg{width:18px;height:18px}
.lf-act>summary:after{content:"";width:7px;height:7px;margin-left:4px;border-right:2px solid #7A887D;border-bottom:2px solid #7A887D;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.lf-act[open]>summary:after{transform:rotate(-135deg) translateY(-2px)}
.lf-act>form,.lf-act>p{padding:4px 14px 16px}
.lf-form{display:grid;gap:12px}
.lf-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.lf-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#122016}
.lf-form input[type=text],.lf-form input[type=email],.lf-form input[type=number],.lf-form input[type=date],.lf-form select{width:100%;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid #DCE5DD;background:#F9FBFA;font:600 14px Figtree,sans-serif;color:#122016}
.lf-form .lx-btn{justify-self:start}
.lf-inline{display:inline}
.lf-mini{min-height:32px;padding:0 12px;border:0;border-radius:999px;background:#F1F6F0;box-shadow:inset 0 0 0 1px #DCE5DD;font:800 12px Figtree,sans-serif;color:#3D4C40;cursor:pointer}
.lf-mini:hover{background:#E8F1E6}
.lf-mini--red{color:#B4081F;background:#FFF4F5;box-shadow:inset 0 0 0 1px #F6C9D0}
.lf-checks{display:flex;flex-wrap:wrap;gap:8px}
.lf-check{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#F4F8F3;box-shadow:inset 0 0 0 1px #E2EAE1;font-size:13px;font-weight:700;cursor:pointer}
.lf-check input{width:16px;height:16px;accent-color:#2FA12A}
.lf-check:has(input:checked){background:#E8F6E6;box-shadow:inset 0 0 0 1.5px #2FA12A}
.lf-check--inline{background:none;box-shadow:none;padding:0;font-weight:600;color:#3D4C40}
.lf-check--inline:has(input:checked){background:none;box-shadow:none}
.lf-sub{display:block;margin:0;font-size:12px;font-weight:700;color:#7A887D}
.lf-dim{color:#9AA79D}
.lf-register{margin:0;padding:0;list-style:none;display:grid;gap:8px;max-height:420px;overflow:auto}
.lf-register li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 14px;border-radius:12px;background:#F8FBF7;font-weight:700;font-size:14px}
.lf-seg{display:inline-flex;gap:4px;padding:3px;border-radius:999px;background:#EDF3EC}
.lf-seg label{position:relative}
.lf-seg input{position:absolute;opacity:0;pointer-events:none}
.lf-seg span{display:block;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:800;color:#5B6B5E;cursor:pointer}
.lf-seg input:checked+span{background:#fff;color:#1C7A22;box-shadow:0 2px 6px -2px rgba(0,0,0,.2)}
.lf-seg label:nth-child(2) input:checked+span{color:#B86E00}
.lf-seg label:nth-child(3) input:checked+span{color:#B4081F}
.lf-seg input:focus-visible+span{outline:2px solid #2FA12A}
.lf-table td{vertical-align:middle}
.lf-who{display:flex;align-items:center;gap:10px;min-width:0}
.lf-who b{display:block;font-size:14px}.lf-who small{display:block;color:#7A887D;font-size:12px;overflow:hidden;text-overflow:ellipsis}
.lf-meter{display:flex;align-items:center;gap:8px;min-width:120px}.lf-meter .lx-track{flex:1}
.lf-sub,.lf-table small.lf-sub{display:block}
.lf-x{text-align:right}
.lf-fac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.lf-fac{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px #E2EAE1}
.lf-fac.is-on{box-shadow:0 0 0 1.5px #9FD39A;background:linear-gradient(180deg,#F6FBF5,#fff 60%)}
.lf-fac__top{display:flex;align-items:center;gap:12px}
.lf-fac__top b{display:block;font:700 15px/1.25 "Bricolage Grotesque",sans-serif;margin-bottom:4px}
.lf-fac__mail{margin:0;font-size:13px;color:#5B6B5E;word-break:break-all}
.lf-chips{display:flex;flex-wrap:wrap;gap:6px}
.lf-fac__link{margin-top:auto;font-size:13px;font-weight:800;color:#1C7A22;text-decoration:none}
.lf-fac .lf-act[open]{flex:none}
.lf-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.lf-list>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:#F8FBF7}
.lf-list>li b{display:block;font-size:14px}.lf-list>li small{display:block;color:#7A887D;font-size:12px}
.lf-regform{margin-bottom:18px}
.lf-reg-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.lf-reg-head b{font:700 15px "Bricolage Grotesque",sans-serif}.lf-reg-head span{font-size:12.5px;color:#7A887D}
.lf-reglist{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;max-height:360px;overflow:auto}
.lf-reglist .lf-check{width:100%;align-items:flex-start}
.lf-reglist .lf-check b{display:block;font-size:13px}.lf-reglist .lf-check small{display:block;font-size:11.5px;color:#7A887D;font-weight:600;word-break:break-all}
.lf-reglist li.is-done .lf-check{opacity:.75}
.lf-my{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.lf-mycard{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px #E2EAE1;overflow:hidden}
.lf-mycard:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--c1),var(--c2))}
.lf-mycard__top{display:flex;align-items:center;justify-content:space-between}
.lf-mycard h4{margin:0;font:700 17px/1.25 "Bricolage Grotesque",sans-serif;color:#122016}
.lf-prog span{display:block;margin-top:6px;font-size:12.5px;font-weight:700;color:#5B6B5E}
.lf-mystats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}
.lf-mystats li{padding:10px;border-radius:12px;background:#F6FAF5;text-align:center}
.lf-mystats b{display:block;font:800 18px "Bricolage Grotesque",sans-serif}.lf-mystats span{font-size:11.5px;color:#7A887D;font-weight:700}
.lf-tuts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lf-tuts small{width:100%;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7A887D}
.lf-tut{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;background:#F1F6F0;font-size:12.5px;font-weight:700;color:#122016;text-decoration:none}
.lf-tut .lf-av{width:28px;height:28px;box-shadow:none;font-size:11px}
.lf-tuts--sm{margin:8px 0 2px}.lf-tuts--sm .lf-tut .lf-av{width:24px;height:24px}
@media (max-width:640px){.lf-hero{padding:20px}.lf-hero__me{align-items:flex-start}.lf-register li{flex-direction:column;align-items:flex-start}.lf-acts .lf-act{flex:1 1 100%}}
.lf-form label.lf-check{display:inline-flex;align-items:center;gap:8px}.lf-form label.lf-check--inline{display:flex}
.lf-reglist .lf-check{display:flex}
.lf-fac-grid{align-items:start}
