@import url("https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700;800;900&display=swap");

:root {
  --ink: #14221f;
  --muted: #6b7d77;
  --line: #dfe8e4;
  --paper: #fbfcf8;
  --sand: #f3f1e9;
  --green: #1d8069;
  --green-dark: #155d50;
  --lime: #d9f26e;
  --orange: #ff8a53;
  --shadow: 0 20px 50px rgba(24, 65, 57, .11);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Heebo", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }

.site-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid rgba(223, 232, 228, .8); background: rgba(251, 252, 248, .92); backdrop-filter: blur(14px); }
.header-inner, .footer-inner { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-size: 23px; font-weight: 900; letter-spacing: -.8px; }
.brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: var(--lime); background: var(--green-dark); font-size: 19px; }
.brand-accent { color: var(--orange); }
.main-nav { display: flex; align-items: center; gap: 30px; margin-inline-start: auto; margin-inline-end: 20px; }
.main-nav a { color: #52645f; font-size: 15px; font-weight: 600; transition: color .2s; }
.main-nav a:hover { color: var(--green); }
.header-action { padding: 10px 17px; border: 1px solid var(--line); border-radius: 99px; font-size: 14px; font-weight: 700; }
.header-action:hover { border-color: var(--green); color: var(--green); }
.header-login { color:var(--green); font-size:13px; font-weight:800; }

.hero { overflow: hidden; padding: 88px 0 80px; background: linear-gradient(135deg, #f7f8ef, #f1f6ec); }
.hero-grid { display: grid; min-height: 465px; align-items: center; grid-template-columns: 1.05fr .95fr; gap: 55px; }
.eyebrow { margin-bottom: 10px; color: var(--green); font-size: 13px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { margin-bottom: 18px; font-size: clamp(54px, 6vw, 82px); font-weight: 900; letter-spacing: -4px; line-height: .98; }
.hero h1 span { color: var(--green); }
.hero-content > p { max-width: 560px; margin-bottom: 27px; color: #566a65; font-size: 20px; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 25px; }
.btn { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 15px; border: 0; border-radius: 11px; padding: 11px 20px; font-weight: 800; transition: transform .2s, background .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--green); box-shadow: 0 9px 20px rgba(29, 128, 105, .18); }
.btn-primary:hover { background: var(--green-dark); }
.btn-dark { color: #fff; background: var(--ink); }
.btn-muted { color: #5b6e69; background: #edf2ef; }
.btn-small { min-height: 38px; padding: 8px 13px; font-size: 13px; }
.btn-block { display: flex; width: 100%; margin-top: 11px; }
.text-link { color: var(--green); font-size: 15px; font-weight: 800; }
.hero-proof { display: flex; align-items: center; gap: 13px; margin-top: 47px; }
.proof-avatars { display: flex; direction: ltr; }
.proof-avatars span { display: grid; width: 31px; height: 31px; margin-left: -8px; place-items: center; border: 2px solid #f5f7ef; border-radius: 50%; color: white; background: var(--green); font-size: 12px; font-weight: 800; }
.proof-avatars span:nth-child(2) { background: #5f51a4; }.proof-avatars span:nth-child(3) { background: #f18655; }.proof-avatars span:last-child { color: var(--green-dark); background: var(--lime); }
.hero-proof strong, .hero-proof small { display: block; line-height: 1.4; }.hero-proof strong { font-size: 13px; }.hero-proof small { color: var(--muted); font-size: 12px; }
.hero-art { position: relative; min-height: 430px; }
.hero-circle { position: absolute; border-radius: 50%; }.circle-one { inset: 30px 35px 10px 60px; background: #dbeadc; }.circle-two { width: 180px; height: 180px; right: 0; bottom: 0; background: rgba(217, 242, 110, .6); }
.hero-card { position: absolute; overflow: hidden; border: 8px solid #fff; border-radius: 22px; background: white; box-shadow: var(--shadow); }
.hero-card-main { width: 370px; left: 36px; top: 63px; transform: rotate(-4deg); }
.hero-video { display: grid; height: 202px; place-items: center; }
.play-button { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; color: var(--green-dark); background: var(--lime); font-size: 20px; box-shadow: 0 0 0 12px rgba(217, 242, 110, .22); }
.hero-card-copy { display: block; padding: 16px 14px 13px; }.hero-card-copy small, .hero-card-copy strong, .hero-card-copy span { display: block; }.hero-card-copy small { color: var(--green); font-size: 11px; font-weight: 800; }.hero-card-copy strong { font-size: 18px; }.hero-card-copy span { color: var(--muted); font-size: 12px; }.hero-card-copy i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.hero-stat { position: absolute; right: 30px; top: 28px; min-width: 135px; padding: 17px; border-radius: 15px; background: white; box-shadow: var(--shadow); transform: rotate(4deg); }.hero-stat strong, .hero-stat span { display: block; }.hero-stat strong { color: var(--green); font-size: 29px; }.hero-stat span { color: var(--muted); font-size: 12px; font-weight: 700; }
.hero-badge { position: absolute; bottom: 22px; left: 4px; display: flex; align-items: center; gap: 9px; padding: 11px 15px; border-radius: 13px; color: var(--green-dark); background: var(--lime); font-size: 23px; font-weight: 900; transform: rotate(4deg); }.hero-badge span { font-size: 12px; line-height: 1.2; }

.stats-strip { color: #fff; background: var(--green-dark); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.stats-grid div { padding: 21px 25px; border-left: 1px solid rgba(255,255,255,.12); }.stats-grid div:last-child { border-left: 0; }
.stats-grid strong, .stats-grid span { display: block; text-align: center; }.stats-grid strong { color: var(--lime); font-size: 27px; }.stats-grid span { color: rgba(255,255,255,.78); font-size: 13px; }
.section { padding: 90px 0; }
.section-heading { margin-bottom: 28px; }.split-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }.centered { text-align: center; }.compact { margin-bottom: 16px; }
h2 { margin-bottom: 0; font-size: 35px; font-weight: 900; letter-spacing: -1.5px; line-height: 1.12; }
.search-box { display: flex; width: 245px; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 11px; padding: 0 12px; background: white; }.search-box span { color: var(--green); font-size: 21px; }.search-box input { width: 100%; border: 0; outline: 0; padding: 10px 4px; background: transparent; }
.courses-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.course-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .25s, box-shadow .25s; }.course-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.card-cover-link { position: relative; display: block; }
.course-cover { position: relative; overflow: hidden; height: 183px; background-position: center; background-size: cover; }
.gradient-1 { background: linear-gradient(135deg, #1e776a, #17443f); }.gradient-2 { background: linear-gradient(135deg, #f7aa70, #d35b5b); }.gradient-3 { background: linear-gradient(135deg, #6d60af, #333666); }.gradient-4 { background: linear-gradient(135deg, #4686a5, #214a68); }.gradient-5 { background: linear-gradient(135deg, #ad9f42, #5c6a28); }
.cover-orb { position: absolute; width: 170px; height: 170px; top: -52px; left: -35px; border-radius: 50%; background: rgba(255,255,255,.12); }
.cover-grid { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.7) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.7) 1px, transparent 1px); background-size: 25px 25px; transform: rotate(-10deg) scale(1.2); }
.cover-icon { position: absolute; top: 22px; right: 25px; color: var(--lime); font-size: 61px; font-weight: 800; line-height: 1; }.cover-label { position: absolute; right: 25px; bottom: 18px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .5px; }
.lesson-count { position: absolute; bottom: 13px; left: 13px; padding: 5px 9px; border-radius: 99px; color: #fff; background: rgba(20,34,31,.63); font-size: 11px; font-weight: 700; backdrop-filter: blur(6px); }
.course-card-body { padding: 18px 18px 16px; }
.card-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 8px; }.card-meta span, .preview-pill { border-radius: 99px; padding: 3px 8px; color: var(--green); background: #eaf5f0; font-size: 11px; font-weight: 800; }
.course-card h3 { min-height: 48px; margin-bottom: 5px; font-size: 19px; line-height: 1.22; }.course-card h3 a:hover { color: var(--green); }
.course-card p { min-height: 43px; margin-bottom: 15px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.course-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.instructor { display: flex; align-items: center; gap: 7px; color: #51645e; font-size: 12px; font-weight: 700; }.avatar { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: white; background: var(--green); font-size: 11px; font-weight: 800; }
.price, .free-price { color: var(--ink); font-size: 16px; font-weight: 900; }.free-price { color: var(--green); }
.empty-search { padding: 35px; color: var(--muted); text-align: center; }
.benefits { background: var(--sand); }
.benefits-grid { display: grid; margin-top: 35px; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.benefits-grid article { padding: 29px 25px; border: 1px solid rgba(223,232,228,.7); border-radius: 18px; background: rgba(255,255,255,.68); }.benefits-grid span { color: var(--orange); font-size: 14px; font-weight: 900; }.benefits-grid h3 { margin: 18px 0 5px; font-size: 21px; }.benefits-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.about-card { display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; border-radius: 25px; padding: 45px 50px; color: #fff; background: var(--green-dark); }.about-card .eyebrow { color: var(--lime); }.about-card p { margin: 0; color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.9; }
.site-footer { color: var(--muted); background: #eef1eb; }.footer-inner { min-height: 102px; font-size: 13px; }.footer-copy { display:grid; gap:4px; }.footer-copy small { color:#82908b; font-size:12px; }

.course-hero { padding: 58px 0 66px; background: linear-gradient(135deg,#f1f5ec,#f8f9f2); }.course-hero-grid { display: grid; align-items: center; grid-template-columns: 1fr 365px; gap: 65px; }
.back-link { display: inline-block; margin-bottom: 25px; color: var(--green); font-size: 13px; font-weight: 800; }.course-tags { margin-bottom: 15px; }.course-hero h1 { max-width: 720px; margin-bottom: 15px; font-size: clamp(42px,5vw,64px); letter-spacing: -3px; line-height: 1; }.course-hero p { max-width: 700px; margin-bottom: 21px; color: #5c6f69; font-size: 17px; line-height: 1.8; }
.course-teacher { display: flex; align-items: center; gap: 10px; }.avatar-large { width: 39px; height: 39px; font-size: 15px; }.course-teacher small,.course-teacher strong { display: block; }.course-teacher small { color: var(--muted); font-size: 11px; }.course-teacher strong { font-size: 14px; }
.enroll-card { overflow: hidden; border: 7px solid #fff; border-radius: 20px; background: #fff; box-shadow: var(--shadow); }.course-cover-large { height: 190px; }.enroll-body { padding: 16px 15px 13px; }.enroll-price { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }.enroll-price strong { font-size: 24px; }.enroll-price span { color: var(--muted); font-size: 11px; }.enroll-note { margin-top: 14px; color: var(--muted); font-size: 12px; text-align: center; }
.pending-note { margin-top:11px; border-radius:9px; padding:10px; color:#7a6421; background:#fff5cc; font-size:12px; font-weight:700; text-align:center; }
.checkout-page { min-height:calc(100vh - 178px); background:#f5f7f2; }.checkout-layout { display:grid; align-items:start; grid-template-columns:minmax(0,1fr) 330px; gap:22px; }.checkout-card,.checkout-summary { border:1px solid var(--line); border-radius:18px; padding:22px; background:#fff; box-shadow:var(--shadow); }.checkout-card h1 { margin:4px 0 7px; font-size:35px; letter-spacing:-1px; }.checkout-card > p { margin-bottom:20px; color:var(--muted); }.checkout-card .text-link { display:inline-block; margin-top:16px; }.checkout-summary { overflow:hidden; padding:0 0 17px; }.checkout-summary .course-cover { height:165px; border-radius:0; }.checkout-summary > div { padding:16px 17px 5px; }.checkout-summary small,.checkout-summary span,.checkout-summary p { color:var(--muted); }.checkout-summary h2 { margin:4px 0; font-size:20px; }.checkout-summary > strong,.checkout-summary > p { display:block; padding:0 17px; }.checkout-summary > strong { margin-top:7px; color:var(--green-dark); font-size:24px; }.checkout-summary > p { margin:4px 0 0; font-size:12px; }.paypal-message { margin-top:10px; color:var(--muted); font-size:13px; font-weight:700; }.paypal-error { color:#9a3939; }
.lesson-section { padding-top: 66px; }.lesson-layout { display: grid; align-items: start; grid-template-columns: 1fr 265px; gap: 35px; }
.lesson-list { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }.lesson-row { display: flex; min-height: 78px; align-items: center; gap: 13px; border-bottom: 1px solid var(--line); padding: 12px 16px; }.lesson-row:last-child { border-bottom: 0; }.lesson-row:hover { background: #f7faf8; }.lesson-row.locked { color: #83908d; background: #fbfcfb; }.lesson-number { width: 25px; color: var(--muted); font-size: 12px; font-weight: 700; }.lesson-play { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: var(--green); background: #e9f5ef; font-size: 11px; }.locked .lesson-play { color: #909b98; background: #edf0ee; }.lesson-copy { flex: 1; }.lesson-copy strong,.lesson-copy small { display:block; }.lesson-copy strong { font-size: 15px; }.lesson-copy small { color: var(--muted); font-size: 12px; }.lesson-row em { border-radius: 99px; padding: 4px 8px; color: var(--green); background: #e9f5ef; font-size: 10px; font-style: normal; font-weight: 800; }.lesson-row time { color: var(--muted); font-size: 12px; }
.course-facts { border-radius: 16px; padding: 21px; background: #f0f3ed; }.course-facts h3 { margin-bottom: 17px; font-size: 16px; }.course-facts div { display: flex; align-items: center; gap: 10px; margin-top: 12px; color: #5b6d68; font-size: 13px; }.course-facts span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; color: var(--green); background: white; }

.watch-main { min-height: calc(100vh - 178px); background: #f4f6f1; }.watch-header { padding: 28px 0 19px; background: #fff; }.watch-header .back-link { margin-bottom: 17px; }.watch-title-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.watch-header h1 { margin: 0; font-size: 35px; letter-spacing: -1px; }.watch-layout { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; padding-block: 28px 55px; }
.video-frame { overflow: hidden; aspect-ratio: 16/9; border-radius: 17px; background: #14221f; box-shadow: var(--shadow); }.video-frame iframe,.video-frame video { width: 100%; height: 100%; border: 0; }.video-frame video { display:block; background:#000; }.video-error { display:grid; height:100%; place-items:center; color:#fff; }
.lesson-description { margin-top: 18px; border: 1px solid var(--line); border-radius: 16px; padding: 20px; background: #fff; }.lesson-description h2 { font-size: 22px; }.lesson-description p { margin: 5px 0 0; color: var(--muted); line-height: 1.7; }
.watch-sidebar { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; }.watch-sidebar h3 { margin: 0; padding: 16px; border-bottom: 1px solid var(--line); font-size: 15px; }.watch-lesson { display: grid; grid-template-columns: 24px 1fr auto; gap: 7px; border-bottom: 1px solid var(--line); padding: 12px; font-size: 12px; }.watch-lesson:last-child { border-bottom: 0; }.watch-lesson span,.watch-lesson small { color: var(--muted); }.watch-lesson.current { color: var(--green-dark); background: #ecf7f2; }.watch-lesson.locked { color: #8e9996; background: #fafbfa; }

.login-page { display: grid; min-height: 100vh; place-items: center; padding: 30px; background: radial-gradient(circle at 25% 20%, rgba(217,242,110,.5), transparent 28%), linear-gradient(135deg,#ebf3e8,#f8f8f1); }.login-card { width: min(100%, 410px); border: 1px solid white; border-radius: 23px; padding: 35px; background: rgba(255,255,255,.88); box-shadow: var(--shadow); }.login-brand { margin-bottom: 28px; }.login-card h1 { margin-bottom: 4px; font-size: 35px; letter-spacing: -1px; }.login-card p { margin-bottom: 21px; color: var(--muted); }.form-stack { display: grid; gap: 14px; }.form-stack label span,.editor-form label > span { display: block; margin-bottom: 5px; color: #586963; font-size: 12px; font-weight: 800; }.form-stack input,.editor-form input,.editor-form textarea,.editor-form select { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 10px 11px; outline: 0; background: #fff; }.form-stack input:focus,.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(29,128,105,.1); }.login-hint { display: block; margin-top: 17px; color: var(--muted); text-align: center; }
.form-error,.notice { margin-bottom: 15px; border-radius: 9px; padding: 11px 13px; color: #9a3939; background: #fae4e4; font-size: 13px; font-weight: 700; }.notice { color: var(--green-dark); background: #def2e8; }
.auth-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:17px; }.auth-links a { color:var(--green); font-size:12px; font-weight:800; }

.admin-body { background: #f3f5f1; }.admin-shell { display: grid; min-height: 100vh; grid-template-columns: 228px 1fr; }.admin-sidebar { display: flex; position: sticky; top: 0; height: 100vh; flex-direction: column; padding: 21px 16px; color: #fff; background: var(--ink); }.admin-brand { color: #fff; }.admin-caption { margin: 21px 5px 10px; color: rgba(255,255,255,.43); font-size: 10px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }.admin-menu { display: grid; gap: 3px; }.admin-menu a,.admin-logout { border-radius: 8px; padding: 10px 11px; color: rgba(255,255,255,.68); font-size: 13px; font-weight: 700; }.admin-menu a:hover,.admin-menu a.active { color: #fff; background: rgba(255,255,255,.1); }.admin-logout { margin-top: auto; color: #f9a98b; }
.admin-main { min-width: 0; padding: 27px 32px 60px; }.admin-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; }.admin-topbar h1 { margin: 0; font-size: 30px; letter-spacing: -1px; }.admin-profile { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 700; }.profile-dot { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: white; background: var(--green); }
.admin-stats { display: grid; margin-bottom: 22px; grid-template-columns: repeat(4,1fr); gap: 15px; }.admin-stats article { border: 1px solid var(--line); border-radius: 14px; padding: 17px; background: #fff; }.admin-stats span,.admin-stats strong,.admin-stats small { display: block; }.admin-stats span { color: var(--muted); font-size: 12px; font-weight: 700; }.admin-stats strong { font-size: 35px; }.admin-stats small { color: #91a09c; font-size: 11px; }.admin-stats a { color:var(--green); font-weight:800; }
.admin-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; padding: 19px; background: #fff; }.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 16px; }.panel-heading h2 { font-size: 22px; letter-spacing: -.6px; }
.admin-course-list { display: grid; gap: 8px; }.admin-course-row { display: grid; align-items: center; grid-template-columns: 96px 1fr auto; gap: 15px; border: 1px solid var(--line); border-radius: 11px; padding: 8px; }.admin-course-row .course-cover { height: 68px; border-radius: 8px; }.admin-course-row .cover-icon { top: 13px; right: 13px; font-size: 30px; }.admin-course-row .cover-label { display: none; }.admin-course-copy h3 { margin: 0; font-size: 15px; }.admin-course-copy p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }.row-actions { display: flex; align-items: center; gap: 11px; padding-left: 7px; }.row-actions a,.row-actions button,.danger-link,.compact-lesson a { border: 0; padding: 0; color: var(--green); background: transparent; font-size: 12px; font-weight: 800; }.danger-link { color: #bf5858 !important; }
.admin-grid { display: grid; align-items: start; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: 18px; }.editor-form { margin-top: 4px; }.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; }.form-grid .wide { grid-column: 1/-1; }.editor-form textarea { resize: vertical; }.editor-form small { font-weight: 500; }.check-row { display: flex; align-items: center; gap: 7px; margin-top: 15px; }.check-row input { width: auto; }.check-row span { margin: 0 !important; }.form-actions { display: flex; gap: 9px; margin-top: 20px; }
.settings-section { display:grid; gap:12px; padding:5px 0 20px; }.settings-section + .settings-section { border-top:1px solid var(--line); padding-top:20px; }.settings-section h3 { margin:0; font-size:18px; }.settings-section p { margin:-6px 0 0; color:var(--muted); font-size:13px; }
.compact-lessons { display: grid; gap: 7px; }.compact-lesson { display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 9px; padding: 10px; }.drag-number { color: var(--muted); font-size: 11px; }.compact-lesson div { flex:1; }.compact-lesson strong,.compact-lesson small { display:block; }.compact-lesson strong { font-size: 13px; }.compact-lesson small { color: var(--muted); font-size: 11px; }.admin-empty { border-radius: 9px; padding: 20px; color: var(--muted); background: #f6f8f5; font-size: 13px; text-align: center; }.narrow-panel { max-width: 760px; }
.upload-box { display:grid; gap:10px; border:1px solid var(--line); border-radius:11px; padding:14px; background:#f8faf7; }.upload-box > strong { font-size:14px; }.upload-box > p { margin:-6px 0 2px; color:var(--muted); font-size:12px; }.current-upload { border-radius:8px; padding:9px 10px; color:var(--green-dark); background:#e5f3ed; font-size:12px; }.current-upload code { direction:ltr; }
.student-hero { padding:54px 0 36px; background:linear-gradient(135deg,#eff5eb,#f8f9f3); }.student-hero h1 { margin-bottom:5px; font-size:45px; letter-spacing:-2px; }.student-hero p { color:var(--muted); }.student-empty { border:1px solid var(--line); border-radius:16px; padding:35px; background:#fff; text-align:center; }.student-empty p { color:var(--muted); }
.users-table-wrap { overflow:auto; }.users-table { width:100%; border-collapse:collapse; font-size:13px; }.users-table th,.users-table td { padding:13px 9px; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }.users-table th { color:var(--muted); font-size:11px; }.users-table td strong,.users-table td small { display:block; }.users-table td small { color:var(--muted); }.status-pill { display:inline-block; border-radius:99px; padding:3px 8px; font-size:11px; font-weight:800; }.status-active { color:var(--green-dark); background:#def2e8; }.status-pending { color:#82691e; background:#fff4c7; }.status-blocked { color:#9a3939; background:#fae4e4; }.checks-grid { display:flex; flex-wrap:wrap; gap:18px; }.course-picker { display:grid; gap:7px; margin-top:18px; border:1px solid var(--line); border-radius:11px; padding:14px; background:#f8faf7; }.course-picker > p { margin:-4px 0 4px; color:var(--muted); font-size:12px; }.course-check { display:flex; align-items:center; gap:8px; border-top:1px solid var(--line); padding-top:7px; font-size:13px; font-weight:700; }.course-check span { display:flex; flex:1; justify-content:space-between; gap:10px; }.course-check small { color:var(--muted); }.course-check select { width:auto; min-width:125px; padding:6px; }
.message-page { display:grid; min-height:60vh; place-items:center; padding:40px; }.message-card { text-align:center; }.message-card p { color:var(--muted); }

@media (max-width: 1000px) {
  .hero-grid { grid-template-columns: 1fr; }.hero-art { display: none; }.hero { padding: 70px 0; }.course-hero-grid { grid-template-columns: 1fr 310px; gap: 35px; }.admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .container { width: min(100% - 26px, 600px); }.main-nav { display: none; }.header-inner { min-height: 65px; gap:10px; }.header-login { display:none; }.header-action { padding:8px 11px; font-size:12px; }.hero { padding: 53px 0; }.hero-grid { min-height: 0; }.hero h1 { font-size: 54px; letter-spacing: -3px; }.hero-content > p { font-size: 17px; }.stats-grid { grid-template-columns: repeat(2,1fr); }.stats-grid div:nth-child(2) { border-left: 0; }.section { padding: 62px 0; }.split-heading { display: block; }.split-heading .btn { margin-top:14px; }.search-box { width:100%; margin-top:17px; }.courses-grid,.benefits-grid { grid-template-columns: 1fr; }.about-card { display:block; padding: 30px; }.about-card p { margin-top: 17px; }.footer-inner { display:block; padding-block: 20px; }.footer-copy { margin-top:9px; }.course-hero { padding: 38px 0; }.course-hero-grid,.lesson-layout,.watch-layout,.checkout-layout { grid-template-columns: 1fr; }.course-hero h1 { font-size: 45px; }.lesson-row { gap:8px; padding: 10px; }.lesson-row em { display:none; }.watch-header h1 { font-size: 27px; }.watch-title-row { display:block; }.preview-pill { display:inline-block; margin-top:9px; }.watch-sidebar { order: 2; }.admin-shell { display:block; }.admin-sidebar { position: static; height:auto; padding:13px; }.admin-caption,.admin-logout { display:none; }.admin-menu { display:flex; margin-top:11px; overflow-x:auto; }.admin-menu a { white-space:nowrap; }.admin-main { padding:18px 13px 40px; }.admin-profile { display:none; }.admin-stats { grid-template-columns:1fr; }.admin-course-row { grid-template-columns: 72px 1fr; }.admin-course-row .course-cover { height: 60px; }.row-actions { grid-column:1/-1; padding:4px 2px 2px; }.form-grid { grid-template-columns:1fr; }.admin-panel { padding:14px; }.panel-heading { align-items:start; }.compact-lesson { flex-wrap:wrap; }
}

.progress-card { margin-top:13px; border-radius:10px; padding:10px; background:#f3f7f4; }
.progress-card div:first-child,.card-progress div:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.progress-card strong { color:var(--green); font-size:18px; }
.progress-card span,.card-progress span { color:var(--muted); font-size:11px; }
.progress-track { overflow:hidden; height:7px; margin:7px 0; border-radius:99px; background:#dfe8e4; }
.progress-track i { display:block; height:100%; border-radius:99px; background:var(--green); }
.card-progress { margin:5px 0 10px; }
.card-progress strong { color:var(--green); font-size:13px; }
.lesson-row.completed { background:#f2faf6; }
.lesson-row.completed .lesson-play { color:#fff; background:var(--green); }
.complete-pill { color:var(--green-dark) !important; background:#d9f1e6 !important; }
.lesson-description form { display:inline-block; margin-top:15px; }
.lesson-description > .btn { margin-top:15px; margin-right:8px; }
.lesson-complete-note { display:inline-block; margin-top:15px; border-radius:9px; padding:10px 12px; color:var(--green-dark); background:#def2e8; font-size:13px; font-weight:800; }
.diploma-body { background:#e9e5da; }
.diploma-page { min-height:100vh; padding:30px; }
.diploma-actions { display:flex; justify-content:center; gap:10px; margin-bottom:20px; }
.diploma-sheet { width:min(100%,1040px); margin:auto; border:14px solid #fbfaf5; background:#fbfaf5; box-shadow:0 24px 60px rgba(46,54,43,.2); }
.diploma-border { border:3px solid #b79045; padding:7px; background:#f7f1df; }
.diploma-inner { position:relative; overflow:hidden; min-height:690px; border:1px solid #d5b66f; padding:35px 56px 34px; text-align:center; background-color:#fffdf6; background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.92),rgba(255,253,246,.66) 50%,rgba(232,216,172,.26)),repeating-linear-gradient(45deg,rgba(183,144,69,.045) 0,rgba(183,144,69,.045) 1px,transparent 1px,transparent 8px); }
.diploma-inner:before,.diploma-inner:after { position:absolute; right:24px; left:24px; height:1px; content:""; background:linear-gradient(90deg,transparent,#b79045,transparent); }.diploma-inner:before { top:22px; }.diploma-inner:after { bottom:22px; }
.diploma-header { display:flex; position:relative; z-index:2; align-items:center; justify-content:space-between; }.diploma-brand { font-size:20px; }.diploma-brand .brand-mark { width:31px; height:31px; }.diploma-code { color:#9c855a; font-size:10px; font-weight:800; letter-spacing:1px; direction:ltr; }
.diploma-kicker { display:flex; position:relative; z-index:2; align-items:center; justify-content:center; gap:12px; margin-top:16px; color:#9c7430; font-size:14px; font-weight:900; letter-spacing:4px; }.diploma-kicker span { width:52px; height:1px; background:#c6a35e; }
.diploma-inner h1 { position:relative; z-index:2; margin:4px 0 16px; color:var(--green-dark); font-family:Georgia,"Times New Roman",serif; font-size:88px; font-weight:700; letter-spacing:-5px; line-height:1; }
.diploma-lead,.diploma-copy { position:relative; z-index:2; color:#7f806f; font-size:16px; }.diploma-lead { margin-bottom:2px; }.diploma-copy { margin:8px 0 2px; }
.diploma-inner h2 { position:relative; z-index:2; margin:0; color:#202c28; font-family:Georgia,"Times New Roman",serif; font-size:47px; font-weight:700; }.diploma-inner h2:after { display:block; width:190px; height:2px; margin:10px auto 0; content:""; background:linear-gradient(90deg,transparent,#c59a48,transparent); }
.diploma-inner h3 { position:relative; z-index:2; margin:0; color:var(--green); font-size:28px; }
.diploma-watermark { position:absolute; top:50%; left:50%; color:rgba(183,144,69,.065); font-family:Georgia,serif; font-size:360px; font-weight:900; line-height:1; transform:translate(-50%,-50%); }
.diploma-seal { position:relative; z-index:2; display:grid; width:106px; height:106px; margin:15px auto 18px; place-items:center; border:2px solid #b79045; border-radius:50%; padding:6px; box-shadow:0 0 0 4px #fffdf6,0 0 0 6px #d6b56f; }.diploma-seal div { display:grid; width:100%; height:100%; place-items:center; align-content:center; border-radius:50%; color:#fff9e9; background:var(--green-dark); }.diploma-seal strong { color:#e3c779; font-size:28px; line-height:1; }.diploma-seal span { font-size:11px; font-weight:900; line-height:1.15; }
.diploma-signatures { display:grid; position:relative; z-index:2; grid-template-columns:repeat(3,1fr); gap:50px; margin-top:3px; }.diploma-signatures strong,.diploma-signatures small { display:block; }.diploma-signatures strong { min-height:25px; color:#34423e; font-family:Georgia,"Times New Roman",serif; font-size:16px; }.diploma-signatures i { display:block; height:1px; margin:0 auto 5px; background:#bda46e; }.diploma-signatures small { color:#8b8b79; font-size:10px; font-weight:700; }
.diploma-corner { position:absolute; z-index:1; width:90px; height:90px; border-color:#c19b50; opacity:.78; }.corner-tr { top:11px; right:11px; border-top:4px double; border-right:4px double; }.corner-tl { top:11px; left:11px; border-top:4px double; border-left:4px double; }.corner-br { right:11px; bottom:11px; border-right:4px double; border-bottom:4px double; }.corner-bl { bottom:11px; left:11px; border-bottom:4px double; border-left:4px double; }

@media print {
  @page { size: A4 landscape; margin: 0; }
  .no-print { display:none !important; }
  .diploma-page { display:grid; min-height:100vh; place-items:center; padding:0; background:#fff; }
  .diploma-sheet { width:100%; border:0; box-shadow:none; }
  .diploma-inner { min-height:100vh; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
@media (max-width: 760px) {
  .diploma-page { padding:10px; }
  .diploma-sheet { border-width:7px; }
  .diploma-inner { min-height:610px; padding:30px 24px; }
  .diploma-inner h1 { font-size:66px; }
  .diploma-inner h2 { font-size:34px; }
  .diploma-inner h3 { font-size:21px; }
  .diploma-signatures { gap:16px; }
  .diploma-signatures strong { font-size:13px; }
  .diploma-watermark { font-size:240px; }
}
