/* App pages (seminars, videos, my content, admin). Builds on styles.css. */
body.app{min-height:100vh;display:flex;flex-direction:column;background:var(--off)}
.amain{flex:1;padding-top:var(--nav-h)}
.phead{background:var(--navy);color:var(--white);padding:clamp(40px,7vw,70px) var(--pad) clamp(36px,6vw,56px);position:relative;overflow:hidden}
.phead::after{content:'';position:absolute;inset:0 0 0 auto;width:40%;background:linear-gradient(135deg,var(--teal),transparent 75%);clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);opacity:.6}
.phead>*{position:relative;z-index:1}
.phead h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.6rem,6vw,4.5rem);line-height:1;letter-spacing:.02em;margin:0 0 .75rem}
.phead p{color:rgba(255,255,255,.78);max-width:640px;font-size:1.05rem;line-height:1.6}
.phead p a{color:var(--gold-lt)}
.wrap{padding:clamp(28px,5vw,56px) var(--pad);max-width:1280px;width:100%}
.wrap.narrow{max-width:640px;margin:0 auto}
.wrap.two{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.amain .card{text-align:left;max-width:none;padding:clamp(1.5rem,4vw,2.5rem);border-radius:10px;box-shadow:0 10px 40px rgba(27,33,49,.07);background:var(--white)}
.amain .card.center,.center{text-align:center}
.card.form{display:flex;flex-direction:column;gap:1rem}
.card.form h2{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.03em;line-height:1}
.h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,5vw,3rem);letter-spacing:.03em;line-height:1.05;margin-bottom:.75rem;color:var(--navy)}
.amain .card p{margin-bottom:1rem;line-height:1.65;color:var(--muted)}
.amain .card p strong{color:var(--navy)}
.prose{font-size:1.02rem;line-height:1.75;color:var(--muted)}
.prose h3{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--navy);letter-spacing:.03em;margin:1.5rem 0 .5rem}
.prose p{margin-bottom:1rem}
.prose a{color:var(--teal)}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.meta{font-size:.85rem;color:var(--muted);margin:.5rem 0 1rem}
.meta a{color:var(--teal)}
.ticks{list-style:none;margin:1rem 0}
.ticks li{padding:.3rem 0 .3rem 1.6rem;position:relative;color:var(--navy)}
.ticks li::before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:700}
.flash{padding:.9rem 1.1rem;border-radius:6px;background:rgba(0,108,126,.1);border-left:4px solid var(--teal);color:var(--navy);margin-bottom:1rem;font-weight:600}
.flash.err{background:#fdecea;border-color:#c0392b}
.flash.warn{background:#fff6e0;border-color:var(--gold)}
.ferr{color:#c0392b;font-size:.82rem;font-weight:700}
.consent{display:flex;gap:.75rem;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:600;font-size:.9rem;color:var(--navy);line-height:1.5;cursor:pointer}
.consent input{width:22px;height:22px;flex-shrink:0;margin-top:.1rem;accent-color:var(--teal)}
.consent a{color:var(--teal)}
.hint{font-size:.78rem;color:var(--muted)}
.empty{text-align:center;padding:3rem 1rem;color:var(--muted)}
.empty h3{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--navy);letter-spacing:.03em}
.empty a{color:var(--teal);font-weight:700}
h2.sub{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.03em;color:var(--navy);margin:2rem 0 .75rem;display:flex;align-items:center;gap:.6rem}
.btn.wa{background:#1fa855;margin:.5rem 0 1.5rem}
.btn.wa:hover{background:#178a45}
.bank{font-family:inherit;background:var(--off);padding:1rem 1.2rem;border-radius:6px;white-space:pre-wrap;margin:0 0 1rem;color:var(--navy);font-weight:600}
.ref{background:var(--gold);color:var(--navy);padding:.1rem .45rem;border-radius:3px}
.plain{list-style:none}.plain li{padding:.5rem 0;border-bottom:1px solid var(--line)}
.linkbtn{background:none;border:0;color:var(--teal);font:inherit;font-weight:700;cursor:pointer;padding:1.5rem 0;text-decoration:underline}

img.poster{width:100%;max-width:520px;border-radius:10px;box-shadow:0 10px 40px rgba(27,33,49,.12);margin-bottom:1.5rem}

/* Seminar list */
.card-link{display:flex;gap:1.25rem;background:var(--white);border-radius:10px;padding:1.5rem;margin-bottom:1rem;text-decoration:none;color:var(--navy);border-left:4px solid var(--teal);transition:transform .2s,box-shadow .2s}
.card-link:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(27,33,49,.1)}
.card-link h3{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:.03em;line-height:1.1}
.card-link p{color:var(--muted);font-size:.95rem;line-height:1.6;margin:.25rem 0}
.card-link .go{color:var(--gold-dk);font-weight:700;font-size:.9rem;letter-spacing:.04em}
.sem .date{flex-shrink:0;width:72px;height:72px;border-radius:8px;background:var(--navy);color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.sem .date b{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--gold-lt)}
.sem .date span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}

/* Video catalogue */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.25rem}
.pcard{background:var(--white);border-radius:10px;padding:1.6rem;display:flex;flex-direction:column;border-top:4px solid var(--teal)}
.pcard.bundle{border-top-color:var(--gold)}
.pcard h3{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.03em;line-height:1.1;margin:.4rem 0 .5rem}
.pcard p{color:var(--muted);font-size:.93rem;line-height:1.6}
.pcard .ticks{margin:.5rem 0;font-size:.9rem}
.pcard .bp,.pcard .btn{margin-top:auto;padding:.8rem 1.5rem}
.ptop{display:flex;justify-content:space-between;align-items:center}
.kind{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.bundle .kind{color:var(--gold-dk)}
.price{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--navy)}
.free .price{color:var(--teal)}

/* Watch page */
.watch{max-width:960px}
.video{position:relative;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;margin:1rem 0 1.25rem}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ── Admin ── */
.adm .admin{max-width:900px;margin:0 auto;width:100%;padding:0 var(--pad) 3rem}
.atabs{display:flex;gap:.25rem;overflow-x:auto;padding:1rem 0;position:sticky;top:var(--nav-h);background:var(--off);z-index:5;border-bottom:1px solid var(--line)}
.atabs a{flex:1;text-align:center;padding:.8rem .5rem;border-radius:6px;text-decoration:none;color:var(--navy);font-weight:700;font-size:.95rem;white-space:nowrap}
.atabs a.on{background:var(--navy);color:var(--white)}
.abody{padding-top:1.25rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.stats div{background:var(--white);border-radius:8px;padding:1rem;text-align:center}
.stats b{display:block;font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--teal);line-height:1}
.stats span{font-size:.75rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.row{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--white);border-radius:8px;padding:1rem 1.1rem;margin-bottom:.6rem;color:var(--navy);text-decoration:none;line-height:1.45}
.row.link:hover{box-shadow:0 6px 20px rgba(27,33,49,.08)}
.row .muted{font-size:.85rem}
.acts{display:flex;gap:.5rem;flex-shrink:0;align-items:center}
.count{text-align:center;font-family:'Bebas Neue',sans-serif;font-size:1.9rem;color:var(--teal);line-height:1;flex-shrink:0}
.count small{display:block;font-family:'Nunito',sans-serif;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.badge{background:var(--gold);color:var(--navy);font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:700;border-radius:20px;padding:.1rem .6rem}
.tag{display:inline-block;font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:3px;background:var(--lt);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.tag.ok{background:rgba(0,108,126,.12);color:var(--teal)}
.bigok,.ghost,.danger{font-family:'Nunito',sans-serif;font-weight:700;font-size:.95rem;border-radius:6px;padding:.75rem 1.1rem;cursor:pointer;border:2px solid transparent;text-decoration:none;display:inline-block;white-space:nowrap}
.bigok{background:var(--teal);color:var(--white)}
.bigok:hover{background:var(--teal-dk)}
.ghost{background:var(--white);border-color:var(--line);color:var(--navy)}
.ghost:hover{border-color:var(--teal)}
.danger{background:#fff;border-color:#e8b4ae;color:#b03a2e;margin-top:1rem}
.danger:hover{background:#fdecea}
.btnrow{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.addbtn{margin-bottom:.5rem}
.search{display:flex;gap:.5rem;margin-bottom:.5rem}
.search input{flex:1}
.search .bsub{padding:.75rem 1.25rem}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.25rem;background:var(--white);border-radius:8px;padding:1.25rem;margin:1rem 0}
.facts dt{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:.15rem}
.facts dd{color:var(--navy);font-weight:600;overflow-wrap:anywhere}
.facts a{color:var(--teal)}
.grant{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:var(--white);border-radius:8px;padding:1rem;margin-top:.5rem}
.grant label{width:100%}
.grant select{flex:1;min-width:200px}
.checks{border:1.5px solid var(--line);border-radius:6px;padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.checks legend{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 .4rem}

@media (max-width:900px){.wrap.two{grid-template-columns:1fr}}
@media (max-width:640px){
  .row{flex-direction:column;align-items:stretch}
  .row.link{flex-direction:row;align-items:center}
  .acts{flex-wrap:wrap}
  .acts form,.acts .bigok{flex:1}
  .acts .bigok,.acts .ghost{width:100%}
  .stats b{font-size:1.8rem}
  .card-link{padding:1.15rem;gap:1rem}
  .sem .date{width:60px;height:60px}
  .facts{grid-template-columns:1fr;gap:.15rem}
  .facts dd{margin-bottom:.6rem}
}

/* My learning: course progress */
.prog { height: 8px; background: #e8e4da; border-radius: 99px; overflow: hidden; margin: 6px 0 2px; }
.prog span { display: block; height: 100%; background: linear-gradient(90deg, #006c7e, #3aafc0); border-radius: 99px; }
h2.sub + .pgrid { margin-top: 10px; }
