/* TRAC video courses and TRAC Sandesh */
@import url("trac-video.css");
@import url("trac-shop.css");
/* TRAC courses: catalogue, course page, player, admin — draft for the mock-ups */
.lc { --navy:#14254D; --ink:#1F2937; --muted:#4B5563; --org:#E8650A; --line:#ECE6DF; --cream:#FDF7F1; --peach:#FFF1E7; --ok:#15803D; color:var(--ink); }
.lc h1 { font-family:"IBM Plex Serif",Georgia,serif; font-weight:500; color:var(--navy); margin:.2rem 0 .4rem; font-size:1.9rem; }
.lc h2 { color:var(--navy); font-size:1.25rem; margin:1.8rem 0 .3rem; }
.lc .sub { color:var(--muted); margin:0 0 1rem; }
.lc-hero { position:relative; overflow:hidden; border-radius:22px; padding:2.2rem 2.4rem; color:#fff;
  background: radial-gradient(circle at 85% 30%, rgba(232,101,10,.35), transparent 45%), linear-gradient(120deg,#14254D,#3B2563); }
.lc-hero h1 { color:#fff; font-size:2.1rem; margin:0 0 .5rem; }
.lc-hero p { max-width:620px; color:#E6E8F5; margin:0 0 1.2rem; line-height:1.55; }
.lc-hero .eyebrow { color:#F6C478; font-weight:700; letter-spacing:.08em; font-size:.8rem; text-transform:uppercase; }
.lc-stats { display:flex; gap:1.6rem; margin-top:1.2rem; flex-wrap:wrap; }
.lc-stats div { font-size:.85rem; color:#D7DBEE; } .lc-stats b { display:block; color:#fff; font-size:1.25rem; }
/* continue strip */
.lc-cont { display:grid; grid-template-columns: 220px 1fr auto; gap:1.1rem; align-items:center; background:#fff; border:1px solid var(--line); border-radius:18px; padding:.9rem; margin-top:1.2rem; }
.lc-cont img { width:100%; border-radius:12px; aspect-ratio:16/9; object-fit:cover; display:block; }
.lc-cont b { color:var(--navy); font-size:1.05rem; } .lc-cont small { display:block; color:var(--muted); margin:.2rem 0 .5rem; }
.lc-bar { height:8px; background:#EEF0F5; border-radius:99px; overflow:hidden; } .lc-bar i { display:block; height:100%; background:linear-gradient(90deg,#E8650A,#F59E0B); border-radius:99px; }
.lc-pct { font-size:.8rem; color:var(--muted); margin-top:.3rem; }
/* cards */
.lc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:1.2rem; }
.lc-card { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 1px 2px rgba(20,37,77,.04); }
.lc-thumb { position:relative; aspect-ratio:16/9; background:#14254D; }
.lc-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.lc-play { position:absolute; inset:0; display:grid; place-items:center; }
.lc-play span { width:62px; height:62px; border-radius:50%; background:rgba(255,255,255,.92); display:grid; place-items:center; box-shadow:0 6px 20px rgba(0,0,0,.3); }
.lc-play span:after { content:""; border-left:18px solid var(--navy); border-top:11px solid transparent; border-bottom:11px solid transparent; margin-left:5px; }
.lc-tag { position:absolute; top:.7rem; left:.7rem; background:var(--org); color:#fff; font-size:.72rem; font-weight:700; padding:.25rem .6rem; border-radius:99px; }
.lc-tag.is-own { background:var(--ok); }
.lc-tag.is-soon { background:#64748B; }
.lc-dur { position:absolute; bottom:.6rem; right:.6rem; background:rgba(0,0,0,.72); color:#fff; font-size:.75rem; padding:.15rem .45rem; border-radius:6px; }
.lc-body { padding:1rem 1.1rem 1.1rem; display:flex; flex-direction:column; gap:.45rem; flex:1; }
.lc-body h3 { margin:0; font-family:"IBM Plex Serif",Georgia,serif; font-weight:500; color:var(--navy); font-size:1.12rem; }
.lc-body p { margin:0; color:var(--muted); font-size:.9rem; flex:1; }
.lc-meta { display:flex; gap:.9rem; color:var(--muted); font-size:.8rem; }
.lc-price { display:flex; align-items:baseline; gap:.5rem; } .lc-price b { font-size:1.2rem; color:var(--navy); } .lc-price s { color:#9CA3AF; font-size:.88rem; } .lc-price em { color:var(--ok); font-style:normal; font-weight:700; font-size:.82rem; }
/* course page */
.lc-page { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:1.6rem; align-items:start; }
.lc-video { position:relative; aspect-ratio:16/9; border-radius:18px; overflow:hidden; background:#000; box-shadow:0 10px 30px rgba(20,37,77,.18); }
.lc-video img { width:100%; height:100%; object-fit:cover; display:block; }
.lc-cap { font-size:.8rem; color:var(--muted); margin:.45rem 0 0; }
.lc-box { background:#fff; border:1px solid var(--line); border-radius:18px; padding:1.2rem 1.3rem; }
.lc-buy { position:sticky; top:1rem; }
.lc-buy .lc-price b { font-size:1.7rem; }
.lc-buy ul, .lc-learn { list-style:none; padding:0; margin:.9rem 0 0; display:grid; gap:.5rem; font-size:.92rem; }
.lc-buy li:before, .lc-learn li:before { content:"✓"; color:var(--ok); font-weight:700; margin-right:.5rem; }
.lc-learn { grid-template-columns:1fr 1fr; }
.lc-mod { border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-top:.7rem; background:#fff; }
.lc-mod > b { display:flex; justify-content:space-between; padding:.75rem 1rem; background:var(--cream); color:var(--navy); font-size:.95rem; }
.lc-mod > b small { color:var(--muted); font-weight:500; }
.lc-les { display:flex; align-items:center; gap:.7rem; padding:.6rem 1rem; border-top:1px solid var(--line); font-size:.92rem; }
.lc-les .ic { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:.7rem; background:#EEF0F5; color:var(--muted); flex:none; }
.lc-les .t { flex:1; } .lc-les .d { color:var(--muted); font-size:.82rem; }
.lc-free { background:var(--peach); color:var(--org); font-size:.72rem; font-weight:700; padding:.15rem .5rem; border-radius:99px; }
/* player */
.lc-player { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:1.4rem; align-items:start; }
.lc-crumb { font-size:.85rem; color:var(--muted); margin-bottom:.6rem; } .lc-crumb a { color:var(--navy); text-decoration:none; font-weight:600; }
.lc-nowbar { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin:1rem 0 .3rem; }
.lc-nowbar h2 { margin:0; flex:1; font-size:1.3rem; }
.lc-done { background:#ECFDF3; color:var(--ok) !important; border:1px solid #BBE5C8 !important; }
.lc-tabs { display:flex; gap:.3rem; border-bottom:1px solid var(--line); margin:1rem 0 .9rem; }
.lc-tabs span { padding:.55rem .9rem; font-weight:600; color:var(--muted); font-size:.92rem; }
.lc-tabs span.on { color:var(--navy); border-bottom:3px solid var(--org); }
.lc-side .lc-les.on { background:var(--peach); }
.lc-side .lc-les.on .t { color:var(--navy); font-weight:600; }
.lc-les .ic.ok { background:var(--ok); color:#fff; }
.lc-les .ic.now { background:var(--org); color:#fff; }
.lc-note { width:100%; box-sizing:border-box; min-height:90px; border:1px solid #D7DCE6; border-radius:12px; padding:.7rem; font:inherit; color:var(--muted); }
.lc-navb { display:flex; gap:.5rem; }
@media (max-width: 600px) { .lc-nowbar h2 { flex-basis:100%; font-size:1.15rem; } .lc-navb { width:100%; } .lc-navb .sp-btn { flex:1; white-space:nowrap; justify-content:center; padding:.55rem .4rem; font-size:.88rem; } }
/* admin */
.lc-form { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.8rem 1rem; }
.lc-form label { display:flex; flex-direction:column; gap:.3rem; font-size:.85rem; font-weight:600; color:var(--navy); }
.lc-form input, .lc-form select, .lc-in { border:1px solid #D7DCE6; border-radius:10px; padding:.55rem .7rem; font:inherit; font-weight:400; color:var(--ink); background:#fff; }
.lc-form .wide { grid-column:1 / -1; }
.lc-ad { width:100%; border-collapse:separate; border-spacing:0; font-size:.9rem; }
.lc-ad th { text-align:left; font-size:.78rem; color:var(--muted); font-weight:600; padding:.5rem .6rem; background:var(--cream); }
.lc-ad td { padding:.55rem .6rem; border-top:1px solid var(--line); vertical-align:middle; }
.lc-ad img { width:96px; border-radius:8px; display:block; aspect-ratio:16/9; object-fit:cover; }
.lc-ok { color:var(--ok); font-size:.78rem; font-weight:600; display:block; margin-top:.25rem; }
.lc-mv { color:var(--muted); font-size:1rem; letter-spacing:.2rem; }
.lc-sw { display:inline-block; width:34px; height:20px; border-radius:99px; background:#D1D5DB; position:relative; vertical-align:middle; }
.lc-sw:after { content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#fff; }
.lc-sw.on { background:var(--org); } .lc-sw.on:after { left:16px; }
.lc-help { background:#F4F6FB; border-radius:14px; padding:.9rem 1.1rem; font-size:.88rem; color:var(--muted); margin-top:1rem; line-height:1.55; }
@media (max-width: 900px) {
  .lc-page, .lc-player { grid-template-columns:1fr; }
  .lc-cont { grid-template-columns:120px 1fr; } .lc-cont .sp-btn { grid-column:1 / -1; justify-content:center; }
  .lc-learn { grid-template-columns:1fr; }
  .lc-hero { padding:1.5rem 1.3rem; } .lc-hero h1 { font-size:1.6rem; }
}

.fd { --navy:#14254D; --ink:#1F2937; --muted:#4B5563; --org:#E8650A; --line:#ECE6DF; --cream:#FDF7F1; --peach:#FFF1E7; --ok:#15803D; color:var(--ink); }
.fd-wrap { display:grid; grid-template-columns:minmax(0,640px) 300px; gap:1.6rem; justify-content:center; align-items:start; }
.fd-head { display:flex; align-items:center; gap:.9rem; margin-bottom:1rem; }
.fd-head h1 { margin:0; font-family:"IBM Plex Serif",Georgia,serif; font-weight:500; color:var(--navy); font-size:1.8rem; }
.fd-head p { margin:.15rem 0 0; color:var(--muted); font-size:.92rem; }
.fd-filter { display:flex; gap:.4rem; margin:0 0 1rem; flex-wrap:wrap; }
.fd-filter span { padding:.4rem .85rem; border-radius:99px; border:1px solid #D7DCE6; background:#fff; font-size:.85rem; font-weight:600; color:var(--muted); }
.fd-filter span.on { background:var(--navy); color:#fff; border-color:var(--navy); }
.fd-post { background:#fff; border:1px solid var(--line); border-radius:18px; margin-bottom:1rem; overflow:hidden; box-shadow:0 1px 2px rgba(20,37,77,.04); }
.fd-post.is-pin { border-color:#F5C9A6; box-shadow:0 0 0 3px #FFF1E7; }
.fd-top { display:flex; align-items:center; gap:.7rem; padding:.9rem 1rem .5rem; }
.fd-av { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,#E8650A,#F59E0B); color:#fff; display:grid; place-items:center; font-weight:700; flex:none; }
.fd-av.s { width:32px; height:32px; font-size:.78rem; background:#E5E9F2; color:var(--navy); }
.fd-who b { color:var(--navy); } .fd-who small { display:block; color:var(--muted); font-size:.8rem; }
.fd-tick { display:inline-grid; place-items:center; width:16px; height:16px; border-radius:50%; background:#2563EB; color:#fff; font-size:.6rem; margin-left:.25rem; vertical-align:1px; }
.fd-pin { margin-left:auto; background:var(--peach); color:var(--org); font-size:.75rem; font-weight:700; padding:.2rem .6rem; border-radius:99px; }
.fd-aud { margin-left:auto; background:#EEF2FF; color:#3730A3; font-size:.72rem; font-weight:700; padding:.2rem .6rem; border-radius:99px; }
.fd-text { padding:0 1rem .7rem; line-height:1.55; }
.fd-text b { color:var(--navy); }
.fd-media img { width:100%; display:block; aspect-ratio:16/9; object-fit:cover; }
.fd-media { position:relative; }
.fd-cta { display:flex; gap:.6rem; padding:.8rem 1rem 0; }
.fd-count { display:flex; justify-content:space-between; padding:.6rem 1rem; color:var(--muted); font-size:.83rem; }
.fd-acts { display:flex; border-top:1px solid var(--line); }
.fd-acts span { flex:1; text-align:center; padding:.6rem; font-weight:600; color:var(--muted); font-size:.9rem; }
.fd-acts span.on { color:var(--org); }
.fd-cmts { border-top:1px solid var(--line); padding:.7rem 1rem .9rem; background:#FCFBFA; }
.fd-c { display:flex; gap:.55rem; margin-bottom:.6rem; }
.fd-c .bub { background:#F1F3F8; border-radius:14px; padding:.45rem .75rem; font-size:.9rem; }
.fd-c .bub b { color:var(--navy); font-size:.85rem; display:block; }
.fd-c small { display:block; color:var(--muted); font-size:.75rem; margin:.2rem 0 0 .6rem; }
.fd-c.reply { margin-left:2.6rem; }
.fd-auth { background:var(--org); color:#fff; font-size:.62rem; padding:.05rem .4rem; border-radius:99px; margin-left:.3rem; vertical-align:1px; }
.fd-write { display:flex; gap:.55rem; align-items:center; }
.fd-write input { flex:1; border:1px solid #D7DCE6; border-radius:99px; padding:.55rem .9rem; font:inherit; font-size:.9rem; }
.fd-poll { padding:0 1rem .4rem; display:grid; gap:.45rem; }
.fd-opt { position:relative; border:1px solid #D7DCE6; border-radius:12px; padding:.55rem .8rem; overflow:hidden; font-size:.92rem; display:flex; justify-content:space-between; }
.fd-opt i { position:absolute; left:0; top:0; bottom:0; background:#FFF1E7; z-index:0; } .fd-opt span, .fd-opt b { position:relative; z-index:1; }
.fd-opt.mine { border-color:var(--org); } .fd-opt.mine span:after { content:" ✓"; color:var(--org); font-weight:700; }
.fd-side .lc-box, .fd-box { background:#fff; border:1px solid var(--line); border-radius:18px; padding:1rem 1.1rem; margin-bottom:1rem; }
.fd-box h3 { margin:0 0 .6rem; color:var(--navy); font-size:1rem; }
.fd-box p { margin:.2rem 0; font-size:.88rem; color:var(--muted); }
.fd-ev { display:flex; gap:.7rem; align-items:center; padding:.45rem 0; border-top:1px solid var(--line); font-size:.88rem; }
.fd-ev:first-of-type { border-top:0; }
.fd-date { width:44px; text-align:center; border-radius:10px; background:var(--peach); color:var(--org); font-weight:700; line-height:1.1; padding:.3rem 0; flex:none; }
.fd-date small { display:block; font-size:.65rem; }
.fd-new { background:#DC2626; color:#fff; font-size:.7rem; font-weight:700; border-radius:99px; padding:.05rem .45rem; margin-left:auto; }
/* admin composer */
.fd-comp { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:1.4rem; align-items:start; }
.fd-ta { width:100%; box-sizing:border-box; min-height:150px; border:1px solid #D7DCE6; border-radius:14px; padding:.8rem; font:inherit; line-height:1.5; }
.fd-add { display:flex; gap:.5rem; flex-wrap:wrap; margin:.7rem 0 1rem; }
.fd-add span { border:1px dashed #C9CFDB; border-radius:12px; padding:.5rem .8rem; font-size:.88rem; font-weight:600; color:var(--navy); background:#FAFBFD; }
.fd-add span.on { border-style:solid; border-color:var(--org); background:var(--peach); color:var(--org); }
.fd-set { display:grid; gap:.75rem; }
.fd-set label { display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:.9rem; font-weight:600; color:var(--navy); }
.fd-set select, .fd-set input[type=text] { border:1px solid #D7DCE6; border-radius:10px; padding:.45rem .6rem; font:inherit; font-weight:400; min-width:220px; }
.fd-sw { display:inline-block; width:38px; height:22px; border-radius:99px; background:#D1D5DB; position:relative; flex:none; }
.fd-sw:after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; }
.fd-sw.on { background:var(--org); } .fd-sw.on:after { left:19px; }
.fd-prev { font-size:.8rem; font-weight:700; letter-spacing:.08em; color:var(--muted); margin:0 0 .5rem; }
@media (max-width: 900px) { .fd-wrap, .fd-comp { grid-template-columns:minmax(0,1fr); } .fd-side { display:none; } }
.fd-pin, .fd-aud, .fd-cta .sp-btn, .fd-who b { white-space: nowrap; }
@media (max-width: 560px) {
  .fd-top { flex-wrap: wrap; }
  .fd-aud { order: 3; margin-left: 52px; margin-top: .2rem; }
  .fd-cta .sp-btn { font-size: .85rem; padding: .5rem .85rem; }
  .fd-filter { flex-wrap: nowrap; overflow-x: auto; }
  .fd-filter span { white-space: nowrap; }
}

/* page parts used by the live pages */
.site-article:has(.lc-hide-h1) > h1, .site-article:has(.fd) > h1 { display: none; }
.lc a { text-decoration: none; }
.lc .lc-card { color: inherit; }
.lc-card:hover { box-shadow: 0 8px 22px rgba(20,37,77,.10); }
.lc-body .sp-btn { margin-top: .3rem; }
.lc-les a.t, .lc-les a { color: inherit; }
.lc-les.is-link { cursor: pointer; } .lc-les.is-link:hover { background: #FAF7F3; }
.lc-msg { background: #FFF7ED; border: 1px solid #FED7AA; color: #9A3412; border-radius: 12px; padding: .7rem 1rem; margin: 0 0 1rem; }
.lc-msg.is-ok { background: #ECFDF3; border-color: #BBE5C8; color: #166534; }
.lc-files { display: grid; gap: .5rem; }
.lc-file { display: flex; align-items: center; gap: .6rem; padding: .6rem .8rem; border: 1px solid var(--line); border-radius: 12px; color: var(--navy); font-weight: 600; }
.lc-file:hover { background: var(--cream); }
.lc-saved { font-size: .8rem; color: var(--muted); margin-top: .3rem; min-height: 1em; }
.lc-pane[hidden] { display: none; }
.lc-tabs button { border: 0; background: none; padding: .55rem .9rem; font: inherit; font-weight: 600; color: var(--muted); font-size: .92rem; cursor: pointer; border-bottom: 3px solid transparent; }
.lc-tabs button.on { color: var(--navy); border-bottom-color: var(--org); }
.lc-done.is-on { background: var(--ok) !important; color: #fff !important; border-color: var(--ok) !important; }
.lc-other { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1rem; }
.lc-other a { display: block; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1rem 1.1rem; color: inherit; }
.lc-other b { color: var(--navy); display: block; } .lc-other span { color: var(--muted); font-size: .88rem; }
.lc-mod > b { cursor: default; }
.lc-side { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow: auto; }
.lc-empty { color: var(--muted); padding: 1rem; text-align: center; }
/* certificate */
.lc-cert { max-width: 900px; margin: 1rem auto; background: #fff; border: 10px double #C9A24A; padding: 3rem 3.5rem; text-align: center; position: relative;
  font-family: "IBM Plex Serif", Georgia, serif; color: #14254D; box-shadow: 0 10px 30px rgba(20,37,77,.12); }
.lc-cert .t1 { letter-spacing: .3em; font-size: .85rem; color: #9A6B1F; font-family: "IBM Plex Sans", sans-serif; font-weight: 700; }
.lc-cert h2 { font-size: 2.4rem; font-weight: 500; margin: .4rem 0 1.2rem; color: #14254D; }
.lc-cert .nm { font-size: 2rem; border-bottom: 1px solid #C9A24A; display: inline-block; padding: 0 1.5rem .3rem; margin: .6rem 0 1rem; }
.lc-cert .cs { font-size: 1.5rem; color: #E8650A; margin: .4rem 0 1.4rem; }
.lc-cert .row { display: flex; justify-content: space-between; margin-top: 2.5rem; font-family: "IBM Plex Sans", sans-serif; font-size: .9rem; color: #4B5563; }
.lc-cert .row b { display: block; color: #14254D; font-size: 1rem; }
@media print {
  .side-nav, .trac-header, .site-footer, .lc-noprint, header, footer, .cookie-notice { display: none !important; }
  .site-article { border: 0 !important; box-shadow: none !important; padding: 0 !important; }
  .lc-cert { box-shadow: none; margin: 0 auto; }
}
/* admin */
.la-tools { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin: .6rem 0; }
.la-mod { border: 1px solid var(--line); border-radius: 14px; margin-top: 1rem; background: #fff; overflow: hidden; }
.la-mod-head { display: flex; gap: .6rem; align-items: center; padding: .6rem .8rem; background: var(--cream); }
.la-mod-head input { flex: 1; font-weight: 600; color: var(--navy); }
.la-x { border: 0; background: none; color: #B91C1C; font: inherit; font-size: .85rem; cursor: pointer; padding: .3rem .5rem; }
.la-mv { border: 1px solid #D7DCE6; background: #fff; border-radius: 8px; width: 30px; height: 30px; cursor: pointer; color: var(--navy); }
.la-les { display: grid; grid-template-columns: 34px minmax(0,1.3fr) minmax(0,1.5fr) 110px 70px auto; gap: .6rem; align-items: start; padding: .7rem .8rem; border-top: 1px solid var(--line); }
.la-les .no { color: var(--muted); font-weight: 700; padding-top: .55rem; }
.la-les textarea { width: 100%; box-sizing: border-box; margin-top: .4rem; min-height: 54px; border: 1px solid #D7DCE6; border-radius: 10px; padding: .45rem .6rem; font: inherit; font-size: .88rem; }
.la-les .lc-in { width: 100%; box-sizing: border-box; }
.la-thumb { width: 110px; aspect-ratio: 16/9; border-radius: 8px; background: #EEF0F5 center/cover no-repeat; }
.la-st { display: block; font-size: .78rem; margin-top: .3rem; font-weight: 600; }
.la-st.ok { color: var(--ok); } .la-st.bad { color: #B91C1C; }
.la-free { display: flex; flex-direction: column; align-items: center; gap: .3rem; font-size: .75rem; color: var(--muted); padding-top: .3rem; }
.la-side { display: flex; flex-direction: column; gap: .3rem; align-items: flex-end; }
.la-files { font-size: .8rem; color: var(--muted); margin-top: .3rem; }
.la-files a { color: var(--navy); font-weight: 600; }
.la-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.la-table th { text-align: left; font-size: .78rem; color: var(--muted); padding: .5rem .6rem; background: var(--cream); }
.la-table td { padding: .6rem; border-top: 1px solid var(--line); vertical-align: middle; }
.la-table img { width: 96px; border-radius: 8px; aspect-ratio: 16/9; object-fit: cover; display: block; }
.la-pill { font-size: .75rem; font-weight: 700; padding: .15rem .55rem; border-radius: 99px; background: #EEF0F5; color: var(--muted); }
.la-pill.open { background: #ECFDF3; color: var(--ok); } .la-pill.soon { background: #FFF1E7; color: var(--org); }
@media (max-width: 900px) { .la-les { grid-template-columns: 28px 1fr; } .la-les > :nth-child(n+3) { grid-column: 2; } }
.lc-cont { color: inherit; }
.lc-preview { background: var(--peach); border-radius: 14px; padding: .8rem 1rem; margin: 1rem 0 0; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.lc-preview span { flex: 1; min-width: 200px; }
.lc-endnext { position: absolute; z-index: 8; right: 14px; bottom: 70px; background: rgba(12,18,38,.92); color: #fff; border-radius: 14px; padding: .8rem 1rem; max-width: 280px; }
.lc-endnext b { display: block; margin-bottom: .5rem; }
/* Sandesh: live pages */
.fd-filter a { padding: .4rem .85rem; border-radius: 99px; border: 1px solid #D7DCE6; background: #fff; font-size: .85rem; font-weight: 600; color: var(--muted); white-space: nowrap; }
.fd-filter a.on { background: var(--navy); color: #fff; border-color: var(--navy); }
.fd-acts button, .fd-acts a { flex: 1; text-align: center; padding: .6rem; font-weight: 600; color: var(--muted); font-size: .9rem; background: none; border: 0; cursor: pointer; font-family: inherit; }
.fd-acts button.on { color: var(--org); }
.fd-acts button:hover, .fd-acts a:hover { background: #FAF7F3; }
.fd-live { display: flex; gap: .8rem; align-items: center; margin: 0 1rem .8rem; padding: .7rem .8rem; border-radius: 14px; background: var(--cream); border: 1px solid var(--line); }
.fd-live b { display: block; color: var(--navy); } .fd-live small { color: var(--muted); }
.fd-more { display: block; font-size: .85rem; font-weight: 600; color: var(--navy); margin-bottom: .6rem; }
.fd-signin { margin: .2rem 0 0; font-size: .88rem; color: var(--muted); } .fd-signin a { color: var(--org); font-weight: 600; }
.fd-write { flex-wrap: wrap; }
.fd-name { flex: 0 1 140px !important; }
.fd-send { border: 0; background: var(--org); color: #fff; width: 38px; height: 38px; border-radius: 50%; cursor: pointer; font-size: 1rem; }
.fd-av.s.is-nk { background: linear-gradient(135deg,#E8650A,#F59E0B); color: #fff; }
.fd-l { border: 0; background: none; padding: 0; font: inherit; font-size: .75rem; color: var(--muted); cursor: pointer; }
.fd-l.on { color: var(--org); font-weight: 600; }
.fd-c.is-hidden { opacity: .55; }
.fd-opt { width: 100%; background: #fff; font: inherit; cursor: pointer; text-align: left; color: inherit; }
.fd-opt:disabled { cursor: default; }
.fd-opt:hover:not(:disabled) { border-color: var(--org); }
a.fd-ev { color: inherit; }
.fd-msg { font-size: .82rem; color: #B91C1C; width: 100%; margin: .2rem 0 0 2.6rem; }
.fd-add button { border: 1px dashed #C9CFDB; border-radius: 12px; padding: .5rem .8rem; font: inherit; font-size: .88rem; font-weight: 600; color: var(--navy); background: #FAFBFD; cursor: pointer; }
.fd-add button.on { border-style: solid; border-color: var(--org); background: var(--peach); color: var(--org); }
.fd-part { border: 1px solid var(--line); border-radius: 14px; padding: .8rem; margin-bottom: .7rem; display: grid; gap: .6rem; background: #FCFBFA; }
.fd-part[hidden] { display: none; }
.fd-part label { display: flex; flex-direction: column; gap: .3rem; font-size: .85rem; font-weight: 600; color: var(--navy); }
.fd-part label.fd-inline { flex-direction: row; align-items: center; font-weight: 400; }
.fd-part small { color: var(--muted); font-size: .8rem; }
.fd-chk { width: 20px; height: 20px; accent-color: var(--org); }
.fd-box form { display: inline; }
[data-sd-later][hidden] { display: none !important; }

/* Courses home: picture hero, featured banners, cards (in the style of the Shop home) */
.lc-home { max-width:100%; }
.lc-hero2 { position:relative; overflow:hidden; border-radius:20px; min-height:440px; display:flex; align-items:center; color:#fff;
  background:#0B1430; }
.lc-hero2-art { position:absolute; inset:0; }
.lc-hero2-art img { width:100%; height:100%; object-fit:cover; object-position:right center; display:block; }
.lc-hero2-art::after { content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(8,14,36,.96) 0%, rgba(8,14,36,.9) 38%, rgba(8,14,36,.55) 54%, rgba(8,14,36,0) 72%); }
.lc-hero2-text { position:relative; z-index:2; max-width:520px; padding:2.6rem 2.4rem 2.2rem; }
.lc-hero2 h1 { font-family:"IBM Plex Serif",Georgia,serif; font-weight:500; font-size:clamp(2rem,3.6vw,3rem); line-height:1.12; margin:.55rem 0 .8rem; color:#fff; }
.lc-hero2 h1 em { font-style:normal; color:#F5B942; }
.lc-hero2 p { color:#E3E8F4; font-size:1.04rem; margin:0 0 1.4rem; line-height:1.55; }

.lc-feat { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.4rem; }
.lc-feat.is-one { grid-template-columns:1fr; }
.lc-feat-card { position:relative; overflow:hidden; border-radius:18px; min-height:300px; display:flex; align-items:flex-end; color:#fff; text-decoration:none; background:#0B1430; }
.lc-feat-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.lc-feat-card:hover img { transform:scale(1.04); }
.lc-feat-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(8,14,36,.97) 0%, rgba(8,14,36,.88) 42%, rgba(8,14,36,.35) 70%, rgba(8,14,36,0) 88%); }
.lc-feat-tx { position:relative; z-index:2; padding:1.3rem 1.4rem; display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; }
.lc .lc-feat-tx > b { color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.7); font-family:"IBM Plex Serif",Georgia,serif; font-weight:500; font-size:1.4rem; line-height:1.2; }
.lc .lc-feat-tx > small { text-shadow:0 1px 6px rgba(0,0,0,.7); color:#E3E8F4; font-size:.95rem; max-width:34rem; }
.lc-feat-tx .sp-btn { margin-top:.5rem; }
.lc-feat-badge { background:#F5B942; color:#14254D; font-size:.72rem; font-weight:700; padding:.22rem .65rem; border-radius:99px; }
.lc-feat-note { font-style:normal; font-size:.78rem; color:#C9D0E4; }

.lc-sec-head { margin-top:1.8rem; }
.lc-sec-head h2 { margin:0 0 .25rem; }
.lc-home .lc-grid { grid-template-columns:repeat(4, minmax(0,1fr)); gap:1rem; }
.lc-home .lc-card { border-radius:14px; transition:transform .2s ease, box-shadow .2s ease; color:inherit; text-decoration:none; }
.lc-home .lc-card:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(20,37,77,.12); }
.lc-home .lc-thumb { overflow:hidden; }
.lc-home .lc-thumb img { transition:transform .5s ease; }
.lc-home .lc-card:hover .lc-thumb img { transform:scale(1.05); }
.lc-home .lc-tag.is-soon { background:rgba(11,20,48,.85); color:#F5C46B; border:1px solid rgba(245,185,66,.5); backdrop-filter:blur(4px); }
.lc-home .lc-body h3 { font-size:1.05rem; }
.lc-home .lc-other { margin-top:.4rem; }
.lc-home .sp-ask .sp-btn { white-space:nowrap; flex:none; }

@media (max-width:1100px) { .lc-home .lc-grid { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:860px) {
  .lc-hero2 { display:block; min-height:0; }
  .lc-hero2-art { position:relative; aspect-ratio:4/3; }
  .lc-hero2-art img { object-position:82% center; }
  .lc-hero2-art::after { background:linear-gradient(0deg, #0B1430 0%, rgba(11,20,48,0) 45%); }
  .lc-hero2-text { max-width:none; padding:1.2rem 1.3rem 1.5rem; }
  .lc-feat { grid-template-columns:1fr; }
  .lc-home .lc-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:.75rem; }
}
@media (max-width:520px) {
  .lc-home .lc-grid { grid-template-columns:1fr; }
  .lc-feat-card { min-height:260px; }
}

/* ===================== Courses in the website's colours (owner, 2 Nov 2026) ===================== */
.lc2 { --navy:#14254D; --org:#91063F; --peach:#FBE8EF; --cream:#FCF1E8; --line:#F1DCE5; --muted:#5B6475; --ok:#11663B; --red:#91063F; --red2:#7A0535; }
.lc2 h1 { font-family:"IBM Plex Serif",Georgia,serif; font-weight:600; color:var(--red2); }
.lc2 .lc-bar { background:#F6E4EB; } .lc2 .lc-bar i { background:linear-gradient(90deg,#91063F,#C2185B); }
.lc2 .sp-btn { background:linear-gradient(135deg,#7A0535,#91063F 55%,#A8324F); color:#fff; border-color:transparent; }
.lc2 .sp-btn.is-ghost { background:#fff; color:#91063F; border:1.5px solid #E7C3D2; }
.lc2 .lc-crumb { font-size:.9rem; } .lc2 .lc-crumb a { color:var(--red); } .lc2 .lc-crumb b { color:var(--navy); }
.lc2 .lc-les.on, .lc2 .lc-les.is-link:hover { background:#FFF8FA; } .lc2 .lc-les .ic.now { background:var(--red); color:#fff; } .lc2 .lc-les .ic.ok { background:#E8F6EE; color:var(--ok); }
.lc2 .lc-mod > b { background:var(--cream); color:var(--red2); } .lc2 .lc-box { border-color:var(--line); }
.lc2 .lc-tabs button.on { color:var(--red); border-color:var(--red); }
.lc2-btn { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:46px; padding:0 1.3rem; border-radius:999px; font-weight:600;
  background:linear-gradient(135deg,#7A0535,#91063F 55%,#A8324F); color:#fff !important; text-decoration:none; border:0; cursor:pointer; box-shadow:0 4px 12px rgba(145,6,63,.22); font-size:1rem; }
.lc2-btn:hover { filter:brightness(1.06); }
.lc2-btn.is-line { background:#fff; color:#91063F !important; border:1.5px solid #E7C3D2; box-shadow:none; }
.lc2-btn.is-sm { min-height:38px; padding:0 1rem; font-size:.9rem; }
.lc2-btn.is-block { display:flex; width:100%; box-sizing:border-box; margin-top:.7rem; }
.lc2-hero { display:flex; justify-content:space-between; align-items:center; gap:1.6rem; flex-wrap:wrap; background:linear-gradient(120deg,#FFF1E7 0%,#FBE3EC 100%);
  border:1px solid var(--line); border-radius:22px; padding:1.8rem 2rem; }
.lc2-hero-tx { flex:1 1 420px; display:flex; flex-direction:column; gap:.6rem; }
.lc2-hero h1 { margin:0; font-size:2.1rem; line-height:1.18; }
.lc2-hero p { margin:0; font-size:1.05rem; line-height:1.55; color:#3F4657; max-width:640px; }
.lc2-tag { align-self:flex-start; background:#fff; color:var(--red); font-weight:700; font-size:.8rem; padding:.3rem .8rem; border-radius:99px; }
.lc2-hero-pts { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; flex:0 1 430px; }
.lc2-hero-pts li { background:#fff; border:1px solid var(--line); border-radius:16px; padding:.9rem; text-align:center; }
.lc2-hero-pts b { display:block; color:var(--navy); } .lc2-hero-pts span { font-size:.85rem; color:var(--muted); }
.lc2-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin:1.8rem 0 .8rem; }
.lc2-head h2 { margin:0; font-size:1.35rem; color:var(--navy); }
.lc2-chips { display:flex; gap:.5rem; }
.lc2-chips button { min-height:38px; padding:0 1rem; border-radius:99px; border:1px solid var(--line); background:#fff; color:var(--navy); font:inherit; font-size:.9rem; font-weight:500; cursor:pointer; }
.lc2-chips button.on { background:var(--red); border-color:var(--red); color:#fff; }
.lc2-cont { display:flex; gap:1.2rem; align-items:center; background:#fff; border:1px solid var(--line); border-radius:18px; padding:1rem; text-decoration:none; color:inherit; flex-wrap:wrap; }
.lc2-cont img { width:190px; aspect-ratio:16/9; object-fit:cover; border-radius:12px; }
.lc2-cont-tx { flex:1 1 280px; display:flex; flex-direction:column; gap:.35rem; } .lc2-cont-tx b { font-size:1.1rem; color:var(--navy); } .lc2-cont-tx small { color:var(--muted); font-size:.92rem; }
.lc2-barrow { display:flex; align-items:center; gap:.8rem; } .lc2-barrow .lc-bar { flex:1; max-width:420px; } .lc2-barrow span { font-size:.85rem; color:var(--red); font-weight:600; }
.lc2-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:1.2rem; }
.lc2-card { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:box-shadow .15s, border-color .15s; }
.lc2-card:hover { border-color:#E0A9BF; box-shadow:0 10px 26px rgba(145,6,63,.10); }
.lc2-thumb { position:relative; aspect-ratio:16/9; background:#14254D; } .lc2-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.lc2-badge { position:absolute; top:.7rem; left:.7rem; font-size:.75rem; font-weight:700; padding:.25rem .7rem; border-radius:99px; background:#fff; color:var(--navy); }
.lc2-badge.is-own { background:var(--red); color:#fff; } .lc2-badge.is-gold { background:#FFD43B; color:#5A3B00; }
.lc2-body { padding:1rem 1.1rem 1.1rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.lc2-body h3 { margin:0; font-size:1.12rem; color:var(--navy); } .lc2-body p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.5; flex:1; }
.lc2-meta { font-size:.82rem; color:var(--muted); }
.lc2-foot { display:flex; justify-content:space-between; align-items:center; gap:.6rem; margin-top:.3rem; }
.lc2-price { display:flex; align-items:baseline; gap:.45rem; flex-wrap:wrap; } .lc2-price b { font-size:1.2rem; color:var(--navy); } .lc2-price s { color:#8B93A3; font-size:.9rem; }
.lc2-price em { font-style:normal; background:#E8F6EE; color:var(--ok); font-weight:700; font-size:.8rem; padding:.15rem .6rem; border-radius:99px; }
.lc2-price.is-big b { font-size:2rem; } .lc2-price.is-big s { font-size:1.05rem; }
.lc2-pct { color:var(--red); font-weight:600; font-size:.9rem; }
.lc2-links { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:.9rem; }
.lc2-links a { background:#fff; border:1px solid var(--line); border-radius:16px; padding:1rem 1.1rem; text-decoration:none; display:flex; flex-direction:column; gap:.3rem; }
.lc2-links b { color:var(--red); } .lc2-links span { color:var(--muted); font-size:.9rem; }
/* course page */
.lc2-page { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:1.8rem; align-items:start; }
.lc2-main { display:flex; flex-direction:column; gap:1.1rem; min-width:0; }
.lc2-main h1 { margin:.4rem 0 0; font-size:2rem; }
.lc2-video { position:relative; display:block; aspect-ratio:16/9; border-radius:20px; overflow:hidden; background:#14254D; }
.lc2-video img { width:100%; height:100%; object-fit:cover; display:block; opacity:.85; }
.lc2-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:78px; height:78px; border-radius:50%; background:#fff; color:var(--red); display:grid; place-items:center; font-size:1.8rem; box-shadow:0 8px 26px rgba(0,0,0,.3); }
.lc2-vtag { position:absolute; left:1rem; top:1rem; background:#FFD43B; color:#5A3B00; font-weight:700; font-size:.82rem; padding:.3rem .8rem; border-radius:99px; }
.lc2-free { display:inline-block; background:#FFF4CC; color:#7A5200; font-size:.72rem; font-weight:700; padding:.18rem .6rem; border-radius:99px; letter-spacing:.03em; }
.lc2-lead { margin:0; font-size:1.05rem; line-height:1.6; color:#3F4657; }
.lc2-by { display:flex; gap:1.2rem; flex-wrap:wrap; color:var(--muted); font-size:.9rem; }
.lc2-box { background:#fff; border:1px solid var(--line); border-radius:18px; padding:1.2rem 1.4rem; }
.lc2-box h2 { margin:0 0 .7rem; font-size:1.2rem; color:var(--navy); }
.lc2-ticks { list-style:none; padding:0; margin:0; display:grid; gap:.55rem; font-size:.95rem; line-height:1.45; }
.lc2-ticks li { display:flex; gap:.55rem; } .lc2-ticks li:before { content:"✓"; color:var(--red); font-weight:700; }
.lc2-two { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.6rem; }
.lc2-lessons { padding:0; overflow:hidden; }
.lc2-boxhead { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding:1rem 1.3rem; background:var(--cream); }
.lc2-boxhead h2 { margin:0; } .lc2-boxhead span { font-size:.88rem; color:var(--muted); }
.lc2-pad { padding:1rem 1.3rem; margin:0; color:var(--muted); }
.lc2-mod { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 1.2rem; font-weight:700; color:var(--red2); background:#FFF8FA; border-top:1px solid #F5E6EC; }
.lc2-mod small { color:var(--muted); font-weight:500; }
.lc2-les { display:flex; align-items:center; gap:.8rem; padding:.75rem 1.2rem; border-top:1px solid #F5E6EC; font-size:.95rem; color:#1F2937; text-decoration:none; }
a.lc2-les:hover { background:#FFF8FA; }
.lc2-les .ic { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; flex:none; font-size:.75rem; background:var(--red); color:#fff; }
.lc2-les .ic.ok { background:#E8F6EE; color:var(--ok); } .lc2-les.is-locked .ic { background:#F3EDF0; color:#8A6A78; }
.lc2-les .t { flex:1; } .lc2-les .d { color:var(--muted); font-size:.85rem; }
.lc2-buy { position:sticky; top:1rem; background:#fff; border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:0 10px 30px rgba(122,5,53,.08); }
.lc2-buy > img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.lc2-buy-in { padding:1.2rem 1.3rem 1.3rem; display:flex; flex-direction:column; gap:.5rem; }
.lc2-buy-h { font-size:1.15rem; color:var(--navy); }
.lc2-buy .lc2-ticks { margin-top:.6rem; }
.lc2-small { font-size:.85rem; color:var(--muted); margin:.2rem 0 0; line-height:1.5; }
.lc2-line { border-top:1px solid #F5E6EC; padding-top:.7rem; margin-top:.4rem; }
@media (max-width: 900px) {
  .lc2-page { grid-template-columns:minmax(0,1fr); } .lc2-buy { position:static; }
  .lc2-two { grid-template-columns:minmax(0,1fr); } .lc2-hero h1 { font-size:1.6rem; } .lc2-hero-pts { grid-template-columns:repeat(3,minmax(0,1fr)); flex-basis:100%; }
  .lc2-cont img { width:100%; }
}

/* ===================== Admin courses (owner, 2 Nov 2026) ===================== */
.la2 { --navy:#14254D; --red:#91063F; --red2:#7A0535; --line:#F1DCE5; --muted:#5B6475; color:#1F2937; }
.la2-top { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; flex-wrap:wrap; margin-bottom:1.2rem; }
.la2-top p { margin:.2rem 0 0; color:var(--muted); }
.la2-acts { display:flex; gap:.6rem; flex-wrap:wrap; }
.la2-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1.2rem; }
.la2-stat { background:#fff; border:1px solid var(--line); border-radius:18px; padding:1rem 1.2rem; display:flex; flex-direction:column; gap:.25rem; }
.la2-stat span { font-size:.85rem; color:var(--muted); font-weight:500; } .la2-stat b { font-size:1.7rem; color:var(--navy); }
.la2-card { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.la2-bar { display:flex; justify-content:space-between; align-items:center; gap:.8rem; flex-wrap:wrap; padding:.9rem 1.1rem; }
.la2-bar input, .la2-bar select, .la2 .la2-in { min-height:40px; border:1px solid #E5D3DB; border-radius:10px; padding:0 .8rem; font:inherit; font-size:.92rem; background:#fff; }
.la2-tablewrap { overflow-x:auto; }
.la2-table { width:100%; border-collapse:collapse; }
.la2-table th { font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:#7A5566; text-align:left; font-weight:700; padding:.75rem .9rem; background:#FCF1E8; }
.la2-table td { padding:.75rem .9rem; border-top:1px solid #F5E6EC; font-size:.92rem; vertical-align:middle; }
.la2-table img { width:88px; aspect-ratio:16/9; object-fit:cover; border-radius:8px; display:block; }
.la2-name { display:flex; gap:.8rem; align-items:center; } .la2-name b { color:var(--navy); } .la2-name small { display:block; color:var(--muted); font-size:.78rem; }
.la2-pill { display:inline-flex; align-items:center; min-height:24px; padding:0 .7rem; border-radius:99px; font-size:.75rem; font-weight:700; white-space:nowrap; }
.la2-pill.open, .la2-pill.paid { background:#E8F6EE; color:#11663B; } .la2-pill.soon, .la2-pill.waiting, .la2-pill.done { background:#FFF4CC; color:#7A5200; }
.la2-pill.hidden, .la2-pill.removed { background:#EEF0F4; color:#4B5563; } .la2-pill.offline, .la2-pill.free { background:#FBE8EF; color:var(--red); }
.la2-btn { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:0 .95rem; border-radius:99px; font-weight:600; font-size:.85rem; text-decoration:none;
  border:1.5px solid #E7C3D2; background:#fff; color:var(--red) !important; cursor:pointer; font-family:inherit; white-space:nowrap; }
.la2-btn.is-main { background:linear-gradient(135deg,#7A0535,#91063F 55%,#A8324F); color:#fff !important; border-color:transparent; box-shadow:0 4px 12px rgba(145,6,63,.2); min-height:42px; padding:0 1.2rem; font-size:.95rem; }
.la2-btn.is-big { min-height:42px; padding:0 1.2rem; font-size:.95rem; }
.la2-btn.is-danger { color:#B42318 !important; border-color:#F3C7C2; }
.la2-row-acts { white-space:nowrap; text-align:right; } .la2-row-acts form { display:inline; }
.la2-mini { width:110px; height:7px; background:#F6E4EB; border-radius:99px; overflow:hidden; display:inline-block; vertical-align:middle; }
.la2-mini i { display:block; height:100%; background:linear-gradient(90deg,#91063F,#C2185B); }
.la2-add { display:flex; gap:.8rem; align-items:flex-end; flex-wrap:wrap; background:#fff; border:1px solid var(--line); border-radius:18px; padding:1rem 1.2rem; margin-bottom:1.2rem; }
.la2-add > b { color:var(--navy); align-self:center; }
.la2-add label, .la2-f label { display:flex; flex-direction:column; gap:.35rem; font-size:.82rem; font-weight:600; color:var(--navy); }
.la2-empty { padding:1.4rem; color:var(--muted); text-align:center; }
/* editor */
.la2-tabs { display:flex; gap:.3rem; border-bottom:1px solid var(--line); margin-bottom:1.2rem; overflow-x:auto; }
.la2-tabs button { min-height:46px; padding:0 1.1rem; display:inline-flex; align-items:center; gap:.5rem; font:inherit; font-weight:600; color:var(--muted); background:none; border:0; border-bottom:3px solid transparent; cursor:pointer; white-space:nowrap; }
.la2-tabs button i { font-style:normal; width:24px; height:24px; border-radius:50%; background:#F3E6EC; color:var(--red2); display:grid; place-items:center; font-size:.75rem; }
.la2-tabs button.on { color:var(--red); border-bottom-color:var(--red); } .la2-tabs button.on i { background:var(--red); color:#fff; }
.la2-edit { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:1.4rem; align-items:start; }
.la2-pane[hidden] { display:none !important; }
.la2-f { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; background:#fff; border:1px solid var(--line); border-radius:18px; padding:1.2rem 1.3rem; }
.la2-f .wide { grid-column:1 / -1; }
.la2-f input, .la2-f select, .la2-f textarea, .la2-les input, .la2-les textarea { border:1px solid #E5D3DB; border-radius:10px; padding:.6rem .75rem; font:inherit; font-size:.95rem; color:#1F2937; background:#fff; }
.la2-f small { font-weight:400; color:var(--muted); }
.la2-mod { background:#fff; border:1px solid var(--line); border-radius:18px; margin-bottom:1rem; overflow:hidden; }
.la2-modhead { display:flex; align-items:center; gap:.6rem; padding:.7rem 1rem; background:#FCF1E8; }
.la2-modhead input { flex:1; border:1px solid transparent; background:transparent; font:inherit; font-weight:700; color:var(--red2); font-size:1rem; padding:.35rem .5rem; border-radius:8px; }
.la2-modhead input:focus { border-color:#E5D3DB; background:#fff; }
.la2-ic { width:34px; height:34px; border-radius:9px; border:1px solid #E7C3D2; background:#fff; color:var(--red); cursor:pointer; font-size:.9rem; }
.la2-lrow { display:flex; align-items:center; gap:.7rem; padding:.7rem 1rem; border-top:1px solid #F5E6EC; font-size:.92rem; flex-wrap:wrap; }
.la2-lrow .num { color:var(--muted); width:1.6rem; } .la2-lrow .tt { flex:1; font-weight:600; color:var(--navy); min-width:180px; }
.la2-lrow img, .la2-lrow .nov { width:72px; aspect-ratio:16/9; object-fit:cover; border-radius:6px; background:#F3EDF0; color:#8A6A78; font-size:.7rem; display:grid; place-items:center; }
.la2-warn { color:#B45309; font-weight:600; font-size:.82rem; }
.la2-les { background:#FFF8FA; border-top:1px solid #F5E6EC; padding:1rem 1.1rem; display:flex; flex-direction:column; gap:.8rem; }
.la2-les label { display:flex; flex-direction:column; gap:.35rem; font-size:.82rem; font-weight:600; color:var(--navy); }
.la2-seg { display:inline-flex; background:#F7EEF2; border-radius:999px; padding:4px; align-self:flex-start; }
.la2-seg button { min-height:34px; padding:0 1rem; border:0; background:none; border-radius:999px; font:inherit; font-size:.88rem; font-weight:600; color:var(--muted); cursor:pointer; }
.la2-seg button.on { background:#fff; color:var(--red); box-shadow:0 2px 6px rgba(122,5,53,.12); }
.la2-drop { border:2px dashed #E7C3D2; border-radius:14px; background:#fff; padding:1rem; display:flex; align-items:center; gap:1rem; }
.la2-drop.is-over { border-color:var(--red); background:#FFF3F7; }
.la2-drop .big { width:46px; height:46px; border-radius:12px; background:#FBE8EF; color:var(--red); display:grid; place-items:center; font-size:1.3rem; flex:none; }
.la2-drop .tx { flex:1; display:flex; flex-direction:column; gap:.35rem; font-size:.88rem; }
.la2-prog { height:8px; background:#F6E4EB; border-radius:99px; overflow:hidden; } .la2-prog i { display:block; height:100%; width:0; background:linear-gradient(90deg,#91063F,#C2185B); }
.la2-switch { display:flex !important; flex-direction:row !important; align-items:center; gap:.6rem; font-weight:500 !important; cursor:pointer; }
.la2-switch input { width:18px; height:18px; accent-color:#91063F; }
.la2-side { display:flex; flex-direction:column; gap:1rem; position:sticky; top:1rem; }
.la2-sidecard { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.la2-sidecard > img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.la2-sidecard .in { padding:1rem 1.1rem; display:flex; flex-direction:column; gap:.45rem; font-size:.92rem; }
.la2-check li { list-style:none; display:flex; gap:.5rem; } .la2-check { padding:0; margin:0; display:grid; gap:.45rem; }
.la2-check .ok { color:#11663B; font-weight:700; } .la2-check .no { color:#B45309; font-weight:700; }
.la2-help { margin-top:1.2rem; background:#FCF1E8; border:1px solid #F3DCC8; border-radius:14px; padding:.9rem 1.1rem; font-size:.9rem; color:#3F4657; line-height:1.55; }
@media (max-width: 1100px) { .la2-edit { grid-template-columns:minmax(0,1fr); } .la2-side { position:static; } .la2-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .la2-f { grid-template-columns:minmax(0,1fr); } }

.la2-pill.expired { background:#FDECEC; color:#B42318; }
.la2-until summary { cursor:pointer; color:var(--red); font-size:.8rem; font-weight:600; margin-top:.2rem; }
/* access countdown on the course and lesson pages (owner, 2 Nov 2026) */
.lc2-access { background:#FFF8FA; border:1px solid #F1DCE5; border-radius:14px; padding:.7rem .9rem; display:flex; flex-direction:column; gap:.2rem; margin-top:.4rem; }
.lc2-access small { color:var(--muted); font-size:.82rem; } .lc2-access b { color:var(--navy); }
.lc2-count { display:flex; gap:.4rem; margin-top:.3rem; }
.lc2-count span { flex:1; text-align:center; background:#fff; border:1px solid #F1DCE5; border-radius:10px; padding:.35rem .2rem; }
.lc2-count b { display:block; font-size:1.15rem; color:#91063F; font-variant-numeric:tabular-nums; } .lc2-count i { font-style:normal; font-size:.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.lc2-access.is-soon { background:#FFF4CC; border-color:#F2E1A6; }
.lc2-ended { background:#FDECEC; border:1px solid #F3C7C2; color:#9B1C1C; border-radius:14px; padding:.7rem .9rem; font-size:.92rem; }
