﻿:root{
  --bg:#f4f8fb;
  --surface:#ffffff;
  --surface-soft:#f8fbff;
  --text:#0b1f36;
  --muted:#5d6d82;
  --line:#d7e4ef;
  --blue:#185cff;
  --blue-dark:#0a3fae;
  --teal:#22c8b5;
  --ink:#081827;
  --accent:#ff6b35;
  --accent-dark:#df5120;
  --gold:#d7a94b;
  --shadow:0 24px 70px rgba(8,24,39,.12);
  --shadow-soft:0 12px 36px rgba(8,24,39,.08);
  --radius:8px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,#fbfdff 0,#f7fbff 42%,#f0fbf9 100%);line-height:1.6;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 12% 8%,rgba(56,214,199,.18),transparent 30%),radial-gradient(circle at 88% 14%,rgba(47,115,255,.12),transparent 32%),linear-gradient(90deg,rgba(47,115,255,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(47,115,255,.03) 1px,transparent 1px);background-size:auto,auto,88px 88px,88px 88px;pointer-events:none}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:calc(var(--max) + 48px);margin:0 auto;padding:16px 24px;background:rgba(255,255,255,.82);backdrop-filter:blur(22px);border-bottom:1px solid rgba(220,234,245,.82)}
.logo{display:flex;align-items:center;gap:12px;min-width:max-content}.logo-mark{display:grid;place-items:center;width:68px;height:68px;color:#fff;font-weight:900;border-radius:50%;background:transparent;box-shadow:none}.logo-svg{flex:0 0 68px;background:#fff;border:1px solid rgba(255,107,53,.22);box-shadow:0 14px 34px rgba(8,24,39,.1)}.logo-svg svg{display:block;width:100%;height:100%}.logo-bg{fill:#fff}.logo-dot-ring circle{fill:var(--accent)}.logo-text{fill:#24415f;font-size:16px;font-weight:900;letter-spacing:0}.logo strong,.logo small{display:block;line-height:1.12}.logo strong{font-size:17px;color:var(--blue-dark)}.logo small{color:var(--muted);font-size:12px}.nav{display:flex;align-items:center;gap:8px;color:#5d7490;font-size:15px;font-weight:700}.nav a{padding:10px 12px;border-radius:var(--radius);transition:color .2s ease,background .2s ease}.nav a:hover{color:var(--blue-dark);background:#edf6ff}.nav-cta{padding:10px 16px!important;color:#fff!important;background:linear-gradient(135deg,var(--blue),var(--teal))!important;box-shadow:0 12px 26px rgba(47,115,255,.2)}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}.menu-toggle span{display:block;width:20px;height:2px;margin:5px auto;background:var(--text)}
.section{max-width:var(--max);margin:0 auto;padding:96px 24px}.hero{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:64px;min-height:calc(100vh - 78px);padding-top:74px}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--blue-dark);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.eyebrow:before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--accent),var(--teal));border-radius:999px}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;max-width:760px;font-size:clamp(34px,4.8vw,58px);line-height:1.04;letter-spacing:0;color:#173a5e}h2{margin:0;font-size:clamp(30px,4.2vw,48px);line-height:1.08;letter-spacing:0;color:#173a5e}h3{margin:12px 0 8px;font-size:19px;line-height:1.22;color:#1f456a}.hero-text,.trust-text p,.contact-info p{color:var(--muted);font-size:19px;max-width:680px}.hero-actions,.quick-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 22px;border:0;border-radius:var(--radius);font:inherit;font-weight:900;cursor:pointer;text-align:center;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(135deg,#ff7b3d,#ff9a62);box-shadow:0 16px 34px rgba(255,123,61,.3)}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-dark),var(--accent));box-shadow:0 18px 38px rgba(255,123,61,.36)}.btn-secondary{color:var(--blue-dark);background:#fff;border:1px solid #cfe4f6;box-shadow:0 10px 24px rgba(47,115,255,.08)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}.hero-stats div{padding:18px;background:rgba(255,255,255,.78);border:1px solid rgba(215,228,239,.9);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{color:var(--accent);font-size:26px;line-height:1}.hero-stats span{margin-top:7px;color:var(--muted);font-size:13px}
.hero-visual{position:relative;min-height:560px}.hero-photo{position:absolute;inset:0 0 auto auto;width:min(520px,100%);height:430px;object-fit:cover;border-radius:var(--radius);box-shadow:0 30px 80px rgba(8,24,39,.18);border:1px solid rgba(255,255,255,.9)}.hero-photo:after{content:"";position:absolute;inset:0}.dashboard-card,.info-card,.feature-card,.review-card,.portfolio-card,.request-form,.trust-list div{background:rgba(255,255,255,.92);border:1px solid rgba(215,228,239,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.main-card{position:absolute;top:292px;right:28px;width:min(380px,78%);padding:24px;background:linear-gradient(180deg,#fff,#f7fbff)}.main-card:before{content:"Личный кабинет ученика";display:inline-flex;margin-bottom:18px;padding:7px 10px;color:var(--blue-dark);font-size:12px;font-weight:900;background:#eef7ff;border:1px solid #d6e9fb;border-radius:999px}.card-topline{display:flex;justify-content:space-between;gap:12px;margin-bottom:22px;font-weight:800}.card-topline strong{color:var(--accent)}.progress-list span{position:relative;display:block;margin:18px 0;padding-bottom:14px;font-weight:800}.progress-list span:before,.progress-list span:after{width:var(--value);background:linear-gradient(90deg,var(--blue),var(--teal))}.progress-list span:before{width:100%;background:#e8eef6}.progress-list span:after{width:var(--value);background:linear-gradient(90deg,var(--blue),var(--teal))}.floating-card{position:absolute;left:0;bottom:28px;width:min(326px,84%);padding:24px}.floating-card p{margin:14px 0 6px;color:var(--muted)}.icon-bubble{display:grid;place-items:center;width:44px;height:44px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));border-radius:50%;font-weight:900}.student-illustration{display:none}.book,.screen,.pencil{position:absolute;border-radius:var(--radius)}.book{left:38px;bottom:34px;width:122px;height:76px;background:#fff;box-shadow:inset 58px 0 0 #d8e7ff,0 18px 34px rgba(8,24,39,.1)}.screen{right:28px;top:36px;width:126px;height:86px;background:linear-gradient(135deg,#081827,#123a76);box-shadow:0 12px 0 #dce7f1}.pencil{left:64px;top:54px;width:22px;height:132px;background:linear-gradient(180deg,#ffb48f,var(--accent));transform:rotate(-28deg)}
.section-head{max-width:790px;margin-bottom:38px}.soft-section{max-width:none;background:linear-gradient(180deg,#edf7fb,#f7fbff)}.soft-section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.grid{display:grid;gap:18px}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}.info-card,.feature-card,.review-card,.portfolio-card{position:relative;padding:26px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.info-card:after,.feature-card:after,.course-card:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--teal),var(--accent));border-radius:var(--radius) var(--radius) 0 0;opacity:.85}.info-card:hover,.feature-card:hover,.review-card:hover,.portfolio-card:hover,.course-card:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(8,24,39,.15);border-color:#c5d8ea}.info-card span,.feature-card b{display:grid;place-items:center;width:38px;height:38px;margin-bottom:12px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal));border-radius:var(--radius)}.feature-card b{display:grid;place-items:center;width:38px;height:38px;margin-bottom:12px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal));border-radius:var(--radius)}.info-card p,.feature-card p,.review-card p,.portfolio-card p,.course-card p,.trust-list span{color:var(--muted)}.advantages{display:flex;flex-wrap:wrap;gap:12px}.advantages span{padding:13px 17px;color:var(--blue-dark);background:#fff;border:1px solid var(--line);border-radius:999px;font-weight:800;box-shadow:0 8px 20px rgba(47,115,255,.06)}.courses-grid{grid-template-columns:repeat(3,1fr)}.course-card{position:relative;display:flex;flex-direction:column;gap:12px;min-height:258px;padding:26px;background:linear-gradient(180deg,#fff,#f9fcff);border:1px solid rgba(215,228,239,.95);border-radius:var(--radius);box-shadow:var(--shadow-soft);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.course-card .course-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}.course-card .btn{width:100%;padding-inline:12px}.trust,.contact-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:start}.trust-list{display:grid;gap:14px}.trust-list div{padding:22px}.trust-list strong,.trust-list span{display:block}.trust-list strong{font-size:18px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.portfolio-photo{width:100%;height:178px;object-fit:cover;margin-bottom:18px;border-radius:var(--radius);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.portfolio-photo+.placeholder{display:none}.placeholder{display:grid;place-items:center;min-height:178px;margin-bottom:18px;color:#fff;font-weight:900;border-radius:var(--radius);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.result{background:linear-gradient(135deg,var(--blue),var(--teal))}.photo{background:linear-gradient(135deg,#5d89ff,#c8d9ff)}.certificate{background:linear-gradient(135deg,#2f73ff,#38d6c7)}.chart{background:linear-gradient(135deg,var(--accent),#ffc2a7)}.contact-list{display:grid;gap:10px;margin:24px 0}.contact-list a,.contact-list span{padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 20px rgba(8,24,39,.05)}.map-placeholder{display:grid;place-items:center;min-height:230px;margin-top:22px;padding:24px;color:var(--muted);text-align:center;background:linear-gradient(135deg,#f7fbff,#e8f4fb);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.request-form{display:grid;gap:14px;padding:30px;background:linear-gradient(180deg,#fff,#f8fbff)}.request-form h2{font-size:32px}.request-form label{display:grid;gap:7px;color:var(--muted);font-weight:800}input,textarea{width:100%;padding:16px;color:var(--text);font:inherit;background:#fff;border:1px solid var(--line);border-radius:var(--radius);outline:0;transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(24,92,255,.12)}.form-note{margin:0;color:var(--muted);font-size:13px}.footer{display:flex;justify-content:space-between;gap:16px;max-width:var(--max);margin:0 auto;padding:30px 24px 46px;color:var(--muted)}.footer a{color:var(--blue);font-weight:900}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media (max-width:1024px){.hero,.trust,.contact-section{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{min-height:560px}.hero-photo{height:410px}.main-card{top:285px;right:20px}.cards-4,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.cards-3,.courses-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.menu-toggle{display:block}.nav{position:absolute;top:76px;right:16px;left:16px;display:none;flex-direction:column;align-items:stretch;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:12px}.nav-cta{text-align:center}}
@media (max-width:640px){body:before{background-size:46px 46px}.site-header{padding:12px 16px}.section{padding:62px 16px}.hero{gap:36px;padding-top:46px}h1{font-size:32px;line-height:1.08}.hero-photo{position:relative;width:100%;height:310px}.hero-visual{min-height:auto;display:grid;gap:14px}.main-card,.floating-card{position:relative;top:auto;right:auto;left:auto;bottom:auto;width:100%}h2{font-size:30px}.hero-text,.trust-text p,.contact-info p{font-size:16px}.hero-actions,.quick-actions{display:grid;grid-template-columns:1fr}.btn{width:100%;min-height:52px}.hero-stats,.cards-3,.cards-4,.courses-grid,.portfolio-grid{grid-template-columns:1fr}.hero-visual{min-height:535px}.main-card{top:0}.floating-card{bottom:120px}.student-illustration{right:0;left:0;bottom:0;width:100%}.course-card .course-actions{grid-template-columns:1fr}.request-form{padding:22px}.footer{display:grid}.eyebrow:before{width:20px}}
@media (max-width:380px){h1{font-size:29px}h2{font-size:27px}.logo-mark{width:56px;height:56px}.logo small{display:none}.hero-visual{min-height:565px}.section{padding-left:14px;padding-right:14px}}

/* Family warm style overrides */
:root{
  --bg:#fffaf5;
  --surface:#ffffff;
  --surface-soft:#fff7ef;
  --text:#24384c;
  --muted:#6f7f8f;
  --line:#f0dfd0;
  --blue:#3f7df6;
  --blue-dark:#2c5dbd;
  --teal:#43cfc1;
  --ink:#263f59;
  --accent:#ff8a4c;
  --accent-dark:#ec6f2f;
  --gold:#ffd27a;
  --shadow:0 22px 58px rgba(74,99,125,.12);
  --shadow-soft:0 12px 28px rgba(74,99,125,.08);
}
body{
  color:var(--text);
  background:
    radial-gradient(circle at 10% 6%,rgba(255,210,122,.26),transparent 26%),
    radial-gradient(circle at 86% 8%,rgba(67,207,193,.18),transparent 28%),
    linear-gradient(180deg,#fffdf9 0,#fff8f1 42%,#f4fbfa 100%);
}
body:before{
  background:
    linear-gradient(90deg,rgba(255,138,76,.035) 1px,transparent 1px),
    linear-gradient(180deg,rgba(63,125,246,.028) 1px,transparent 1px);
  background-size:92px 92px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 75%);
}
.site-header{
  background:rgba(255,253,249,.86);
  border-bottom-color:rgba(240,223,208,.82);
}
.logo strong,
h1,
h2,
h3{
  color:#284865;
}
.logo small,
.nav,
.hero-text,
.trust-text p,
.contact-info p,
.info-card p,
.feature-card p,
.review-card p,
.portfolio-card p,
.course-card p,
.trust-list span{
  color:#6e8193;
}
.logo-svg{
  border-color:rgba(255,138,76,.32);
  box-shadow:0 12px 28px rgba(255,138,76,.14);
}
.logo-dot-ring circle{fill:#ff8a4c}
.logo-text{fill:#24415f;font-size:16px;font-weight:900;letter-spacing:0}
.nav a:hover{
  color:var(--accent-dark);
  background:#fff1e8;
}
.nav-cta{
  background:linear-gradient(135deg,#ff8a4c,#ffb070)!important;
  box-shadow:0 14px 28px rgba(255,138,76,.24);
}
.eyebrow{
  color:#d7652b;
}
.eyebrow:before{
  background:linear-gradient(90deg,#ff8a4c,#43cfc1);
}
.hero{
  gap:58px;
}
.hero-photo{
  border:8px solid #fff;
  box-shadow:0 28px 80px rgba(74,99,125,.16),0 0 0 1px rgba(240,223,208,.8);
}
.dashboard-card,
.info-card,
.feature-card,
.review-card,
.portfolio-card,
.request-form,
.trust-list div,
.course-card{
  border-color:#f0dfd0;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 44px rgba(74,99,125,.1);
}
.main-card,
.request-form,
.course-card{
  background:linear-gradient(180deg,#fff,#fff8f2);
}
.main-card:before{
  color:#c95d2a;
  background:#fff1e8;
  border-color:#ffd7bf;
}
.btn-primary{
  background:linear-gradient(135deg,#ff8a4c,#ffad70);
  box-shadow:0 16px 34px rgba(255,138,76,.3);
}
.btn-primary:hover{
  background:linear-gradient(135deg,#ec6f2f,#ff8a4c);
  box-shadow:0 18px 38px rgba(255,138,76,.36);
}
.btn-secondary{
  color:#2c5dbd;
  background:#ffffff;
  border-color:#d8e8f8;
  box-shadow:0 10px 24px rgba(63,125,246,.08);
}
.hero-stats div,
.contact-list a,
.contact-list span{
  border-color:#f0dfd0;
  background:#fff;
}
.hero-stats strong,
.card-topline strong{
  color:#ff8a4c;
}
.progress-list span:after,
.feature-card b,
.icon-bubble{
  background:linear-gradient(135deg,#3f7df6,#43cfc1);
}
.info-card:after,
.feature-card:after,
.course-card:after{
  background:linear-gradient(90deg,#ff8a4c,#ffd27a,#43cfc1);
}
.soft-section{
  background:linear-gradient(180deg,#fff5ec,#f3fbfa);
}
.advantages span{
  color:#2c5dbd;
  border-color:#f0dfd0;
  background:#fff;
  box-shadow:0 8px 18px rgba(74,99,125,.07);
}
.placeholder.result{background:linear-gradient(135deg,#3f7df6,#43cfc1)}
.placeholder.photo{background:linear-gradient(135deg,#ffb070,#ffe0c8)}
.placeholder.certificate{background:linear-gradient(135deg,#3f7df6,#7ee0d6)}
.placeholder.chart{background:linear-gradient(135deg,#ff8a4c,#ffd27a)}
.map-placeholder{
  background:linear-gradient(135deg,#fff8f2,#edfafa);
  border-color:#f0dfd0;
}
input,
textarea{
  background:#fffdf9;
  border-color:#ead9ca;
}
input:focus,
textarea:focus{
  border-color:#ff8a4c;
  box-shadow:0 0 0 4px rgba(255,138,76,.14);
}
.review-card p:before{
  content:"“";
  color:#ff8a4c;
  font-size:28px;
  line-height:0;
  margin-right:3px;
}
@media (max-width:640px){
  .hero-photo{border-width:6px}
  .site-header{background:rgba(255,253,249,.94)}
}

/* Font and top-photo layout */
body{
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
}
.site-header,
.btn,
input,
textarea{
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
}
.hero{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:34px;
  min-height:auto;
  padding-top:34px;
}
.hero-visual{
  order:1;
  width:100%;
  min-height:520px;
}
.hero-content{
  order:2;
  max-width:920px;
  margin:0 auto;
  text-align:center;
}
.hero-content .eyebrow{
  justify-content:center;
}
.hero-text{
  margin-left:auto;
  margin-right:auto;
}
.hero-actions{
  justify-content:center;
}
.hero-stats{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.hero-photo{
  left:50%;
  right:auto;
  top:0;
  width:min(980px,100%);
  height:430px;
  transform:translateX(-50%);
}
.main-card{
  top:330px;
  right:70px;
}
.floating-card{
  left:70px;
  bottom:12px;
}
.section-head{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.section-head .eyebrow{
  justify-content:center;
}
.trust .section-head,
.contact-section .section-head,
.trust-text,
.contact-info{
  text-align:left;
}
.trust-text .eyebrow,
.contact-info .eyebrow{
  justify-content:flex-start;
}
.info-card,
.feature-card,
.course-card,
.review-card,
.portfolio-card{
  text-align:left;
}
h1{
  margin-left:auto;
  margin-right:auto;
  font-weight:900;
}
h2{
  font-weight:900;
}
p{
  font-weight:500;
}
@media (max-width:1024px){
  .hero-photo{height:390px}
  .main-card{top:300px;right:24px}
  .floating-card{left:24px;bottom:10px}
}
@media (max-width:640px){
  .hero{
    padding-top:24px;
    gap:26px;
  }
  .hero-content{
    text-align:left;
  }
  .hero-content .eyebrow,
  .hero-actions{
    justify-content:flex-start;
  }
  .hero-photo{
    position:relative;
    left:auto;
    transform:none;
    width:100%;
    height:285px;
  }
  .hero-visual{
    order:1;
    min-height:auto;
    display:grid;
    gap:14px;
  }
  .main-card,
  .floating-card{
    position:relative;
    top:auto;
    right:auto;
    left:auto;
    bottom:auto;
    width:100%;
  }
  .hero-content{order:2}
  .hero-stats{grid-template-columns:1fr}
  .section-head{
    text-align:left;
  }
  .section-head .eyebrow{
    justify-content:flex-start;
  }
}

/* Top family cap */
.hero-cap{
  position:relative;
  order:1;
  width:100%;
  min-height:460px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 30px 86px rgba(74,99,125,.18);
  background:#fff;
}
.hero-cap-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-cap-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,250,245,.94) 0%,rgba(255,250,245,.82) 34%,rgba(255,250,245,.38) 66%,rgba(255,250,245,.18) 100%);
}
.hero-cap-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:460px;
  padding:34px;
}
.hero-cap-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.hero-cap-brand{
  display:flex;
  align-items:center;
  gap:18px;
  max-width:620px;
}
.hero-cap-brand .logo-svg{
  width:82px;
  height:82px;
  flex-basis:82px;
  background:#fff;
}
.hero-cap-brand p{
  margin:0 0 4px;
  color:#496981;
  font-size:18px;
  font-weight:800;
}
.hero-cap-brand strong{
  display:block;
  color:#284865;
  font-size:52px;
  line-height:1;
  font-weight:900;
}
.work-time{
  min-width:190px;
  padding:14px 16px;
  text-align:right;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(240,223,208,.95);
  border-radius:12px;
  box-shadow:0 12px 28px rgba(74,99,125,.09);
}
.work-time span,
.work-time strong{
  display:block;
}
.work-time span{
  color:#7b8b9a;
  font-size:13px;
  font-weight:800;
}
.work-time strong{
  color:#284865;
  font-size:16px;
  font-weight:900;
}
.hero-cap-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  max-width:560px;
}
.hero .hero-content{
  order:2;
}
.hero .hero-visual{
  order:3;
}
.hero-visual .hero-photo{
  display:none;
}
@media (max-width:820px){
  .hero-cap{
    min-height:520px;
    border-radius:14px;
  }
  .hero-cap-shade{
    background:linear-gradient(180deg,rgba(255,250,245,.94) 0%,rgba(255,250,245,.78) 48%,rgba(255,250,245,.32) 100%);
  }
  .hero-cap-content{
    min-height:520px;
    padding:24px;
  }
  .hero-cap-top{
    display:grid;
  }
  .hero-cap-brand{
    align-items:flex-start;
  }
  .hero-cap-brand .logo-svg{
    width:68px;
    height:68px;
    flex-basis:68px;
  }
  .hero-cap-brand p{
    font-size:15px;
  }
  .hero-cap-brand strong{
    font-size:38px;
  }
  .work-time{
    width:max-content;
    max-width:100%;
    text-align:left;
  }
}
@media (max-width:640px){
  .hero-cap{
    min-height:560px;
  }
  .hero-cap-content{
    min-height:560px;
    padding:18px;
  }
  .hero-cap-brand{
    gap:12px;
  }
  .hero-cap-brand .logo-svg{
    width:60px;
    height:60px;
    flex-basis:60px;
  }
  .hero-cap-brand strong{
    font-size:32px;
  }
  .hero-cap-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

.logo-text-straight{fill:#24415f;font-size:26px;font-weight:900;letter-spacing:0;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
.hero-cap-brand .logo-text-straight{font-size:26px}

/* Logo readability and overflow fix */
.logo{
  min-width:0;
  max-width:100%;
}
.logo > span:last-child{
  min-width:0;
}
.logo strong,
.logo small{
  overflow-wrap:normal;
}
.logo-svg{
  flex-shrink:0;
}
.logo-text-straight{fill:#24415f;font-size:26px;font-weight:900;letter-spacing:0;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
@media (max-width:640px){
  .logo strong{font-size:14px}
  .logo small{font-size:11px}
  .logo-mark{width:54px;height:54px}
  .logo-svg{flex-basis:54px}
  .logo-text-straight{fill:#24415f;font-size:26px;font-weight:900;letter-spacing:0;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
}
@media (max-width:380px){
  .site-header{gap:10px}
  .logo{gap:9px}
  .logo strong{font-size:13px}
  .logo-mark{width:50px;height:50px}
  .logo-svg{flex-basis:50px}
  .logo-text-straight{fill:#24415f;font-size:26px;font-weight:900;letter-spacing:0;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
}

/* Single logo and readable logo text */
.logo-text-only{
  padding:8px 0;
}
.logo-text-only strong{
  font-size:18px;
}
.logo-text-only small{
  font-size:12px;
}
.logo-text-straight{fill:#24415f;font-size:26px;font-weight:900;letter-spacing:0;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
.hero-cap-brand .logo-svg{
  width:92px;
  height:92px;
  flex-basis:92px;
}
.hero-cap-brand .logo-text-straight{font-size:26px}
@media (max-width:820px){
  .hero-cap-brand .logo-svg{
    width:76px;
    height:76px;
    flex-basis:76px;
  }
  .hero-cap-brand .logo-text-straight{font-size:26px}
}
@media (max-width:640px){
  .site-header .logo small{
    display:block;
  }
  .logo-text-only strong{
    font-size:15px;
  }
  .logo-text-only small{
    font-size:11px;
  }
  .hero-cap-brand .logo-svg{
    width:72px;
    height:72px;
    flex-basis:72px;
  }
}
@media (max-width:380px){
  .site-header .logo small{
    display:none;
  }
}

/* Tastier warm premium palette */
:root{
  --bg:#fff9f2;
  --surface:#ffffff;
  --surface-soft:#fff4e9;
  --text:#273f55;
  --muted:#6e8090;
  --line:#efdcca;
  --blue:#4b83f7;
  --blue-dark:#2f63be;
  --teal:#4ed5c7;
  --ink:#273f55;
  --accent:#ff8f4f;
  --accent-dark:#e96f2d;
  --gold:#ffd37b;
  --rose:#ffe8dc;
  --mint:#e9fbf7;
  --sky:#edf5ff;
  --shadow:0 22px 58px rgba(77,103,129,.13);
  --shadow-soft:0 12px 28px rgba(77,103,129,.08);
}
body{
  color:var(--text);
  background:
    radial-gradient(circle at 9% 7%,rgba(255,211,123,.34),transparent 25%),
    radial-gradient(circle at 88% 10%,rgba(78,213,199,.22),transparent 28%),
    radial-gradient(circle at 62% 0%,rgba(75,131,247,.13),transparent 26%),
    linear-gradient(180deg,#fffdf9 0,#fff7ee 45%,#f1fbf8 100%);
}
body:before{
  background:
    linear-gradient(90deg,rgba(255,143,79,.04) 1px,transparent 1px),
    linear-gradient(180deg,rgba(75,131,247,.03) 1px,transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent 76%);
}
.site-header{
  background:rgba(255,252,247,.88);
  border-bottom-color:rgba(239,220,202,.86);
}
h1,h2,h3,.logo strong{
  color:#294a64;
}
.hero-text,.trust-text p,.contact-info p,.info-card p,.feature-card p,.review-card p,.course-card p,.trust-list span,.logo small{
  color:#6d8294;
}
.eyebrow{
  color:#d96f35;
}
.eyebrow:before{
  background:linear-gradient(90deg,#ff8f4f,#ffd37b,#4ed5c7);
}
.logo-svg{
  background:#fffaf6;
  border-color:rgba(255,143,79,.34);
  box-shadow:0 16px 32px rgba(255,143,79,.16);
}
.logo-dot-ring circle{fill:#ff8f4f}
.logo-bg{fill:#fffefb}
.logo-text-straight{fill:#294a64}
.nav a:hover{
  color:#d96f35;
  background:#fff0e5;
}
.nav-cta{
  background:linear-gradient(135deg,#ff8f4f,#ffb06f)!important;
  box-shadow:0 14px 30px rgba(255,143,79,.28);
}
.hero-cap{
  box-shadow:0 34px 92px rgba(77,103,129,.19);
  border-color:rgba(255,255,255,.96);
}
.hero-cap-shade{
  background:linear-gradient(90deg,rgba(255,250,245,.95) 0%,rgba(255,244,233,.84) 36%,rgba(255,244,233,.42) 68%,rgba(255,244,233,.16) 100%);
}
.hero-cap-brand p{
  color:#60798d;
}
.hero-cap-brand strong{
  color:#294a64;
}
.work-time{
  background:rgba(255,255,255,.86);
  border-color:#f1dcc8;
}
.work-time span{color:#8a998f}
.work-time strong{color:#294a64}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,#ff8f4f,#ffb06f);
  box-shadow:0 16px 36px rgba(255,143,79,.32);
}
.btn-primary:hover{
  background:linear-gradient(135deg,#e96f2d,#ff8f4f);
  box-shadow:0 18px 42px rgba(255,143,79,.38);
}
.btn-secondary{
  color:#2f63be;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  border-color:#d6e7fa;
  box-shadow:0 10px 24px rgba(75,131,247,.09);
}
.dashboard-card,.info-card,.feature-card,.review-card,.request-form,.trust-list div,.course-card{
  border-color:#f0decc;
  background:linear-gradient(180deg,#fff,#fffaf5);
  box-shadow:0 18px 46px rgba(77,103,129,.11);
}
.info-card:hover,.feature-card:hover,.review-card:hover,.course-card:hover{
  border-color:#f4caaa;
  box-shadow:0 26px 66px rgba(77,103,129,.15);
}
.main-card:before{
  color:#c96531;
  background:#fff0e5;
  border-color:#ffd8bf;
}
.hero-stats div,.contact-list a,.contact-list span{
  background:#fffefb;
  border-color:#f0decc;
}
.hero-stats strong,.card-topline strong{
  color:#ff8f4f;
}
.progress-list span:after,.feature-card b,.icon-bubble{
  background:linear-gradient(135deg,#4b83f7,#4ed5c7);
}
.info-card:after,.feature-card:after,.course-card:after{
  background:linear-gradient(90deg,#ff8f4f,#ffd37b,#4ed5c7);
}
.soft-section{
  background:linear-gradient(180deg,#fff2e8 0,#fffaf5 48%,#eefbf8 100%);
}
.advantages span{
  color:#2f63be;
  background:linear-gradient(180deg,#fff,#fffaf5);
  border-color:#f0decc;
}
.review-card{
  background:linear-gradient(180deg,#fff,#fff8f1);
}
.review-card p:before{
  color:#ff8f4f;
}
.contact-list a:hover{
  color:#d96f35;
  border-color:#ffc9a8;
}
.map-placeholder{
  background:linear-gradient(135deg,#fff7ef,#eafbf7);
  border-color:#f0decc;
}
input,textarea{
  background:#fffefb;
  border-color:#ecd8c6;
}
input:focus,textarea:focus{
  border-color:#ff8f4f;
  box-shadow:0 0 0 4px rgba(255,143,79,.15);
}
.footer{
  color:#718597;
}
.footer a{
  color:#d96f35;
}

/* Obvious cozy color refresh */
:root{
  --bg:#fff3e7;
  --surface:#ffffff;
  --text:#26435f;
  --muted:#63798d;
  --line:#f1d3bd;
  --blue:#3578f6;
  --blue-dark:#2557b8;
  --teal:#3ecbbb;
  --ink:#26435f;
  --accent:#ff7a3d;
  --accent-dark:#dc5b22;
  --gold:#ffcf65;
  --shadow:0 24px 60px rgba(114,82,58,.16);
  --shadow-soft:0 12px 30px rgba(114,82,58,.1);
}
body{
  background:
    radial-gradient(circle at 8% 8%,rgba(255,207,101,.48),transparent 26%),
    radial-gradient(circle at 88% 9%,rgba(62,203,187,.28),transparent 29%),
    linear-gradient(180deg,#fff8ef 0,#ffefe1 42%,#edf9f6 100%);
}
.site-header{
  background:rgba(255,248,239,.94);
  border-bottom:1px solid #efcfb7;
}
.hero-cap{
  background:#fff2e7;
  border:8px solid #fff;
}
.hero-cap-shade{
  background:linear-gradient(90deg,rgba(255,245,235,.98) 0%,rgba(255,238,223,.88) 42%,rgba(255,238,223,.4) 72%,rgba(255,238,223,.12) 100%);
}
.hero-cap-brand strong,
h1,
h2{
  color:#21486a;
}
.hero-cap-brand p,
.hero-text,
.info-card p,
.feature-card p,
.review-card p,
.course-card p,
.trust-list span{
  color:#657d90;
}
.logo-svg{
  background:#fffdf8;
  border:2px solid #ffc59f;
  box-shadow:0 14px 32px rgba(255,122,61,.2);
}
.logo-dot-ring circle{fill:#ff7a3d}
.logo-text-straight{fill:#21486a}
.btn-primary,
.nav-cta{
  background:linear-gradient(135deg,#ff6f35,#ffad55)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(255,111,53,.34)!important;
}
.btn-secondary{
  background:#f0fbff;
  color:#2557b8;
  border:1px solid #bfe2f4;
}
.soft-section{
  background:linear-gradient(180deg,#ffe8d6 0%,#fff6ed 52%,#e9faf6 100%);
}
.dashboard-card,
.info-card,
.feature-card,
.review-card,
.request-form,
.trust-list div,
.course-card{
  background:#fffdf9;
  border-color:#efcfb7;
  box-shadow:0 18px 48px rgba(114,82,58,.13);
}
.info-card:nth-child(3n+1),
.feature-card:nth-child(4n+1),
.course-card:nth-child(3n+1){
  background:linear-gradient(180deg,#fffdf9,#fff0e6);
}
.info-card:nth-child(3n+2),
.feature-card:nth-child(4n+2),
.course-card:nth-child(3n+2){
  background:linear-gradient(180deg,#fffdf9,#eef9ff);
}
.info-card:nth-child(3n),
.feature-card:nth-child(4n+3),
.course-card:nth-child(3n){
  background:linear-gradient(180deg,#fffdf9,#ecfbf7);
}
.info-card:after,
.feature-card:after,
.course-card:after{
  height:5px;
  background:linear-gradient(90deg,#ff6f35,#ffcf65,#3ecbbb,#3578f6);
}
.feature-card b,
.icon-bubble,
.progress-list span:after{
  background:linear-gradient(135deg,#3578f6,#3ecbbb);
}
.hero-stats div{
  background:#fffdf9;
  border-color:#efcfb7;
}
.hero-stats strong,
.card-topline strong{
  color:#ff6f35;
}
.advantages span{
  background:#fffdf9;
  border-color:#efcfb7;
  color:#2557b8;
}
.review-card{
  border-left:5px solid #ff8a4c;
}
.contact-list a,
.contact-list span,
.map-placeholder{
  background:#fffdf9;
  border-color:#efcfb7;
}
input,textarea{
  background:#fffdf9;
  border-color:#eecab0;
}
input:focus,textarea:focus{
  border-color:#ff6f35;
  box-shadow:0 0 0 4px rgba(255,111,53,.18);
}

/* Strong visible review and section color pass */
#reviews{
  position:relative;
  max-width:none;
  padding-left:max(24px,calc((100vw - var(--max))/2 + 24px));
  padding-right:max(24px,calc((100vw - var(--max))/2 + 24px));
  background:
    radial-gradient(circle at 12% 12%,rgba(255,207,101,.34),transparent 28%),
    radial-gradient(circle at 90% 18%,rgba(62,203,187,.26),transparent 30%),
    linear-gradient(135deg,#fff0df 0%,#fff9f2 48%,#eafaf7 100%);
}
#reviews .section-head{
  max-width:var(--max);
}
#reviews .cards-3{
  max-width:var(--max);
  margin:0 auto;
}
.review-card{
  position:relative;
  overflow:hidden;
  border:0;
  border-left:0;
  background:#fffdf8;
  box-shadow:0 22px 52px rgba(127,82,48,.16);
}
.review-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,#ff6f35,#ffcf65,#3ecbbb,#3578f6);
}
.review-card:nth-child(1){background:linear-gradient(180deg,#fff,#fff0e3)}
.review-card:nth-child(2){background:linear-gradient(180deg,#fff,#edfaff)}
.review-card:nth-child(3){background:linear-gradient(180deg,#fff,#ecfbf7)}
.review-card:nth-child(4){background:linear-gradient(180deg,#fff,#fff7df)}
.review-card:nth-child(5){background:linear-gradient(180deg,#fff,#f0f5ff)}
.review-card strong{
  color:#21486a;
}
#courses{
  background:
    radial-gradient(circle at 8% 10%,rgba(255,111,53,.16),transparent 24%),
    radial-gradient(circle at 88% 20%,rgba(53,120,246,.16),transparent 26%),
    linear-gradient(180deg,#fff2e6,#f0fbf8);
}
.course-card{
  border:0;
}
#benefits{
  background:linear-gradient(180deg,#e9faf7,#fff2e6);
}
.hero-cap-actions .btn,
.hero-actions .btn,
.quick-actions .btn{
  border-radius:14px;
}
.btn-primary{
  background:linear-gradient(135deg,#ff5f2e,#ff9d4f)!important;
}
@media (max-width:640px){
  #reviews{
    padding-left:16px;
    padding-right:16px;
  }
}

/* Replace blue accents with green */
:root{
  --blue:#37b878;
  --blue-dark:#23875a;
  --teal:#42d2a8;
  --ink:#264b3a;
}
h1,h2,h3,.logo strong,.hero-cap-brand strong,.work-time strong{
  color:#27513f;
}
.logo-text-straight{
  fill:#27513f;
}
.nav a:hover{
  color:#23875a;
  background:#e9fbf1;
}
.btn-secondary{
  color:#23875a;
  background:linear-gradient(180deg,#ffffff,#effcf5);
  border-color:#bfead2;
  box-shadow:0 10px 24px rgba(55,184,120,.1);
}
.feature-card b,
.icon-bubble,
.progress-list span:after{
  background:linear-gradient(135deg,#37b878,#42d2a8);
}
.info-card:after,
.feature-card:after,
.course-card:after{
  background:linear-gradient(90deg,#ff6f35,#ffcf65,#42d2a8,#37b878);
}
.advantages span,
.footer a{
  color:#23875a;
}
.soft-section{
  background:linear-gradient(180deg,#ffe8d6 0%,#fff6ed 52%,#e7fbef 100%);
}
#courses{
  background:
    radial-gradient(circle at 8% 10%,rgba(255,111,53,.16),transparent 24%),
    radial-gradient(circle at 88% 20%,rgba(55,184,120,.18),transparent 26%),
    linear-gradient(180deg,#fff2e6,#eafbf1);
}
#benefits{
  background:linear-gradient(180deg,#e7fbef,#fff2e6);
}
#reviews{
  background:
    radial-gradient(circle at 12% 12%,rgba(255,207,101,.34),transparent 28%),
    radial-gradient(circle at 90% 18%,rgba(66,210,168,.28),transparent 30%),
    linear-gradient(135deg,#fff0df 0%,#fff9f2 48%,#e7fbef 100%);
}
.review-card:nth-child(2){background:linear-gradient(180deg,#fff,#eafbf1)}
.review-card:nth-child(3){background:linear-gradient(180deg,#fff,#e6fbf0)}
.review-card:nth-child(5){background:linear-gradient(180deg,#fff,#ecfbef)}
.course-card:nth-child(3n+2),
.info-card:nth-child(3n+2),
.feature-card:nth-child(4n+2){
  background:linear-gradient(180deg,#fffdf9,#eafbf1);
}
.certificate,
.placeholder.certificate{
  background:linear-gradient(135deg,#37b878,#42d2a8)!important;
}

/* Keep logo original colors */
.logo-svg{
  background:#fffdf8;
  border-color:#ffc59f;
}
.logo-dot-ring circle{
  fill:#ff8f4f;
}
.logo-text-straight{
  fill:#24415f;
}
/* Green concept palette */
:root{
  --bg:#f4fbf4;
  --surface:#ffffff;
  --text:#203b31;
  --muted:#63786d;
  --line:#d6e8d8;
  --blue:#2f9f6b;
  --blue-dark:#1f7650;
  --teal:#78d8b2;
  --ink:#203b31;
  --accent:#2f9f6b;
  --accent-dark:#23794f;
  --gold:#d7f2a3;
  --shadow:0 24px 60px rgba(33,82,58,.13);
  --shadow-soft:0 12px 30px rgba(33,82,58,.08);
}
body{
  color:var(--text);
  background:
    radial-gradient(circle at 10% 8%,rgba(215,242,163,.46),transparent 27%),
    radial-gradient(circle at 88% 10%,rgba(120,216,178,.32),transparent 30%),
    linear-gradient(180deg,#fbfff9 0%,#eef9ef 48%,#e8f7ee 100%);
}
body:before{
  background:
    linear-gradient(90deg,rgba(47,159,107,.045) 1px,transparent 1px),
    linear-gradient(180deg,rgba(47,159,107,.035) 1px,transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 76%);
}
.site-header{
  background:rgba(251,255,249,.92);
  border-bottom-color:#d8ead9;
}
h1,h2,h3,.logo strong,.hero-cap-brand strong,.work-time strong{
  color:#1f4637;
}
.logo small,.hero-cap-brand p,.hero-text,.trust-text p,.contact-info p,.info-card p,.feature-card p,.review-card p,.course-card p,.trust-list span{
  color:#64796e;
}
.hero-cap{
  background:#f5fbf4;
  border-color:#ffffff;
  box-shadow:0 32px 88px rgba(33,82,58,.16);
}
.hero-cap-shade{
  background:linear-gradient(90deg,rgba(248,255,246,.96) 0%,rgba(238,249,239,.86) 42%,rgba(238,249,239,.42) 72%,rgba(238,249,239,.12) 100%);
}
.nav a:hover{
  color:#1f7650;
  background:#e7f7ec;
}
.nav-cta,
.btn-primary{
  background:linear-gradient(135deg,#2f9f6b,#78d8b2)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(47,159,107,.27)!important;
}
.btn-primary:hover{
  background:linear-gradient(135deg,#23794f,#2f9f6b)!important;
}
.btn-secondary{
  color:#1f7650;
  background:linear-gradient(180deg,#ffffff,#edf9f0);
  border-color:#bee4c8;
  box-shadow:0 10px 24px rgba(47,159,107,.09);
}
.dashboard-card,.info-card,.feature-card,.review-card,.request-form,.trust-list div,.course-card{
  background:linear-gradient(180deg,#fff,#f7fcf6);
  border-color:#d6e8d8;
  box-shadow:0 18px 46px rgba(33,82,58,.11);
}
.info-card:nth-child(3n+1),.feature-card:nth-child(4n+1),.course-card:nth-child(3n+1){background:linear-gradient(180deg,#fff,#f0faef)}
.info-card:nth-child(3n+2),.feature-card:nth-child(4n+2),.course-card:nth-child(3n+2){background:linear-gradient(180deg,#fff,#edf9f4)}
.info-card:nth-child(3n),.feature-card:nth-child(4n+3),.course-card:nth-child(3n){background:linear-gradient(180deg,#fff,#f5fbec)}
.soft-section,#benefits{
  background:linear-gradient(180deg,#e8f7ee 0%,#f8fff5 52%,#eef9ef 100%);
}
#courses{
  background:
    radial-gradient(circle at 8% 10%,rgba(215,242,163,.38),transparent 25%),
    radial-gradient(circle at 88% 20%,rgba(120,216,178,.32),transparent 28%),
    linear-gradient(180deg,#f5fbec,#e8f7ee);
}
#reviews{
  background:
    radial-gradient(circle at 12% 12%,rgba(215,242,163,.42),transparent 28%),
    radial-gradient(circle at 90% 18%,rgba(120,216,178,.32),transparent 30%),
    linear-gradient(135deg,#eef9ef 0%,#fbfff9 48%,#e8f7ee 100%);
}
.review-card:nth-child(1),.review-card:nth-child(4){background:linear-gradient(180deg,#fff,#f5fbec)}
.review-card:nth-child(2),.review-card:nth-child(5){background:linear-gradient(180deg,#fff,#edf9f4)}
.review-card:nth-child(3){background:linear-gradient(180deg,#fff,#eaf8ed)}
.review-card:before,.info-card:after,.feature-card:after,.course-card:after{
  background:linear-gradient(90deg,#2f9f6b,#78d8b2,#d7f2a3);
}
.feature-card b,.icon-bubble,.progress-list span:after{
  background:linear-gradient(135deg,#2f9f6b,#78d8b2);
}
.hero-stats strong,.card-topline strong,.eyebrow,.footer a{
  color:#2f9f6b;
}
.eyebrow:before{
  background:linear-gradient(90deg,#2f9f6b,#78d8b2,#d7f2a3);
}
.advantages span,.contact-list a,.contact-list span,.map-placeholder{
  background:#fbfff9;
  border-color:#d6e8d8;
  color:#1f7650;
}
input,textarea{
  background:#fbfff9;
  border-color:#cfe3d2;
}
input:focus,textarea:focus{
  border-color:#2f9f6b;
  box-shadow:0 0 0 4px rgba(47,159,107,.15);
}
/* logo keeps its own colors */
.logo-svg{background:#fffdf8;border-color:#ffc59f}
.logo-dot-ring circle{fill:#ff8f4f}
.logo-text-straight{fill:#24415f}
/* Hero photo crop correction */
.hero-cap-photo{
  object-position:18% center;
}
@media (max-width:820px){
  .hero-cap-photo{
    object-position:12% center;
  }
}
@media (max-width:640px){
  .hero-cap-photo{
    object-position:8% center;
  }
}
/* Final large text pass */
.hero-stats strong{
  font-size:34px !important;
  line-height:1 !important;
}
.hero-stats span{
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}
.info-card span{
  font-size:18px !important;
  font-weight:900 !important;
}
.info-card h3,
.feature-card h3{
  font-size:22px !important;
  line-height:1.2 !important;
}
.info-card p,
.feature-card p{
  font-size:18px !important;
  line-height:1.5 !important;
}
.feature-card b{
  width:44px !important;
  height:44px !important;
  font-size:22px !important;
}
#audience .section-head .eyebrow,
#benefits .section-head .eyebrow{
  font-size:14px !important;
}
#audience .section-head h2,
#benefits .section-head h2{
  font-size:clamp(30px,4vw,44px) !important;
  line-height:1.1 !important;
}
@media (max-width:640px){
  .hero-stats strong{
    font-size:30px !important;
  }
  .hero-stats span{
    font-size:16px !important;
  }
  .info-card h3,
  .feature-card h3{
    font-size:21px !important;
  }
  .info-card p,
  .feature-card p{
    font-size:17px !important;
  }
  #audience .section-head h2,
  #benefits .section-head h2{
    font-size:30px !important;
  }
}
/* Collapsible reviews */
.review-card.collapsed p{
  display:-webkit-box;
  -webkit-line-clamp:7;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.review-card.expanded p{
  display:block;
}
.review-toggle{
  width:100%;
  min-height:42px;
  margin-top:14px;
  border:1px solid #bee4c8;
  border-radius:12px;
  color:#1f7650;
  background:#edf9f0;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.review-toggle:hover{
  background:#e0f4e7;
  transform:translateY(-1px);
}
/* Logo blue and headline color refinement */
.logo-text-straight{
  fill:#1f5fbf !important;
}
h1,
h2,
.hero-cap-brand strong{
  color:#234b3b !important;
}
h3,
.logo strong,
.work-time strong{
  color:#2b5a46 !important;
}
.hero-cap-brand p,
.eyebrow{
  color:#2f8a61 !important;
}
/* Richer premium finish */
.logo-text-straight{
  fill:#1b55ab !important;
}
body{
  background:
    radial-gradient(circle at 9% 8%,rgba(221,246,177,.55),transparent 26%),
    radial-gradient(circle at 88% 9%,rgba(117,214,176,.36),transparent 30%),
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.9),transparent 24%),
    linear-gradient(180deg,#fcfff9 0%,#edf8ee 48%,#e5f4ea 100%) !important;
}
.site-header{
  background:rgba(252,255,249,.9) !important;
  box-shadow:0 10px 34px rgba(36,82,57,.08);
}
.hero-cap{
  border:10px solid rgba(255,255,255,.96) !important;
  box-shadow:0 38px 100px rgba(33,82,58,.2),0 0 0 1px rgba(196,224,199,.75) !important;
}
.hero-cap-content{
  padding:42px !important;
}
.hero-cap-brand .logo-svg{
  box-shadow:0 18px 38px rgba(255,143,79,.2),0 0 0 8px rgba(255,255,255,.5);
}
.btn-primary,
.nav-cta{
  background:linear-gradient(135deg,#267e54,#72cf9f)!important;
  box-shadow:0 18px 42px rgba(38,126,84,.32)!important;
}
.btn-secondary{
  background:linear-gradient(180deg,#ffffff,#f3fbf5)!important;
  border-color:#b6dfc1!important;
  box-shadow:0 12px 28px rgba(38,126,84,.11)!important;
}
.dashboard-card,
.info-card,
.feature-card,
.review-card,
.request-form,
.trust-list div,
.course-card,
.hero-stats div,
.contact-list a,
.contact-list span{
  border:1px solid rgba(202,226,205,.95) !important;
  box-shadow:0 22px 54px rgba(33,82,58,.13), inset 0 1px 0 rgba(255,255,255,.85) !important;
}
.info-card,
.feature-card,
.course-card,
.review-card{
  border-radius:14px !important;
}
.info-card:hover,
.feature-card:hover,
.review-card:hover,
.course-card:hover{
  box-shadow:0 30px 74px rgba(33,82,58,.18), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.section-head h2{
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.info-card:after,
.feature-card:after,
.course-card:after,
.review-card:before{
  background:linear-gradient(90deg,#267e54,#72cf9f,#d9f4a8) !important;
}
.feature-card b,
.icon-bubble,
.progress-list span:after{
  background:linear-gradient(135deg,#267e54,#72cf9f) !important;
}
.work-time{
  box-shadow:0 16px 34px rgba(33,82,58,.13), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.map-placeholder{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 18px 42px rgba(33,82,58,.09);
}
/* Deeper luxury shadows */
.logo-text-straight{
  fill:#16448a !important;
}
.hero-cap{
  box-shadow:
    0 48px 120px rgba(31,70,49,.25),
    0 18px 42px rgba(31,70,49,.14),
    0 0 0 1px rgba(185,216,190,.75) !important;
}
.hero-cap:after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:10px;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), inset 0 -90px 120px rgba(22,68,138,.08);
}
.site-header{
  box-shadow:0 14px 38px rgba(31,70,49,.11),0 1px 0 rgba(255,255,255,.8) inset !important;
}
.logo-svg{
  box-shadow:
    0 18px 40px rgba(255,143,79,.22),
    0 7px 18px rgba(31,70,49,.1),
    0 0 0 7px rgba(255,255,255,.55) !important;
}
.dashboard-card,
.info-card,
.feature-card,
.review-card,
.request-form,
.trust-list div,
.course-card,
.hero-stats div,
.contact-list a,
.contact-list span{
  box-shadow:
    0 28px 70px rgba(31,70,49,.16),
    0 10px 24px rgba(31,70,49,.08),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.info-card:hover,
.feature-card:hover,
.review-card:hover,
.course-card:hover{
  transform:translateY(-7px);
  box-shadow:
    0 38px 90px rgba(31,70,49,.22),
    0 14px 30px rgba(31,70,49,.1),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.btn-primary,
.nav-cta{
  box-shadow:
    0 18px 42px rgba(38,126,84,.34),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
}
.btn-secondary,
.review-toggle{
  box-shadow:
    0 14px 30px rgba(31,70,49,.12),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.work-time{
  box-shadow:
    0 22px 48px rgba(31,70,49,.17),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.hero-cap-brand strong,
h1,
h2{
  text-shadow:0 1px 0 rgba(255,255,255,.82),0 14px 34px rgba(31,70,49,.09);
}
.section{
  position:relative;
}
.soft-section{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(199,224,202,.5);
}
input,
textarea{
  box-shadow:inset 0 2px 8px rgba(31,70,49,.04),0 1px 0 rgba(255,255,255,.8) !important;
}
input:focus,
textarea:focus{
  box-shadow:0 0 0 4px rgba(47,159,107,.16),0 12px 28px rgba(31,70,49,.1) !important;
}
/* Mobile hero polish */
@media (max-width:640px){
  .hero{
    padding-top:18px !important;
  }
  .hero-cap{
    min-height:auto !important;
    border-width:5px !important;
    border-radius:16px !important;
    overflow:hidden;
  }
  .hero-cap-photo{
    position:relative !important;
    display:block;
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3;
    object-fit:cover !important;
    object-position:38% center !important;
  }
  .hero-cap-shade{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(246,255,242,.9) 0%,rgba(246,255,242,.54) 36%,rgba(246,255,242,.12) 68%,rgba(246,255,242,.88) 100%) !important;
  }
  .hero-cap-content{
    position:absolute !important;
    inset:0;
    min-height:auto !important;
    padding:14px !important;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:12px;
  }
  .hero-cap-top{
    gap:10px !important;
  }
  .hero-cap-brand{
    gap:10px !important;
    max-width:100%;
  }
  .hero-cap-brand .logo-svg{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
    box-shadow:0 10px 22px rgba(31,70,49,.12),0 0 0 4px rgba(255,255,255,.55) !important;
  }
  .hero-cap-brand p{
    font-size:12px !important;
    line-height:1.15 !important;
    margin:0 0 3px !important;
    max-width:210px;
  }
  .hero-cap-brand strong{
    font-size:23px !important;
    line-height:1.02 !important;
    max-width:230px;
    display:block;
  }
  .work-time{
    width:auto !important;
    max-width:190px;
    min-width:0 !important;
    padding:9px 11px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.86) !important;
  }
  .work-time span{
    font-size:11px !important;
  }
  .work-time strong{
    font-size:13px !important;
  }
  .hero-cap-actions{
    display:flex !important;
    flex-wrap:wrap;
    gap:8px !important;
    max-width:none !important;
  }
  .hero-cap-actions .btn{
    width:auto !important;
    flex:1 1 0;
    min-width:0;
    min-height:42px !important;
    padding:10px 11px !important;
    font-size:14px !important;
    border-radius:12px !important;
  }
  .hero-cap-actions .btn:first-child{
    flex-basis:100%;
  }
  .hero-content{
    margin-top:4px !important;
  }
}
@media (max-width:380px){
  .hero-cap-brand strong{
    font-size:21px !important;
  }
  .hero-cap-brand p{
    font-size:11px !important;
    max-width:190px;
  }
  .hero-cap-actions .btn{
    font-size:13px !important;
    padding:9px 8px !important;
  }
}
/* Mobile premium final layout */
@media (max-width:640px){
  body{
    background:linear-gradient(180deg,#fbfff8 0%,#edf8ee 48%,#e7f4ea 100%) !important;
  }
  .site-header{
    padding:10px 14px !important;
  }
  .site-header .logo strong{
    font-size:15px !important;
    line-height:1.05 !important;
  }
  .site-header .logo small{
    font-size:11px !important;
    line-height:1.15 !important;
  }
  .hero{
    padding-top:14px !important;
    gap:24px !important;
  }
  .hero-cap{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    border:6px solid #fff !important;
    border-radius:18px !important;
    background:#fff !important;
    overflow:hidden !important;
    box-shadow:0 22px 58px rgba(31,70,49,.18),0 0 0 1px rgba(185,216,190,.72) !important;
  }
  .hero-cap:after{
    display:none !important;
  }
  .hero-cap-photo{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .hero-cap-shade{
    display:none !important;
  }
  .hero-cap-content{
    position:relative !important;
    inset:auto !important;
    min-height:0 !important;
    padding:16px !important;
    display:grid !important;
    gap:14px !important;
    background:linear-gradient(180deg,#ffffff 0%,#f4fbf2 100%) !important;
  }
  .hero-cap-top{
    display:grid !important;
    gap:12px !important;
  }
  .hero-cap-brand{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
  }
  .hero-cap-brand .logo-svg{
    width:64px !important;
    height:64px !important;
    flex:0 0 64px !important;
    box-shadow:0 10px 24px rgba(31,70,49,.12),0 0 0 5px rgba(255,255,255,.72) !important;
  }
  .hero-cap-brand p{
    max-width:none !important;
    margin:0 0 3px !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
  }
  .hero-cap-brand strong{
    max-width:none !important;
    font-size:25px !important;
    line-height:1.05 !important;
    letter-spacing:0 !important;
  }
  .work-time{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    padding:10px 12px !important;
    text-align:left !important;
    border-radius:12px !important;
    background:#fff !important;
  }
  .work-time span{
    font-size:11px !important;
  }
  .work-time strong{
    font-size:15px !important;
  }
  .hero-cap-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    max-width:none !important;
  }
  .hero-cap-actions .btn{
    width:100% !important;
    min-height:44px !important;
    padding:10px 12px !important;
    font-size:15px !important;
    border-radius:12px !important;
  }
  .hero-cap-actions .btn:first-child{
    grid-column:1 / -1;
  }
  .hero-content{
    text-align:left !important;
  }
  .hero-content .eyebrow{
    font-size:12px !important;
    line-height:1.3 !important;
  }
  h1{
    font-size:32px !important;
    line-height:1.08 !important;
  }
  .hero-text{
    font-size:17px !important;
    line-height:1.55 !important;
  }
  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .hero-actions .btn{
    min-height:48px !important;
    border-radius:13px !important;
  }
  .hero-stats{
    gap:10px !important;
  }
  .hero-stats div{
    padding:14px !important;
  }
}
@media (max-width:380px){
  .hero-cap-brand strong{
    font-size:23px !important;
  }
  h1{
    font-size:30px !important;
  }
}
/* Remove mobile photo inner frame */
@media (max-width:640px){
  .hero-cap{
    border:0 !important;
  }
  .hero-cap-photo{
    border-radius:18px 18px 0 0 !important;
  }
  .hero-cap-content{
    border-radius:0 0 18px 18px !important;
  }
}
/* Mobile title over photo */
@media (max-width:640px){
  .hero-cap{
    position:relative !important;
    display:block !important;
    overflow:hidden !important;
    border-radius:18px !important;
    background:#fff !important;
  }
  .hero-cap-photo{
    display:block !important;
    width:100% !important;
    height:auto !important;
    border-radius:18px 18px 0 0 !important;
  }
  .hero-cap-shade{
    display:block !important;
    position:absolute !important;
    left:0;
    right:0;
    top:0;
    height:252px;
    background:linear-gradient(180deg,rgba(8,45,32,.18) 0%,rgba(8,45,32,.06) 40%,rgba(8,45,32,.56) 100%) !important;
    pointer-events:none;
  }
  .hero-cap-content{
    position:static !important;
    inset:auto !important;
    display:grid !important;
    gap:12px !important;
    padding:0 !important;
    background:#fff !important;
  }
  .hero-cap-top{
    display:block !important;
  }
  .hero-cap-brand{
    position:absolute !important;
    left:14px;
    right:14px;
    top:136px;
    z-index:2;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    color:#fff;
  }
  .hero-cap-brand .logo-svg{
    width:58px !important;
    height:58px !important;
    flex:0 0 58px !important;
  }
  .hero-cap-brand p{
    color:#effff4 !important;
    font-size:12px !important;
    line-height:1.16 !important;
    text-shadow:0 2px 10px rgba(0,0,0,.28);
  }
  .hero-cap-brand strong{
    color:#fff !important;
    font-size:24px !important;
    line-height:1.02 !important;
    text-shadow:0 3px 14px rgba(0,0,0,.34);
  }
  .work-time{
    margin:14px 14px 0 !important;
  }
  .hero-cap-actions{
    padding:0 14px 14px !important;
  }
}
@media (max-width:380px){
  .hero-cap-brand{
    top:126px;
  }
  .hero-cap-brand strong{
    font-size:22px !important;
  }
  .hero-cap-shade{
    height:238px;
  }
}
/* Mobile compact sections */
.section-more{
  display:none;
}
@media (max-width:640px){
  .section{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }
  .section-head{
    margin-bottom:22px !important;
  }
  .mobile-hidden{
    display:none !important;
  }
  .section-more{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:46px;
    margin-top:14px;
    border:1px solid #b6dfc1;
    border-radius:13px;
    color:#1f7650;
    background:linear-gradient(180deg,#ffffff,#edf9f0);
    box-shadow:0 12px 28px rgba(31,70,49,.1), inset 0 1px 0 rgba(255,255,255,.9);
    font:inherit;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
  }
  .section-more:active{
    transform:translateY(1px);
  }
  .review-card.collapsed p{
    -webkit-line-clamp:4;
  }
  #courses .course-card,
  #reviews .review-card,
  #audience .info-card,
  #benefits .feature-card{
    min-height:auto !important;
  }
}
/* Mobile hero buttons alignment */
@media (max-width:640px){
  .hero-cap-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:none !important;
    padding:0 14px 16px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  .hero-cap-actions .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:44px !important;
    padding:10px 8px !important;
    margin:0 !important;
    border-radius:12px !important;
    font-size:15px !important;
    line-height:1.1 !important;
    box-sizing:border-box !important;
  }
  .hero-cap-actions .btn:first-child{
    grid-column:1 / -1 !important;
  }
}
/* Mobile hero buttons final stretch */
@media (max-width:640px){
  .hero-cap-content{
    width:100% !important;
    justify-items:stretch !important;
    align-items:stretch !important;
  }
  .work-time{
    width:auto !important;
    max-width:none !important;
    margin:14px 14px 0 !important;
    justify-self:stretch !important;
  }
  .hero-cap-actions{
    justify-self:stretch !important;
    align-self:stretch !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 14px 16px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
  }
  .hero-cap-actions .btn{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    justify-self:stretch !important;
  }
  .hero-cap-actions .btn:first-child{
    grid-column:1 / -1 !important;
  }
}
/* Mobile hero grid width fix */
@media (max-width:640px){
  .hero-cap-content{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    justify-content:stretch !important;
    justify-items:stretch !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  .hero-cap-top,
  .work-time,
  .hero-cap-actions{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .hero-cap-actions{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}
/* Mobile compact polish final */
@media (max-width:640px){
  .hero-cap-brand .logo-svg{
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  .hero-cap-brand .logo-bg{
    fill:#fffdf8 !important;
  }
  .contact-list span,
  .contact-list a{
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
    line-height:1.35 !important;
  }
  .contact-list span{
    font-size:16px !important;
  }
  .contact-list span.address-line{
    white-space:normal !important;
  }
  #audience .info-card:nth-of-type(n+3),
  #benefits .feature-card:nth-of-type(n+3),
  #courses .course-card:nth-of-type(n+4),
  #reviews .review-card:nth-of-type(n+2){
    display:none;
  }
  #audience.expanded .info-card,
  #benefits.expanded .feature-card,
  #courses.expanded .course-card,
  #reviews.expanded .review-card{
    display:block;
  }
}
/* Smaller mobile cards */
@media (max-width:640px){
  .section{
    padding-top:34px !important;
    padding-bottom:34px !important;
  }
  .grid{
    gap:12px !important;
  }
  .info-card,
  .feature-card,
  .course-card,
  .review-card,
  .trust-list div,
  .request-form{
    padding:16px !important;
    border-radius:12px !important;
  }
  .info-card span{
    font-size:15px !important;
  }
  .info-card h3,
  .feature-card h3,
  .course-card h3{
    margin:7px 0 5px !important;
    font-size:19px !important;
    line-height:1.18 !important;
  }
  .info-card p,
  .feature-card p,
  .course-card p,
  .review-card p,
  .trust-list span{
    margin-top:6px !important;
    font-size:15.5px !important;
    line-height:1.42 !important;
  }
  .feature-card b{
    width:36px !important;
    height:36px !important;
    margin-bottom:8px !important;
    font-size:18px !important;
  }
  .course-card{
    min-height:0 !important;
    gap:8px !important;
  }
  .course-card .course-actions{
    gap:8px !important;
  }
  .course-card .btn{
    min-height:40px !important;
    padding:8px 10px !important;
    font-size:14px !important;
  }
  .review-card:before,
  .info-card:after,
  .feature-card:after,
  .course-card:after{
    height:4px !important;
  }
  .review-toggle,
  .section-more{
    min-height:40px !important;
    margin-top:10px !important;
    font-size:14.5px !important;
    border-radius:11px !important;
  }
  .review-card.collapsed p{
    -webkit-line-clamp:3 !important;
  }
  .hero-stats div{
    padding:11px !important;
  }
  .hero-stats strong{
    font-size:26px !important;
  }
  .hero-stats span{
    font-size:14px !important;
  }
}
/* Mobile compact card rows and contacts */
@media (max-width:640px){
  .info-card,
  .feature-card{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    column-gap:10px !important;
    row-gap:6px !important;
    align-items:center !important;
  }
  .info-card span,
  .feature-card b{
    grid-column:1 !important;
    grid-row:1 !important;
    margin:0 !important;
  }
  .info-card h3,
  .feature-card h3{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 !important;
  }
  .info-card p,
  .feature-card p{
    grid-column:1 / -1 !important;
    margin:2px 0 0 !important;
  }
  .feature-card b{
    width:34px !important;
    height:34px !important;
    font-size:17px !important;
  }
  .contact-list{
    gap:8px !important;
  }
  .contact-list a,
  .contact-list span{
    padding:12px 13px !important;
    font-size:15px !important;
    line-height:1.32 !important;
  }
  .address-line{
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }
  .address-line b{
    color:#1f7650;
    white-space:nowrap;
  }
  .map-placeholder{
    display:none !important;
  }
}
/* Mobile final shorter contact */
@media (max-width:640px){
  #courses .course-card:nth-of-type(n+3){
    display:none;
  }
  #courses.expanded .course-card{
    display:block;
  }
  .contact-section{
    gap:18px !important;
  }
  .contact-info p{
    font-size:15.5px !important;
    line-height:1.42 !important;
  }
  .contact-list{
    margin:16px 0 !important;
  }
  .quick-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    gap:8px !important;
    margin-top:12px !important;
  }
  .quick-actions .btn{
    min-height:40px !important;
    padding:8px 6px !important;
    font-size:13.5px !important;
    border-radius:11px !important;
  }
}
/* Mobile inline titles final */
@media (max-width:640px){
  .hero-stats{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .hero-stats div{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:12px 14px !important;
  }
  .hero-stats strong{
    flex:0 0 auto;
    min-width:64px;
    font-size:26px !important;
    line-height:1 !important;
  }
  .hero-stats span{
    margin:0 !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
  }
  .info-card,
  .feature-card{
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
  }
  .info-card span,
  .feature-card b{
    align-self:center !important;
  }
  .info-card h3,
  .feature-card h3{
    align-self:center !important;
    white-space:normal !important;
  }
}

/* Final mobile course buttons: keep Details and Signup in one row */
@media (max-width:640px){
  .course-card .course-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:8px !important;
    width:100% !important;
  }
  .course-card .course-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:38px !important;
    padding:8px 6px !important;
    font-size:12px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    border-radius:11px !important;
  }
}

/* Educational platform pages */
.platform-page{background:linear-gradient(180deg,#f5fbf5 0%,#eef8ef 42%,#fffaf4 100%);color:#20352a;min-height:100vh;overflow-x:hidden}.platform-page *{box-sizing:border-box}.platform-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(189,219,193,.85);backdrop-filter:blur(18px);box-shadow:0 16px 40px rgba(35,82,58,.09)}.platform-brand{display:flex;align-items:center;gap:12px;color:#193d2d}.platform-brand strong{font-size:18px}.mini-logo,.platform-logo{display:grid;place-items:center;color:#082746;background:#fff;border-radius:50%;font-weight:900;line-height:.9;text-align:center;box-shadow:0 12px 28px rgba(33,82,58,.14);border:1px solid rgba(255,122,55,.28)}.mini-logo{width:52px;height:52px;font-size:15px}.platform-logo{width:88px;height:88px;margin-bottom:18px;font-size:22px}.platform-header nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.platform-header nav a,.logout-btn{padding:10px 13px;color:#27724f;background:#fff;border:1px solid #cae4cf;border-radius:12px;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(33,82,58,.08)}.platform-shell{width:min(1180px,100%);margin:0 auto;padding:34px 20px 70px}.platform-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:22px;padding:28px;background:linear-gradient(135deg,#ffffff,#f0faef 55%,#fff5e8);border:1px solid #d7ead9;border-radius:22px;box-shadow:0 30px 80px rgba(33,82,58,.14),inset 0 1px 0 rgba(255,255,255,.9)}.platform-hero h1,.auth-card h1{margin:0;color:#193d2d;font-size:clamp(31px,4vw,52px);line-height:1.04}.platform-hero p{max-width:680px;color:#60766a;font-size:18px}.platform-grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(5,1fr);margin-bottom:18px}.stat-card,.platform-panel,.student-card,.report-card,.compact-card{background:rgba(255,255,255,.94);border:1px solid #d8eadb;border-radius:18px;box-shadow:0 18px 50px rgba(33,82,58,.11),inset 0 1px 0 rgba(255,255,255,.9)}.stat-card{padding:20px}.stat-card strong{display:block;color:#267e54;font-size:34px;line-height:1}.stat-card span{color:#65796e;font-weight:800}.platform-panel{padding:24px;margin-bottom:18px}.panel-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.platform-panel h2{font-size:clamp(25px,3vw,36px);color:#193d2d}.admin-tools{display:flex;gap:10px;flex-wrap:wrap}.admin-tools input,.admin-tools select{min-width:220px}.student-list,.report-list,.learning-content{display:grid;gap:14px}.student-card{padding:18px}.student-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.student-main h3{margin:0 0 5px;color:#193d2d}.student-main p{margin:0 0 5px;color:#63786c}.student-meta{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:12px;margin-top:14px;align-items:center}.student-meta label{display:grid;gap:6px;color:#63786c;font-weight:800}.status-badge{display:inline-flex;align-items:center;min-height:30px;margin:2px;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:900;background:#edf4ef;color:#426353}.status-badge.good{background:#e3f7e9;color:#1f7650}.status-badge.warning{background:#fff5d6;color:#927019}.status-badge.danger{background:#ffe8e1;color:#ad3d24}.access-switch{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:900;color:#27724f}.access-switch input{width:22px;height:22px;accent-color:#267e54}.two-columns{grid-template-columns:1fr 1fr}.align-start{align-items:start}.simple-list{display:grid;gap:10px}.simple-list span,.simple-list button{padding:13px 14px;background:#f7fbf5;border:1px solid #dcebdd;border-radius:13px}.platform-form{display:grid;gap:14px}.platform-form label{display:grid;gap:7px;color:#63786c;font-weight:900}.platform-form input,.platform-form select,.platform-form textarea,.admin-tools input,.admin-tools select{width:100%;padding:14px;border:1px solid #cfe4d1;border-radius:13px;background:#fff;color:#20352a;font:inherit;outline:none}.platform-form input:focus,.platform-form select:focus,.platform-form textarea:focus,.admin-tools input:focus,.admin-tools select:focus{border-color:#72cf9f;box-shadow:0 0 0 4px rgba(114,207,159,.18)}.grade-buttons,.template-row,.attendance-toggle,.learning-tabs{display:flex;gap:8px;flex-wrap:wrap}.grade-buttons button,.template-row button,.learning-tabs button,.review-toggle{padding:10px 12px;border:1px solid #cfe4d1;border-radius:12px;background:#fff;color:#27724f;font:inherit;font-weight:900;cursor:pointer}.grade-buttons button.active,.learning-tabs button.active{background:#267e54;color:#fff;border-color:#267e54}.attendance-toggle label{display:flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid #d7ead9;border-radius:12px;background:#f8fcf7}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(520px,100%);padding:34px;background:linear-gradient(180deg,#fff,#f5fbf2);border:1px solid #d7ead9;border-radius:24px;box-shadow:0 34px 90px rgba(33,82,58,.17);text-align:left}.form-error{min-height:20px;margin:0;color:#ad3d24;font-weight:900}.demo-access{display:grid;gap:8px;margin-top:18px;padding:16px;background:#fff;border:1px solid #dcebdd;border-radius:16px}.demo-access span{color:#60766a;font-weight:800}.back-link{display:inline-flex;margin-top:18px;color:#27724f;font-weight:900}.student-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.cabinet-grid{grid-template-columns:1fr 1fr}.report-card,.compact-card{padding:16px}.report-card>div{display:flex;justify-content:space-between;gap:12px;color:#63786c}.report-card h3{margin:8px 0;color:#193d2d}.report-card p,.compact-card p{color:#63786c}.compact-card{display:grid;gap:8px}.compact-card strong{color:#193d2d}.compact-card span{color:#63786c;font-weight:800}.learning-tabs{margin:18px 0;overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap}.learning-tabs button{white-space:nowrap}.test-form{display:grid;gap:14px}.test-form fieldset{border:1px solid #d7ead9;border-radius:14px;padding:14px}.test-form label{display:block;margin:8px 0;color:#63786c;font-weight:800}.video-wrap{position:relative;width:100%;aspect-ratio:16/9;margin-top:12px;overflow:hidden;border-radius:16px;background:#dcebdd}.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.blocked-hero{grid-template-columns:1fr}.access-denied{width:min(720px,100%);margin:80px auto;padding:34px;background:#fff;border:1px solid #d7ead9;border-radius:24px;box-shadow:0 30px 80px rgba(33,82,58,.14);text-align:center}
@media (max-width:900px){.platform-hero,.two-columns,.cabinet-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.student-meta{grid-template-columns:1fr}.panel-head{align-items:stretch;flex-direction:column}.admin-tools input,.admin-tools select{min-width:0}.platform-header{align-items:flex-start;flex-direction:column}.platform-header nav{width:100%}.platform-header nav a,.logout-btn{flex:1 1 auto;text-align:center}.platform-hero .quick-actions{display:grid;grid-template-columns:1fr 1fr}.platform-hero .quick-actions .btn{width:100%;min-height:44px;padding:10px 12px;font-size:14px}}
@media (max-width:640px){.platform-shell{padding:20px 12px 54px}.platform-header{padding:12px}.platform-brand strong{font-size:15px}.mini-logo{width:46px;height:46px;font-size:13px}.platform-header nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.platform-header nav a,.logout-btn{padding:9px 8px;font-size:13px}.platform-hero{padding:18px;border-radius:18px}.platform-hero h1,.auth-card h1{font-size:29px}.platform-hero p{font-size:15px}.platform-hero .quick-actions{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px}.stat-card strong{font-size:28px}.platform-panel{padding:16px;border-radius:16px}.student-main{display:grid}.student-main>div:last-child{display:flex;flex-wrap:wrap}.grade-buttons{display:grid;grid-template-columns:repeat(3,1fr)}.template-row{display:grid;grid-template-columns:1fr}.auth-card{padding:22px;border-radius:20px}.platform-logo{width:76px;height:76px;font-size:19px}.student-card,.report-card,.compact-card{border-radius:15px}.learning-content{gap:10px}.btn{min-height:44px}.quick-actions{gap:8px}.section-more{width:100%;min-height:42px}}

/* Clear cabinet identity and logout state */
.user-chip{
  display:inline-grid;
  gap:1px;
  align-content:center;
  padding:8px 12px;
  color:#193d2d;
  background:linear-gradient(180deg,#ffffff,#eef9f1);
  border:1px solid #bfe0c7;
  border-radius:14px;
  box-shadow:0 10px 24px rgba(33,82,58,.09);
}
.user-chip small{
  color:#6c8275;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.user-chip b{
  color:#1f7650;
  font-size:14px;
  line-height:1.05;
}
.logout-btn{
  color:#fff !important;
  background:linear-gradient(135deg,#267e54,#72cf9f) !important;
  border-color:transparent !important;
}
.cabinet-owner{
  font-weight:800;
}
@media (max-width:640px){
  .user-chip{
    grid-column:1 / -1;
    width:100%;
    text-align:center;
  }
  .logout-btn{
    grid-column:1 / -1;
  }
}

/* Admin payment visibility */
.payment-admin-info{
  display:block;
  padding:12px 13px;
  border-radius:13px;
  font-weight:900;
  background:#edf4ef;
  color:#426353;
}
.payment-admin-info.good{
  background:#e3f7e9;
  color:#1f7650;
}
.payment-admin-info.warning{
  background:#fff5d6;
  color:#927019;
}
.payment-admin-info.danger{
  background:#ffe8e1;
  color:#ad3d24;
}
@media (max-width:1200px){
  .stats-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .stats-grid{grid-template-columns:1fr 1fr}
}

/* Admin paid unpaid lists */
.payment-groups{
  margin-bottom:18px;
}
.payment-list{
  display:grid;
  gap:10px;
}
.payment-item{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid #d8eadb;
  background:#f7fbf5;
}
.payment-item strong{
  color:#193d2d;
}
.payment-item span{
  color:#63786c;
  font-weight:800;
}
.payment-item small{
  font-size:13px;
  font-weight:900;
}
.payment-item.good{
  background:#eaf8ee;
  border-color:#bfe0c7;
}
.payment-item.warning{
  background:#fff8df;
  border-color:#efd98e;
}
.payment-item.danger{
  background:#fff0ea;
  border-color:#f0b9a8;
}
.payment-reminder-card{
  gap:10px;
}
.payment-reminder-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.payment-reminder-actions .btn{
  min-height:36px;
  padding:9px 12px;
  font-size:0.86rem;
}
.payment-reminder-text{
  width:100%;
  resize:vertical;
  border:1px solid rgba(58,93,73,.18);
  border-radius:12px;
  padding:10px 12px;
  background:#fffdf8;
  color:#3d5147;
  font:inherit;
  font-size:0.88rem;
  line-height:1.45;
}

.admin-today-panel{
  margin-bottom:18px;
}
.admin-today-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.admin-today-card{
  border:1px solid rgba(53,94,70,.14);
  border-radius:16px;
  background:#fbfdf9;
  padding:14px;
}
.admin-today-card > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.admin-today-card strong{
  color:#243f31;
  font-size:1rem;
}
.admin-today-card button{
  border:0;
  border-radius:999px;
  padding:7px 10px;
  background:#e7f4ea;
  color:#2d6d49;
  font-weight:850;
  cursor:pointer;
}
.admin-today-card ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.admin-today-card li{
  display:grid;
  gap:2px;
  padding:9px 10px;
  border-radius:12px;
  background:#fff;
  color:#53695e;
  box-shadow:0 8px 20px rgba(36,70,49,.06);
}
.admin-today-card li b{
  color:#243f31;
}
.admin-today-card li span,
.admin-today-card li small{
  font-weight:750;
}
.reliability-panel{
  margin-bottom:18px;
}
.reliability-grid{
  display:grid;
  grid-template-columns:1.15fr repeat(4,minmax(130px,1fr));
  gap:10px;
}
.reliability-score,
.reliability-card{
  min-width:0;
  padding:14px 15px;
  border:1px solid #d9eadc;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f8fcf7);
  box-shadow:0 14px 34px rgba(33,82,58,.08);
  text-align:left;
}
.reliability-score{
  display:grid;
  gap:4px;
  background:linear-gradient(135deg,#1f7650,#62c990);
  color:#fff;
}
.reliability-score span,
.reliability-card span{
  display:block;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.reliability-score strong{
  font-size:2rem;
  line-height:1;
}
.reliability-score small{
  color:rgba(255,255,255,.86);
  font-weight:850;
}
.reliability-card{
  appearance:none;
  cursor:pointer;
  color:#244031;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.reliability-card:hover{
  transform:translateY(-2px);
  border-color:#97d3ad;
  box-shadow:0 18px 40px rgba(33,82,58,.13);
}
.reliability-card strong{
  display:block;
  margin:5px 0 3px;
  font-size:1.45rem;
  line-height:1;
  color:#1f7650;
}
.reliability-card small{
  display:block;
  color:#65796e;
  font-weight:800;
  line-height:1.25;
}
.reliability-card.warning{
  background:#fffaf0;
  border-color:#ead9ad;
}
.reliability-card.warning strong{color:#947019;}
.reliability-card.danger{
  background:#fff4ef;
  border-color:#efc6b8;
}
.reliability-card.danger strong{color:#a33d2d;}
.journal-quick-fill{
  display:grid;
  grid-template-columns:1fr repeat(4,auto);
  align-items:center;
  gap:8px;
  margin:12px 0;
}
.quick-fill-note{
  margin:0;
  color:#5f7569;
  font-size:.9rem;
  font-weight:850;
  line-height:1.35;
}
.journal-quick-fill .btn{
  min-height:36px;
  padding:9px 12px;
  font-size:.86rem;
}
.btn-soft-danger{
  color:#9d3427;
  background:#fff7f4;
  border-color:#f0c9bf;
}
.btn-soft-danger:hover{
  color:#fff;
  background:#b84a36;
  border-color:#b84a36;
}
@media (max-width:900px){
  .admin-today-grid{grid-template-columns:1fr;}
  .reliability-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .reliability-score{grid-column:1 / -1;}
  .journal-quick-fill{
    grid-template-columns:1fr 1fr;
  }
  .quick-fill-note{
    grid-column:1 / -1;
  }
}
@media (max-width:560px){
  .reliability-grid{grid-template-columns:1fr;}
  .reliability-score strong{font-size:1.7rem;}
}
.empty-note{
  margin:0;
  color:#63786c;
  font-weight:800;
}

/* Product-grade role navigation */
.platform-tabs{
  position:sticky;
  top:86px;
  z-index:15;
  display:flex;
  gap:8px;
  margin:0 0 18px;
  padding:9px;
  overflow-x:auto;
  border:1px solid rgba(38,126,84,.14);
  border-radius:18px;
  background:rgba(255,255,255,.9);
  box-shadow:0 18px 42px rgba(33,82,58,.1);
  backdrop-filter:blur(16px);
}
.platform-tabs button{
  flex:0 0 auto;
  min-height:42px;
  padding:10px 15px;
  border:1px solid transparent;
  border-radius:13px;
  background:transparent;
  color:#426353;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.platform-tabs button:hover{
  transform:translateY(-1px);
  background:#f2faf2;
}
.platform-tabs button.active{
  color:#fff;
  background:linear-gradient(135deg,#1f7650,#63c990);
  box-shadow:0 12px 26px rgba(31,118,80,.22);
}
[hidden]{
  display:none !important;
}
.focus-panel{
  border-color:rgba(38,126,84,.18);
  background:linear-gradient(135deg,#ffffff 0%,#f3fbf1 58%,#fff8ee 100%);
}
.focus-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.focus-grid article{
  display:grid;
  gap:6px;
  min-width:0;
  padding:16px;
  border:1px solid rgba(38,126,84,.14);
  border-radius:16px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 30px rgba(33,82,58,.08);
}
.focus-grid span{
  color:#6b8073;
  font-size:13px;
  font-weight:900;
}
.focus-grid strong{
  color:#193d2d;
  font-size:20px;
  line-height:1.15;
}
.focus-grid small{
  color:#63786c;
  font-weight:800;
  line-height:1.35;
}
.diagnostics-panel .quick-actions{
  margin-top:14px;
}
.system-good{
  border-color:#ccebd4 !important;
  background:#f1fbf3 !important;
  color:#1f7650 !important;
}
.system-warning{
  border-color:#f0d3a4 !important;
  background:#fff8e8 !important;
  color:#8a5a12 !important;
}
@media (max-width:900px){
  .platform-tabs{
    top:0;
    position:relative;
  }
  .focus-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .platform-tabs{
    padding:7px;
    border-radius:15px;
  }
  .platform-tabs button{
    min-height:38px;
    padding:8px 11px;
    font-size:13px;
  }
  .focus-grid article{
    padding:13px;
  }
}

/* Admin school management */
.admin-school-tools{
  margin-bottom:18px;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.class-summary{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.class-chip{
  padding:11px 13px;
  color:#27724f;
  background:#fff;
  border:1px solid #cfe4d1;
  border-radius:999px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(33,82,58,.07);
}
.class-chip.active,
.class-chip:hover{
  color:#fff;
  background:linear-gradient(135deg,#267e54,#72cf9f);
  border-color:transparent;
}
@media (max-width:640px){
  .form-row{
    grid-template-columns:1fr;
  }
  .class-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .class-chip{
    border-radius:13px;
  }
}

.class-roster{
  display:grid;
  gap:6px;
  flex:1 1 220px;
  min-width:220px;
  padding:12px 13px;
  background:#f7fbf5;
  border:1px solid #d8eadb;
  border-radius:14px;
}
.class-roster.full{
  flex-basis:100%;
}
.class-roster strong{
  color:#193d2d;
}
.class-roster span{
  color:#63786c;
  font-weight:800;
}
.class-picker-panel{
  position:relative;
  overflow:hidden;
}
.class-picker-panel .panel-copy{
  margin:8px 0 18px;
  color:#63786c;
  font-weight:700;
  line-height:1.45;
}
.class-picker-trigger{
  width:max-content;
}
.class-picker-window{
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(38,126,84,.16);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f6fbf4 100%);
  box-shadow:0 22px 55px rgba(33,82,58,.13), inset 0 1px 0 rgba(255,255,255,.9);
}
.class-picker-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.class-picker-head div{
  display:grid;
  gap:3px;
  min-width:0;
}
.class-picker-head strong{
  color:#193d2d;
  font-size:20px;
  line-height:1.1;
}
.class-picker-head span{
  color:#63786c;
  font-weight:800;
  line-height:1.3;
}
.class-picker-window .class-browser{
  margin:0;
}
.class-picker-window .class-student-list button{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.class-picker-window .class-student-list button:hover{
  transform:translateY(-2px);
  border-color:#72cf9f;
  box-shadow:0 16px 34px rgba(33,82,58,.13);
}
@media (max-width:640px){
  .class-roster{
    min-width:0;
    grid-column:1 / -1;
  }
  .class-picker-trigger{
    width:100%;
  }
  .class-picker-window{
    padding:14px;
    border-radius:16px;
  }
  .class-picker-head{
    align-items:stretch;
    flex-direction:column;
  }
  .class-picker-head .btn{
    width:100%;
  }
}

/* Keep logo undistorted */
.logo-mark.logo-svg,
.logo-svg{
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  min-height:68px !important;
  max-width:68px !important;
  max-height:68px !important;
  aspect-ratio:1 / 1 !important;
  flex:0 0 68px !important;
  border-radius:50% !important;
  overflow:hidden !important;
}
.logo-svg svg{
  width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  display:block !important;
}
.logo-text-straight{
  fill:#082746 !important;
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
.hero-cap-brand{
  align-items:center !important;
}
@media (max-width:640px){
  .logo-mark.logo-svg,
  .logo-svg{
    width:60px !important;
    height:60px !important;
    min-width:60px !important;
    min-height:60px !important;
    max-width:60px !important;
    max-height:60px !important;
    flex-basis:60px !important;
  }
  .logo-text-straight{
    font-size:17px !important;
  }
}

/* Weekly cabinet schedule */
.week-schedule{
  display:grid;
  grid-template-columns:repeat(7,minmax(92px,1fr));
  gap:8px;
  overflow-x:auto;
  padding-bottom:4px;
}
.week-schedule div{
  display:grid;
  gap:4px;
  min-width:92px;
  padding:12px 10px;
  background:linear-gradient(180deg,#ffffff,#f2fbf4);
  border:1px solid #d8eadb;
  border-radius:14px;
  box-shadow:0 10px 22px rgba(33,82,58,.07);
}
.week-schedule b{
  color:#267e54;
  font-size:18px;
}
.week-schedule span{
  color:#193d2d;
  font-weight:900;
}
.week-schedule strong{
  color:#193d2d;
  font-size:14px;
  line-height:1.15;
}
.week-schedule small{
  color:#63786c;
  font-weight:800;
  line-height:1.2;
}
@media (max-width:640px){
  .week-schedule{
    grid-template-columns:1fr;
    overflow:visible;
  }
  .week-schedule div{
    grid-template-columns:42px 58px 1fr;
    align-items:center;
    min-width:0;
  }
  .week-schedule small{
    grid-column:3;
  }
}

/* Admin schedule editor */
.schedule-editor{
  display:grid;
  gap:10px;
}
.schedule-edit-row{
  display:grid;
  grid-template-columns:70px 1fr 1fr 1fr;
  gap:10px;
  align-items:end;
  margin:0;
  padding:12px;
  border:1px solid #d8eadb;
  border-radius:14px;
  background:#f7fbf5;
}
.schedule-edit-row legend{
  float:left;
  width:58px;
  color:#267e54;
  font-size:18px;
  font-weight:900;
}
.schedule-edit-row label{
  display:grid;
  gap:5px;
  color:#63786c;
  font-weight:900;
}
.schedule-edit-row input{
  min-height:42px;
  padding:10px 11px;
  border:1px solid #cfe4d1;
  border-radius:12px;
  font:inherit;
}
@media (max-width:760px){
  .schedule-edit-row{
    grid-template-columns:1fr;
  }
  .schedule-edit-row legend{
    float:none;
    width:auto;
  }
}

/* Archive materials */
.archive-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:16px;
}
.archive-card{
  display:grid;
  gap:7px;
  padding:15px;
  background:linear-gradient(180deg,#ffffff,#f4fbf2);
  border:1px solid #d8eadb;
  border-radius:15px;
  box-shadow:0 12px 28px rgba(33,82,58,.08);
}
.archive-card div{
  display:grid;
  gap:5px;
}
.archive-card span{
  width:max-content;
  padding:5px 8px;
  color:#1f7650;
  background:#e3f7e9;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.archive-card strong{
  color:#193d2d;
  line-height:1.16;
}
.archive-card p,
.archive-card small{
  margin:0;
  color:#63786c;
  font-weight:800;
  line-height:1.3;
}
@media (max-width:900px){
  .archive-list{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  .archive-list{
    grid-template-columns:1fr;
  }
}

.archive-intro{
  max-width:760px;
  margin:8px 0 16px;
  color:#63786c;
  font-size:17px;
  font-weight:800;
  line-height:1.45;
}
#archivePanel{
  scroll-margin-top:90px;
}

.archive-tools{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:10px;
  margin:14px 0 16px;
}
.archive-tools input,
.archive-tools select{
  width:100%;
  min-height:46px;
  padding:12px 13px;
  border:1px solid #cfe4d1;
  border-radius:13px;
  background:#fff;
  color:#20352a;
  font:inherit;
  font-weight:800;
}
@media (max-width:640px){
  .archive-tools{
    grid-template-columns:1fr;
  }
}

/* Schedule text containment */
.week-schedule{
  align-items:stretch;
}
.week-schedule div{
  min-width:0 !important;
  overflow:hidden;
}
.week-schedule b,
.week-schedule span,
.week-schedule strong,
.week-schedule small{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.week-schedule strong{
  display:block;
  font-size:13px;
  line-height:1.18;
}
.week-schedule small{
  display:block;
  font-size:12px;
}
@media (max-width:640px){
  .week-schedule div{
    grid-template-columns:38px 54px minmax(0,1fr) !important;
  }
  .week-schedule strong,
  .week-schedule small{
    overflow-wrap:anywhere;
  }
}

/* Desktop compact main site */
@media (min-width:641px){
  body:not(.platform-page) .section{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }
  body:not(.platform-page) .section-head{
    margin-bottom:24px !important;
  }
  body:not(.platform-page) h2{
    font-size:clamp(26px,3.1vw,38px) !important;
  }
  body:not(.platform-page) .hero{
    gap:34px !important;
    padding-top:42px !important;
    min-height:auto !important;
  }
  body:not(.platform-page) .hero-cap{
    min-height:430px !important;
  }
  body:not(.platform-page) .hero-cap-photo{
    max-height:430px !important;
  }
  body:not(.platform-page) .hero-content h1{
    font-size:clamp(32px,4vw,48px) !important;
  }
  body:not(.platform-page) .hero-text{
    font-size:17px !important;
  }
  body:not(.platform-page) .hero-stats{
    margin-top:22px !important;
  }
  body:not(.platform-page) .info-card,
  body:not(.platform-page) .feature-card,
  body:not(.platform-page) .course-card,
  body:not(.platform-page) .review-card,
  body:not(.platform-page) .trust-list div{
    padding:18px !important;
    border-radius:14px !important;
  }
  body:not(.platform-page) .course-card{
    min-height:210px !important;
  }
  body:not(.platform-page) .info-card h3,
  body:not(.platform-page) .feature-card h3,
  body:not(.platform-page) .course-card h3{
    margin:7px 0 5px !important;
    font-size:18px !important;
  }
  body:not(.platform-page) .info-card p,
  body:not(.platform-page) .feature-card p,
  body:not(.platform-page) .course-card p,
  body:not(.platform-page) .review-card p{
    font-size:14px !important;
    line-height:1.42 !important;
  }
  body:not(.platform-page) .grid{
    gap:13px !important;
  }
  body:not(.platform-page) .advantages span{
    padding:10px 13px !important;
    font-size:14px !important;
  }
  body:not(.platform-page) .contact-section{
    gap:22px !important;
  }
  body:not(.platform-page) .request-form{
    padding:22px !important;
  }
}

/* Main cards inline icon title and no photo frame */
body:not(.platform-page) .hero-cap,
body:not(.platform-page) .hero-cap-photo,
body:not(.platform-page) .hero-photo{
  border:none !important;
  outline:none !important;
  box-shadow:0 28px 72px rgba(33,82,58,.18) !important;
}
body:not(.platform-page) .hero-cap::before,
body:not(.platform-page) .hero-cap::after,
body:not(.platform-page) .hero-photo::before,
body:not(.platform-page) .hero-photo::after{
  display:none !important;
  content:none !important;
}
body:not(.platform-page) .info-card,
body:not(.platform-page) .feature-card{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  column-gap:10px !important;
  align-items:start !important;
}
body:not(.platform-page) .info-card span,
body:not(.platform-page) .feature-card b{
  grid-column:1 !important;
  grid-row:1 !important;
  width:34px !important;
  height:34px !important;
  margin:0 !important;
  font-size:13px !important;
}
body:not(.platform-page) .info-card h3,
body:not(.platform-page) .feature-card h3{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:center !important;
  margin:0 !important;
  min-width:0 !important;
}
body:not(.platform-page) .info-card p,
body:not(.platform-page) .feature-card p{
  grid-column:1 / -1 !important;
  margin-top:8px !important;
}
@media (max-width:640px){
  body:not(.platform-page) .info-card,
  body:not(.platform-page) .feature-card{
    column-gap:9px !important;
  }
  body:not(.platform-page) .info-card h3,
  body:not(.platform-page) .feature-card h3{
    font-size:17px !important;
  }
}

/* Center advantages chips */
body:not(.platform-page) .advantages{
  justify-content:center !important;
  text-align:center !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body:not(.platform-page) .advantages span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

/* Larger logo and refined photo frame */
body:not(.platform-page) .hero-cap .logo-mark.logo-svg,
body:not(.platform-page) .hero-cap .logo-svg{
  width:102px !important;
  height:102px !important;
  min-width:102px !important;
  min-height:102px !important;
  max-width:102px !important;
  max-height:102px !important;
  flex-basis:102px !important;
}
body:not(.platform-page) .hero-cap .logo-text-straight{
  font-size:20px !important;
}
body:not(.platform-page) .hero-cap{
  border:1px solid rgba(211,230,214,.9) !important;
  outline:none !important;
  box-shadow:
    0 30px 86px rgba(33,82,58,.20),
    0 10px 26px rgba(255,122,55,.10) !important;
  overflow:hidden !important;
}
body:not(.platform-page) .hero-cap-photo{
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  transform:scale(1.002);
}
body:not(.platform-page) .hero-cap::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  border-radius:inherit !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.28),
    inset 0 -80px 120px rgba(20,53,37,.18) !important;
}
@media (max-width:640px){
  body:not(.platform-page) .hero-cap .logo-mark.logo-svg,
  body:not(.platform-page) .hero-cap .logo-svg{
    width:82px !important;
    height:82px !important;
    min-width:82px !important;
    min-height:82px !important;
    max-width:82px !important;
    max-height:82px !important;
    flex-basis:82px !important;
  }
  body:not(.platform-page) .hero-cap .logo-text-straight{
    font-size:19px !important;
  }
}

/* Remove logo frame final */
body:not(.platform-page) .logo-mark.logo-svg,
body:not(.platform-page) .logo-svg,
body:not(.platform-page) .hero-cap .logo-mark.logo-svg,
body:not(.platform-page) .hero-cap .logo-svg{
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
body:not(.platform-page) .logo-svg svg{
  filter:none !important;
}

/* Admin title one line */
.admin-main-title{
  white-space:nowrap;
  font-size:clamp(28px,3.4vw,46px) !important;
}
#addStudentForm{
  scroll-margin-top:100px;
}
@media (max-width:760px){
  .admin-main-title{
    white-space:normal;
    font-size:30px !important;
  }
}

/* Hero logo and buttons final correction */
body:not(.platform-page) .hero-cap-content{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:18px !important;
  min-height:100% !important;
  z-index:3 !important;
}
body:not(.platform-page) .hero-cap-top{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}
body:not(.platform-page) .hero-cap-brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-width:0 !important;
  max-width:760px !important;
  position:relative !important;
  z-index:4 !important;
}
body:not(.platform-page) .hero-cap-brand > div{
  min-width:0 !important;
}
body:not(.platform-page) .hero-cap-brand p,
body:not(.platform-page) .hero-cap-brand strong{
  overflow-wrap:normal !important;
  word-break:normal !important;
  max-width:100% !important;
}
body:not(.platform-page) .hero-cap-actions{
  position:relative !important;
  z-index:5 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin-top:auto !important;
  max-width:100% !important;
}
body:not(.platform-page) .hero-cap-actions .btn{
  width:auto !important;
  min-width:150px !important;
  max-width:100% !important;
  flex:0 1 auto !important;
  white-space:normal !important;
}
body:not(.platform-page) .hero-cap .logo-mark.logo-svg,
body:not(.platform-page) .hero-cap .logo-svg{
  padding:4px !important;
  overflow:visible !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
  flex-shrink:0 !important;
}
body:not(.platform-page) .hero-cap .logo-svg svg,
body:not(.platform-page) .logo-svg svg{
  overflow:visible !important;
  display:block !important;
}
body:not(.platform-page) .hero-cap .logo-dot-ring circle{
  r:1.25 !important;
}
@media (max-width:760px){
  body:not(.platform-page) .hero-cap-content{
    gap:12px !important;
  }
  body:not(.platform-page) .hero-cap-top{
    gap:10px !important;
  }
  body:not(.platform-page) .hero-cap-brand{
    width:100% !important;
  }
  body:not(.platform-page) .hero-cap-brand p{
    font-size:12px !important;
    line-height:1.15 !important;
  }
  body:not(.platform-page) .hero-cap-brand strong{
    font-size:18px !important;
    line-height:1.12 !important;
  }
  body:not(.platform-page) .hero-cap-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn{
    min-width:0 !important;
    width:100% !important;
    min-height:42px !important;
    padding:9px 8px !important;
    font-size:13px !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn:first-child{
    grid-column:1 / -1 !important;
  }
}

/* Platform real logo fix */
.platform-header .logo-mark.logo-svg{
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  min-height:68px !important;
  max-width:68px !important;
  max-height:68px !important;
  flex:0 0 68px !important;
  padding:3px !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:visible !important;
}
.platform-header .logo-svg svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
  overflow:visible !important;
}
.platform-header .logo-text-straight{
  fill:#082746 !important;
  font-size:18px !important;
  font-weight:900 !important;
}
@media (max-width:640px){
  .platform-header .logo-mark.logo-svg{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    flex-basis:58px !important;
  }
  .platform-header .logo-text-straight{
    font-size:17px !important;
  }
}

/* Admin hero no overlap final */
body.platform-page[data-page="admin"] .platform-hero{
  grid-template-columns:1fr !important;
  align-items:start !important;
  gap:18px !important;
}
body.platform-page[data-page="admin"] .platform-hero > div:first-child{
  max-width:100% !important;
  min-width:0 !important;
}
body.platform-page[data-page="admin"] .admin-main-title{
  white-space:normal !important;
  max-width:100% !important;
  line-height:1.08 !important;
  padding-right:0 !important;
}
body.platform-page[data-page="admin"] .platform-hero .quick-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  margin-top:0 !important;
}
body.platform-page[data-page="admin"] .platform-hero .quick-actions .btn,
body.platform-page[data-page="admin"] .platform-hero .quick-actions button{
  width:auto !important;
  min-width:190px !important;
  max-width:100% !important;
  flex:0 1 auto !important;
  white-space:normal !important;
}
@media (max-width:760px){
  body.platform-page[data-page="admin"] .platform-hero .quick-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  body.platform-page[data-page="admin"] .platform-hero .quick-actions .btn,
  body.platform-page[data-page="admin"] .platform-hero .quick-actions button{
    width:100% !important;
    min-width:0 !important;
  }
}

/* Mobile main page restore */
@media (max-width:640px){
  body:not(.platform-page) .hero{
    gap:24px !important;
    padding-top:28px !important;
  }
  body:not(.platform-page) .hero-cap{
    min-height:430px !important;
    border:none !important;
    outline:none !important;
    box-shadow:0 20px 48px rgba(33,82,58,.16) !important;
    border-radius:18px !important;
  }
  body:not(.platform-page) .hero-cap::after{
    display:none !important;
    content:none !important;
  }
  body:not(.platform-page) .hero-cap-photo{
    border:none !important;
    outline:none !important;
    box-shadow:none !important;
    transform:none !important;
  }
  body:not(.platform-page) .hero-cap-content{
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:14px !important;
  }
  body:not(.platform-page) .hero-cap-top{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
  }
  body:not(.platform-page) .hero-cap-brand{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
  }
  body:not(.platform-page) .hero-cap .logo-mark.logo-svg,
  body:not(.platform-page) .hero-cap .logo-svg{
    width:60px !important;
    height:60px !important;
    min-width:60px !important;
    min-height:60px !important;
    max-width:60px !important;
    max-height:60px !important;
    flex:0 0 60px !important;
    padding:2px !important;
    border:none !important;
    outline:none !important;
    box-shadow:none !important;
    background:transparent !important;
    overflow:visible !important;
  }
  body:not(.platform-page) .hero-cap .logo-text-straight{
    font-size:17px !important;
  }
  body:not(.platform-page) .hero-cap-brand p{
    font-size:11px !important;
    line-height:1.15 !important;
    margin:0 0 2px !important;
  }
  body:not(.platform-page) .hero-cap-brand strong{
    font-size:16px !important;
    line-height:1.12 !important;
    display:block !important;
  }
  body:not(.platform-page) .work-time{
    width:auto !important;
    max-width:100% !important;
    padding:8px 10px !important;
    font-size:12px !important;
  }
  body:not(.platform-page) .hero-cap-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    padding:9px 8px !important;
    font-size:13px !important;
    border-radius:12px !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn:first-child{
    grid-column:1 / -1 !important;
  }
  body:not(.platform-page) .hero-content h1{
    font-size:29px !important;
    line-height:1.08 !important;
  }
  body:not(.platform-page) .hero-text{
    font-size:15px !important;
  }
}

/* Yesterday mobile homepage restore final */
@media (max-width:640px){
  body:not(.platform-page) .site-header{
    padding:10px 14px !important;
  }
  body:not(.platform-page) .hero{
    display:block !important;
    padding-top:24px !important;
    gap:0 !important;
  }
  body:not(.platform-page) .hero-cap{
    position:relative !important;
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 0 22px !important;
    overflow:hidden !important;
    border:0 !important;
    outline:0 !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 20px 48px rgba(33,82,58,.16) !important;
  }
  body:not(.platform-page) .hero-cap-photo{
    position:relative !important;
    display:block !important;
    inset:auto !important;
    width:100% !important;
    height:330px !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:12% center !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    border-radius:18px 18px 0 0 !important;
    transform:none !important;
  }
  body:not(.platform-page) .hero-cap-shade{
    display:block !important;
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    height:330px !important;
    background:linear-gradient(180deg,rgba(12,36,27,.18) 0%,rgba(12,36,27,.32) 52%,rgba(12,36,27,.58) 100%) !important;
    pointer-events:none !important;
    border-radius:18px 18px 0 0 !important;
  }
  body:not(.platform-page) .hero-cap-content{
    position:static !important;
    display:block !important;
    min-height:0 !important;
    padding:0 !important;
    background:#fff !important;
    border-radius:0 0 18px 18px !important;
  }
  body:not(.platform-page) .hero-cap-top{
    display:block !important;
    width:100% !important;
  }
  body:not(.platform-page) .hero-cap-brand{
    position:absolute !important;
    left:14px !important;
    right:14px !important;
    bottom:86px !important;
    z-index:4 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:auto !important;
    max-width:none !important;
    padding:0 !important;
  }
  body:not(.platform-page) .hero-cap .logo-mark.logo-svg,
  body:not(.platform-page) .hero-cap .logo-svg{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    flex:0 0 58px !important;
    padding:2px !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    overflow:visible !important;
  }
  body:not(.platform-page) .hero-cap .logo-svg svg{
    overflow:visible !important;
  }
  body:not(.platform-page) .hero-cap .logo-text-straight{
    font-size:17px !important;
    fill:#082746 !important;
  }
  body:not(.platform-page) .hero-cap-brand p{
    margin:0 0 2px !important;
    color:#effff4 !important;
    font-size:11px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    text-shadow:0 2px 12px rgba(0,0,0,.38) !important;
  }
  body:not(.platform-page) .hero-cap-brand strong{
    display:block !important;
    color:#fff !important;
    font-size:21px !important;
    line-height:1.1 !important;
    text-shadow:0 3px 16px rgba(0,0,0,.42) !important;
  }
  body:not(.platform-page) .work-time{
    position:absolute !important;
    left:14px !important;
    right:auto !important;
    bottom:18px !important;
    z-index:4 !important;
    width:auto !important;
    max-width:calc(100% - 28px) !important;
    padding:8px 10px !important;
    border:0 !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.92) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.14) !important;
  }
  body:not(.platform-page) .work-time span{
    font-size:10px !important;
  }
  body:not(.platform-page) .work-time strong{
    font-size:12px !important;
  }
  body:not(.platform-page) .hero-cap-actions{
    position:static !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    width:100% !important;
    margin:0 !important;
    padding:12px !important;
    background:#fff !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:42px !important;
    padding:9px 8px !important;
    font-size:13px !important;
    line-height:1.1 !important;
    border-radius:12px !important;
    white-space:normal !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn:first-child{
    grid-column:1 / -1 !important;
  }
  body:not(.platform-page) .hero-content{
    margin-top:0 !important;
  }
  body:not(.platform-page) .hero-content h1{
    font-size:29px !important;
    line-height:1.08 !important;
  }
  body:not(.platform-page) .hero-text{
    font-size:15px !important;
    line-height:1.45 !important;
  }
}

/* Fix stretched mobile brand top */
@media (max-width:640px){
  body:not(.platform-page) .hero-cap-brand{
    top:auto !important;
    bottom:86px !important;
    height:auto !important;
    min-height:0 !important;
    align-items:center !important;
  }
  body:not(.platform-page) .hero-cap-brand > div{
    min-height:0 !important;
    height:auto !important;
  }
}

/* Lift mobile brand above actions */
@media (max-width:640px){
  body:not(.platform-page) .hero-cap-brand{
    top:auto !important;
    bottom:146px !important;
  }
  body:not(.platform-page) .work-time{
    top:auto !important;
    bottom:128px !important;
  }
}

/* iPhone work time no overlap */
@media (max-width:640px){
  body:not(.platform-page) .work-time{
    top:14px !important;
    right:14px !important;
    bottom:auto !important;
    left:auto !important;
    z-index:5 !important;
    max-width:150px !important;
    padding:7px 9px !important;
    text-align:left !important;
    background:rgba(255,255,255,.94) !important;
    border:0 !important;
    border-radius:12px !important;
    box-shadow:0 10px 24px rgba(0,0,0,.14) !important;
  }
  body:not(.platform-page) .work-time span{
    display:block !important;
    font-size:9px !important;
    line-height:1.05 !important;
  }
  body:not(.platform-page) .work-time strong{
    display:block !important;
    font-size:11px !important;
    line-height:1.12 !important;
    white-space:normal !important;
  }
  body:not(.platform-page) .hero-cap-brand{
    bottom:96px !important;
    padding-right:0 !important;
  }
}

/* iPhone final header positioning */
@media (max-width:640px){
  body:not(.platform-page) .hero-cap-photo{
    object-position:0% center !important;
  }
  body:not(.platform-page) .work-time{
    top:14px !important;
    left:14px !important;
    right:auto !important;
    bottom:auto !important;
    max-width:150px !important;
  }
  body:not(.platform-page) .hero-cap-brand{
    top:auto !important;
    bottom:132px !important;
    left:14px !important;
    right:14px !important;
    height:auto !important;
    min-height:0 !important;
    align-items:center !important;
  }
}

/* Admin stats six in one row */
body.platform-page[data-page="admin"] .stats-grid{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:12px !important;
}
body.platform-page[data-page="admin"] .stat-card{
  min-width:0 !important;
  padding:16px 12px !important;
  width:100%;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.platform-page[data-page="admin"] button.stat-card{
  appearance:none;
  border:1px solid #d8eadb;
}
body.platform-page[data-page="admin"] button.stat-card:hover{
  transform:translateY(-2px);
  border-color:#9fd8b6;
  box-shadow:0 22px 58px rgba(33,82,58,.16),inset 0 1px 0 rgba(255,255,255,.95);
}

/* Stable local video placeholder: no external video service is required for page loading. */
.video-placeholder{
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:22px;
  text-align:center;
  color:#426353;
  background:linear-gradient(135deg,#f5fbf2,#e4f5ea);
  border:1px solid #cfe4d1;
}
.video-placeholder strong{
  color:#193d2d;
  font-size:18px;
}
.video-placeholder span{
  max-width:520px;
  font-weight:800;
}

/* Admin teachers */
.teacher-add-form{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:10px;
  margin:14px 0;
}
.teacher-add-form input{
  min-width:0;
}
.teacher-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:13px 14px;
  background:#f7fbf5;
  border:1px solid #dcebdd;
  border-radius:13px;
}
.teacher-row span{
  display:grid;
  gap:2px;
  padding:0;
  border:0;
  background:transparent;
}
.teacher-row small{
  color:#63786c;
  font-weight:800;
}
.btn-danger{
  background:#fff1ed !important;
  color:#a73a25 !important;
  border-color:#f2c9bd !important;
}
.student-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.student-parent{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  margin-left:8px;
  color:#8a744a;
}
.student-parent b{
  color:#6d875e;
  font-size:12px;
  font-style:normal;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.student-parent em{
  color:#80623a;
  font-style:italic;
  font-weight:850;
}
.class-browser{
  display:grid;
  gap:14px;
  margin:14px 0 18px;
}
.class-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.class-tabs button{
  min-height:40px;
  padding:9px 14px;
  border:1px solid #cfe4d1;
  border-radius:999px;
  background:#fff;
  color:#27724f;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.class-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  margin-left:6px;
  padding:0 8px;
  border-radius:999px;
  background:#efe1c1;
  color:#6f541a;
  font-size:13px;
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.class-tabs button.active{
  background:#267e54;
  color:#fff;
  border-color:#267e54;
  box-shadow:0 10px 24px rgba(38,126,84,.18);
}
.class-tabs button.active .class-count,
.class-chip.active .class-count{
  background:#f3dfac;
  color:#593f09;
}
.teacher-records{
  display:grid;
  gap:10px;
}
.teacher-record{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid #dcebdd;
  border-radius:15px;
  background:linear-gradient(135deg,#fff,#f8fbf4);
  box-shadow:0 12px 28px rgba(33,82,58,.08);
}
.teacher-record strong{
  display:block;
  color:#193d2d;
}
.teacher-record span{
  display:block;
  margin-top:3px;
  color:#63786c;
  font-weight:800;
}
.teacher-record p{
  margin:7px 0 0;
  color:#60766a;
}
.class-student-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
}
.class-student-list button{
  display:grid;
  gap:4px;
  text-align:left;
  padding:14px;
  border:1px solid #dcebdd;
  border-radius:14px;
  background:linear-gradient(135deg,#ffffff,#f7fbf5);
  color:#193d2d;
  font:inherit;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(33,82,58,.08);
}
.class-student-list span{
  color:#63786c;
  font-weight:800;
}
.progress-table-wrap{
  width:100%;
  overflow-x:auto;
}
.progress-table{
  width:100%;
  min-width:760px;
  border-collapse:separate;
  border-spacing:0 8px;
}
.progress-table th{
  padding:8px 12px;
  color:#60766a;
  font-size:13px;
  text-align:left;
}
.progress-table td{
  padding:13px 12px;
  background:#f7fbf5;
  border-top:1px solid #dcebdd;
  border-bottom:1px solid #dcebdd;
  color:#294437;
  font-weight:800;
}
.progress-table td:first-child{
  border-left:1px solid #dcebdd;
  border-radius:13px 0 0 13px;
}
.progress-table td:last-child{
  border-right:1px solid #dcebdd;
  border-radius:0 13px 13px 0;
}
.progress-table tr.needs-work td{
  background:#fff0ed;
  border-color:#f1c8bd;
  color:#9e3521;
}
.grade-subject-editor{
  display:grid;
  gap:8px;
  margin:16px 0;
  padding:16px;
  border:1px solid #dcebdd;
  border-radius:16px;
  background:linear-gradient(135deg,#ffffff,#f4faf2);
}
.grade-subject-editor label{
  display:grid;
  gap:8px;
  color:#193d2d;
  font-weight:900;
}
.grade-subject-editor textarea{
  width:100%;
  min-height:112px;
  padding:13px;
  border:1px solid #cfe4d1;
  border-radius:13px;
  background:#fff;
  color:#20352a;
  font:inherit;
  resize:vertical;
}
.grade-subject-editor p{
  margin:0;
  color:#63786c;
  font-weight:800;
}
.payment-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.payment-qr-card,
.payment-qr{
  display:grid;
  place-items:center;
  gap:8px;
  padding:14px;
  border:1px solid #dcebdd;
  border-radius:16px;
  background:#fff;
  box-shadow:0 14px 34px rgba(33,82,58,.1);
}
.payment-qr-card img,
.payment-qr img{
  width:min(210px,100%);
  aspect-ratio:1;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
}
.payment-qr{
  margin:0;
  flex:0 0 230px;
}
.payment-qr figcaption{
  max-width:210px;
  color:#63786c;
  font-size:13px;
  font-weight:800;
  text-align:center;
}
.qr-admin-preview{
  display:grid;
  gap:8px;
}
.payment-admin-note{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border:1px solid #dcebdd;
  border-radius:13px;
  background:linear-gradient(135deg,#ffffff,#f4faf2);
}
.payment-admin-note span{
  color:#4f675b;
  font-weight:800;
}
.payment-admin-note small{
  color:#6c8075;
  font-weight:700;
}
.class-content-form{
  margin-bottom:16px;
}
.content-admin-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:13px 14px;
  background:#f7fbf5;
  border:1px solid #dcebdd;
  border-radius:13px;
}
.content-admin-item span{
  display:grid;
  gap:3px;
  padding:0;
  background:transparent;
  border:0;
}
.content-admin-item small{
  color:#63786c;
  font-weight:800;
}
@media (max-width:760px){
  .teacher-add-form,
  .teacher-row{
    grid-template-columns:1fr;
  }
  .student-actions{
    display:grid;
  }
  .class-student-list{
    grid-template-columns:1fr;
  }
  .content-admin-item{
    grid-template-columns:1fr;
  }
  .payment-actions{
    justify-content:stretch;
  }
  .payment-qr{
    flex:1 1 100%;
  }
  .payment-actions .btn{
    flex:1 1 160px;
  }
}
body.platform-page[data-page="admin"] .stat-card strong{
  font-size:30px !important;
}
body.platform-page[data-page="admin"] .stat-card span{
  display:block !important;
  font-size:13px !important;
  line-height:1.18 !important;
  overflow-wrap:anywhere !important;
}
@media (max-width:1100px){
  body.platform-page[data-page="admin"] .stats-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:640px){
  body.platform-page[data-page="admin"] .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Real logo everywhere final */
.logo .logo-mark.logo-svg,
.platform-brand .logo-mark.logo-svg,
.real-platform-logo .logo-mark.logo-svg{
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  min-height:68px !important;
  max-width:68px !important;
  max-height:68px !important;
  flex:0 0 68px !important;
  padding:3px !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:visible !important;
}
.logo .logo-svg svg,
.platform-brand .logo-svg svg,
.real-platform-logo .logo-svg svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
  overflow:visible !important;
}
.real-platform-logo{
  width:auto !important;
  height:auto !important;
  margin-bottom:18px !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}
.logo .logo-text-straight,
.platform-brand .logo-text-straight,
.real-platform-logo .logo-text-straight{
  fill:#082746 !important;
  font-size:18px !important;
  font-weight:900 !important;
}
@media (max-width:640px){
  .logo .logo-mark.logo-svg,
  .platform-brand .logo-mark.logo-svg,
  .real-platform-logo .logo-mark.logo-svg{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    flex-basis:58px !important;
  }
  .logo .logo-text-straight,
  .platform-brand .logo-text-straight,
  .real-platform-logo .logo-text-straight{
    font-size:17px !important;
  }
}

/* Admin mobile nav one row */
@media (max-width:640px){
  body.platform-page[data-page="admin"] .platform-header nav{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
  }
  body.platform-page[data-page="admin"] .platform-header nav .user-chip{
    grid-column:1 / -1 !important;
  }
  body.platform-page[data-page="admin"] .platform-header nav a{
    min-width:0 !important;
    width:100% !important;
    padding:9px 5px !important;
    font-size:12px !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
  body.platform-page[data-page="admin"] .platform-header nav .logout-btn{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
  }
}

/* Class schedule editor */
.schedule-class-picker{
  display:grid;
  grid-template-columns:minmax(220px,320px) 1fr;
  gap:14px;
  align-items:end;
  padding:14px;
  margin-bottom:6px;
  background:linear-gradient(180deg,#ffffff,#f2fbf4);
  border:1px solid #d8eadb;
  border-radius:16px;
}
.schedule-class-picker label{
  display:grid;
  gap:6px;
  color:#63786c;
  font-weight:900;
}
.schedule-class-picker select{
  min-height:44px;
  padding:10px 12px;
  border:1px solid #cfe4d1;
  border-radius:12px;
  background:#fff;
  font:inherit;
  font-weight:900;
}
.schedule-class-picker p{
  margin:0;
  color:#63786c;
  font-weight:800;
  line-height:1.35;
}
@media (max-width:760px){
  .schedule-class-picker{
    grid-template-columns:1fr;
  }
}

/* Six lessons per day schedule */
.schedule-days-editor{
  display:grid;
  gap:12px;
}
.schedule-day-row{
  margin:0;
  padding:12px;
  border:1px solid rgba(38,126,84,.18);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#f7fbf6);
  box-shadow:0 12px 26px rgba(24,68,44,.08);
}
.schedule-day-row legend{
  padding:0 10px;
  color:#17412c;
  font-size:18px;
  font-weight:950;
}
.lesson-editor-list{
  display:grid;
  gap:8px;
}
.lesson-edit-row{
  display:grid;
  grid-template-columns:74px minmax(92px,.7fr) minmax(160px,1.4fr) minmax(130px,1fr);
  gap:8px;
  align-items:end;
}
.lesson-edit-row > span{
  align-self:center;
  color:#267e54;
  font-weight:950;
  white-space:nowrap;
}
.lesson-edit-row label{
  display:grid;
  gap:4px;
  color:#63786c;
  font-size:12px;
  font-weight:900;
}
.lesson-edit-row input{
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #cfe4d1;
  border-radius:12px;
  background:#fff;
  color:#193d2d;
  font-weight:850;
}
.week-schedule .schedule-day-card{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  padding:12px;
}
.week-schedule .schedule-day-card ul{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}
.week-schedule .schedule-day-card li{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:3px 7px;
  align-items:start;
  padding:7px;
  border-radius:12px;
  background:rgba(255,255,255,.72);
}
.week-schedule .schedule-day-card li span{
  grid-row:span 2;
  font-size:12px;
}
.week-schedule .schedule-day-card li strong{
  font-size:12px;
}
.week-schedule .schedule-day-card li small{
  font-size:11px;
}
.week-schedule .empty-lesson{
  grid-template-columns:1fr !important;
}
@media (max-width:900px){
  .lesson-edit-row{
    grid-template-columns:64px 92px minmax(0,1fr);
  }
  .lesson-edit-row label:last-child{
    grid-column:2 / -1;
  }
}
@media (max-width:640px){
  .lesson-edit-row{
    grid-template-columns:1fr 1fr;
  }
  .lesson-edit-row > span{
    grid-column:1 / -1;
  }
  .lesson-edit-row label:last-child{
    grid-column:auto;
  }
  .week-schedule .schedule-day-card li{
    grid-template-columns:54px minmax(0,1fr) !important;
  }
}

/* Flexible day schedule editor */
.schedule-day-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.schedule-day-tabs button{
  min-height:42px;
  padding:9px 15px;
  border:1px solid rgba(38,126,84,.22);
  border-radius:999px;
  background:#fff;
  color:#17412c;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(24,68,44,.06);
}
.schedule-day-tabs button.active{
  background:#267e54;
  color:#fff;
  border-color:#267e54;
}
.schedule-current-day{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(38,126,84,.16);
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#f7fbf6);
  box-shadow:0 16px 34px rgba(24,68,44,.08);
}
.schedule-current-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.schedule-current-head span{
  display:block;
  color:#63786c;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.schedule-current-head strong{
  display:block;
  color:#17412c;
  font-size:20px;
  font-weight:950;
}
.compact-action{
  min-height:42px;
  padding:10px 14px;
  white-space:nowrap;
}
.day-lessons-editor{
  display:grid;
  gap:10px;
}
.lesson-card-editor{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(38,126,84,.14);
  border-radius:16px;
  background:rgba(255,255,255,.86);
}
.lesson-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.lesson-card-top strong{
  color:#17412c;
  font-size:16px;
  font-weight:950;
}
.lesson-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.lesson-card-actions button{
  min-height:32px;
  padding:6px 9px;
  border:1px solid rgba(38,126,84,.18);
  border-radius:10px;
  background:#fff;
  color:#267e54;
  font-weight:900;
  cursor:pointer;
}
.lesson-card-actions button:disabled{
  opacity:.42;
  cursor:not-allowed;
}
.lesson-fields-grid{
  display:grid;
  grid-template-columns:minmax(110px,.75fr) minmax(170px,1.3fr) minmax(170px,1.2fr) minmax(150px,1fr) minmax(150px,1fr);
  gap:8px;
}
.lesson-fields-grid label{
  display:grid;
  gap:4px;
  color:#63786c;
  font-size:12px;
  font-weight:900;
}
.lesson-fields-grid input{
  width:100%;
  min-height:40px;
  padding:9px 10px;
  border:1px solid #cfe4d1;
  border-radius:12px;
  background:#fff;
  color:#193d2d;
  font-weight:850;
}
@media (max-width:980px){
  .lesson-fields-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  .schedule-current-head,
  .lesson-card-top{
    align-items:stretch;
    flex-direction:column;
  }
  .schedule-day-tabs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
  }
  .schedule-day-tabs button{
    min-width:0;
    padding:9px 8px;
  }
  .lesson-fields-grid{
    grid-template-columns:1fr;
  }
}

/* Clear schedule order hint */
.schedule-order-hint{
  margin:0;
  padding:9px 11px;
  border-radius:12px;
  background:rgba(38,126,84,.08);
  color:#267e54;
  font-size:13px;
  font-weight:900;
}
.lesson-card-actions button[data-direction="up"],
.lesson-card-actions button[data-direction="down"]{
  min-width:92px;
}
@media (max-width:640px){
  .lesson-card-actions button[data-direction="up"],
  .lesson-card-actions button[data-direction="down"]{
    min-width:0;
    flex:1 1 120px;
  }
}

/* Compact parent cabinet schedule */
.cabinet-grid .platform-panel:has(#cabinetSchedule){
  overflow:hidden;
}
.week-schedule{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
  gap:10px !important;
  overflow:visible !important;
  align-items:start !important;
}
.week-schedule .schedule-day-card{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  min-width:0 !important;
  padding:12px !important;
  border:1px solid rgba(38,126,84,.14) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff,#f7fbf6) !important;
  box-shadow:0 10px 22px rgba(24,68,44,.07) !important;
  overflow:hidden !important;
}
.week-schedule .schedule-day-card b{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  height:30px !important;
  border-radius:999px !important;
  background:#267e54 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:950 !important;
}
.week-schedule .schedule-day-card ul{
  display:grid !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.week-schedule .schedule-day-card li{
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:start !important;
  padding:8px !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(38,126,84,.09) !important;
}
.week-schedule .schedule-day-card li > span{
  grid-row:auto !important;
  min-width:0 !important;
  color:#267e54 !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
}
.week-schedule .schedule-day-card li > div{
  display:grid !important;
  gap:5px !important;
  min-width:0 !important;
}
.week-schedule .schedule-day-card strong{
  display:block !important;
  min-width:0 !important;
  color:#193d2d !important;
  font-size:13px !important;
  line-height:1.18 !important;
  font-weight:950 !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:none !important;
}
.week-schedule .schedule-day-card small{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:4px !important;
  min-width:0 !important;
  color:#63786c !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
.week-schedule .schedule-day-card small em{
  max-width:100% !important;
  padding:3px 6px !important;
  border-radius:999px !important;
  background:rgba(38,126,84,.08) !important;
  color:#486658 !important;
  font-style:normal !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.week-schedule .empty-lesson{
  grid-template-columns:1fr !important;
}
@media (max-width:760px){
  .week-schedule{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .week-schedule .schedule-day-card{
    padding:10px !important;
  }
  .week-schedule .schedule-day-card li{
    grid-template-columns:54px minmax(0,1fr) !important;
    padding:7px !important;
  }
}

/* Payment notice in personal cabinet */
.payment-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:18px 0;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(38,126,84,.16);
  background:#fff;
  box-shadow:0 18px 38px rgba(24,68,44,.09);
}
.payment-notice span{
  display:block;
  margin-bottom:4px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.payment-notice strong{
  display:block;
  color:#173d2b;
  font-size:20px;
  font-weight:950;
}
.payment-notice p{
  max-width:760px;
  margin:5px 0 0;
  color:#486658;
  font-weight:800;
  line-height:1.45;
}
.payment-notice.good{
  background:linear-gradient(135deg,#f7fbf6,#ffffff);
  border-color:rgba(38,126,84,.18);
}
.payment-notice.good span{color:#267e54;}
.payment-notice.warning{
  background:linear-gradient(135deg,#fff9eb,#ffffff);
  border-color:rgba(222,145,42,.28);
}
.payment-notice.warning span{color:#b8660f;}
.payment-notice.danger{
  background:linear-gradient(135deg,#fff1ee,#ffffff);
  border-color:rgba(206,71,54,.28);
}
.payment-notice.danger span{color:#bd3e30;}
@media (max-width:760px){
  .payment-notice{
    align-items:stretch;
    flex-direction:column;
    padding:14px;
  }
  .payment-notice strong{
    font-size:18px;
  }
  .payment-notice .btn{
    width:100%;
  }
}

/* Uploaded learning materials */
.material-preview{
  display:grid;
  gap:7px;
  margin:6px 0 0;
  padding:8px;
  border:1px solid rgba(38,126,84,.12);
  border-radius:14px;
  background:#f7fbf6;
}
.material-preview img,
.material-preview video{
  width:100%;
  max-height:260px;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
}
.material-preview figcaption,
.material-preview small{
  color:#63786c;
  font-size:12px;
  font-weight:800;
}
.platform-form input[type="file"]{
  padding:10px;
  background:#f8fcf7;
}

/* Clear upload guidance for teachers */
.upload-guide{
  display:grid;
  gap:5px;
  padding:13px 14px;
  border:1px solid rgba(38,126,84,.16);
  border-radius:16px;
  background:linear-gradient(135deg,#f7fbf6,#fff);
  color:#486658;
}
.upload-guide strong{
  color:#17412c;
  font-size:15px;
  font-weight:950;
}
.upload-guide span,
.platform-form label small{
  color:#63786c;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}
.platform-form label small.file-ok{
  color:#267e54;
}
.platform-form label small.file-warning{
  color:#b8660f;
}

/* Premium payment wording polish */
.payment-admin-info.danger,
.payment-item.danger,
.payment-notice.danger{
  border-color:rgba(191,111,52,.22) !important;
  background:linear-gradient(135deg,#fff8f0,#ffffff) !important;
}
.status-badge.danger{
  background:#fff1df !important;
  color:#8a4b16 !important;
}
.payment-notice.danger span,
.payment-admin-info.danger,
.payment-item.danger small{
  color:#8a4b16 !important;
}
.payment-notice.danger strong{
  color:#173d2b !important;
}

/* Desktop compact one-line block titles */
@media (min-width:901px){
  body:not(.platform-page) .section-head h2,
  body:not(.platform-page) .info-card h3,
  body:not(.platform-page) .feature-card h3,
  body:not(.platform-page) .course-card h3,
  body:not(.platform-page) .trust-list strong,
  body:not(.platform-page) .portfolio-card h3,
  body:not(.platform-page) .review-card strong,
  .platform-page .platform-panel h2,
  .platform-page .student-main h3,
  .platform-page .report-card h3,
  .platform-page .compact-card strong,
  .platform-page .archive-card strong,
  .platform-page .stat-card span,
  .platform-page .payment-item strong{
    display:block !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }
  body:not(.platform-page) .info-card h3,
  body:not(.platform-page) .feature-card h3{
    font-size:clamp(17px,1.35vw,20px) !important;
    line-height:1.18 !important;
  }
  body:not(.platform-page) .course-card h3{
    font-size:clamp(18px,1.45vw,21px) !important;
    line-height:1.18 !important;
  }
  .platform-page .platform-panel h2{
    font-size:clamp(22px,2vw,30px) !important;
    line-height:1.16 !important;
  }
  .platform-page .panel-head > div,
  .platform-page .student-main > div,
  .platform-page .compact-card,
  .platform-page .archive-card div{
    min-width:0 !important;
  }
}

/* Desktop hero photo layout: work time top-left, brand and actions bottom */
@media (min-width:1025px){
  body:not(.platform-page) .hero-cap{
    position:relative !important;
    overflow:hidden !important;
  }
  body:not(.platform-page) .hero-cap-content{
    position:absolute !important;
    inset:0 !important;
    z-index:4 !important;
    display:block !important;
    min-height:0 !important;
    padding:28px !important;
    pointer-events:none !important;
  }
  body:not(.platform-page) .hero-cap-top{
    display:block !important;
    width:100% !important;
  }
  body:not(.platform-page) .work-time{
    position:absolute !important;
    top:24px !important;
    left:24px !important;
    right:auto !important;
    bottom:auto !important;
    width:auto !important;
    max-width:230px !important;
    margin:0 !important;
    padding:10px 13px !important;
    border:1px solid rgba(255,255,255,.58) !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.82) !important;
    box-shadow:0 14px 32px rgba(24,68,44,.14) !important;
    backdrop-filter:blur(12px) !important;
    pointer-events:auto !important;
  }
  body:not(.platform-page) .work-time span{
    display:block !important;
    color:#486658 !important;
    font-size:10px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
  }
  body:not(.platform-page) .work-time strong{
    display:block !important;
    color:#173d2b !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
    white-space:nowrap !important;
  }
  body:not(.platform-page) .hero-cap-brand{
    position:absolute !important;
    left:28px !important;
    right:auto !important;
    top:auto !important;
    bottom:28px !important;
    width:auto !important;
    max-width:calc(100% - 292px) !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    margin:0 !important;
    padding:12px 14px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.82) !important;
    box-shadow:0 18px 42px rgba(24,68,44,.16) !important;
    backdrop-filter:blur(14px) !important;
    pointer-events:auto !important;
  }
  body:not(.platform-page) .hero-cap-brand p{
    margin:0 0 3px !important;
    color:#486658 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body:not(.platform-page) .hero-cap-brand strong{
    display:block !important;
    color:#173d2b !important;
    font-size:22px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body:not(.platform-page) .hero-cap .logo-mark.logo-svg,
  body:not(.platform-page) .hero-cap .logo-svg{
    width:82px !important;
    height:82px !important;
    min-width:82px !important;
    padding:2px !important;
  }
  body:not(.platform-page) .hero-cap-actions{
    position:absolute !important;
    right:28px !important;
    bottom:28px !important;
    left:auto !important;
    top:auto !important;
    z-index:6 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:240px !important;
    max-width:36% !important;
    margin:0 !important;
    pointer-events:auto !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    padding:10px 14px !important;
    border-radius:14px !important;
    font-size:14px !important;
    line-height:1.1 !important;
  }
}

/* Desktop hero correction: keep original button flow and text sizes */
@media (min-width:1025px){
  body:not(.platform-page) .hero-cap-brand p{
    font-size:inherit !important;
    line-height:inherit !important;
  }
  body:not(.platform-page) .hero-cap-brand strong{
    font-size:inherit !important;
    line-height:inherit !important;
  }
  body:not(.platform-page) .hero-cap-actions{
    right:auto !important;
    left:28px !important;
    bottom:28px !important;
    width:auto !important;
    max-width:calc(100% - 56px) !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn{
    width:auto !important;
    min-width:150px !important;
    min-height:50px !important;
    padding:14px 22px !important;
    border-radius:var(--radius) !important;
    font-size:inherit !important;
    line-height:inherit !important;
  }
  body:not(.platform-page) .hero-cap-brand{
    bottom:98px !important;
    max-width:calc(100% - 56px) !important;
  }
}

/* Desktop hero final: position only, no white plates, no text resizing */
@media (min-width:1025px){
  body:not(.platform-page) .hero-cap-content{
    position:absolute !important;
    inset:0 !important;
    padding:28px !important;
  }
  body:not(.platform-page) .work-time{
    position:absolute !important;
    top:24px !important;
    left:24px !important;
    right:auto !important;
    bottom:auto !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    padding:0 !important;
    max-width:none !important;
  }
  body:not(.platform-page) .hero-cap-brand{
    position:absolute !important;
    left:28px !important;
    right:auto !important;
    top:auto !important;
    bottom:96px !important;
    width:auto !important;
    max-width:calc(100% - 56px) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    padding:0 !important;
  }
  body:not(.platform-page) .hero-cap-brand p,
  body:not(.platform-page) .hero-cap-brand strong{
    font-size:revert !important;
    line-height:revert !important;
  }
  body:not(.platform-page) .hero-cap-actions{
    position:absolute !important;
    left:28px !important;
    right:auto !important;
    bottom:28px !important;
    top:auto !important;
    width:auto !important;
    max-width:calc(100% - 56px) !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
  }
  body:not(.platform-page) .hero-cap-actions .btn{
    width:auto !important;
    min-width:150px !important;
    min-height:50px !important;
    padding:14px 22px !important;
    font-size:inherit !important;
    line-height:inherit !important;
    border-radius:var(--radius) !important;
  }
}

/* Desktop hero photo main title larger */
@media (min-width:1025px){
  body:not(.platform-page) .hero-cap-brand strong{
    font-size:clamp(24px,2.15vw,34px) !important;
    line-height:1.05 !important;
  }
}

/* Responsive quality pass: keep meaning readable on all screens */
@media (min-width:901px){
  body:not(.platform-page) .section-head h2{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:900px !important;
  }
}

@media (min-width:1025px){
  body:not(.platform-page) .hero-cap-shade{
    background:
      linear-gradient(180deg,rgba(10,34,25,.10) 0%,rgba(10,34,25,.08) 42%,rgba(10,34,25,.66) 100%),
      linear-gradient(90deg,rgba(10,34,25,.34) 0%,rgba(10,34,25,.16) 48%,rgba(10,34,25,.04) 100%) !important;
  }
  body:not(.platform-page) .hero-cap-brand p,
  body:not(.platform-page) .hero-cap-brand strong,
  body:not(.platform-page) .work-time span,
  body:not(.platform-page) .work-time strong{
    text-shadow:0 2px 14px rgba(0,0,0,.42) !important;
  }
  body:not(.platform-page) .hero-cap-brand p,
  body:not(.platform-page) .work-time span{
    color:#f0fff6 !important;
  }
  body:not(.platform-page) .hero-cap-brand strong,
  body:not(.platform-page) .work-time strong{
    color:#ffffff !important;
  }
}

@media (max-width:640px){
  body:not(.platform-page) .hero-cap-brand p,
  body:not(.platform-page) .hero-cap-brand strong,
  body:not(.platform-page) .work-time span,
  body:not(.platform-page) .work-time strong{
    text-wrap:balance;
  }
  body.platform-page .platform-brand,
  body.platform-page .platform-header nav,
  body.platform-page .panel-head,
  body.platform-page .student-main,
  body.platform-page .schedule-day-card,
  body.platform-page .payment-notice{
    max-width:100%;
    min-width:0;
  }
}

/* Center key commercial section headings */
#benefits .section-head,
#courses .section-head,
#reviews .section-head{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

#benefits .section-head .eyebrow,
#courses .section-head .eyebrow,
#reviews .section-head .eyebrow{
  justify-content:center !important;
}

#benefits .section-head .eyebrow:before,
#courses .section-head .eyebrow:before,
#reviews .section-head .eyebrow:before{
  margin-left:0 !important;
}

/* Force center alignment for the two main commercial headings */
#benefits .section-head,
#courses .section-head{
  display:block !important;
  width:min(900px,100%) !important;
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

#benefits .section-head h2,
#courses .section-head h2{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

#reviews .section-head{
  display:block !important;
  width:min(900px,100%) !important;
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

#reviews .section-head h2{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Keep the main header brand in one line on small laptops */
@media (min-width:821px) and (max-width:1180px){
  body:not(.platform-page) .site-header{
    gap:14px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  body:not(.platform-page) .logo{
    min-width:0 !important;
    flex:0 0 auto !important;
  }
  body:not(.platform-page) .logo > span:last-child{
    min-width:max-content !important;
  }
  body:not(.platform-page) .logo strong{
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:clamp(15px,1.45vw,17px) !important;
  }
  body:not(.platform-page) .nav{
    gap:4px !important;
    font-size:14px !important;
  }
  body:not(.platform-page) .nav a{
    padding:9px 8px !important;
  }
}

/* Admin generated access credentials */
#studentAdded{
  display:grid;
  gap:7px;
  margin-top:6px;
  padding:0;
}

#studentAdded:not(:empty){
  padding:14px;
  color:#234334;
  background:linear-gradient(135deg,#f3fbf1,#ffffff);
  border:1px solid rgba(38,126,84,.2);
  border-radius:14px;
}

#studentAdded span{
  display:block;
}

#studentAdded b{
  color:#0b2f52;
}

#studentAdded small{
  color:#60766a;
  font-weight:800;
}


/* teacher-cabinet-polish-2 */
.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.teacher-current-target{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #d8eadb;
  border-radius:14px;
  background:linear-gradient(135deg,#ffffff,#f3faf1);
  color:#63786c;
  font-weight:800;
}
.teacher-current-target strong{
  color:#193d2d;
  font-size:18px;
}
.teacher-current-target span{
  color:#4f675b;
}
.teacher-class-student-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:10px;
}
.class-student-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  padding:8px;
  border:1px solid #dcebdd;
  border-radius:16px;
  background:#fff;
  box-shadow:0 14px 28px rgba(33,82,58,.08);
}
.class-student-item button{
  min-width:0;
  text-align:left;
}
.class-student-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:12px;
  background:#193d2d;
  color:#fff;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.compact-homework-form{
  max-width:820px;
}
.compact-class-browser .class-tabs,
.homework-class-tabs{
  gap:8px;
}
.compact-class-browser .class-tabs button,
.homework-class-tabs button{
  min-height:38px;
  padding:8px 12px;
}
.homework-by-subject{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  width:100%;
}
.homework-subject-card{
  padding:14px;
  border:1px solid #dcebdd;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#f7fbf5);
  box-shadow:0 14px 30px rgba(33,82,58,.08);
}
.homework-subject-card > strong{
  display:block;
  color:#193d2d;
  font-size:18px;
  margin-bottom:8px;
}
.homework-subject-card ul{
  display:grid;
  gap:8px;
  padding:0;
  margin:0;
  list-style:none;
}
.homework-subject-card li{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e4efe4;
}
.homework-subject-card span{
  color:#7b8b81;
  font-size:12px;
  font-weight:900;
}
.homework-subject-card b{
  color:#193d2d;
}
.homework-subject-card p{
  margin:0;
  color:#4f675b;
  font-weight:800;
}
.homework-subject-card a{
  color:#267e54;
  font-weight:900;
}
.progress-year-table{
  min-width:980px;
}
.progress-year-table th,
.progress-year-table td{
  text-align:center;
  white-space:normal;
}
.progress-year-table th:first-child,
.progress-year-table td:first-child,
.progress-year-table th:last-child,
.progress-year-table td:last-child{
  text-align:left;
}
.progress-year-table td:last-child{
  min-width:190px;
  font-size:13px;
  line-height:1.25;
}
.year-grade{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:30px;
  padding:4px 7px;
  border-radius:999px;
  background:#e9f8ee;
  color:#1e724a;
  font-weight:950;
}
.year-grade.empty{
  background:#f1f5f1;
  color:#8a9a90;
}
.year-grade.bad{
  background:#ffe3dc;
  color:#a63420;
}
@media (max-width:760px){
  .teacher-class-student-list{
    grid-template-columns:1fr;
  }
  .class-student-item{
    grid-template-columns:1fr;
  }
  .class-student-link{
    width:100%;
  }
  .homework-by-subject{
    grid-template-columns:1fr;
  }
  .progress-year-table{
    min-width:840px;
  }
  .teacher-current-target{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* teacher-workflow-1 */
.teacher-today-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
}
.today-lesson-card{
  display:grid;
  gap:7px;
  padding:16px;
  border:1px solid #dcebdd;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#f7fbf5);
  box-shadow:0 16px 34px rgba(33,82,58,.09);
}
.today-lesson-card span{
  color:#267e54;
  font-size:20px;
  font-weight:950;
}
.today-lesson-card strong{
  color:#193d2d;
  font-size:18px;
}
.today-lesson-card small{
  color:#60766a;
  font-weight:800;
}
.journal-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
  justify-content:space-between;
  margin:14px 0;
  padding:12px 14px;
  border:1px solid #dcebdd;
  border-radius:14px;
  background:#f7fbf5;
}
.journal-tools strong{
  color:#193d2d;
  font-size:18px;
}
.journal-tools span{
  color:#60766a;
  font-weight:800;
}
.teacher-journal-table{
  min-width:900px;
}
.teacher-journal-table td:first-child{
  min-width:220px;
}
.teacher-journal-table td:first-child strong,
.teacher-journal-table td:first-child small{
  display:block;
}
.teacher-journal-table td:first-child small{
  color:#7a8d82;
  font-size:12px;
  margin-top:3px;
}
.journal-grade{
  display:inline-flex;
  min-width:34px;
  min-height:30px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e9f8ee;
  color:#1e724a;
  font-weight:950;
}
.journal-grade.bad{
  background:#ffe3dc;
  color:#a63420;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.status-pill.good{
  background:#e9f8ee;
  color:#1e724a;
}
.status-pill.warning{
  background:#fff4d8;
  color:#8a5b07;
}
.status-pill.danger{
  background:#ffe3dc;
  color:#a63420;
}
.record-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

/* teacher-workflow-polish-3 */
.teacher-workflow-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(145px,1fr));
  gap:8px;
  margin:0 0 12px;
  width:100%;
}
.teacher-workflow-strip span{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:50px;
  padding:9px 11px;
  border:1px solid #d7ead9;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f6fbf4);
  color:#456556;
  font-size:13px;
  font-weight:900;
  line-height:1.2;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}
.teacher-workflow-strip b{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  background:#2f9a66;
  color:#fff;
  font-size:12px;
}
.journal-filter-row-premium{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto auto;
  gap:10px;
  align-items:end;
  padding:12px;
  border:1px solid #dcebdd;
  border-radius:14px;
  background:#fbfef9;
}
.journal-filter-row-premium label{
  display:grid;
  gap:5px;
  color:#60766a;
  font-size:12px;
  font-weight:900;
}
.journal-mini-stats{
  display:flex;
  gap:8px;
  align-items:center;
  align-self:stretch;
}
.journal-mini-stats span{
  display:grid;
  place-items:center;
  min-width:86px;
  padding:7px 9px;
  border:1px solid #d7ead9;
  border-radius:12px;
  background:#fff;
  color:#60766a;
  font-size:12px;
  font-weight:900;
}
.journal-mini-stats b{
  display:block;
  color:#27724f;
  font-size:18px;
  line-height:1;
}
.class-journal-controls-compact{
  grid-template-columns:130px minmax(160px,.8fr) minmax(220px,1.1fr) minmax(260px,1.35fr) minmax(220px,1fr);
  gap:10px;
  align-items:end;
}
.class-journal-controls-compact textarea{
  min-height:46px;
  resize:vertical;
}
.class-journal-controls-compact input,
.class-journal-controls-compact select,
.class-journal-controls-compact textarea{
  padding:11px 12px;
}
.class-journal-table th,
.class-journal-table td{
  padding:9px 10px;
  vertical-align:middle;
}
.class-journal-table select,
.class-journal-table input{
  min-height:38px;
  padding:8px 10px;
  border-radius:10px;
}
.teacher-parent-notices textarea{
  width:100%;
  margin:10px 0;
  padding:12px;
  border:1px solid #d7ead9;
  border-radius:12px;
  background:#fff;
  color:#20352a;
  font:inherit;
}
.teacher-helper-note{
  display:block;
  width:100%;
  max-width:none;
  margin:10px 0 14px;
  padding:12px 14px;
  border:1px solid #d7ead9;
  border-radius:12px;
  background:#fbfef9;
  color:#456556;
  font-size:15px;
  font-weight:800;
  line-height:1.45;
  clear:both;
}
@media (min-width:1100px){
  .teacher-today-list .teacher-workflow-strip{
    grid-column:1/-1;
    grid-template-columns:repeat(4,minmax(170px,1fr));
  }
  .teacher-today-list .teacher-helper-note{
    grid-column:1/-1;
  }
}
@media (max-width:900px){
  .teacher-workflow-strip,
  .journal-filter-row-premium,
  .class-journal-controls-compact{
    grid-template-columns:1fr 1fr;
  }
  .journal-filter-row-premium .btn,
  .journal-wide-field{
    grid-column:1/-1;
  }
}
@media (max-width:560px){
  .teacher-workflow-strip,
  .journal-filter-row-premium,
  .class-journal-controls-compact{
    grid-template-columns:1fr;
  }
  .teacher-workflow-strip span{
    min-height:38px;
  }
}
@media (max-width:760px){
  .teacher-today-list{grid-template-columns:1fr;}
  .record-actions{justify-content:stretch;}
  .record-actions .btn{width:100%;}
}


/* safety-audit-1 */
.archive-admin-list,
.audit-list{
  display:grid;
  gap:10px;
}
.audit-tools{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(150px,220px) auto;
  gap:10px;
  align-items:center;
  margin:14px 0 16px;
}
.audit-tools input,
.audit-tools select{
  width:100%;
  min-height:46px;
  border:1px solid #dcebdd;
  border-radius:14px;
  background:#fbfdf8;
  color:#193d2d;
  font-weight:850;
  padding:0 14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.audit-tools input::placeholder{
  color:#7d9084;
}
.archive-admin-item,
.audit-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid #dcebdd;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#f7fbf5);
  box-shadow:0 14px 30px rgba(33,82,58,.08);
}
.archive-admin-item span,
.audit-item{
  min-width:0;
}
.archive-admin-item strong,
.audit-item strong{
  display:block;
  color:#193d2d;
}
.archive-admin-item small,
.audit-item span,
.audit-item small{
  display:block;
  color:#60766a;
  font-weight:800;
  line-height:1.35;
}
.audit-item{
  grid-template-columns:1fr;
}
@media (max-width:760px){
  .audit-tools{grid-template-columns:1fr;}
  .audit-tools .btn{width:100%;}
  .archive-admin-item{grid-template-columns:1fr;}
  .archive-admin-item .btn{width:100%;}
}


/* student-cabinet-compact-1 */
.compact-schedule-panel .week-schedule,
.compact-week-schedule{
  display:block;
  overflow-x:auto;
  padding:0;
}
.schedule-compact-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 6px;
}
.schedule-compact-table th,
.schedule-compact-table td{
  padding:9px 10px;
  border-top:1px solid #dcebdd;
  border-bottom:1px solid #dcebdd;
  background:#f7fbf5;
  vertical-align:top;
}
.schedule-compact-table th{
  width:54px;
  border-left:1px solid #dcebdd;
  border-radius:12px 0 0 12px;
  color:#267e54;
  font-size:16px;
  text-align:left;
}
.schedule-compact-table td{
  border-right:1px solid #dcebdd;
  border-radius:0 12px 12px 0;
}
.schedule-compact-table td span{
  display:inline-flex;
  gap:6px;
  align-items:baseline;
  margin:2px 10px 2px 0;
  color:#193d2d;
  font-weight:850;
  line-height:1.25;
}
.schedule-compact-table td small{
  color:#6c8075;
  font-weight:750;
}
.progress-lessons-table{
  min-width:980px;
}
.progress-lessons-table th,
.progress-lessons-table td{
  text-align:left;
  vertical-align:top;
}
.lesson-grade{
  display:grid;
  gap:2px;
  min-width:86px;
  padding:7px 8px;
  border-radius:12px;
  background:#e9f8ee;
  color:#1e724a;
  font-weight:900;
}
.lesson-grade b{
  font-size:16px;
}
.lesson-grade small,
.lesson-grade em{
  color:inherit;
  font-size:11px;
  font-style:normal;
  font-weight:800;
  line-height:1.15;
  opacity:.82;
}
.lesson-grade.empty{
  background:#f1f5f1;
  color:#8a9a90;
  place-items:center;
}
.lesson-grade.bad{
  background:#ffe3dc;
  color:#a63420;
}
@media (max-width:760px){
  .schedule-compact-table th{width:46px;}
  .schedule-compact-table td span{display:flex;margin-right:0;}
  .progress-lessons-table{min-width:860px;}
}


/* gradebook-grid-1 */
.progress-panel .progress-table-wrap{
  overflow:visible;
}
.gradebook-scroll{
  width:100%;
  max-height:560px;
  overflow:auto;
  border:1px solid #d4e6d6;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8), 0 18px 38px rgba(33,82,58,.08);
}
.gradebook-grid-table{
  width:max-content;
  min-width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.gradebook-grid-table th,
.gradebook-grid-table td{
  width:126px;
  min-width:126px;
  height:74px;
  padding:7px;
  border:1px solid #dcebdd;
  background:#fff;
  color:#294437;
  vertical-align:top;
}
.gradebook-grid-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  height:42px;
  background:#edf8ef;
  color:#1f6041;
  font-size:13px;
  font-weight:950;
  text-align:center;
}
.gradebook-grid-table .gradebook-sticky{
  position:sticky;
  left:0;
  z-index:4;
  width:170px;
  min-width:170px;
  background:#f7fbf5;
  box-shadow:8px 0 14px rgba(33,82,58,.06);
}
.gradebook-grid-table thead .gradebook-sticky{
  z-index:5;
  background:#dff3e5;
}
.gradebook-grid-table .subject-cell{
  color:#193d2d;
  font-size:14px;
  line-height:1.2;
}
.grid-grade{
  display:grid;
  gap:2px;
  min-height:58px;
  align-content:start;
  padding:6px 7px;
  border-radius:10px;
  background:#eef9f1;
  color:#1e724a;
  font-weight:900;
}
.grid-grade b{
  font-size:18px;
  line-height:1;
}
.grid-grade small,
.grid-grade em{
  color:inherit;
  font-size:11px;
  font-style:normal;
  font-weight:800;
  line-height:1.1;
  opacity:.82;
}
.grid-grade.empty{
  min-height:40px;
  place-items:center;
  background:#f3f6f3;
  color:#91a098;
}
.grid-grade.bad,
.gradebook-grid-table .cell-warning{
  background:#fff0ed;
  color:#a63420;
}
.gradebook-grid-table .repeat-cell{
  width:220px;
  min-width:220px;
  color:#4f675b;
  font-size:13px;
  font-weight:850;
  line-height:1.25;
}
.repeat-inline{
  display:inline-flex;
  margin-top:4px;
  padding:2px 6px;
  border-radius:999px;
  background:#fff1e6;
  color:#9a4f12;
  font-size:0.68rem;
  font-style:normal;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
}
@media (max-width:760px){
  .gradebook-scroll{max-height:480px;border-radius:14px;}
  .gradebook-grid-table th,
  .gradebook-grid-table td{width:112px;min-width:112px;height:68px;padding:6px;}
  .gradebook-grid-table .gradebook-sticky{width:132px;min-width:132px;}
  .gradebook-grid-table .repeat-cell{width:180px;min-width:180px;}
}


/* payment-receipt-1 */
.payment-receipt-panel{
  border-color:#cfe4d1;
  background:linear-gradient(135deg,#ffffff,#f7fbf5);
}
.payment-receipt-panel[hidden]{display:none!important;}
.payment-admin-note .quick-actions{
  justify-content:flex-start;
  margin-top:6px;
}


/* admin-journal-schedule-1 */
.admin-journal-panel .progress-table-wrap{
  max-height:520px;
  overflow:auto;
  border:1px solid #dcebdd;
  border-radius:16px;
  background:#fff;
}
.admin-journal-table{
  width:max-content;
  min-width:100%;
  border-collapse:collapse;
}
.admin-journal-table th,
.admin-journal-table td{
  padding:10px;
  border:1px solid #dcebdd;
  background:#fff;
  color:#294437;
  vertical-align:top;
}
.admin-journal-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#edf8ef;
  color:#1f6041;
  font-weight:950;
}
.admin-journal-form{
  margin:14px 0 18px;
  padding:14px;
  border:1px solid #dcebdd;
  border-radius:16px;
  background:#f7fbf5;
}
.schedule-grid-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}
.schedule-grid-table th,
.schedule-grid-table td{
  border:1px solid #dcebdd;
  padding:8px;
  vertical-align:top;
}
.schedule-grid-table th{
  width:54px;
  background:#edf8ef;
  color:#1f6041;
  font-size:16px;
  font-weight:950;
}
.schedule-grid-table td{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:6px;
  background:#fff;
}
.schedule-cell{
  display:grid;
  gap:2px;
  min-height:54px;
  padding:8px;
  border:1px solid #e3efe5;
  border-radius:10px;
  background:#f7fbf5;
}
.schedule-cell b{color:#267e54;font-size:15px;}
.schedule-cell strong{color:#193d2d;font-size:14px;line-height:1.15;}
.schedule-cell small{color:#6c8075;font-weight:800;line-height:1.15;}
@media (max-width:760px){
  .admin-journal-table{min-width:820px;}
  .schedule-grid-table td{grid-template-columns:1fr;}
}


/* gradebook-year-1 */
.gradebook-hint {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}
.gradebook-grid-table th:not(.gradebook-sticky) {
  min-width: 74px;
  text-align: center;
}
.gradebook-grid-table td:not(.gradebook-sticky) {
  min-width: 74px;
}
.gradebook-grid-table .grid-grade.empty {
  color: rgba(79, 101, 84, 0.42);
  background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(244,241,231,0.72));
}
@media (max-width: 720px) {
  .gradebook-hint { font-size: 0.84rem; }
  .gradebook-grid-table th:not(.gradebook-sticky),
  .gradebook-grid-table td:not(.gradebook-sticky) { min-width: 62px; }
}


/* teacher-class-journal-1 */
.teacher-helper-note {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.45;
}
.class-journal-editor { display: grid; gap: 16px; }
.class-journal-head { align-items: center; }
.class-journal-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
}
.class-journal-controls label { display: grid; gap: 6px; color: var(--muted); font-weight: 800; }
.class-journal-controls input,
.class-journal-controls select,
.class-journal-controls textarea,
.class-journal-table input,
.class-journal-table select {
  width: 100%;
  border: 1px solid rgba(47, 113, 80, 0.18);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.86);
  color: var(--text);
  font: inherit;
}
.class-journal-controls label:nth-child(4) { grid-column: span 2; }
.class-journal-table th,
.class-journal-table td { vertical-align: top; }
.class-journal-table th:nth-child(1) { min-width: 220px; }
.class-journal-table th:nth-child(4) { min-width: 220px; }
.journal-student-name small { display:block; margin-top:4px; color: var(--muted); font-style: italic; }
@media (max-width: 900px) {
  .class-journal-controls { grid-template-columns: 1fr; }
  .class-journal-controls label:nth-child(4) { grid-column: auto; }
}


/* teacher-journal-overview-1 */
.class-journal-overview { display: grid; gap: 12px; margin-top: 18px; }
.class-journal-overview-table th { min-width: 118px; vertical-align: top; }
.class-journal-overview-table th b,
.class-journal-overview-table th span,
.class-journal-overview-table th small { display: block; }
.class-journal-overview-table th small { color: var(--muted); font-weight: 700; max-width: 150px; white-space: normal; }
.journal-mark {
  display: inline-grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(47, 113, 80, 0.10);
  color: var(--deep-green);
  font-weight: 900;
}
.journal-mark.bad { background: rgba(194, 70, 54, 0.14); color: #a73327; }
.journal-mark.empty { background: rgba(79, 101, 84, 0.08); color: rgba(79, 101, 84, 0.45); }
@media (max-width: 720px) {
  .class-journal-overview-table th { min-width: 96px; }
  .journal-mark { min-width: 30px; height: 30px; border-radius: 10px; }
}


/* teacher-journal-homework-1 */
.homework-badge,
.homework-cell-badge {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 22px;
  margin-top: 5px;
  border-radius: 999px;
  background: rgba(229, 140, 55, 0.16);
  color: #9a5520;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
}
.homework-cell-badge {
  display: block;
  width: max-content;
  margin: 5px auto 0;
  min-width: 26px;
  height: 20px;
  font-size: 0.68rem;
}
.class-journal-overview-table td { text-align: center; }


/* teacher-journal-tools-1 */
.journal-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  margin: 4px 0 10px;
}
.journal-filter-row label {
  display: grid;
  gap: 5px;
  min-width: 180px;
  color: var(--muted);
  font-weight: 850;
}
.journal-filter-row select {
  border: 1px solid rgba(47, 113, 80, 0.18);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.9);
  color: var(--text);
  font: inherit;
}
.journal-lesson-edit {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: 0;
}
.journal-lesson-edit:hover span,
.journal-lesson-edit:hover small { color: var(--accent); }
.teacher-attention {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.teacher-attention ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.teacher-attention li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(194, 70, 54, 0.08);
  color: var(--text);
}
.teacher-attention li span { color: #9a352c; font-weight: 800; }
.teacher-parent-notices {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.teacher-parent-notices textarea {
  width: 100%;
  border: 1px solid rgba(47, 113, 80, 0.18);
  border-radius: 14px;
  padding: 12px;
  resize: vertical;
  font: inherit;
}
.class-journal-table th:nth-child(4) { min-width: 150px; }
@media (max-width: 720px) {
  .journal-filter-row { display: grid; grid-template-columns: 1fr; }
  .teacher-attention li { display: grid; }
}


.admin-preview-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  max-width:1180px;
  margin:18px auto 0;
  padding:14px 18px;
  border:1px solid rgba(64,125,88,.22);
  border-radius:18px;
  background:linear-gradient(135deg,#f6fff8,#fffaf0);
  box-shadow:0 18px 42px rgba(39,76,55,.12);
  color:#2c4436;
}
.admin-preview-banner strong{font-size:1rem;color:#214032;white-space:nowrap;}
.admin-preview-banner span{flex:1;color:#5e7166;font-weight:750;}
.admin-preview-banner .btn{min-height:38px;padding:9px 14px;}
@media (max-width:720px){.admin-preview-banner{margin:12px 12px 0;align-items:flex-start;flex-direction:column}.admin-preview-banner strong{white-space:normal}.admin-preview-banner .btn{width:100%;}}


/* cabinet-density-1 */
body.platform-page .platform-shell{
  padding-top:22px;
  padding-bottom:48px;
}
body.platform-page .platform-header{
  padding:10px 20px;
}
body.platform-page .platform-header nav a,
body.platform-page .logout-btn{
  min-height:38px;
  padding:8px 11px;
  border-radius:11px;
  font-size:.9rem;
}
body.platform-page .platform-brand{
  gap:10px;
}
body.platform-page .platform-brand .logo-svg{
  width:54px;
  height:54px;
}
body.platform-page .platform-brand strong{
  font-size:16px;
}
body.platform-page .platform-hero{
  min-height:0;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
  padding:18px 20px;
  border-radius:18px;
  box-shadow:0 18px 50px rgba(33,82,58,.11), inset 0 1px 0 rgba(255,255,255,.9);
}
body.platform-page .platform-hero h1{
  font-size:clamp(26px,3vw,38px);
  line-height:1.06;
}
body.platform-page .platform-hero p{
  margin-top:6px;
  margin-bottom:0;
  font-size:15px;
  line-height:1.35;
}
body.platform-page .student-summary{
  margin-top:8px;
}
body.platform-page .platform-panel{
  margin-bottom:12px;
  padding:16px;
  border-radius:16px;
  box-shadow:0 12px 32px rgba(33,82,58,.09), inset 0 1px 0 rgba(255,255,255,.9);
}
body.platform-page .platform-panel h2{
  margin:0 0 10px;
  font-size:clamp(20px,2vw,27px);
  line-height:1.12;
}
body.platform-page .eyebrow{
  margin-bottom:6px;
  font-size:.72rem;
}
body.platform-page .panel-head{
  align-items:center;
  margin-bottom:10px;
}
body.platform-page .platform-grid{
  gap:12px;
}
body.platform-page .platform-tabs{
  top:74px;
  isolation:isolate;
  pointer-events:auto;
  margin-bottom:12px;
  padding:7px;
  border-radius:16px;
  gap:6px;
}
body.platform-page .platform-tabs button{
  position:relative;
  z-index:2;
  pointer-events:auto;
  min-height:38px;
  padding:8px 12px;
  border-radius:12px;
  font-size:.92rem;
}
body.platform-page .platform-form{
  gap:10px;
}
body.platform-page .platform-form label{
  gap:5px;
  font-size:.9rem;
}
body.platform-page .platform-form input,
body.platform-page .platform-form select,
body.platform-page .platform-form textarea,
body.platform-page .admin-tools input,
body.platform-page .admin-tools select{
  min-height:40px;
  padding:10px 12px;
  border-radius:11px;
  font-size:.92rem;
}
body.platform-page .btn,
body.platform-page .section-more{
  min-height:38px;
  padding:9px 13px;
  border-radius:11px;
  font-size:.9rem;
}
body.platform-page .focus-panel{
  padding:14px;
}
body.platform-page .focus-grid{
  gap:8px;
}
body.platform-page .focus-grid article{
  min-height:0;
  padding:11px 12px;
  border-radius:13px;
}
body.platform-page .focus-grid span{
  font-size:.72rem;
}
body.platform-page .focus-grid strong{
  font-size:16px;
}
body.platform-page .focus-grid small{
  line-height:1.25;
}
.cabinet-secondary-grid{
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
  align-items:start;
}
body.platform-page .report-list,
body.platform-page .learning-content,
body.platform-page .student-list{
  gap:9px;
}
body.platform-page .report-card,
body.platform-page .compact-card,
body.platform-page .student-card{
  padding:12px;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(33,82,58,.08);
}
body.platform-page .report-card h3{
  margin:5px 0;
  font-size:1rem;
}
body.platform-page .report-card p,
body.platform-page .compact-card p{
  margin:4px 0;
  line-height:1.32;
}
body.platform-page .homework-by-subject{
  gap:8px;
}
body.platform-page .homework-subject-card{
  padding:10px 12px;
  border-radius:13px;
}
body.platform-page .homework-subject-card li{
  padding:8px 0;
}
body.platform-page .archive-intro{
  margin:0 0 10px;
  line-height:1.35;
}
body.platform-page .archive-tools{
  gap:8px;
  margin-bottom:10px;
}
body.platform-page .archive-tools input,
body.platform-page .archive-tools select{
  min-height:40px;
  padding:9px 11px;
  border-radius:11px;
}
body.platform-page .learning-panel .learning-tabs{
  margin:8px 0 10px;
}
body.platform-page .learning-tabs button,
body.platform-page .grade-buttons button,
body.platform-page .template-row button,
body.platform-page .review-toggle{
  min-height:34px;
  padding:7px 10px;
  border-radius:10px;
  font-size:.86rem;
}
body.platform-page .teacher-today-list{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:9px;
}
body.platform-page .today-lesson-card,
body.platform-page .teacher-record{
  padding:11px 12px;
  border-radius:13px;
}
body.platform-page .today-lesson-card span{
  font-size:16px;
}
body.platform-page .today-lesson-card strong{
  font-size:15px;
}
body.platform-page .teacher-record{
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}
body.platform-page .teacher-record p{
  margin:5px 0 0;
  line-height:1.3;
}
body.platform-page .journal-tools,
body.platform-page .class-journal-head{
  margin:8px 0;
  padding:9px 11px;
  border-radius:13px;
}
body.platform-page .class-journal-editor{
  gap:10px;
}
body.platform-page .class-journal-controls{
  grid-template-columns:1fr 1fr 1.2fr 1.5fr 1.2fr;
  gap:8px;
}
body.platform-page .class-journal-controls label:nth-child(4){
  grid-column:auto;
}
body.platform-page .class-journal-controls input,
body.platform-page .class-journal-controls select,
body.platform-page .class-journal-controls textarea,
body.platform-page .class-journal-table input,
body.platform-page .class-journal-table select{
  min-height:38px;
  padding:8px 10px;
  border-radius:10px;
}
body.platform-page .progress-table th,
body.platform-page .progress-table td,
body.platform-page .admin-journal-table th,
body.platform-page .admin-journal-table td{
  padding:7px 8px;
}
body.platform-page .gradebook-grid-table th,
body.platform-page .gradebook-grid-table td{
  width:104px;
  min-width:104px;
  height:58px;
  padding:5px;
}
body.platform-page .grid-grade{
  min-height:44px;
  padding:5px 6px;
  border-radius:9px;
}
body.platform-page .grid-grade b{
  font-size:16px;
}
body.platform-page .schedule-cell{
  min-height:46px;
  padding:6px 7px;
  border-radius:9px;
}
body.platform-page .schedule-grid-table th,
body.platform-page .schedule-grid-table td{
  padding:6px;
}
body.platform-page .schedule-grid-table td{
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
}
body.platform-page .student-meta{
  gap:8px;
  margin-top:10px;
}
body.platform-page .status-badge{
  min-height:26px;
  padding:5px 8px;
  font-size:12px;
}
@media (max-width:980px){
  body.platform-page .class-journal-controls,
  .cabinet-secondary-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  body.platform-page .platform-shell{padding:14px 10px 42px;}
  body.platform-page .platform-header{padding:10px 12px;}
  body.platform-page .platform-brand .logo-svg{width:48px;height:48px;}
  body.platform-page .platform-hero{
    grid-template-columns:1fr;
    padding:14px;
  }
  body.platform-page .platform-hero h1{font-size:24px;}
  body.platform-page .platform-panel{padding:12px;border-radius:14px;}
  body.platform-page .platform-tabs{
    top:0;
    position:relative;
  }
  body.platform-page .platform-tabs button{
    min-height:36px;
    padding:7px 10px;
    font-size:.84rem;
  }
  body.platform-page .teacher-record{
    grid-template-columns:1fr;
  }
  body.platform-page .record-actions{
    justify-content:stretch;
  }
  body.platform-page .record-actions .btn{
    width:auto;
    flex:1 1 140px;
  }
  body.platform-page .focus-grid{
    grid-template-columns:1fr;
  }
}
