@font-face{font-family:"Brandis Local";src:url("/uploads/letras/Brandis.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Mayeka Local";src:url("/uploads/letras/Mayeka%20Thin%20Demo.otf") format("opentype");font-style:normal;font-weight:100;font-display:swap;unicode-range:U+0000-002D,U+002F-10FFFF}
@font-face{font-family:"Mayeka Local";src:url("/uploads/letras/Mayeka_Light%20Demo.otf") format("opentype");font-style:normal;font-weight:300;font-display:swap;unicode-range:U+0000-002D,U+002F-10FFFF}
@font-face{font-family:"Mayeka Local";src:url("/uploads/letras/Mayeka%20Regular%20Demo.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-002D,U+002F-10FFFF}
@font-face{font-family:"Mayeka Local";src:url("/uploads/letras/Mayeka%20Demi%20Bold%20Demo.otf") format("opentype");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-002D,U+002F-10FFFF}
@font-face{font-family:"Mayeka Local";src:url("/uploads/letras/Mayeka%20Bold%20Demo.otf") format("opentype");font-style:normal;font-weight:700 900;font-display:swap;unicode-range:U+0000-002D,U+002F-10FFFF}

:root {
  --navy: #1B3A5C;
  --gold: #C9A96E;
  --blue-mid: #4A7A9B;
  --blue-light: #8BAFC7;
  --snow: #F5F7FA;
  --cool-white: #E8EDF2;
  --cream: #F5F7FA;
  --purple: #1B3A5C;
  --purple-dark: #1B3A5C;
  --purple-pale: #E8EDF2;
  --coral: #C9A96E;
  --ink: #1B3A5C;
  --muted: #607284;
  --line: #DDE5EB;
  --surface: #ffffff;
  --background: #F5F7FA;
  --shadow: 0 12px 35px rgba(27, 58, 92, .10);
  --font-primary: "Brandis Local", Georgia, serif;
  --font-secondary: "Mayeka Local", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--background); font-family: var(--font-secondary); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 244px; background: #fff; border-right: 1px solid var(--line); z-index: 20; padding: 30px 18px 22px; display: flex; flex-direction: column; transition: .25s ease; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 13px 30px; font-family: Manrope, sans-serif; font-size: 20px; font-weight: 700; letter-spacing: -.5px; }
.brand strong { color: var(--purple); }
.brand-mark { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; background: linear-gradient(145deg, var(--purple), #C99A45); box-shadow: 0 8px 18px rgba(109,59,245,.25); }
.brand-mark svg { width: 25px; fill: none; stroke: white; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.nav-label { margin: 5px 13px 10px; font-size: 10px; color: #aaaabb; font-weight: 800; letter-spacing: 1.5px; }
.nav-label-secondary { margin-top: 25px; }
.main-nav { display: flex; flex-direction: column; gap: 5px; }
.nav-item { min-height: 46px; border-radius: 11px; padding: 0 13px; display: flex; align-items: center; gap: 13px; color: #6f7080; font-weight: 600; font-size: 14px; transition: .18s; }
.nav-item:hover { color: var(--purple); background: #FBFAF7; transform: translateX(2px); }
.nav-item.active { color: var(--purple); background: var(--purple-pale); }
.nav-item [data-icon] { width: 20px; height: 20px; }
.nav-badge { margin-left: auto; background: var(--purple); color: #fff; border-radius: 20px; padding: 2px 7px; font-size: 10px; }
.notification-dot { margin-left: auto; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }
.sidebar-help { margin-top: auto; background: #F8F6F1; border: 1px solid #E8E1D3; border-radius: 14px; padding: 13px; display: flex; align-items: center; gap: 10px; }
.help-icon { color: var(--purple); background: #F0E8D9; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; font-weight: 800; }
.sidebar-help div { display: flex; flex-direction: column; flex: 1; }
.sidebar-help strong { font-size: 11px; }.sidebar-help small { font-size: 9px; color: var(--muted); margin-top: 2px; }.sidebar-help button { border: 0; background: none; color: var(--purple); font-size: 18px; }
.collapse-button { position: absolute; right: -12px; top: 92px; width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: white; color: #888; box-shadow: 0 3px 8px rgba(0,0,0,.05); }
.main-content { margin-left: 244px; min-height: 100vh; transition: .25s ease; }
.topbar { height: 77px; padding: 0 3.2vw; background: rgba(255,255,255,.95); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 18px; position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px); }
.topbar-title p { font-size: 10px; font-weight: 800; letter-spacing: 1.4px; color: #a3a4b2; white-space: nowrap; }
.search-box { width: min(360px, 34vw); height: 40px; margin-left: auto; display: flex; align-items: center; gap: 10px; background: #f7f7fa; border: 1px solid #efeff3; border-radius: 10px; padding: 0 12px; color: #999baa; }
.search-box [data-icon] { width: 17px; }.search-box input { border: 0; background: transparent; outline: 0; flex: 1; min-width: 0; font-size: 12px; color: var(--ink); }.search-box kbd { border: 1px solid #dddde5; border-radius: 5px; padding: 2px 5px; background: white; font: 9px sans-serif; }
.icon-button { border: 1px solid var(--line); border-radius: 10px; background: #fff; width: 40px; height: 40px; display: grid; place-items: center; position: relative; color: #636475; }.icon-button [data-icon] { width: 18px; }.notification-button b { position: absolute; top: -4px; right: -4px; width: 17px; height: 17px; background: var(--coral); color: white; display: grid; place-items: center; border-radius: 50%; font-size: 8px; border: 2px solid white; }
.profile-button { padding: 0; border: 0; background: transparent; display: flex; align-items: center; gap: 10px; color: #888; }.profile-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 76px; }.profile-copy strong { color: var(--ink); font-size: 12px; }.profile-copy small { font-size: 10px; margin-top: 2px; }.profile-button [data-icon] { width: 15px; }.avatar { border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #294F69, #17324D); font-weight: 800; }.avatar-main { width: 38px; height: 38px; font-size: 11px; border: 3px solid #EEE7DA; }
.mobile-menu { display: none; border: 0; background: none; color: var(--ink); }.mobile-menu span { width: 22px; }
.page { display: none; padding: 31px 3.2vw 50px; max-width: 1540px; margin: 0 auto; }.page.active { display: block; animation: fadeIn .3s ease; } @keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } }
.welcome-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.eyebrow { color: var(--purple); font-size: 10px; font-weight: 800; letter-spacing: 1.3px; margin: 0 0 7px; }.eyebrow span { margin-right: 4px; }.welcome-row h1 { margin: 0 0 6px; font-family: Manrope, sans-serif; font-size: 28px; letter-spacing: -.8px; }.welcome-row h1 span { font-size: 23px; }.welcome-row>div>p:last-child { margin: 0; color: var(--muted); font-size: 13px; }
.streak-card { background: white; border: 1px solid var(--line); border-radius: 13px; padding: 10px 14px; display: flex; align-items: center; gap: 9px; box-shadow: 0 4px 15px rgba(25,20,50,.03); }.flame { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; background: #fff0e8; color: #ff754e; font-size: 20px; }.streak-card>div:nth-child(2) { display: flex; flex-direction: column; }.streak-card strong { font-size: 12px; }.streak-card small { color: var(--muted); font-size: 9px; }.week-dots { display: flex; gap: 4px; margin-left: 5px; }.week-dots span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #f1f1f4; color: #aaa; font-size: 7px; }.week-dots .done { background: #fff0e9; color: var(--coral); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(295px, .75fr); gap: 20px; }
.continue-card { min-height: 290px; border-radius: 20px; overflow: hidden; background: linear-gradient(125deg, #10283D 5%, #17324D 58%, #28516B); color: white; display: grid; grid-template-columns: 1.1fr .9fr; position: relative; box-shadow: 0 18px 36px rgba(73,38,161,.2); }
.continue-info { padding: 29px 0 27px 32px; position: relative; z-index: 2; }.status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.12); color: #e9e2ff; border-radius: 20px; font-size: 8px; font-weight: 800; letter-spacing: .8px; }.status-pill i { width: 5px; height: 5px; background: #8fe4b1; border-radius: 50%; }.continue-info .course-kicker { color: #E8D2A8; margin: 19px 0 8px; }.course-kicker { color: var(--purple); font-size: 9px; font-weight: 800; letter-spacing: 1px; margin: 0 0 7px; }.continue-info h2 { font: 800 26px/1.18 Manrope, sans-serif; letter-spacing: -.7px; margin: 0; }.lesson-copy { color: #D8E0E6; font-size: 11px; margin: 10px 0 15px; }.progress-line { height: 5px; background: #ebeaf0; border-radius: 5px; overflow: hidden; }.continue-info .progress-line { max-width: 310px; background: rgba(255,255,255,.17); }.progress-line span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #C99A45, var(--purple)); }.continue-info .progress-line span { background: #fff; }.progress-label { display: flex; justify-content: space-between; margin-top: 6px; color: var(--muted); font-size: 9px; }.continue-info .progress-label { max-width: 310px; color: #D9E0E5; }.progress-label strong { color: var(--ink); }.continue-info .progress-label strong { color: #fff; }
.primary-button { min-height: 41px; padding: 0 17px; border: 0; border-radius: 10px; background: var(--purple); color: #fff; font-weight: 700; font-size: 11px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 8px 18px rgba(63,33,155,.2); transition: .18s; }.continue-info .primary-button { margin-top: 17px; background: #fff; color: var(--purple-dark); box-shadow: none; }.primary-button:hover { transform: translateY(-2px); }.primary-button [data-icon] { width: 14px; }
.sound-visual { position: relative; overflow: hidden; }.glow-note { position: absolute; left: 40%; top: 33%; width: 84px; height: 84px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.14); box-shadow: 0 0 0 18px rgba(255,255,255,.05), 0 0 60px rgba(255,255,255,.25); font-size: 40px; transform: rotate(-8deg); }.wave { position: absolute; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; width: 260px; height: 260px; left: 17%; top: 4%; }.wave-two { width: 340px; height: 340px; left: 1%; top: -10%; }.wave-three { width: 410px; height: 410px; left: -15%; top: -23%; }.sound-bars { position: absolute; inset: auto 0 22px 0; height: 48px; opacity: .45; background: repeating-linear-gradient(90deg, transparent 0 6px, rgba(255,255,255,.35) 6px 8px); mask-image: linear-gradient(10deg, transparent, #000 25%, #000 70%, transparent); }
.next-class-card, .course-card, .ranking-card { background: white; border: 1px solid var(--line); border-radius: 17px; box-shadow: 0 6px 20px rgba(35,25,70,.04); }.next-class-card { padding: 24px; display: flex; flex-direction: column; }.card-heading { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--line); }.card-heading>div { display: flex; gap: 10px; align-items: center; }.card-heading div div { display: flex; flex-direction: column; gap: 3px; }.card-heading small { color: #9b9baa; font-size: 8px; font-weight: 800; letter-spacing: .7px; }.card-heading strong { font: 700 17px Manrope, sans-serif; }.mini-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; }.mini-icon [data-icon] { width: 17px; }.purple { color: var(--purple); background: var(--purple-pale); }.live-pill { color: #ff614c; background: #fff0ed; border-radius: 20px; font-size: 7px; font-weight: 800; padding: 5px 7px; }.teacher-row { display: flex; gap: 11px; align-items: center; margin: 19px 0 14px; }.teacher-avatar { width: 41px; height: 41px; font-size: 10px; background: linear-gradient(135deg, #4d2b26, #e2a274); }.teacher-row strong { font-size: 12px; }.teacher-row p { font-size: 10px; color: var(--muted); margin: 3px 0 0; }.attendee-row { display: flex; align-items: center; gap: 8px; }.avatar-stack { display: flex; }.avatar-stack span { width: 24px; height: 24px; margin-left: -6px; border-radius: 50%; display: grid; place-items: center; border: 2px solid white; background: #EFE6D6; color: var(--purple); font-size: 7px; font-weight: 800; }.avatar-stack span:first-child { margin-left: 0; }.avatar-stack span:nth-child(2) { background: #ffe0d9; color: #c54e39; }.avatar-stack span:nth-child(3) { background: #dfecff; color: #3571b8; }.attendee-row small { color: var(--muted); font-size: 9px; }.outline-button { width: 100%; min-height: 39px; margin-top: auto; border: 1px solid #DED8CC; border-radius: 10px; color: var(--purple); background: white; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 7px; }.outline-button:hover { background: var(--purple-pale); }.outline-button [data-icon] { width: 15px; }
.content-section { margin-top: 29px; }.section-title { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 15px; }.section-title h2 { margin: 0 0 4px; font: 800 17px Manrope, sans-serif; letter-spacing: -.3px; }.section-title p { margin: 0; color: var(--muted); font-size: 10px; }.section-title a { color: var(--purple); font-size: 10px; font-weight: 700; }.section-title a span { margin-left: 5px; }
.course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.course-card { overflow: hidden; transition: .2s; }.course-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }.course-cover { height: 122px; position: relative; display: grid; place-items: center; overflow: hidden; }.course-cover::before, .course-cover::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; width: 180px; height: 180px; }.course-cover::after { width: 110px; height: 110px; }.cover-purple { background: linear-gradient(135deg, #17324D, #2A506A); }.cover-coral { background: linear-gradient(135deg, #ff7a64, #f4a36f); }.cover-dark { background: linear-gradient(135deg, #292634, #54505f); }.cover-icon { color: rgba(255,255,255,.88); font-size: 48px; position: relative; z-index: 1; }.course-tag { position: absolute; left: 12px; top: 12px; padding: 4px 7px; color: white; background: rgba(255,255,255,.17); border-radius: 20px; font-size: 7px; font-weight: 800; letter-spacing: .5px; z-index: 2; }.round-play { position: absolute; right: 12px; bottom: 11px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: white; color: var(--purple); font-size: 9px; z-index: 2; }.course-body { padding: 15px 16px 16px; }.course-body h3 { font: 700 14px Manrope, sans-serif; margin: 0 0 10px; }.instructor { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; margin: 0 0 13px; }.tiny { width: 22px; height: 22px; font-size: 6px; }.coral-avatar { background: linear-gradient(135deg, #ff8b6d, #c65145); }.dark-avatar { background: linear-gradient(135deg, #222, #696575); }.coral-text { color: var(--coral) !important; }.gold-text { color: #b48a26; }.coral-progress span { background: var(--coral); }.unlock-button { width: 100%; min-height: 32px; border: 0; border-radius: 8px; background: #F0EDE7; color: #777486; font-size: 9px; font-weight: 700; display: flex; justify-content: center; align-items: center; gap: 6px; }.unlock-button [data-icon] { width: 12px; }.lock-circle { position: absolute; width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; background: rgba(20,18,25,.65); color: white; z-index: 2; backdrop-filter: blur(5px); }.lock-circle [data-icon] { width: 17px; }
.lower-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .78fr); gap: 21px; }.activity-list { background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }.activity-list article { min-height: 83px; display: grid; grid-template-columns: 47px 36px 1fr 25px; gap: 12px; align-items: center; padding: 13px 16px; border-bottom: 1px solid var(--line); }.activity-list article:last-child { border: 0; }.date-box { height: 49px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 9px; }.date-box strong { font: 800 16px Manrope, sans-serif; }.date-box span { color: var(--muted); font-size: 7px; font-weight: 800; }.date-box.today { color: var(--purple); border-color: #DED5C5; background: #F8F6F1; }.date-box.today span { color: var(--purple); }.activity-icon { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; }.activity-icon [data-icon] { width: 16px; }.activity-icon.coral { color: var(--coral); background: #fff0ec; }.activity-icon.blue { color: #4586df; background: #ebf3ff; }.blue-text { color: #4586df !important; }.activity-type { color: var(--purple); font-size: 7px; font-weight: 800; letter-spacing: .6px; }.activity-list h4 { margin: 3px 0; font-size: 11px; }.activity-list p { margin: 0; color: var(--muted); font-size: 9px; }.activity-list article>button { border: 0; background: none; color: #aaa; font-size: 17px; }
.ranking-card { align-self: end; padding: 20px; }.ranking-card .section-title { align-items: flex-start; }.ranking-card .section-title a { color: var(--muted); font-size: 9px; }.podium { display: flex; justify-content: center; align-items: flex-end; gap: 19px; padding: 7px 0 18px; border-bottom: 1px solid var(--line); }.podium-user { position: relative; display: flex; flex-direction: column; align-items: center; }.avatar-photo { width: 43px; height: 43px; font-size: 9px; border: 3px solid white; box-shadow: 0 0 0 2px #d8d7de; }.podium-user.first .avatar-photo { width: 52px; height: 52px; box-shadow: 0 0 0 2px #ffca4e; }.podium-user strong { font-size: 10px; margin-top: 6px; }.podium-user small { color: var(--muted); font-size: 8px; }.medal { position: absolute; left: -4px; top: -5px; width: 17px; height: 17px; background: #afb3bf; color: white; border-radius: 50%; display: grid; place-items: center; z-index: 2; font-size: 8px; font-weight: 800; border: 2px solid white; }.third .medal { background: #bf8565; }.crown { color: #f5ae28; font-size: 21px; line-height: 17px; }.blue-avatar { background: linear-gradient(135deg, #4b91dd, #2957a7); }.green-avatar { background: linear-gradient(135deg, #5cc29c, #24785e); }.my-rank { margin-top: 14px; display: flex; align-items: center; gap: 8px; border-radius: 10px; padding: 10px; background: #F4F0E8; }.rank-number { color: var(--purple); font: 800 12px Manrope, sans-serif; }.my-rank div { flex: 1; display: flex; flex-direction: column; }.my-rank div strong { font-size: 10px; }.my-rank div small { color: var(--muted); font-size: 7px; margin-top: 2px; }.my-rank>strong { color: var(--purple); font-size: 9px; }
.community-banner { margin-top: 30px; padding: 26px 30px; min-height: 142px; border-radius: 18px; color: white; background: linear-gradient(115deg, #10283D, #17324D); display: grid; grid-template-columns: 100px 1.4fr .7fr auto; align-items: center; gap: 23px; overflow: hidden; position: relative; }.community-art { width: 88px; height: 88px; border-radius: 50%; background: rgba(255,255,255,.1); position: relative; display: grid; place-items: center; font-size: 33px; }.community-art span:last-child { position: absolute; top: 5px; right: 3px; font-size: 20px; }.community-pill { color: #E8D2A8; padding-left: 10px; }.community-banner h2 { font: 700 18px Manrope, sans-serif; margin: 8px 0 5px; }.community-banner>div>p { color: #D6DEE4; font-size: 10px; margin: 0; }.community-meta { border-left: 1px solid rgba(255,255,255,.18); padding-left: 25px; }.community-meta .avatar-stack { margin-bottom: 6px; }.community-meta p strong { color: white; }.light-button { border: 0; border-radius: 10px; min-height: 40px; padding: 0 17px; background: white; color: var(--purple-dark); font-weight: 700; font-size: 10px; }.light-button span { margin-left: 7px; }
.placeholder-page { min-height: calc(100vh - 77px); flex-direction: column; align-items: center; justify-content: center; text-align: center; }.placeholder-page.active { display: flex; }.placeholder-icon { width: 76px; height: 76px; display: grid; place-items: center; color: var(--purple); background: var(--purple-pale); border-radius: 24px; margin-bottom: 22px; }.placeholder-icon [data-icon] { width: 30px; }.placeholder-page h1 { font: 800 32px Manrope, sans-serif; margin: 5px 0 10px; }.placeholder-page>p:not(.eyebrow) { color: var(--muted); max-width: 420px; margin: 0 0 25px; }
.toast { position: fixed; right: 25px; bottom: 25px; z-index: 50; display: flex; gap: 10px; align-items: center; min-width: 220px; padding: 14px 17px; border-radius: 12px; background: #262333; color: white; box-shadow: var(--shadow); transform: translateY(100px); opacity: 0; transition: .3s; }.toast.visible { transform: translateY(0); opacity: 1; }.toast span { color: #8ce0a8; }.toast p { margin: 0; font-size: 12px; }.overlay { display: none; }
.sidebar.collapsed { width: 78px; }.sidebar.collapsed .brand span:last-child, .sidebar.collapsed .nav-label, .sidebar.collapsed .nav-item span:not([data-icon]), .sidebar.collapsed .sidebar-help { display: none; }.sidebar.collapsed .brand { padding-left: 3px; }.sidebar.collapsed .nav-item { justify-content: center; padding: 0; }.sidebar.collapsed+.main-content { margin-left: 78px; }.sidebar.collapsed .collapse-button { transform: rotate(180deg); }
svg.icon { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; display: block; }
@media (max-width: 1100px) { .hero-grid { grid-template-columns: 1fr; }.next-class-card { min-height: 235px; }.course-grid { grid-template-columns: repeat(2,1fr); }.course-card:last-child { display: none; }.lower-grid { grid-template-columns: 1fr; }.ranking-card { margin-top: 8px; }.community-banner { grid-template-columns: 80px 1fr auto; }.community-meta { display: none; } }
@media (max-width: 760px) { .sidebar { transform: translateX(-105%); width: 244px !important; }.sidebar.mobile-open { transform: translateX(0); }.sidebar.mobile-open .brand span:last-child, .sidebar.mobile-open .nav-label, .sidebar.mobile-open .nav-item span:not([data-icon]), .sidebar.mobile-open .sidebar-help { display: flex; }.main-content, .sidebar.collapsed+.main-content { margin-left: 0; }.mobile-menu { display: block; }.topbar { padding: 0 18px; }.topbar-title, .search-box, .profile-copy, .profile-button>[data-icon] { display: none; }.profile-button { margin-left: 0; }.notification-button { margin-left: auto; }.page { padding: 24px 18px 40px; }.welcome-row { align-items: flex-start; }.streak-card { display: none; }.continue-card { grid-template-columns: 1fr; }.continue-info { padding: 25px; }.sound-visual { position: absolute; right: 0; width: 45%; height: 100%; opacity: .45; }.course-grid { grid-template-columns: 1fr; }.course-card:last-child { display: block; }.community-banner { grid-template-columns: 1fr; padding: 24px; }.community-art, .community-meta { display: none; }.community-banner .light-button { justify-self: start; }.overlay { position: fixed; inset: 0; z-index: 15; background: rgba(20,17,30,.35); backdrop-filter: blur(2px); }.overlay.visible { display: block; } }
@media (max-width: 480px) { .welcome-row h1 { font-size: 24px; }.continue-info h2 { font-size: 22px; }.activity-list article { grid-template-columns: 42px 1fr 18px; }.activity-icon { display: none; }.week-dots { display: none; }.podium { gap: 14px; } }

.profile-menu { display:none; position:absolute; right:3.2vw; top:68px; width:245px; padding:10px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 18px 45px rgba(34,25,66,.15); z-index:30; }
.profile-menu.visible { display:block; animation:fadeIn .18s ease; }
.profile-menu>p { margin:4px 8px 8px; color:#aaaabb; font-size:8px; font-weight:800; letter-spacing:1px; }
.role-option { width:100%; display:flex; align-items:center; gap:9px; padding:9px; border:0; border-radius:9px; background:transparent; text-align:left; }
.role-option:hover,.role-option.active { background:var(--purple-pale); }
.role-option>span:nth-child(2) { display:flex; flex-direction:column; flex:1; }.role-option strong { color:var(--ink); font-size:11px; }.role-option small { color:var(--muted); font-size:8px; }.role-option b { display:none; color:var(--purple); }.role-option.active b { display:block; }
.teacher-welcome { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }.teacher-welcome h1 { font:800 28px Manrope,sans-serif; margin:0 0 6px; }.teacher-welcome>div>p:last-child { margin:0; color:var(--muted); font-size:12px; }.teacher-actions { display:flex; gap:10px; }.teacher-actions .outline-button { width:auto; margin:0; padding:0 15px; }
.metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.metrics-grid article { min-height:108px; padding:20px; display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line); border-radius:15px; }.metric-icon { width:43px; height:43px; flex:none; border-radius:12px; display:grid; place-items:center; }.metric-icon [data-icon] { width:20px; }.metric-icon.coral { color:var(--coral); background:#fff0ec; }.metric-icon.blue { color:#4382da; background:#edf4ff; }.metric-icon.green { color:#2b9a70; background:#e8f8f2; }.metrics-grid article>div { display:flex; flex-direction:column; }.metrics-grid p { margin:0 0 3px; color:#9b9baa; font-size:8px; font-weight:800; }.metrics-grid strong { font:800 23px Manrope,sans-serif; }.metrics-grid small { color:#26956c; font-size:8px; }
.teacher-grid { margin-top:20px; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr); gap:20px; }.panel { background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 5px 18px rgba(35,25,70,.035); overflow:hidden; }.panel-heading { min-height:70px; padding:17px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }.panel-heading h2 { margin:0 0 4px; font:800 15px Manrope,sans-serif; }.panel-heading p { margin:0; color:var(--muted); font-size:9px; }.panel-heading button { border:0; background:none; color:var(--purple); font-size:9px; font-weight:700; }
.teacher-course-list article { min-height:82px; padding:12px 20px; display:grid; grid-template-columns:52px minmax(150px,1fr) 100px 24px; align-items:center; gap:13px; border-bottom:1px solid var(--line); }.teacher-course-list article:last-child { border:0; }.teacher-course-cover { width:52px; height:52px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:23px; }.teacher-course-list span { color:#26956c; font-size:7px; font-weight:800; }.teacher-course-list .draft { color:#a47b25; }.teacher-course-list h3 { margin:3px 0; font-size:11px; }.teacher-course-list p { margin:0; color:var(--muted); font-size:8px; }.teacher-course-list article>button { border:0; background:none; color:#999; }.course-health { height:4px; border-radius:3px; background:#eeeef2; overflow:hidden; }.course-health i { display:block; height:100%; background:var(--purple); }
.timeline { padding:15px 20px; }.timeline article { min-height:68px; display:grid; grid-template-columns:50px 1fr; border-left:1px solid #e4e1ec; margin-left:6px; padding-left:14px; position:relative; }.timeline article::before { content:''; position:absolute; width:8px; height:8px; border-radius:50%; background:#fff; border:2px solid #bbb6c8; left:-6px; }.timeline .current::before { background:var(--purple); border-color:#DCC89F; }.timeline time { color:var(--muted); font-size:9px; }.timeline b { color:var(--purple); font-size:7px; }.timeline h4 { margin:3px 0; font-size:10px; }.timeline p { margin:0; color:var(--muted); font-size:8px; }
.students-panel { margin-top:20px; }.mini-search { width:165px; height:31px; padding:0 9px; display:flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:8px; }.mini-search [data-icon] { width:13px; color:#aaa; }.mini-search input { width:100%; border:0; outline:0; font-size:9px; }.student-table { overflow-x:auto; }.table-row { min-width:680px; min-height:55px; padding:9px 20px; display:grid; grid-template-columns:1.4fr 1fr .75fr .85fr 45px; align-items:center; gap:10px; border-bottom:1px solid var(--line); color:#626374; font-size:8px; }.table-header { min-height:34px; background:#fafafd; color:#a0a0af; font-size:7px; font-weight:800; }.student-cell { display:flex; align-items:center; gap:8px; }.student-cell strong { color:var(--ink); font-size:9px; }.access-toggle { width:30px; height:17px; padding:2px; border:0; border-radius:10px; background:#d7d6dc; }.access-toggle i { display:block; width:13px; height:13px; border-radius:50%; background:#fff; transition:.2s; }.access-toggle.active { background:var(--purple); }.access-toggle.active i { transform:translateX(13px); }
@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.teacher-grid{grid-template-columns:1fr}}
@media(max-width:760px){.profile-menu{right:15px}.teacher-welcome{align-items:flex-start;gap:18px}.teacher-actions{flex-direction:column}.teacher-course-list article{grid-template-columns:52px 1fr 20px}.course-health{display:none}}
@media(max-width:480px){.teacher-welcome{flex-direction:column;align-items:stretch}.teacher-actions{flex-direction:row}.teacher-actions button{flex:1}.metrics-grid{grid-template-columns:1fr}.metrics-grid article{min-height:88px}}

.boot-loading{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--cream);transition:.2s ease}.boot-loading.hidden{opacity:0;visibility:hidden;pointer-events:none}.boot-spinner{width:38px;height:38px;border-radius:50%;border:3px solid #E8E1D3;border-top-color:var(--gold);animation:boot-spin .8s linear infinite}@keyframes boot-spin{to{transform:rotate(360deg)}}
.auth-screen{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);background:#fff;transition:.35s ease}.auth-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.auth-screen.instant{transition:none}.auth-visual{position:relative;overflow:hidden;padding:42px 5vw;color:#fff;background:radial-gradient(circle at 75% 25%,rgba(174,139,255,.35),transparent 28%),linear-gradient(145deg,#10283D,#17324D);display:flex;flex-direction:column}.auth-visual::after{content:'♪  ♫  ♪';position:absolute;right:-35px;top:20%;color:rgba(255,255,255,.08);font:800 170px/1 Manrope,sans-serif;transform:rotate(-12deg)}
.auth-brand{color:#fff;padding:0;position:relative;z-index:1}.auth-brand strong{color:#d9cbff}.auth-message{margin:auto 0;position:relative;z-index:1}.auth-message>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.13);font-size:24px}.auth-message h2{margin:20px 0 15px;font:800 clamp(38px,4vw,64px)/1.05 Manrope,sans-serif;letter-spacing:-2px}.auth-message p{max-width:410px;color:#d9cdf2;font-size:14px;line-height:1.65}.auth-quote{position:relative;z-index:1;border-left:2px solid #C99A45;padding-left:16px}.auth-quote p{margin:0 0 5px;font-size:12px}.auth-quote small{color:#D4B97F;font-size:7px;font-weight:800;letter-spacing:1px}
.auth-form-side{display:grid;place-items:center;padding:35px;background:#FBFAF7}.login-card{width:min(390px,100%)}.mobile-auth-brand{display:none}.login-card h1{margin:6px 0 8px;font:800 29px Manrope,sans-serif}.login-subtitle{color:var(--muted);font-size:12px;margin:0 0 28px}.login-card>label{display:flex;flex-direction:column;gap:7px;margin-top:16px;color:#4e4e60;font-size:10px;font-weight:700}.login-card input{width:100%;height:46px;padding:0 14px;border:1px solid #dedde6;border-radius:10px;outline:0;background:#fff;color:var(--ink);font-size:12px}.login-card input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-pale)}
.password-wrap{position:relative}.password-wrap button{position:absolute;right:7px;top:6px;width:34px;height:34px;border:0;background:none;color:#9a99a8}.login-error{min-height:17px;padding-top:8px;color:#d84d42;font-size:10px}.login-submit{width:100%;margin-top:7px;height:47px}.demo-logins{margin-top:27px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9px}.demo-logins>p{grid-column:1/-1;margin:0;color:#aaaabb;font-size:8px;font-weight:800;letter-spacing:.8px}.demo-logins button{padding:10px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.demo-logins button:hover{border-color:#E1D6C1;background:var(--purple-pale)}.demo-logins strong{font-size:10px}.demo-logins small{margin-top:2px;color:var(--muted);font-size:7px}
.connected-user{display:flex;align-items:center;gap:9px;padding:9px}.connected-user>span:last-child{display:flex;flex-direction:column}.connected-user strong{font-size:11px}.connected-user small{color:var(--muted);font-size:8px;margin-top:2px}.logout-button{width:100%;margin-top:5px;padding:10px;border:0;border-top:1px solid var(--line);background:#fff;color:#b84b4b;text-align:left;font-size:9px;font-weight:700}.logout-button span{margin-right:7px}
@media(max-width:760px){.auth-screen{display:block;overflow:auto}.auth-visual{display:none}.auth-form-side{min-height:100vh;padding:28px 22px}.mobile-auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:50px}.mobile-auth-brand .brand-mark{font-size:16px}.mobile-auth-brand strong{font:800 17px Manrope,sans-serif}}

[hidden]{display:none!important}.teacher-nav{display:none}.teacher-admin-page h1{margin:0 0 6px;font:800 28px Manrope,sans-serif}.admin-page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.admin-page-heading>div>p:last-child{margin:0;color:var(--muted);font-size:11px}
.create-course-panel{display:none;margin-bottom:20px}.create-course-panel.visible{display:block;animation:fadeIn .2s ease}.admin-form{padding:20px;display:grid;grid-template-columns:1.4fr .6fr .7fr;gap:15px}.admin-form label{display:flex;flex-direction:column;gap:6px;color:#555567;font-size:9px;font-weight:700}.admin-form input,.admin-form select,.admin-form textarea,.inline-create input,.inline-create select{width:100%;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;outline:0;color:var(--ink);font:10px "DM Sans",sans-serif}.admin-form textarea{padding-top:10px;min-height:65px;resize:vertical}.admin-form .wide{grid-column:1/-1}.admin-form .primary-button{justify-self:start}
.course-builder-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;min-height:520px}.course-catalog,.course-editor{min-height:520px}.builder-course-list{padding:9px}.builder-course-item{width:100%;padding:13px;display:flex;gap:10px;align-items:center;border:0;border-radius:11px;background:#fff;text-align:left}.builder-course-item:hover,.builder-course-item.active{background:var(--purple-pale)}.builder-course-item>i{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,#17324D,#C99A45);color:#fff;font-style:normal;font-size:17px}.builder-course-item>span{display:flex;flex-direction:column;min-width:0;flex:1}.builder-course-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.builder-course-item small{margin-top:3px;color:var(--muted);font-size:8px}.builder-course-item b{font-size:14px;color:#999}.editor-empty{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.editor-empty>span{width:65px;height:65px;display:grid;place-items:center;border-radius:20px;background:var(--purple-pale);color:var(--purple);font-size:27px}.editor-empty h2{font:800 17px Manrope,sans-serif;margin:15px 0 5px}.editor-empty p{margin:0;color:var(--muted);font-size:10px}
.editor-course-head{padding:21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}.editor-course-head h2{margin:0 0 5px;font:800 19px Manrope,sans-serif}.editor-course-head p{margin:0;color:var(--muted);font-size:9px}.course-status{padding:5px 9px;border-radius:20px;background:#e9f8f1;color:#268b66;font-size:7px;font-weight:800}.course-status.draft{background:#fff4d9;color:#9b7525}.module-list{padding:15px}.module-block{margin-bottom:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.module-head{padding:13px 15px;display:flex;align-items:center;gap:9px;background:#faf9fc}.module-number{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:var(--purple-pale);color:var(--purple);font-size:8px;font-weight:800}.module-head strong{font-size:10px;flex:1}.module-head small{color:var(--muted);font-size:8px}.lesson-list{padding:5px 15px}.lesson-row{min-height:43px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #EFEBE4;font-size:9px}.lesson-row:last-child{border:0}.lesson-type{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#F2EFE8;color:var(--purple);font-size:10px}.lesson-row strong{flex:1}.lesson-row small{color:var(--muted)}.inline-create{padding:12px 15px;background:#FBFAF7;display:flex;gap:8px}.inline-create input{flex:1}.inline-create select{width:110px}.inline-create button{border:0;border-radius:8px;padding:0 12px;background:var(--purple);color:#fff;font-size:9px;font-weight:700}.add-module-form{margin:0 15px 15px}
.access-legend{display:flex;gap:15px;color:var(--muted);font-size:9px}.access-legend span{display:flex;align-items:center;gap:5px}.access-legend i{width:7px;height:7px;border-radius:50%;background:#b8b7c0}.access-legend .legend-on{background:#35a878}.access-matrix-wrap{overflow:auto}.access-matrix{min-width:720px}.access-row{display:grid;grid-template-columns:220px repeat(var(--course-count),minmax(145px,1fr));min-height:62px;border-bottom:1px solid var(--line);align-items:center}.access-row.header{min-height:55px;background:#fafafd}.access-row>div{padding:10px 15px}.access-course-head{display:flex;flex-direction:column}.access-course-head strong{font-size:9px}.access-course-head small{color:var(--muted);font-size:7px;margin-top:2px}.access-student{display:flex;align-items:center;gap:9px}.access-student>span:last-child{display:flex;flex-direction:column}.access-student strong{font-size:10px}.access-student small{color:var(--muted);font-size:8px}.course-access-cell{display:flex;align-items:center;gap:8px}.course-access-cell small{font-size:8px;color:var(--muted)}.loading-state{padding:50px;text-align:center;color:var(--muted);font-size:10px}.access-tip{margin-top:17px;padding:15px 18px;display:flex;gap:11px;border-radius:12px;background:#F3EFE6;color:#44515E}.access-tip strong{font-size:10px}.access-tip p{margin:3px 0 0;font-size:9px;line-height:1.5}
@media(max-width:900px){.course-builder-layout{grid-template-columns:1fr}.course-catalog{min-height:auto}.admin-form{grid-template-columns:1fr 1fr}.admin-form label:first-child{grid-column:1/-1}}
@media(max-width:600px){.admin-page-heading{align-items:flex-start;gap:15px}.admin-form{grid-template-columns:1fr}.admin-form label,.admin-form label:first-child,.admin-form .wide{grid-column:1}.access-legend{display:none}.course-builder-layout{display:block}.course-editor{margin-top:15px}}

.cover-upload-field>input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.cover-dropzone{min-height:92px;padding:12px;display:flex;align-items:center;gap:13px;border:1px dashed #cfc9df;border-radius:11px;background:#FBFAF7;cursor:pointer;transition:.2s}.cover-dropzone:hover{border-color:var(--purple);background:var(--purple-pale)}.cover-preview{width:105px;height:66px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#ECE6DA;color:var(--purple);font-size:24px}.cover-preview img{width:100%;height:100%;object-fit:cover}.cover-dropzone>span:last-child{display:flex;flex-direction:column}.cover-dropzone strong{color:var(--purple);font-size:10px}.cover-dropzone small{margin-top:4px;color:var(--muted);font-size:8px}
.builder-course-item>i.has-cover{background:#ECE7DD;overflow:hidden}.builder-course-item>i img{width:100%;height:100%;object-fit:cover}.editor-course-title{display:flex;align-items:center;gap:12px}.editor-cover{width:72px;height:48px;object-fit:cover;border-radius:9px;background:#eee}


.auth-switch{width:100%;margin-top:18px;border:0;background:none;color:var(--muted);font-size:10px}.auth-switch strong{color:var(--purple)}#registerForm[hidden]{display:none}.account-menu-button{width:100%;padding:10px;border:0;border-top:1px solid var(--line);background:#fff;color:#656276;text-align:left;font-size:9px;font-weight:700}.account-menu-button span{margin-right:7px;color:var(--purple)}
.demo-logins button:only-of-type{grid-column:1/-1}
.pending-approvals{margin-bottom:18px}.approval-list{padding:0 18px}.approval-item{min-height:68px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.approval-item:last-child{border:0}.approval-user{display:flex;flex-direction:column;flex:1}.approval-user strong{font-size:10px}.approval-user small{margin-top:3px;color:var(--muted);font-size:8px}.approval-actions{display:flex;gap:7px}.approval-actions button{min-height:31px;padding:0 11px;border-radius:8px;font-size:8px;font-weight:700}.approve-button{border:0;background:#e8f8f1;color:#218660}.reject-button{border:1px solid #f0d6d6;background:#fff;color:#bd5555}.empty-approval{padding:28px;text-align:center;color:var(--muted);font-size:9px}
.modal-shell{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:20px}.modal-shell[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(27,21,43,.58);backdrop-filter:blur(4px)}.password-modal{position:relative;z-index:1;width:min(410px,100%);padding:28px;border-radius:18px;background:#fff;box-shadow:0 25px 70px rgba(20,14,43,.3)}.modal-close{position:absolute;right:16px;top:13px;border:0;background:none;color:#999;font-size:22px}.password-modal-icon{width:43px;height:43px;margin-bottom:17px;display:grid;place-items:center;border-radius:12px;background:var(--purple-pale);color:var(--purple);font-size:20px}.password-modal h2{margin:4px 0 6px;font:800 21px Manrope,sans-serif}.password-modal>p:not(.eyebrow){margin:0 0 18px;color:var(--muted);font-size:10px}.password-modal label{display:flex;flex-direction:column;gap:6px;margin-top:12px;color:#565668;font-size:9px;font-weight:700}.password-modal input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;outline:0}.password-modal input:focus{border-color:var(--purple)}.password-modal .primary-button{width:100%;margin-top:8px}

.avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.real-cover{background-position:center;background-size:cover;background-repeat:no-repeat}.course-description{min-height:30px;color:var(--muted);font-size:9px;line-height:1.5}.student-open-course{width:100%;margin-top:13px}.real-empty{grid-column:1/-1;padding:45px 25px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.real-empty>span{display:block;color:var(--purple);font-size:35px}.real-empty h2{margin:10px 0 5px;color:var(--ink);font:800 16px Manrope,sans-serif}.real-empty p{margin:0}.student-course-content{margin-top:25px}.student-module{padding:17px 20px;border-bottom:1px solid var(--line)}.student-module:last-child{border:0}.student-module h3{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:12px}.student-module h3>span{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:var(--purple-pale);color:var(--purple);font-size:8px}.student-lesson{min-height:45px;display:flex;align-items:center;gap:10px;border-top:1px solid #EFEBE4;font-size:9px}.student-lesson>strong{flex:1}.student-lesson>a,.lesson-row>a{color:var(--purple);font-weight:700;text-decoration:none}.student-lesson small,.empty-inline{color:var(--muted)}.inline-create.lesson-form input[name="content_url"]{flex:1.4}.pending-count{padding:5px 9px;border-radius:20px;background:var(--purple-pale);color:var(--purple);font-size:9px;font-weight:800}@media(max-width:700px){.inline-create.lesson-form{flex-wrap:wrap}.inline-create.lesson-form input,.inline-create.lesson-form select{flex:1 1 100%;width:100%}.inline-create.lesson-form button{min-height:40px;width:100%}}
.community-page{max-width:900px}.community-heading{margin-bottom:18px}.community-heading .outline-button{width:auto;margin:0;padding:0 15px}.community-composer{padding:20px;margin-bottom:18px}.community-composer-user{display:flex;align-items:center;gap:11px;margin-bottom:14px}.community-composer-user>div{display:flex;flex-direction:column}.community-composer-user strong{font-size:11px}.community-composer-user small{margin-top:2px;color:var(--muted);font-size:8px}.community-composer form textarea{width:100%;min-height:95px;padding:14px;border:1px solid var(--line);border-radius:11px;resize:vertical;outline:0;font:11px/1.55 "DM Sans",sans-serif}.community-composer form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-pale)}.community-composer form>div{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.community-composer form small{color:var(--muted);font-size:8px}.community-feed{display:grid;gap:15px}.community-post{padding:20px}.community-post>header{display:flex;align-items:center;gap:11px}.community-post>header>div{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:2px 8px;flex:1}.community-post>header strong{font-size:11px}.community-post>header>div>span{padding:3px 6px;border-radius:10px;background:var(--purple-pale);color:var(--purple);font-size:6px;font-weight:800}.community-post>header small{grid-column:1/-1;color:var(--muted);font-size:8px}.community-delete{width:27px;height:27px;border:0;border-radius:8px;background:transparent;color:#aaa;font-size:16px}.community-delete:hover{background:#fff0f0;color:#c34f4f}.community-post-body{margin:17px 0;color:#3d3b49;font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.community-actions{display:flex;align-items:center;gap:18px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:8px}.community-actions button{border:0;background:transparent;color:var(--muted);font-size:9px}.community-actions .liked{color:#d95067}.community-actions button span{font-weight:800}.community-comments{padding-left:34px}.community-comment{display:flex;align-items:flex-start;gap:9px;padding:12px 0;border-bottom:1px solid #EFEBE4}.community-comment>div{flex:1}.community-comment>div>div{display:flex;align-items:center;gap:7px}.community-comment strong{font-size:9px}.community-comment b{padding:2px 5px;border-radius:8px;background:var(--purple-pale);color:var(--purple);font-size:5px}.community-comment small{color:var(--muted);font-size:7px}.community-comment p{margin:4px 0 0;color:#4b4958;font-size:9px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.community-comment-form{display:flex;align-items:center;gap:8px;padding:13px 0 0 34px}.community-comment-form input{height:36px;flex:1;padding:0 11px;border:1px solid var(--line);border-radius:9px;outline:0;font-size:9px}.community-comment-form input:focus{border-color:var(--purple)}.community-comment-form button{height:36px;padding:0 13px;border:0;border-radius:8px;background:var(--purple);color:#fff;font-size:8px;font-weight:700}.community-empty{padding:50px;text-align:center;color:var(--muted)}.community-empty>span{font-size:35px;color:var(--purple)}.community-empty h2{margin:10px 0 5px;color:var(--ink);font:800 17px Manrope,sans-serif}.community-empty p{margin:0;font-size:10px}@media(max-width:600px){.community-post,.community-composer{padding:15px}.community-comments,.community-comment-form{padding-left:0}.community-heading{align-items:flex-start}.community-heading .outline-button{min-width:90px}}
.community-post>header>.avatar,.community-composer-user>.avatar{width:42px;height:42px;min-width:42px;flex:0 0 42px;padding:0;overflow:hidden}.community-comment>.avatar,.community-comment-form>.avatar{width:22px;height:22px;min-width:22px;flex:0 0 22px;padding:0;overflow:hidden}
.community-post{overflow:visible}.community-like-wrap{position:relative}.community-likes-popover{position:absolute;left:0;bottom:calc(100% + 9px);z-index:20;width:220px;max-height:285px;padding:12px;display:grid;gap:8px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(35,25,70,.18);opacity:0;visibility:hidden;transform:translateY(5px);transition:.16s ease;pointer-events:none}.community-likes-popover::after{content:'';position:absolute;left:22px;bottom:-6px;width:10px;height:10px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.community-like-wrap:hover .community-likes-popover,.community-like-wrap:focus-within .community-likes-popover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.community-likes-popover>strong{font-size:9px}.community-liker{display:flex;align-items:center;gap:8px;color:var(--ink)}.community-liker>.avatar{width:24px;height:24px;min-width:24px;overflow:hidden}.community-liker>span:last-child{font-size:9px;font-weight:700}.community-likes-popover>small{color:var(--muted);font-size:8px}@media(max-width:600px){.community-likes-popover{width:190px}}
.feature-page{max-width:1000px}.event-create-panel{margin-bottom:18px}.event-list{display:grid;gap:12px}.event-card{padding:18px 20px;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:20px}.event-date{display:flex;flex-direction:column}.event-date strong{font-size:11px}.event-date small,.event-info p{margin-top:5px;color:var(--muted);font-size:8px}.event-info>span{color:var(--purple);font-size:7px;font-weight:800}.event-info h2{margin:4px 0;font-size:14px}.event-info p{margin-bottom:0}.event-buttons{display:flex;align-items:center;gap:7px}.event-buttons button,.event-buttons .outline-button{min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--purple);font-size:8px;font-weight:700;display:flex;align-items:center}.event-buttons .confirmed{background:#e9f8f1;color:#24845f}.feature-empty{padding:45px;text-align:center;color:var(--muted);font-size:10px}.ranking-real-row{min-height:70px;padding:12px 20px;display:grid;grid-template-columns:45px 42px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.ranking-real-row:last-child{border:0}.ranking-real-row.me{background:var(--purple-pale)}.ranking-position{font-size:13px;color:var(--purple)}.ranking-real-row>.avatar{width:38px;height:38px;overflow:hidden}.ranking-real-row h3{margin:0 0 4px;font-size:11px}.ranking-real-row h3 span{padding:2px 5px;border-radius:8px;background:var(--purple);color:#fff;font-size:5px}.ranking-real-row p{margin:0;color:var(--muted);font-size:8px}.ranking-real-row>b{font-size:12px}.certificate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.certificate-card{padding:28px;text-align:center;border-top:5px solid var(--purple)}.certificate-card>span{font-size:34px;color:var(--purple)}.certificate-card small{display:block;margin:8px;color:var(--muted);font-weight:800}.certificate-card h2{font:800 18px Manrope,sans-serif}.certificate-card p{color:var(--muted);font-size:9px}.certificate-card code{display:block;margin:15px;font-size:8px}.certificate-card button{margin:auto}.settings-panel{max-width:720px}.settings-checks{display:flex;gap:20px}.settings-checks label{flex-direction:row;align-items:center}.settings-checks input{width:16px;height:16px}.settings-actions{display:flex;gap:9px}.settings-actions .outline-button{width:auto;margin:0;padding:0 14px}@media(max-width:700px){.event-card{grid-template-columns:1fr}.event-buttons{flex-wrap:wrap}.certificate-grid{grid-template-columns:1fr}.settings-checks,.settings-actions{flex-direction:column}.ranking-real-row{grid-template-columns:36px 34px 1fr}.ranking-real-row>b{grid-column:3}}
.student-lesson>button{min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--purple);font-size:7px;font-weight:700}.student-lesson.completed{background:#f2fbf7}.student-lesson.completed>button{background:#e2f6ed;color:#26835f}
.search-wrap{position:relative;width:min(360px,34vw);margin-left:auto}.search-wrap .search-box{width:100%;margin-left:0}.search-results{position:absolute;top:48px;left:0;right:0;z-index:45;max-height:390px;overflow:auto;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(34,25,66,.17)}.search-results button{width:100%;min-height:55px;padding:9px;display:flex;align-items:center;gap:10px;border:0;border-radius:9px;background:#fff;text-align:left}.search-results button:hover{background:var(--purple-pale)}.search-results button>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--purple-pale);color:var(--purple)}.search-results button>div{display:flex;flex-direction:column;min-width:0;flex:1}.search-results strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.search-results small{margin-top:3px;color:var(--muted);font-size:8px}.search-results b{font-size:10px}.search-empty{padding:24px;text-align:center;color:var(--muted);font-size:9px}.notification-wrap{position:relative}.notification-menu{display:none;position:absolute;right:0;top:48px;z-index:50;width:340px;max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(34,25,66,.17)}.notification-menu.visible{display:block}.notification-menu>header{position:sticky;top:0;z-index:1;padding:13px 15px;display:flex;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.notification-menu>header strong{font-size:11px}.notification-menu>header button{border:0;background:none;color:var(--purple);font-size:7px;font-weight:700}.notification-item{width:100%;min-height:67px;padding:11px 14px;display:flex;align-items:flex-start;gap:10px;border:0;border-bottom:1px solid #EFEBE4;background:#fff;text-align:left}.notification-item.unread{background:#F4F0E8}.notification-item>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:var(--purple-pale);color:var(--purple)}.notification-item>div{display:flex;flex-direction:column;flex:1}.notification-item strong{font-size:9px;line-height:1.4}.notification-item small{margin-top:4px;color:var(--muted);font-size:7px}.notification-empty{padding:35px;text-align:center;color:var(--muted);font-size:9px}.notification-button b[hidden]{display:none}@media(max-width:760px){.search-wrap{position:static;width:min(180px,40vw);margin-left:auto}.search-wrap .search-box{display:flex}.search-results{position:fixed;left:15px;right:15px;top:70px}.notification-menu{position:fixed;left:15px;right:15px;top:70px;width:auto}}
.course-editor-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.edit-course-button,.delete-course-button{border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 10px;font-size:8px;font-weight:800;color:var(--ink)}.edit-course-button:hover{border-color:var(--purple);color:var(--purple)}.delete-course-button{color:#b63c4b}.delete-course-button:hover{border-color:#e4a5ad;background:#fff6f7}.public-course-access{color:#268b66;font-weight:800}.public-course-access small{color:#268b66}.admin-form label.wide~.cover-upload-field{grid-column:1/-1}@media(max-width:700px){.editor-course-head{gap:12px;flex-direction:column}.course-editor-actions{justify-content:flex-start}}
.avatar-crop-modal{position:relative;z-index:1;width:min(470px,100%);max-height:calc(100vh - 30px);overflow:auto;padding:25px;border-radius:18px;background:#fff;box-shadow:0 25px 70px rgba(20,14,43,.3)}.avatar-crop-modal h2{margin:4px 0 6px;font:800 21px Manrope,sans-serif}.avatar-crop-modal>p:not(.eyebrow){margin:0 0 16px;color:var(--muted);font-size:10px;line-height:1.5}.avatar-crop-stage{position:relative;width:min(330px,75vw);aspect-ratio:1;margin:0 auto;overflow:hidden;border-radius:14px;background:#EEE9DF;box-shadow:inset 0 0 0 1px rgba(70,45,120,.1)}.avatar-crop-stage::after{content:'';position:absolute;inset:2px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 999px rgba(22,16,37,.48),0 0 0 1px rgba(30,20,50,.15);pointer-events:none}.avatar-crop-stage canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.avatar-crop-stage canvas.dragging{cursor:grabbing}.avatar-zoom-control{width:min(330px,75vw);margin:15px auto;display:flex;align-items:center;gap:11px;color:var(--purple);font-size:17px;font-weight:800}.avatar-zoom-control input{flex:1;accent-color:var(--purple)}.avatar-crop-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:10px}.avatar-crop-actions .outline-button{width:auto;min-height:39px;margin:0;padding:0 17px}.avatar-crop-actions .primary-button{min-width:125px}.avatar-crop-actions button:disabled{opacity:.65}@media(max-width:520px){.avatar-crop-modal{padding:20px 16px}.avatar-crop-actions{display:grid;grid-template-columns:1fr 1fr}.avatar-crop-actions .outline-button,.avatar-crop-actions .primary-button{width:100%;padding:0 10px}}

/* Identidade Meu Canto: navy institucional, dourado nos detalhes e superfícies creme */
.brand{height:auto;padding:0 0 10px}.brand-logo{display:block;width:100%;height:100%;object-fit:contain}.sidebar .brand-logo{width:210px;height:125px;object-position:left center}.sidebar.collapsed .brand{padding:0 0 18px}.sidebar.collapsed .brand-logo{width:42px;height:42px;object-position:left center}.auth-brand{width:max-content;padding:0}.auth-brand .brand-logo{width:300px;height:190px;object-position:left center;filter:drop-shadow(0 8px 20px rgba(5,20,34,.16))}.mobile-auth-brand .brand-logo{width:230px;height:145px;object-position:left center}
.sidebar{background:#fff}.nav-item:hover{color:var(--navy);background:#F7F4ED}.nav-item.active{color:var(--navy);background:#F1EEE7}.nav-item.active [data-icon],.nav-item:hover [data-icon]{color:var(--gold)}.nav-badge{background:var(--gold);color:#fff}.notification-dot,.notification-button b{background:var(--gold)}.notification-button b{color:var(--navy)}.sidebar-help{background:#F8F6F1;border-color:#E8E1D3}.help-icon{color:var(--gold);background:#F0E8D9}
.eyebrow,.course-kicker,.activity-type{color:var(--gold)}.primary-button{background:var(--navy);box-shadow:0 8px 18px rgba(23,50,77,.18)}.primary-button:hover{background:#10283D}.progress-line span,.course-health i{background:linear-gradient(90deg,#D9B66F,var(--gold))}.avatar{background:linear-gradient(145deg,#294F69,var(--navy))}.avatar-main{border-color:#E9E2D5}
.continue-card{background:radial-gradient(circle at 82% 18%,rgba(201,154,69,.22),transparent 30%),linear-gradient(125deg,#10283D 5%,#17324D 60%,#28516B);box-shadow:0 18px 36px rgba(23,50,77,.20)}.continue-info .course-kicker{color:#E8D2A8}.continue-info .progress-line span{background:var(--gold)}.continue-info .primary-button{background:#fff;color:var(--navy)}.status-pill i{background:var(--gold)}
.auth-visual{background:radial-gradient(circle at 75% 25%,rgba(201,154,69,.25),transparent 28%),linear-gradient(145deg,#10283D,#17324D)}.auth-message>span{color:#F0D69E;background:rgba(255,255,255,.10)}.auth-message p{color:#D8E0E6}.auth-quote{border-left-color:var(--gold)}.auth-quote small{color:#D4B97F}.auth-form-side{background:var(--cream)}
.cover-purple,.builder-course-item>i{background:linear-gradient(135deg,#10283D,#28516B)}.cover-coral{background:linear-gradient(135deg,#17324D,#345D76)}.community-banner{background:radial-gradient(circle at 8% 50%,rgba(201,154,69,.22),transparent 24%),linear-gradient(115deg,#10283D,#17324D)}.community-pill{color:#E8D2A8}.community-banner>div>p{color:#D6DEE4}
.module-number,.lesson-type,.editor-empty>span,.placeholder-icon{color:var(--gold)}.module-number,.lesson-type,.editor-empty>span,.placeholder-icon{background:#F4F0E8}.access-tip{background:#F3EFE6;color:#44515E;border:1px solid #E8E1D3}.access-toggle.active{background:var(--navy)}
.ranking-position,.rank-number,.my-rank>strong{color:var(--gold)}.ranking-real-row.me,.my-rank{background:#F4F0E8}.certificate-card{border-top-color:var(--gold)}.certificate-card>span{color:var(--gold)}.certificate-card code{color:var(--navy)}.avatar-zoom-control{color:var(--gold)}.avatar-zoom-control input{accent-color:var(--gold)}
.search-results button:hover,.notification-item.unread,.builder-course-item:hover,.builder-course-item.active{background:#F4F0E8}.search-results button>span,.notification-item>span{background:#F1EEE7;color:var(--gold)}
@media(max-width:760px){.sidebar.mobile-open .brand-logo{width:210px;height:125px}.mobile-auth-brand{margin-bottom:34px}.mobile-auth-brand .brand-logo{width:220px;height:135px}}
/* Logo ampliada: a barra lateral ganha espaço para preservar a marca completa */
.sidebar{width:290px}.main-content{margin-left:290px}.sidebar .brand{justify-content:center}.sidebar .brand-logo{width:254px;height:165px;object-position:center}.sidebar.collapsed .brand-logo{width:42px;height:42px}.auth-brand .brand-logo{width:360px;height:230px}.mobile-auth-brand .brand-logo{width:255px;height:165px}
@media(max-width:760px){.sidebar,.sidebar.mobile-open{width:280px!important}.sidebar.mobile-open .brand-logo{width:244px;height:158px}.main-content,.sidebar.collapsed+.main-content{margin-left:0}.mobile-auth-brand .brand-logo{width:245px;height:158px}}
/* Recorte visual da logo original: remove o grande espaço transparente do PNG */
.sidebar{width:244px}.main-content{margin-left:244px}.sidebar .brand{position:relative;width:208px;height:76px;flex:none;padding:0;overflow:hidden}.sidebar .brand-logo{position:absolute;left:-53px;top:-62px;width:309px;height:206px;max-width:none;object-fit:fill}.sidebar.collapsed .brand{width:42px;height:42px;padding:0}.sidebar.collapsed .brand-logo{position:absolute;left:-36px;top:-43px;width:212px;height:141px;max-width:none;object-fit:fill}
.auth-brand{position:relative;width:280px;height:94px;overflow:hidden;border-radius:13px;background:rgba(255,255,255,.96)}.auth-brand .brand-logo{position:absolute;left:-71px;top:-84px;width:416px;height:277px;max-width:none;object-fit:fill;filter:none}.mobile-auth-brand{position:relative;width:230px;height:78px;overflow:hidden}.mobile-auth-brand .brand-logo{position:absolute;left:-58px;top:-69px;width:342px;height:228px;max-width:none;object-fit:fill}
@media(max-width:760px){.sidebar,.sidebar.mobile-open{width:244px!important}.sidebar.mobile-open .brand{width:208px;height:76px}.sidebar.mobile-open .brand-logo{position:absolute;left:-53px;top:-62px;width:309px;height:206px;max-width:none;object-fit:fill}.mobile-auth-brand{width:220px;height:74px;margin-bottom:34px}.mobile-auth-brand .brand-logo{left:-56px;top:-66px;width:327px;height:218px}}
/* Versão clara da marca criada especificamente para o fundo navy do login */
.auth-brand{position:relative;width:360px;height:120px;overflow:visible;border-radius:0;background:transparent}.auth-brand .brand-logo{position:static;width:360px;height:120px;max-width:100%;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(5,20,34,.18))}
/* Responsividade exclusiva da autenticação em tablets */
.auth-visual,.auth-form-side{min-width:0}.auth-brand{width:min(360px,100%);height:auto;aspect-ratio:3/1}.auth-brand .brand-logo{width:100%;height:100%}
@media(min-width:901px) and (max-width:1100px){.auth-screen{grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr)}.auth-visual{padding:32px}.auth-brand{width:min(300px,100%)}.auth-message h2{font-size:clamp(34px,4.4vw,49px)}.auth-message p{font-size:12px}.auth-form-side{padding:28px}}
@media(min-width:761px) and (max-width:900px){.auth-screen{display:grid;grid-template-columns:1fr;grid-template-rows:190px auto;overflow:auto;background:var(--cream)}.auth-visual{display:flex;min-height:190px;padding:18px 40px}.auth-visual::after{font-size:100px;right:0;top:12%}.auth-message,.auth-quote{display:none}.auth-brand{width:min(320px,70vw);margin:auto 0}.auth-form-side{min-height:calc(100vh - 190px);padding:30px 24px}.login-card{width:min(430px,100%)}}

/* Responsive dashboard: tablets and phones */
html,body{max-width:100%;overflow-x:hidden}
.main-content,.page,.panel,.hero-grid,.lower-grid,.course-grid,.teacher-grid,.metrics-grid{min-width:0}
img,video,canvas,iframe{max-width:100%}

@media(max-width:1024px){
  .sidebar,.sidebar.collapsed{
    width:min(280px,86vw)!important;
    transform:translateX(-105%);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:max(22px,env(safe-area-inset-bottom));
  }
  .sidebar.mobile-open,.sidebar.collapsed.mobile-open{transform:translateX(0)}
  .sidebar.mobile-open .brand,.sidebar.collapsed.mobile-open .brand{width:208px;height:76px;padding:0}
  .sidebar.mobile-open .brand-logo,.sidebar.collapsed.mobile-open .brand-logo{position:absolute;left:-53px;top:-62px;width:309px;height:206px;max-width:none;object-fit:fill}
  .sidebar.mobile-open .nav-label,.sidebar.collapsed.mobile-open .nav-label{display:block}
  .sidebar.mobile-open .nav-item span:not([data-icon]),.sidebar.collapsed.mobile-open .nav-item span:not([data-icon]){display:inline}
  .sidebar.mobile-open .sidebar-help,.sidebar.collapsed.mobile-open .sidebar-help{display:flex}
  .sidebar.mobile-open .nav-item,.sidebar.collapsed.mobile-open .nav-item{justify-content:flex-start;padding:0 13px}
  .collapse-button{display:none}
  .main-content,.sidebar.collapsed+.main-content{width:100%;margin-left:0}
  .mobile-menu{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;padding:8px;border-radius:10px}
  .mobile-menu:hover{background:var(--purple-pale)}
  .overlay{position:fixed;inset:0;z-index:15;background:rgba(20,17,30,.38);backdrop-filter:blur(2px)}
  .overlay.visible{display:block}
  .topbar{padding:0 clamp(16px,3vw,30px)}
  .page{width:100%;padding:28px clamp(18px,3vw,30px) 45px}
  .hero-grid,.lower-grid,.teacher-grid{grid-template-columns:minmax(0,1fr)}
  .course-builder-layout{grid-template-columns:minmax(0,1fr)}
  .community-banner{grid-template-columns:80px minmax(0,1fr) auto}
  .community-meta{display:none}
}

@media(max-width:700px){
  .topbar{height:68px;gap:8px;padding:0 12px}
  .topbar-title{display:none}
  .search-wrap{position:static;width:auto;min-width:0;flex:1;margin-left:0}
  .search-wrap .search-box{display:flex;width:100%;min-width:0;height:40px;margin:0;padding:0 10px}
  .search-box kbd{display:none}
  .search-results,.notification-menu{top:62px;left:10px;right:10px;max-width:calc(100vw - 20px)}
  .notification-wrap,.profile-button,.avatar-main{flex:0 0 auto}
  .profile-copy,.profile-button>[data-icon]{display:none}
  .profile-menu{top:62px;right:10px;max-width:calc(100vw - 20px)}
  .page{padding:22px 14px 36px}
  .welcome-row,.teacher-welcome,.admin-page-heading{gap:14px;align-items:flex-start}
  .welcome-row h1,.teacher-welcome h1,.teacher-admin-page h1{font-size:24px}
  .streak-card{display:none}
  .continue-card{min-height:0;grid-template-columns:minmax(0,1fr)}
  .continue-info{padding:24px;overflow:hidden}
  .continue-info h2{font-size:22px}
  .sound-visual{position:absolute;right:0;width:42%;height:100%;opacity:.28;pointer-events:none}
  .course-grid,.certificate-grid{grid-template-columns:minmax(0,1fr)}
  .course-card:last-child{display:block}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .metrics-grid article{min-width:0;padding:16px}
  .community-banner{grid-template-columns:minmax(0,1fr);padding:22px}
  .community-art,.community-meta{display:none}
  .community-banner .light-button{width:100%;justify-self:stretch}
  .section-title,.panel-heading{gap:12px}
  .panel-heading{padding:15px}
  .admin-form{grid-template-columns:minmax(0,1fr);padding:15px}
  .admin-form label,.admin-form label:first-child,.admin-form .wide{grid-column:1}
  .event-card{grid-template-columns:minmax(0,1fr)}
  .inline-create{flex-wrap:wrap}
  .inline-create input,.inline-create select,.inline-create button{width:100%;flex:1 1 100%;min-height:40px}
  .editor-course-head{flex-direction:column;gap:12px}
  .module-list,.lesson-list{padding-left:10px;padding-right:10px}
  .module-head{padding:12px 10px;flex-wrap:wrap}
  .student-lesson,.lesson-row{align-items:flex-start;flex-wrap:wrap;padding:10px 0}
  .student-lesson>strong,.lesson-row>strong{min-width:calc(100% - 44px)}
  .toast{left:12px;right:12px;bottom:12px;min-width:0}
}

@media(max-width:480px){
  .mobile-menu{width:36px;height:36px;flex-basis:36px}
  .icon-button{width:36px;height:36px}
  .avatar-main{width:36px;height:36px}
  .search-wrap .search-box{height:36px}
  .search-box input{font-size:11px}
  .search-box input::placeholder{color:transparent}
  .page{padding-left:12px;padding-right:12px}
  .sound-visual{display:none}
  .continue-info{padding:20px}
  .continue-info .progress-line,.continue-info .progress-label{max-width:none}
  .continue-info .primary-button{width:100%}
  .metrics-grid{grid-template-columns:minmax(0,1fr)}
  .metrics-grid article{min-height:88px}
  .activity-list article{grid-template-columns:42px minmax(0,1fr) 18px;gap:9px;padding:12px 10px}
  .activity-icon{display:none}
  .podium{gap:10px}
  .teacher-welcome,.admin-page-heading{flex-direction:column;align-items:stretch}
  .teacher-actions,.settings-actions{width:100%;flex-direction:column}
  .teacher-actions button,.settings-actions button{width:100%}
  .approval-item{align-items:flex-start;flex-wrap:wrap;padding:12px 0}
  .approval-actions{width:100%}
  .approval-actions button{flex:1}
  .ranking-real-row{padding:12px 10px;grid-template-columns:30px 34px minmax(0,1fr)}
  .community-composer form>div{align-items:stretch;flex-direction:column;gap:10px}
  .community-composer form .primary-button{width:100%}
  .modal-shell{padding:12px}
}

.lesson-form{align-items:stretch;flex-wrap:wrap}
.lesson-form>input[name="title"]{flex:1 1 220px}
.lesson-form>select{flex:0 1 130px}
.lesson-form>input[name="content_url"]{flex:2 1 300px}
.lesson-video-upload{min-height:40px;max-width:190px;flex:1 1 155px;padding:7px 11px;display:flex;min-width:0;flex-direction:column;justify-content:center;border:1px dashed #c9c2b5;border-radius:9px;background:#fff;cursor:pointer;color:var(--navy)}
.lesson-video-upload:hover,.lesson-video-upload.has-file{border-color:var(--gold);background:#F8F6F1}
.lesson-video-upload span{font-size:9px;font-weight:800}
.lesson-video-upload small{margin-top:2px;overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.lesson-form>button:disabled{cursor:wait;opacity:.65}
@media(max-width:700px){.lesson-video-upload{width:100%;max-width:none;flex-basis:100%}}

/* Área de estudos do aluno */
.course-view-open>.section-title,.course-view-open>#realStudentCourses{display:none}
.student-course-content{margin-top:4px;border-radius:20px;overflow:hidden}
.student-viewer-header{min-height:150px;padding:25px 30px;display:grid;grid-template-columns:180px minmax(0,1fr) 180px;align-items:center;gap:24px;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(201,154,69,.25),transparent 28%),linear-gradient(125deg,#10283D,#17324D)}
.student-viewer-header>button{align-self:start;justify-self:start;padding:8px 0;border:0;background:transparent;color:#E8D2A8;font-size:10px;font-weight:800}
.student-viewer-header .eyebrow{margin-bottom:6px;color:#E8D2A8}.student-viewer-header h2{margin:0;font:800 27px Manrope,sans-serif}.student-viewer-header>div>p:last-child{margin:7px 0 0;color:#D6DEE4;font-size:10px}
.student-course-progress{display:flex;flex-direction:column}.student-course-progress strong{font:800 23px Manrope,sans-serif}.student-course-progress>span{height:5px;margin:7px 0;overflow:hidden;border-radius:5px;background:rgba(255,255,255,.18)}.student-course-progress i{display:block;height:100%;border-radius:inherit;background:#C99A45}.student-course-progress small{color:#D6DEE4;font-size:8px}
.student-learning-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:610px}
.student-curriculum{max-height:720px;overflow-y:auto;border-right:1px solid var(--line);background:#FBFAF7}
.student-curriculum-title{position:sticky;top:0;z-index:2;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(251,250,247,.96);backdrop-filter:blur(8px)}.student-curriculum-title strong{font-size:11px}.student-curriculum-title small{color:var(--muted);font-size:8px}
.student-module-nav{border-bottom:1px solid var(--line)}.student-module-nav>header{padding:17px 18px 12px;display:flex;align-items:center;gap:10px}.student-module-nav>header>span{width:27px;height:27px;display:grid;place-items:center;flex:none;border-radius:8px;background:#F0EADF;color:#9B7525;font-size:9px;font-weight:800}.student-module-nav>header>div{display:flex;min-width:0;flex-direction:column}.student-module-nav>header strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.student-module-nav>header small{margin-top:2px;color:var(--muted);font-size:7px}
.student-lesson-nav{width:100%;min-height:60px;padding:10px 18px;display:flex;align-items:center;gap:10px;border:0;border-left:3px solid transparent;background:transparent;color:var(--ink);text-align:left}.student-lesson-nav:hover{background:#F5F1E9}.student-lesson-nav.active{border-left-color:var(--gold);background:#F1EEE7}.student-lesson-nav>span{width:28px;height:28px;display:grid;place-items:center;flex:none;border:1px solid #DDD7CB;border-radius:50%;background:#fff;color:var(--navy);font-size:8px}.student-lesson-nav.completed>span{border-color:#A9DCC6;background:#E8F7F0;color:#27815F}.student-lesson-nav>div{display:flex;min-width:0;flex-direction:column}.student-lesson-nav strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.student-lesson-nav small{margin-top:4px;color:var(--muted);font-size:7px}.student-module-empty{margin:0;padding:4px 18px 16px;color:var(--muted);font-size:8px}
.student-lesson-view{min-width:0;padding:30px;background:#fff}.student-video-frame{width:100%;overflow:hidden;aspect-ratio:16/9;border-radius:16px;background:#0B1722;box-shadow:0 15px 35px rgba(16,40,61,.14)}.student-video-frame video,.student-video-frame iframe{width:100%;height:100%;display:block;border:0;object-fit:contain}
.student-media-empty{min-height:360px;padding:35px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #D9D2C5;border-radius:16px;background:#F8F6F1;text-align:center}.student-media-empty>span,.student-course-empty>span{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:#ECE5D8;color:var(--navy);font-size:24px}.student-media-empty h3,.student-course-empty h3{margin:15px 0 6px;font:800 18px Manrope,sans-serif}.student-media-empty p,.student-course-empty p{margin:0 0 18px;color:var(--muted);font-size:10px}
.student-lesson-heading{padding:24px 2px 4px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.student-lesson-heading .eyebrow{margin-bottom:7px}.student-lesson-heading h2{margin:0;font:800 22px Manrope,sans-serif}.student-lesson-heading>div:first-child>p:last-child{max-width:620px;margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.student-lesson-actions{display:flex;flex:none;align-items:center;gap:8px}.student-complete-button,.student-next-button{min-height:42px;padding:0 17px;flex:none;border-radius:10px;font-size:9px;font-weight:800}.student-complete-button{border:0;background:var(--navy);color:#fff}.student-complete-button.completed{background:#E4F5ED;color:#247A5A}.student-next-button{border:1px solid #D8CDB9;background:#fff;color:var(--navy)}.student-next-button:hover{border-color:var(--gold);background:#F8F6F1}.student-course-empty{min-height:420px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}
@media(max-width:900px){.student-viewer-header{grid-template-columns:1fr auto}.student-viewer-header>button{grid-column:1/-1}.student-learning-layout{grid-template-columns:260px minmax(0,1fr)}.student-lesson-view{padding:22px}}
@media(max-width:700px){.student-course-content{margin-left:-2px;margin-right:-2px}.student-viewer-header{padding:20px;grid-template-columns:1fr}.student-viewer-header>button{grid-column:auto}.student-viewer-header h2{font-size:22px}.student-course-progress{width:100%}.student-learning-layout{display:flex;min-height:0;flex-direction:column}.student-curriculum{max-height:330px;border-right:0;border-bottom:1px solid var(--line)}.student-lesson-view{padding:14px}.student-media-empty{min-height:240px}.student-lesson-heading{padding:19px 2px 4px;flex-direction:column}.student-lesson-heading h2{font-size:19px}.student-lesson-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-complete-button,.student-next-button{width:100%;padding:0 9px}}
@media(max-width:430px){.student-lesson-actions{grid-template-columns:minmax(0,1fr)}}

/* Cards de curso: preserva a capa original em 16:9 */
.course-card{display:flex;min-width:0;flex-direction:column}
.course-cover{width:100%;height:auto;aspect-ratio:16/9;background-color:#17324D}
.real-cover{background-position:center;background-size:cover}
.real-cover::before,.real-cover::after{display:none}
.real-cover .cover-icon{display:none}
.course-card.locked .real-cover .cover-icon{position:absolute;top:11px;right:11px;z-index:3;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:10px;background:rgba(16,40,61,.78);color:#fff;font-size:15px;backdrop-filter:blur(5px);box-shadow:0 6px 15px rgba(9,25,38,.18)}
.course-body{display:flex;min-height:190px;flex:1;flex-direction:column}
.course-description{min-height:42px;margin-bottom:14px}
.course-body>.progress-line{margin-top:auto}
.student-open-course,.unlock-button{margin-top:13px}
@media(max-width:480px){.course-body{min-height:180px}}

.course-card.locked{cursor:pointer}.course-card.locked:focus-visible{outline:3px solid rgba(201,154,69,.45);outline-offset:3px}.course-card.locked:hover .unlock-button{background:#E9E3D8;color:var(--navy)}
.course-price-badge{position:absolute;right:11px;bottom:11px;z-index:3;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.94);color:var(--navy);font-size:9px;box-shadow:0 5px 14px rgba(9,25,38,.14)}
.course-price{margin:0 0 13px;display:flex;align-items:center;justify-content:space-between}.course-price span{color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.6px}.course-price strong{color:var(--navy);font:800 13px Manrope,sans-serif}
.course-access-modal{position:relative;z-index:1;width:min(430px,100%);padding:30px;border-radius:20px;background:#fff;box-shadow:0 25px 70px rgba(20,14,43,.3);text-align:center}.course-access-icon{width:58px;height:58px;margin:0 auto 18px;display:grid;place-items:center;border-radius:17px;background:#F0EADF;font-size:25px}.course-access-modal h2{margin:5px 0 8px;font:800 22px Manrope,sans-serif}.course-access-modal>p:not(.eyebrow){margin:0;color:var(--muted);font-size:11px;line-height:1.65}.course-access-price{margin:20px 0;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-radius:11px;background:#F8F6F1}.course-access-price span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.7px}.course-access-price strong{color:var(--navy);font:800 18px Manrope,sans-serif}.course-access-modal>.primary-button{width:100%;margin-top:20px}.course-access-price:not([hidden])+.primary-button{margin-top:0}

.sidebar-help button{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;transition:.18s}.sidebar-help button:hover{background:#ECE5D8;transform:translateX(2px)}
.help-modal{position:relative;z-index:1;width:min(430px,100%);padding:30px;border-radius:20px;background:#fff;box-shadow:0 25px 70px rgba(20,14,43,.3);text-align:center}.help-modal-icon{width:58px;height:58px;margin:0 auto 18px;display:grid;place-items:center;border-radius:17px;background:#F0EADF;color:var(--gold);font:800 25px Manrope,sans-serif}.help-modal h2{margin:5px 0 8px;font:800 22px Manrope,sans-serif}.help-modal>p:not(.eyebrow){margin:0;color:var(--muted);font-size:11px;line-height:1.65}.help-contact{margin:20px 0;padding:13px 15px;display:flex;align-items:center;gap:11px;border-radius:11px;background:#F8F6F1;text-align:left}.help-contact>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#fff;color:var(--navy)}.help-contact>div{display:flex;flex-direction:column}.help-contact small{color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.7px}.help-contact strong{margin-top:3px;font-size:11px}.help-modal>.primary-button{width:100%;text-decoration:none}

/* Todos os cursos permanecem visíveis em tablets e iPads. */
.course-grid>.course-card:last-child{display:flex}

.edit-lesson-button{min-height:29px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);font-size:7px;font-weight:800}.edit-lesson-button:hover{border-color:var(--gold);background:#F8F6F1}
.lesson-edit-form{margin:5px 0 12px;padding:12px;display:grid;grid-template-columns:minmax(180px,1.2fr) 105px minmax(220px,1.4fr) minmax(145px,.7fr);align-items:stretch;gap:8px;border:1px solid #DED5C5;border-radius:11px;background:#F8F6F1}.lesson-edit-form[hidden]{display:none}.lesson-edit-form>input,.lesson-edit-form>select{width:100%;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;outline:0;font-size:9px}.lesson-edit-form>input:focus,.lesson-edit-form>select:focus{border-color:var(--gold)}.lesson-edit-form .lesson-video-upload{max-width:none;background:#fff}.lesson-edit-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px}.lesson-edit-actions button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:8px;font-weight:800}.lesson-edit-actions button[type="submit"]{border-color:var(--navy);background:var(--navy);color:#fff}
@media(max-width:900px){.lesson-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.lesson-row{display:grid;grid-template-columns:27px minmax(0,1fr) auto}.lesson-row>small,.lesson-row>a{grid-column:2}.lesson-row .edit-lesson-button{grid-column:3;grid-row:1}.lesson-edit-form{grid-template-columns:minmax(0,1fr)}.lesson-edit-actions{grid-column:1}.lesson-edit-actions button{flex:1}}

/* Identidade visual 2026 — paleta oficial Meu Canto */
body{color:var(--ink);background:var(--snow)}
.sidebar,.topbar,.panel,.course-card,.next-class-card,.ranking-card,.activity-list,.notification-menu,.profile-menu,.search-results{background:#fff;border-color:var(--line)}
.topbar{background:rgba(255,255,255,.94)}
.search-box,.search-results button,.notification-item{border-color:var(--line)}
.search-box{background:var(--snow)}
.nav-label,.topbar-title p{color:#8291A0}
.nav-item{color:#607284}.nav-item:hover{color:var(--navy);background:var(--snow)}.nav-item.active{color:var(--navy);background:var(--cool-white)}
.nav-item.active [data-icon],.nav-item:hover [data-icon],.eyebrow,.course-kicker,.activity-type{color:var(--gold)}
.nav-badge,.notification-dot,.notification-button b{background:var(--gold)}
.primary-button,.student-complete-button,.inline-create button,.lesson-edit-actions button[type="submit"]{background:var(--navy);box-shadow:0 8px 18px rgba(27,58,92,.18)}
.primary-button:hover{background:var(--blue-mid)}
.outline-button:hover,.unlock-button:hover{background:var(--cool-white)}
.progress-line{background:var(--cool-white)}.progress-line span,.course-health i{background:linear-gradient(90deg,var(--blue-mid),var(--gold))}
.sidebar-help,.access-tip,.student-media-empty,.course-access-price,.help-contact,.course-price-badge{background:var(--snow);border-color:var(--line)}
.help-icon,.module-number,.lesson-type,.editor-empty>span,.placeholder-icon,.student-media-empty>span,.student-course-empty>span{color:var(--navy);background:var(--cool-white)}
.continue-card,.student-viewer-header,.community-banner{background:radial-gradient(circle at 80% 18%,rgba(139,175,199,.30),transparent 30%),linear-gradient(125deg,var(--navy),var(--blue-mid));box-shadow:0 18px 36px rgba(27,58,92,.18)}
.auth-visual{background:radial-gradient(circle at 75% 25%,rgba(139,175,199,.34),transparent 30%),linear-gradient(145deg,var(--navy),var(--blue-mid))}
.auth-form-side{background:var(--snow)}
.auth-message p,.student-viewer-header>div>p:last-child,.student-course-progress small{color:var(--cool-white)}
.auth-quote{border-left-color:var(--gold)}.auth-quote small,.continue-info .course-kicker,.student-viewer-header .eyebrow,.student-viewer-header>button{color:#E8D3AA}
.cover-purple,.builder-course-item>i{background:linear-gradient(135deg,var(--navy),var(--blue-mid))}.cover-coral{background:linear-gradient(135deg,var(--blue-mid),var(--blue-light))}
.builder-course-item:hover,.builder-course-item.active,.search-results button:hover,.notification-item.unread,.student-lesson-nav.active{background:var(--cool-white)}
.student-curriculum,.student-curriculum-title{background:var(--snow)}
.student-lesson-nav:hover,.student-materials-card a:hover{background:var(--cool-white)}
.student-module-nav>header>span,.course-access-icon,.help-modal-icon{background:var(--cool-white);color:var(--navy)}
.student-course-progress i,.student-rating-stars button.selected,.student-rating-stars button:hover{background:transparent;color:var(--gold)}
.course-price strong,.course-price-badge,.course-access-price strong{color:var(--navy)}
.avatar{background:linear-gradient(145deg,var(--blue-mid),var(--navy))}.avatar-main{border-color:var(--cool-white)}

/* Nova marca: logo horizontal expandida e ícone no menu recolhido */
.brand-icon{display:none}
.sidebar .brand,.sidebar.mobile-open .brand,.sidebar.collapsed.mobile-open .brand{position:relative;width:208px;height:64px;flex:none;padding:0;overflow:hidden}
.sidebar .brand .brand-logo,.sidebar.mobile-open .brand .brand-logo,.sidebar.collapsed.mobile-open .brand .brand-logo{position:absolute;left:0;top:50%;width:208px;height:auto;max-width:none;object-fit:contain;transform:translateY(-50%)}
.sidebar.collapsed:not(.mobile-open) .brand{width:42px;height:42px;overflow:hidden}
.sidebar.collapsed:not(.mobile-open) .brand-logo{display:none}
.sidebar.collapsed:not(.mobile-open) .brand-icon{position:absolute;left:50%;top:-4px;width:auto;height:56px;max-width:none;display:block;transform:translateX(-50%)}
.auth-brand{position:relative;width:min(360px,100%);height:90px;overflow:hidden;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 14px 35px rgba(14,43,68,.16)}
.auth-brand .brand-logo{position:absolute;left:0;top:50%;width:100%;height:auto;max-width:none;object-fit:contain;filter:none;transform:translateY(-50%)}
.mobile-auth-brand{position:relative;width:min(270px,82vw);height:68px;overflow:hidden;margin-bottom:38px}
.mobile-auth-brand .brand-logo{position:absolute;left:0;top:50%;width:100%;height:auto;max-width:none;object-fit:contain;transform:translateY(-50%)}
@media(max-width:760px){.sidebar.mobile-open .brand{width:208px;height:64px}.sidebar.mobile-open .brand-logo{left:0;top:50%;width:208px;height:auto;transform:translateY(-50%)}.mobile-auth-brand{width:min(270px,82vw);height:68px}}

.student-lesson-extras{margin-top:25px;padding-top:25px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.65fr);gap:18px;border-top:1px solid var(--line)}
.student-discussion-card,.student-rating-card,.student-materials-card{border:1px solid var(--line);border-radius:14px;background:#fff}.student-discussion-card>header{padding:19px 20px 14px}.student-discussion-card h3,.student-rating-card h3,.student-materials-card h3{margin:0;font:800 15px Manrope,sans-serif}.student-discussion-card form{padding:0 20px 18px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:9px}.student-discussion-card textarea{min-height:72px;padding:11px 12px;resize:vertical;border:1px solid var(--line);border-radius:10px;outline:0;font:10px/1.5 "DM Sans",sans-serif}.student-discussion-card textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #F7F0E4}.student-discussion-card form button{min-height:38px;padding:0 13px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-size:8px;font-weight:800}.student-discussion-card form button:disabled{opacity:.6}
.student-lesson-comments{border-top:1px solid var(--line)}.student-lesson-comment{padding:15px 20px;display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #EFEBE4}.student-lesson-comment:last-child{border:0}.student-lesson-comment>div{min-width:0;flex:1}.student-lesson-comment header{display:flex;align-items:center;gap:7px}.student-lesson-comment header strong{font-size:9px}.student-lesson-comment header b{padding:2px 5px;border-radius:8px;background:#F0EADF;color:#8C6821;font-size:5px}.student-lesson-comment header small{margin-left:auto;color:var(--muted);font-size:7px}.student-lesson-comment p{margin:5px 0 0;color:#4B5158;font-size:9px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.student-comments-empty{padding:25px;text-align:center;color:var(--muted);font-size:9px}
.student-extras-sidebar{display:grid;align-content:start;gap:14px}.student-rating-card,.student-materials-card{padding:18px}.student-rating-summary{display:flex;align-items:baseline;gap:5px;margin-top:12px}.student-rating-summary strong{font:800 25px Manrope,sans-serif}.student-rating-summary>span{color:#C99A45;font-size:17px}.student-rating-summary small{color:var(--muted);font-size:7px}.student-rating-stars{display:flex;gap:3px;margin:8px 0 5px}.student-rating-stars button{padding:0;border:0;background:transparent;color:#D8D4CD;font-size:24px;line-height:1}.student-rating-stars button:hover,.student-rating-stars button.selected{color:#C99A45}.student-rating-card [data-lesson-rating]>p,.student-no-materials{margin:6px 0 0;color:var(--muted);font-size:8px;line-height:1.5}
.student-materials-card>div{display:grid;gap:7px;margin-top:12px}.student-materials-card a{padding:10px;display:flex;align-items:center;gap:9px;border-radius:9px;background:#F8F6F1}.student-materials-card a:hover{background:#F0EADF}.student-materials-card a>span{width:29px;height:29px;display:grid;place-items:center;flex:none;border-radius:8px;background:#fff;color:var(--navy)}.student-materials-card a>div{display:flex;min-width:0;flex-direction:column}.student-materials-card a strong{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.student-materials-card a small{margin-top:3px;color:var(--muted);font-size:7px}
@media(max-width:900px){.student-lesson-extras{grid-template-columns:minmax(0,1fr)}.student-extras-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.student-discussion-card form{grid-template-columns:28px minmax(0,1fr)}.student-discussion-card form button{grid-column:2}.student-extras-sidebar{grid-template-columns:minmax(0,1fr)}.student-rating-stars button{font-size:27px}}

/* Acabamentos da nova paleta em estados interativos e conteúdos internos */
.course-cover{background-color:var(--navy)}
.course-card.locked:focus-visible{outline-color:rgba(201,169,110,.45)}
.course-card.locked:hover .unlock-button,.sidebar-help button:hover,.edit-lesson-button:hover,.student-next-button:hover{background:var(--cool-white)}
.lesson-edit-form,.lesson-video-upload:hover,.lesson-video-upload.has-file,.student-materials-card a{background:var(--snow)}
.student-materials-card a:hover{background:var(--cool-white)}
.student-rating-summary>span,.student-rating-stars button:hover,.student-rating-stars button.selected{color:var(--gold)}
.student-discussion-card textarea:focus{box-shadow:0 0 0 3px rgba(201,169,110,.18)}

/* Central de dúvidas das aulas — área do professor */
.lesson-inbox-refresh{width:auto;margin:0;padding:0 16px}
.lesson-inbox{display:grid;gap:18px}
.lesson-inbox-card{overflow:visible;scroll-margin-top:105px;transition:.25s}
.lesson-inbox-card.focused{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.18),var(--shadow)}
.lesson-inbox-header{min-height:92px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:var(--snow)}
.lesson-inbox-header .eyebrow{margin-bottom:5px}.lesson-inbox-header h2{margin:0;font-size:19px}.lesson-inbox-header div>span{margin-top:4px;display:block;color:var(--muted);font-size:8px}.lesson-inbox-header>b{padding:7px 10px;flex:none;border-radius:999px;color:var(--navy);background:var(--cool-white);font-size:8px}
.lesson-inbox-thread{padding:0 24px}
.lesson-inbox-message{padding:18px 0;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line)}
.lesson-inbox-message:last-child{border-bottom:0}.lesson-inbox-message>.avatar{width:34px;height:34px;min-width:34px}.lesson-inbox-message>div{min-width:0;flex:1}.lesson-inbox-message header{display:flex;align-items:center;gap:7px}.lesson-inbox-message header strong{font-size:10px}.lesson-inbox-message header b{padding:3px 6px;border-radius:999px;color:var(--blue-mid);background:var(--cool-white);font-size:5px}.lesson-inbox-message.teacher-answer header b{color:#247A5A;background:#E4F5ED}.lesson-inbox-message header small{color:var(--gold);font-size:7px}.lesson-inbox-message time{margin-left:auto;color:var(--muted);font-size:7px}.lesson-inbox-message p{margin:7px 0 0;color:#43566A;font-size:10px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.lesson-inbox-message>div>button{margin-top:9px;padding:0;border:0;border-bottom:1px solid var(--gold);background:none;color:var(--navy);font-size:8px;font-weight:700}
.lesson-inbox-message.teacher-answer{margin:5px -12px;padding:16px 12px;border-radius:12px;background:var(--snow)}
.lesson-inbox-reply{margin:0 24px 24px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border:1px solid var(--line);border-radius:13px;background:var(--snow)}.lesson-inbox-reply[hidden]{display:none}.lesson-inbox-reply>div{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--muted);font-size:8px}.lesson-inbox-reply>div strong{color:var(--navy)}.lesson-inbox-reply>div button{padding:0;border:0;background:none;color:#B64B57;font-size:8px}.lesson-inbox-reply textarea{min-height:78px;padding:12px;resize:vertical;border:1px solid var(--line);border-radius:10px;outline:0;font:10px/1.5 var(--font-secondary)}.lesson-inbox-reply textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.18)}.lesson-inbox-reply>.primary-button{align-self:stretch}
.lesson-inbox-empty{padding:65px 25px;text-align:center}.lesson-inbox-empty>span{width:50px;height:50px;margin:auto;display:grid;place-items:center;border-radius:50%;color:#247A5A;background:#E4F5ED;font-size:20px}.lesson-inbox-empty h2{margin:15px 0 5px}.lesson-inbox-empty p{margin:0;color:var(--muted);font-size:10px}
@media(max-width:650px){.lesson-inbox-header{align-items:flex-start;flex-direction:column}.lesson-inbox-thread{padding:0 15px}.lesson-inbox-message header{align-items:flex-start;flex-wrap:wrap}.lesson-inbox-message time{width:100%;margin:0}.lesson-inbox-reply{margin:0 15px 15px;grid-template-columns:1fr}.lesson-inbox-reply>.primary-button{width:100%}}

/* Login: marca no campo claro e formulário no azul institucional */
.auth-visual{
  color:var(--navy);
  background:radial-gradient(circle at 78% 25%,rgba(139,175,199,.25),transparent 31%),linear-gradient(145deg,#fff,var(--snow));
}
.auth-visual::after{color:rgba(74,122,155,.10)}
.auth-visual::after,.auth-message>span{display:none}
.auth-brand{
  width:min(640px,100%);
  height:160px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.auth-brand .brand-logo{filter:none}
.auth-message>span{color:var(--navy);background:var(--cool-white)}
.auth-message h2{margin-top:0;color:var(--navy)}
.auth-message p{color:var(--muted)}
.auth-quote{color:var(--navy);border-left-color:var(--gold)}
.auth-quote small{color:#8A6A32}
.auth-form-side{
  color:#fff;
  background:radial-gradient(circle at 20% 18%,rgba(139,175,199,.25),transparent 31%),linear-gradient(145deg,var(--navy),#244D70);
}
.auth-form-side .login-card{width:min(430px,100%)}
.auth-form-side .login-card h1{color:#fff}
.auth-form-side .login-subtitle{color:var(--cool-white)}
.auth-form-side .login-card>.eyebrow{color:var(--gold)}
.auth-form-side .login-card>label{color:#fff}
.auth-form-side .login-card input{border-color:rgba(255,255,255,.38);background:#fff;color:var(--navy)}
.auth-form-side .login-card input::placeholder{color:#83909C}
.auth-form-side .login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.22)}
.auth-form-side .password-wrap button{color:var(--blue-mid)}
.auth-form-side .login-submit{background:var(--gold);color:var(--navy);box-shadow:0 10px 24px rgba(8,29,47,.28)}
.auth-form-side .login-submit:hover{background:#D5B77E}
.auth-form-side .auth-switch{color:var(--cool-white)}
.auth-form-side .auth-switch strong{color:#E8D3AA}
.auth-form-side .login-error{color:#FFD0CB}

@media(min-width:901px) and (max-width:1100px){
  .auth-brand{width:min(460px,100%);height:116px}
}
@media(min-width:761px) and (max-width:900px){
  .auth-screen{background:var(--snow)}
  .auth-brand{width:min(460px,78vw);height:116px}
}
@media(max-width:760px){
  .auth-form-side{
    background:linear-gradient(to bottom,var(--snow) 0 155px,var(--navy) 155px 100%);
  }
  .mobile-auth-brand{width:min(340px,90vw);height:100px;margin:0 auto 34px;background:transparent}
  .mobile-auth-brand .brand-logo{filter:none}
}

/* Tipografia oficial: Brandis nos títulos e Mayeka na interface */
button,input,select,textarea{font-family:var(--font-secondary)!important}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-primary)!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
.date-box strong,.metrics-grid strong,.rank-number,.student-course-progress strong,
.course-price strong,.course-access-price strong,.student-rating-summary strong{
  font-family:var(--font-primary)!important;
  font-weight:400!important;
}
.eyebrow,.nav-label,.course-kicker,.course-tag,.activity-type,
.primary-button,.outline-button,.nav-item,.topbar-title,.status-pill{
  font-family:var(--font-secondary);
}
