:root {
  --ink: #071d44;
  --muted: #64728a;
  --line: #e3e9f2;
  --bg: #f7fbff;
  --teal: #09b8ac;
  --green: #28c67b;
  --blue: #1c7cf3;
  --red: #ff4e59;
  --orange: #f5a10a;
  --purple: #8a50f4;
  --shadow: 0 14px 28px rgba(25, 52, 92, .08);
  --soft-shadow: 0 8px 20px rgba(31, 54, 87, .065);
  color-scheme: light;
}

/* Home 2026: IAra como ponto de partida da jornada do aluno */
.home-scroll > .app-home-hero { min-height:52px; }
.home-command-center.app-home-greeting { position:relative; isolation:isolate; min-height:0; margin:12px 0 0; padding:19px 18px 15px; overflow:hidden; border:1px solid rgba(86,225,211,.38); border-radius:28px; background:radial-gradient(circle at 92% 4%,rgba(42,239,211,.34),transparent 30%),radial-gradient(circle at 4% 95%,rgba(64,100,255,.28),transparent 34%),linear-gradient(145deg,#071b47 0%,#0c3471 48%,#087e91 115%); box-shadow:0 22px 48px rgba(5,31,78,.23),inset 0 1px 0 rgba(255,255,255,.13); color:#fff; }
.home-command-center::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(to bottom,black,transparent 72%); }
.home-command-glow { position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
.home-command-glow-one { width:190px; height:190px; right:-95px; top:110px; border:38px solid rgba(84,252,222,.09); }
.home-command-glow-two { width:145px; height:145px; left:-90px; top:250px; background:rgba(77,99,255,.18); filter:blur(35px); }
.home-command-copy { position:relative; z-index:3; }
.home-command-presence { width:fit-content; display:flex; align-items:center; gap:7px; margin-bottom:11px; padding:6px 9px; border:1px solid rgba(111,255,226,.25); border-radius:999px; color:#9cffe9; background:rgba(4,17,52,.28); font-size:9px; line-height:1; font-weight:900; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
.home-command-presence i { width:7px; height:7px; border-radius:50%; background:#3effc8; box-shadow:0 0 0 5px rgba(62,255,200,.12),0 0 13px #3effc8; animation:homeIaraPresence 1.8s ease-in-out infinite; }
.home-command-hello { margin:0 112px 4px 0; color:#b8cfff; font-size:13px; font-weight:800; }
.home-command-copy h1 { max-width:240px; margin:0; color:#fff; font-size:clamp(29px,7.8vw,37px); font-weight:950; letter-spacing:-.045em; line-height:.96; text-wrap:balance; }
.home-command-copy h1 span { color:#55efd3; }
.home-command-lead { max-width:235px; margin:8px 0 0; color:#d5e5ff; font-size:12px; font-weight:700; line-height:1.3; }
.home-command-form { position:relative; z-index:5; display:block; margin-top:14px; padding:6px; border:1px solid rgba(255,255,255,.68); border-radius:19px; background:#fff; box-shadow:0 15px 34px rgba(1,15,49,.28); }
.home-command-form-icon { width:40px; height:40px; display:grid; place-items:center; align-self:start; margin-top:4px; border-radius:14px; color:#fff; background:linear-gradient(145deg,#00ccb0,#2471ef); box-shadow:0 8px 17px rgba(0,170,181,.25); }
.home-command-form-icon svg,.home-command-voice svg,.home-capability-icon svg,.home-command-speech-icon svg,.home-command-write-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.home-command-form textarea { width:100%; min-height:58px; max-height:130px; padding:10px 8px; resize:vertical; border:0; outline:0; color:#0b214b; background:transparent; font:750 13.5px/1.4 inherit; }
.home-command-form textarea::placeholder { color:#8291aa; font-weight:650; }
.home-command-voice-entry { display:flex; flex-direction:column; align-items:center; padding:3px; }
.home-command-speech-button { width:100%; min-height:62px; display:flex; align-items:center; justify-content:center; gap:11px; border:0; border-radius:15px; color:#fff; background:linear-gradient(110deg,#00cfae,#008ecf 58%,#405cff); box-shadow:0 8px 18px rgba(0,149,185,.22); cursor:pointer; }
.home-command-speech-icon { position:relative; width:44px; height:44px; display:grid; flex:0 0 auto; place-items:center; border-radius:14px; color:#06717c; background:#fff; box-shadow:0 7px 17px rgba(4,62,116,.18); }
.home-command-speech-icon i { position:absolute; inset:-5px; border:1px solid rgba(255,255,255,.58); border-radius:20px; opacity:0; }
.home-command-speech-copy { display:block; text-align:left; }
.home-command-speech-copy small { display:block; margin-bottom:3px; color:#d5fff8; font-size:8px; font-weight:950; letter-spacing:.1em; }
.home-command-speech-copy strong { display:block; color:#fff; font-size:16px; line-height:1.05; font-weight:950; }
.home-command-speech-status { min-height:14px; margin:5px 4px 0; color:#65758f; font-size:8.7px; line-height:1.2; font-weight:700; text-align:center; }
.home-command-write-toggle,.home-command-back-to-voice { min-height:28px; display:flex; align-items:center; justify-content:center; gap:6px; padding:3px 10px; border:0; color:#536b90; background:transparent; font-size:9.5px; font-weight:850; cursor:pointer; }
.home-command-write-toggle svg { width:14px; height:14px; }
.home-command-form.is-listening .home-command-speech-button { background:linear-gradient(110deg,#ff4d72,#d93693 55%,#7548e8); }
.home-command-form.is-listening .home-command-speech-icon i { animation:homeSpeechPulse 1.35s ease-out infinite; }
.home-command-form.is-listening .home-command-speech-icon i:nth-of-type(2) { animation-delay:.55s; }
.home-command-form.is-listening .home-command-speech-status { color:#d93679; }
.home-command-write-entry[hidden],.home-command-voice-entry[hidden] { display:none; }
.home-command-write-field { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; }
.home-command-submit { width:100%; min-height:49px; display:flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:15px; color:#fff; background:linear-gradient(110deg,#00cfae,#008ecf 58%,#405cff); box-shadow:0 10px 22px rgba(0,149,185,.24); font-size:13px; font-weight:950; cursor:pointer; }
.home-command-submit b { width:27px; height:27px; display:grid; place-items:center; border-radius:9px; background:rgba(255,255,255,.17); font-size:18px; }
@keyframes homeSpeechPulse { 0% { opacity:.7; transform:scale(.86); } 100% { opacity:0; transform:scale(1.35); } }
.home-command-secondary { position:relative; z-index:4; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; margin-top:11px; }
.home-command-voice { min-height:50px; display:grid; grid-template-columns:34px auto; align-items:center; column-gap:8px; padding:7px 11px 7px 8px; border:1px solid rgba(91,255,220,.28); border-radius:16px; color:#fff; background:rgba(3,20,58,.35); text-decoration:none; backdrop-filter:blur(9px); }
.home-command-voice > span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:12px; color:#063b4b; background:#5af1d3; }
.home-command-voice svg { width:18px; height:18px; }
.home-command-voice strong { font-size:11px; line-height:1.05; font-weight:900; }
.home-command-voice small { color:#bcd5ec; font-size:8.5px; font-weight:700; }
.home-command-voice-help { max-width:155px; color:#bcd5ec; font-size:9.5px; line-height:1.35; font-weight:700; }
.home-command-tools { position:relative; z-index:5; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.home-command-upload,.home-command-microphone { min-width:0; min-height:56px; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; column-gap:7px; padding:7px 8px; border:1px solid rgba(255,255,255,.22); border-radius:15px; color:#fff; background:rgba(4,21,59,.36); text-decoration:none; cursor:pointer; backdrop-filter:blur(9px); transition:transform .16s ease,border-color .16s ease; }
.home-command-upload:active,.home-command-microphone:active { transform:scale(.98); }
.home-command-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.home-command-upload > span,.home-command-microphone > span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:11px; color:#073d51; background:#67f2d6; }
.home-command-microphone > span { color:#fff; background:linear-gradient(145deg,#617fff,#3554d8); }
.home-command-upload svg,.home-command-microphone svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.home-command-upload strong,.home-command-microphone strong { min-width:0; color:#fff; font-size:10.5px; line-height:1.08; font-weight:900; }
.home-command-upload small,.home-command-microphone small { min-width:0; margin-top:2px; overflow:hidden; color:#bfd3e9; font-size:8.5px; line-height:1.1; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.home-command-iara { position:absolute; z-index:2; right:-10px; top:43px; width:119px; height:162px; pointer-events:none; }
.home-command-iara > div { position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; }
.home-command-iara img { width:122px; max-width:none; filter:drop-shadow(0 14px 15px rgba(0,11,37,.34)); transform:translateY(6px); }
.home-capability-grid { position:relative; z-index:4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:19px; }
.home-capability-card { position:relative; min-width:0; min-height:122px; display:grid; grid-template-columns:39px minmax(0,1fr) 18px; align-items:start; gap:9px; padding:13px 11px; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:19px; color:#fff; background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.065)); text-align:left; text-decoration:none; backdrop-filter:blur(13px); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); transition:transform .18s ease,border-color .18s ease,background .18s ease; }
button.home-capability-card { width:100%; font:inherit; cursor:pointer; }
.home-capability-card:active { transform:scale(.98); }
.home-capability-card::after { content:""; position:absolute; width:80px; height:80px; right:-42px; bottom:-47px; border-radius:50%; background:rgba(68,239,207,.12); }
.home-capability-icon { width:39px; height:39px; display:grid; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,#00d1ae,#1a7ee5); box-shadow:0 9px 18px rgba(0,17,54,.2); }
.home-capability-card > span:nth-child(2) { min-width:0; display:block; }
.home-capability-card small { display:block; margin:1px 0 5px; color:#77f3d9; font-size:7.5px; line-height:1.1; font-weight:950; letter-spacing:.09em; }
.home-capability-card strong { display:block; color:#fff; font-size:12px; line-height:1.15; font-weight:900; }
.home-capability-card em { display:block; margin-top:5px; color:#c8d9ed; font-size:9px; line-height:1.25; font-style:normal; font-weight:650; }
.home-capability-card > b { align-self:center; color:#72f1db; font-size:18px; }
.home-capability-search .home-capability-icon { background:linear-gradient(145deg,#5d80ff,#3e4eda); }
.home-capability-question { grid-column:1/-1; min-height:0; grid-template-columns:39px minmax(0,1fr); align-items:center; overflow:visible; }
.home-capability-question::after { display:none; }
.home-capability-question .home-capability-icon { background:linear-gradient(145deg,#ffbd3d,#f27331); }
.home-capability-question .home-question-shortcut-actions { grid-column:1/-1; width:100%; margin-top:4px; }
.home-capability-question .home-question-shortcut-actions label { min-height:57px; }
.home-capability-question .home-question-shortcut-main { color:#14336f; }
.home-command-center > .home-question-photo-preview { z-index:6; margin-top:11px; background:rgba(3,18,56,.8); }
.home-command-center > .home-question-shortcut-status { z-index:6; }
.home-studies-section { margin:25px 0 8px; }

/* Jornada Clínica IAra */
.home-journey { margin:22px 0 8px; }
.home-journey-head,.journey-section>header { display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:11px; }
.home-journey-head p,.journey-section>header p { margin:0 0 3px;color:#087f91;font-size:10px;font-weight:900;letter-spacing:.13em; }
.home-journey-head h2,.journey-section>header h2 { margin:0;color:#092153;font-size:22px;font-weight:900;letter-spacing:-.035em; }
.home-journey-head>a,.journey-section>header>a { color:#176bba;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap; }
.home-journey-card { position:relative;overflow:hidden;padding:17px;border:1px solid rgba(82,219,210,.32);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(36,229,202,.2),transparent 34%),linear-gradient(145deg,#071c4b,#0a3974 64%,#087b8c);box-shadow:0 17px 38px rgba(8,39,90,.18);color:#fff; }
.home-journey-card:before { content:"";position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:28px 28px;pointer-events:none; }
.home-journey-card:after { content:"";position:absolute;right:-45px;top:-52px;width:180px;height:180px;border:28px solid rgba(84,241,216,.08);border-radius:50%;pointer-events:none;animation:homeJourneyOrbit 8s linear infinite; }
.home-journey-iara-note { position:relative;z-index:2;display:flex;align-items:center;gap:10px;margin:-4px 0 14px;padding:9px 11px;border:1px solid rgba(103,244,224,.2);border-radius:15px;background:linear-gradient(90deg,rgba(5,26,69,.52),rgba(6,100,112,.3)); }
.home-journey-iara-note>span { position:relative;flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#dffff8,#9ff5e4); }
.home-journey-iara-note img { width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 5px 6px rgba(0,20,50,.24)); }
.home-journey-iara-note i { position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border:2px solid #0b4270;border-radius:50%;background:#49efc9;box-shadow:0 0 9px #49efc9; }
.home-journey-iara-note div { min-width:0; }.home-journey-iara-note small { display:block;color:#67f1dd;font-size:8px;font-weight:950;letter-spacing:.1em; }.home-journey-iara-note strong { display:block;margin-top:2px;color:#fff;font-size:10.5px;line-height:1.3;font-weight:850; }
@keyframes homeJourneyOrbit { to { transform:rotate(360deg); } }
.home-journey-level { position:relative;display:flex;align-items:center;gap:11px;padding-right:96px; }
.home-journey-level-badge { width:54px;height:54px;display:grid;place-content:center;text-align:center;border:1px solid rgba(93,242,221,.5);border-radius:17px;background:rgba(6,27,72,.58);box-shadow:inset 0 0 18px rgba(53,234,217,.16); }
.home-journey-level-badge b { color:#5df2dd;font-size:24px;line-height:22px; }.home-journey-level-badge small { font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em; }
.home-journey-level>div { flex:1;min-width:0; }.home-journey-level strong { display:block;font-size:15px;font-weight:900; }.home-journey-level small { display:block;margin:2px 0 7px;color:#b9d6ec;font-size:10px; }
.home-journey-level>div>span { display:block;height:5px;overflow:hidden;border-radius:9px;background:rgba(255,255,255,.14); }.home-journey-level>div>span i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20d8c2,#54efda); }
.home-journey-pulse { position:absolute;z-index:1;right:16px;top:17px;display:grid;grid-template-columns:22px auto;align-items:center;column-gap:4px;padding:8px 10px;border:1px solid rgba(255,255,255,.15);border-radius:15px;background:rgba(4,25,66,.45); }
.home-journey-pulse i,.journey-pulse i { grid-row:1/3;width:20px;height:20px;border-radius:50% 50% 45% 55%;background:linear-gradient(#ffbd4c,#ff6c45);clip-path:polygon(51% 0,70% 35%,95% 58%,84% 91%,50% 100%,17% 90%,4% 60%,32% 34%); }
.home-journey-pulse strong { font-size:15px;line-height:14px; }.home-journey-pulse span { color:#c6daeb;font-size:8px;font-weight:800; }
.home-mission-progress { position:relative;margin-top:16px; }.home-mission-progress>span { display:flex;justify-content:space-between;margin-bottom:6px;font-size:11px; }.home-mission-progress b { font-weight:900; }.home-mission-progress em { color:#5df2dd;font-style:normal;font-weight:900; }
.home-mission-progress>div { height:7px;overflow:hidden;border-radius:10px;background:rgba(255,255,255,.13); }.home-mission-progress>div i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1bd1bf,#38e9d2,#6bf1df);box-shadow:0 0 16px rgba(68,237,215,.55); }
.home-mission-list { position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:11px; }
.home-mission-list>a { display:flex;align-items:center;gap:7px;min-width:0;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(4,25,66,.4);color:#fff;text-decoration:none; }
.home-mission-list>a { transition:transform .18s ease,border-color .18s ease,background .18s ease; }.home-mission-list>a:hover { transform:translateY(-2px);border-color:rgba(91,240,218,.45);background:rgba(7,49,92,.72); }
.home-mission-list>a>i { flex:0 0 20px;width:20px;height:20px;display:grid;place-items:center;border:1px solid #5e8cb8;border-radius:50%;color:#082d60;background:transparent;font-size:11px;font-style:normal;font-weight:900; }
.home-mission-list>a.is-done>i { border-color:#54ebd7;background:#54ebd7; }.home-mission-list span { min-width:0; }.home-mission-list strong { display:block;overflow:hidden;font-size:10px;font-weight:850;line-height:1.25;white-space:nowrap;text-overflow:ellipsis; }.home-mission-list small { color:#91b4d2;font-size:9px; }
.home-mission-list>a.is-locked { opacity:.58;background:rgba(3,20,50,.3); }.home-mission-list>a.is-locked>i { border-style:dashed;color:#9bb4c9; }.home-mission-list>a.is-next { border-color:rgba(83,239,216,.48);background:rgba(7,100,117,.3); }
.home-journey-card>footer { position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.1); }.home-journey-card>footer>span { color:#bcd7e9;font-size:10px;font-weight:700; }.home-journey-card>footer>a { padding:8px 11px;border-radius:11px;background:#fff;color:#0a4f89;font-size:10px;font-weight:900;text-decoration:none; }

.mission-guide-modal { z-index:13020; }.mission-guide-modal .modal-dialog { width:min(calc(100% - 24px),460px);margin-inline:auto; }.mission-guide-modal .modal-content { position:relative;overflow:hidden;border:0;border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(3,23,57,.34); }.mission-guide-close { position:absolute;z-index:4;right:13px;top:13px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:11px;background:rgba(3,26,67,.42);color:#fff;font-size:23px;line-height:1; }.mission-guide-hero { position:relative;min-height:156px;display:flex;align-items:center;overflow:hidden;padding:25px 145px 23px 22px;background:radial-gradient(circle at 92% 12%,rgba(54,238,211,.42),transparent 32%),linear-gradient(145deg,#061a47,#0a3d77 62%,#087f8f);color:#fff; }.mission-guide-hero:before { content:"";position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px);background-size:27px 27px; }.mission-guide-hero>div:last-child { position:relative;z-index:2; }.mission-guide-hero p { margin:0 0 7px;color:#5cf0dc;font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase; }.mission-guide-hero h2 { margin:0;color:#fff!important;font-size:23px;font-weight:950;line-height:1.02;letter-spacing:-.035em;text-shadow:0 2px 12px rgba(1,20,53,.28); }.mission-guide-hero>img { position:absolute;z-index:2;right:5px;bottom:-12px;width:142px;max-height:164px;object-fit:contain;filter:drop-shadow(0 13px 13px rgba(1,14,39,.35)); }.mission-guide-orbit { position:absolute;right:30px;top:16px;width:105px;height:105px;border:1px solid rgba(90,243,221,.22);border-radius:50%; }.mission-guide-orbit:before,.mission-guide-orbit:after { content:"";position:absolute;border:1px solid rgba(90,243,221,.16);border-radius:50%; }.mission-guide-orbit:before { inset:14px -14px; }.mission-guide-orbit:after { inset:-14px 14px; }
.mission-guide-body { padding:20px 22px 16px; }.mission-guide-body>p { margin:0;color:#405873;font-size:12px;font-weight:650;line-height:1.5; }.mission-guide-progress { margin-top:16px;padding:12px;border:1px solid #dcebf2;border-radius:14px;background:#f7fbfd; }.mission-guide-progress>span { display:flex;justify-content:space-between;align-items:center;margin-bottom:7px; }.mission-guide-progress b { color:#17365c;font-size:10px;font-weight:900; }.mission-guide-progress em { color:#087f8e;font-size:10px;font-style:normal;font-weight:950; }.mission-guide-progress>div { height:7px;overflow:hidden;border-radius:9px;background:#e3edf3; }.mission-guide-progress>div i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#12cbb7,#36e2ce);box-shadow:0 0 12px rgba(30,211,190,.28);transition:width .45s ease; }.mission-guide-body ol { display:grid;gap:8px;margin:15px 0 0;padding:0;list-style:none; }.mission-guide-body li { display:flex;align-items:center;gap:9px;color:#334d69;font-size:10px;font-weight:750; }.mission-guide-body li>b { flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border-radius:9px;background:#e6f9f6;color:#078a83;font-size:10px;font-weight:950; }.mission-guide-body aside { display:flex;align-items:center;gap:9px;margin-top:15px;padding:10px 11px;border-radius:13px;background:#fff7dd;color:#745a21; }.mission-guide-body aside i { flex:0 0 auto;padding:5px 7px;border-radius:8px;background:#ffd96e;color:#5d440c;font-size:9px;font-style:normal;font-weight:950; }.mission-guide-body aside span { font-size:9px;font-weight:750;line-height:1.35; }.mission-guide-modal footer { display:grid;grid-template-columns:1fr 1.15fr;gap:9px;padding:0 22px 21px; }.mission-guide-modal footer button,.mission-guide-modal footer a { min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:14px;font-size:11px;font-weight:900;text-decoration:none; }.mission-guide-modal footer button { border:1px solid #d9e5ed;background:#fff;color:#536b82; }.mission-guide-modal footer a { border:0;background:linear-gradient(135deg,#0ecab6,#2779ee);box-shadow:0 10px 21px rgba(28,126,195,.22);color:#fff; }.mission-guide-modal footer a span { font-size:16px; }.mission-guide-modal+.modal-backdrop,.modal-backdrop.show { backdrop-filter:blur(3px); }
@media (max-width:420px) { .mission-guide-modal .modal-dialog { width:min(calc(100% - 16px),460px); }.mission-guide-hero { min-height:144px;padding:22px 118px 20px 17px; }.mission-guide-hero h2 { font-size:20px; }.mission-guide-hero>img { right:-6px;width:127px; }.mission-guide-body { padding:17px 17px 14px; }.mission-guide-modal footer { padding:0 17px 17px; }.mission-guide-body aside { align-items:flex-start; } }

.journey-screen { background:#f4f9fd; }.journey-scroll { padding-bottom:96px; }.journey-page-header { position:relative;z-index:42; }.journey-hero { margin-top:23px;padding:22px 18px 18px;border:1px solid rgba(84,222,209,.32);border-radius:28px;background:radial-gradient(circle at 95% 13%,rgba(37,232,207,.35),transparent 28%),linear-gradient(145deg,#061941,#0a3470 61%,#087b8d);box-shadow:0 20px 44px rgba(7,37,83,.2);color:#fff; }
.journey-hero-content { display:flex;align-items:center;min-height:164px;padding:0 5px 8px; }.journey-hero-content>div { position:relative;z-index:1;max-width:68%; }.journey-hero-content p { margin:0 0 6px;color:#5cebd8;font-size:10px;font-weight:900;letter-spacing:.13em; }.journey-hero-content h1 { margin:0;font-size:27px;font-weight:950;line-height:1.03;letter-spacing:-.045em; }.journey-hero-content>div>span { display:block;margin-top:10px;color:#d1e2ef;font-size:11px;font-weight:650;line-height:1.45; }.journey-hero-content img { align-self:flex-end;width:126px;max-height:180px;margin-left:-4px;object-fit:contain;filter:drop-shadow(0 16px 15px rgba(1,12,37,.35)); }
.journey-academic-context { width:max-content;max-width:100%;display:flex;align-items:center;gap:7px;margin-top:11px;padding:7px 9px;border:1px solid rgba(96,239,220,.22);border-radius:11px;background:rgba(4,24,64,.36); }.journey-academic-context svg { flex:0 0 18px;width:18px;height:18px;color:#5cebd8; }.journey-academic-context>span { min-width:0;display:block!important;margin:0!important;line-height:1.1!important; }.journey-academic-context b,.journey-academic-context small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.journey-academic-context b { max-width:210px;color:#fff;font-size:9px;font-weight:850; }.journey-academic-context small { margin-top:2px;color:#9ec9dc;font-size:8px;font-weight:750; }
.journey-level-card { display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(4,23,61,.48);backdrop-filter:blur(10px); }.journey-level-number { width:55px;height:55px;display:grid;place-content:center;text-align:center;border:1px solid rgba(80,240,218,.48);border-radius:17px;background:rgba(12,60,110,.64); }.journey-level-number b { color:#5df2dd;font-size:25px;line-height:22px; }.journey-level-number small { font-size:8px;font-weight:900;text-transform:uppercase; }.journey-level-card>div p { margin:0;color:#bcd6e9;font-size:10px;font-weight:800; }.journey-level-card>div strong { font-size:18px; }.journey-level-card>div>div { height:5px;margin:5px 0;overflow:hidden;border-radius:8px;background:rgba(255,255,255,.13); }.journey-level-card>div>div i { display:block;height:100%;background:#52ebd8; }.journey-level-card>div small { display:block;color:#9dbbd2;font-size:9px; }.journey-pulse { display:grid;grid-template-columns:22px auto;align-items:center;column-gap:4px;padding-left:12px;border-left:1px solid rgba(255,255,255,.12); }.journey-pulse b { font-size:18px;line-height:16px; }.journey-pulse small { color:#b9d1e4;font-size:8px; }
.journey-section,.journey-challenges { margin:22px 0 0; }.journey-section { padding:18px;border:1px solid #dbeaf4;border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(20,60,100,.07); }.journey-section>header>span { color:#087e91;font-size:13px;font-weight:900; }
.journey-mission-meter,.journey-mastery-meter { overflow:hidden;border-radius:10px;background:#e8f1f7; }.journey-mission-meter { height:8px; }.journey-mission-meter i,.journey-mastery-meter i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#10c9b5,#35e2ce); }.journey-mission-grid { display:grid;gap:8px;margin-top:13px; }.journey-mission-grid>a { display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e1edf5;border-radius:15px;background:#f9fcfe;color:#0d2854;text-decoration:none; }.journey-mission-grid>a>i { width:26px;height:26px;display:grid;place-items:center;border:2px solid #bdd0de;border-radius:50%;color:#063c68;font-style:normal;font-weight:900; }.journey-mission-grid>a.is-done>i { border-color:#48dfca;background:#48dfca; }.journey-mission-grid>a span { flex:1; }.journey-mission-grid strong { display:block;font-size:12px;font-weight:850; }.journey-mission-grid small { color:#7890a5;font-size:10px; }.journey-mission-grid>a>b { color:#2697b0;font-size:22px; }.journey-mission footer { margin:13px -18px -18px;padding:12px 18px;border-radius:0 0 24px 24px;background:#eef9f8;color:#46747b;font-size:10px;font-weight:700; }.journey-mission footer span { margin-right:6px;color:#087e91;font-weight:950; }
.journey-mission-grid>a.is-locked { opacity:.6;background:#f2f6f8; }.journey-mission-grid>a.is-locked>i { border-style:dashed;color:#8aa0b3; }.journey-mission-grid>a.is-next { border-color:#98e7dd;background:#effbf9; }
.journey-challenges { display:grid;grid-template-columns:1.35fr 1fr;gap:10px; }.journey-challenge { position:relative;min-height:185px;overflow:hidden;padding:18px;border-radius:23px;color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(17,55,93,.14); }.journey-challenge.clinical { background:radial-gradient(circle at 90% 0,rgba(86,242,218,.35),transparent 34%),linear-gradient(145deg,#073168,#08778a); }.journey-challenge.boss { background:radial-gradient(circle at 100% 0,rgba(255,204,91,.38),transparent 38%),linear-gradient(145deg,#3b276e,#73469e); }.journey-challenge span { position:relative;z-index:1;display:block;max-width:70%; }.journey-challenge.boss span { max-width:none; }.journey-challenge small { color:#68f1df;font-size:9px;font-weight:950;letter-spacing:.12em; }.journey-challenge.boss small { color:#ffe096; }.journey-challenge strong { display:block;margin:6px 0;font-size:17px;font-weight:950;line-height:1.08; }.journey-challenge em { display:block;color:#d0e5ee;font-size:9px;font-style:normal;line-height:1.35; }.journey-challenge b { display:inline-block;margin-top:15px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.15);font-size:9px;font-weight:900; }.journey-challenge img { position:absolute;right:-12px;bottom:-13px;width:115px;filter:drop-shadow(0 12px 12px rgba(0,0,0,.24)); }
.journey-mastery-list { display:grid;gap:8px; }.journey-mastery-list>a { display:grid;grid-template-columns:minmax(120px,1fr) minmax(75px,120px) 39px;align-items:center;gap:10px;padding:10px;border:1px solid #e2edf4;border-radius:14px;color:#102b54;text-decoration:none; }.journey-mastery-list strong { display:block;font-size:11px;font-weight:850; }.journey-mastery-list span { color:#7890a2;font-size:9px; }.journey-mastery-meter { height:6px; }.journey-mastery-list>a>b { color:#0d7f91;font-size:12px;text-align:right; }.journey-mastery-list .state-revisar { border-color:#ffd8c7;background:#fff9f5; }.journey-mastery-list .state-revisar .journey-mastery-meter i { background:#f08d62; }.journey-empty { padding:20px;border-radius:14px;background:#f4f8fb;color:#6e8395;font-size:11px;text-align:center; }
.journey-achievement-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px; }.journey-achievement-grid article { display:flex;align-items:center;gap:9px;min-height:75px;padding:11px;border:1px solid #e3edf4;border-radius:16px;background:#f9fcfe; }.journey-achievement-grid article>i { flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#0bc8b2,#267be7);box-shadow:0 8px 15px rgba(19,143,169,.2); }.journey-achievement-grid article>i:after { content:"★";display:grid;height:100%;place-items:center;color:#fff;font-style:normal; }.journey-achievement-grid article>div { flex:1;min-width:0; }.journey-achievement-grid strong { display:block;color:#102a53;font-size:10px;font-weight:900; }.journey-achievement-grid span { display:block;margin-top:2px;color:#7b90a1;font-size:8px;line-height:1.3; }.journey-achievement-grid article>b { color:#0ebaa7;font-size:12px; }.journey-achievement-grid .is-locked { filter:grayscale(1);opacity:.53; }.journey-achievement-grid .is-locked>i { background:#aab8c4;box-shadow:none; }
@media (max-width:575px) { .home-mission-list { grid-template-columns:1fr; }.home-mission-list strong { white-space:normal; }.home-journey-level { padding-right:0; }.home-journey-pulse { position:static;margin-top:12px;width:max-content; }.journey-hero { padding:18px 14px 15px;border-radius:25px; }.journey-hero-content>div { max-width:72%; }.journey-hero-content img { width:105px;margin-left:-10px; }.journey-academic-context b { max-width:180px; }.journey-challenges { grid-template-columns:1fr; }.journey-challenge { min-height:155px; }.journey-achievement-grid { grid-template-columns:1fr; }.journey-mastery-list>a { grid-template-columns:minmax(105px,1fr) 75px 34px; } }
.gamification-toast { position:fixed;z-index:99999;right:max(18px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;min-width:220px;padding:12px 14px;border:1px solid rgba(85,240,216,.45);border-radius:17px;background:linear-gradient(145deg,#071d4d,#08778b);box-shadow:0 18px 42px rgba(4,26,68,.34);color:#fff;opacity:0;transform:translateY(18px) scale(.96);transition:.3s ease;pointer-events:none; }.gamification-toast.is-visible { opacity:1;transform:none; }.gamification-toast>i { width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#4be5d0;color:#073c63;font-style:normal;font-size:19px;font-weight:950; }.gamification-toast>span { flex:1; }.gamification-toast strong { display:block;font-size:14px;font-weight:950; }.gamification-toast small { display:block;color:#c1dceb;font-size:9px; }.gamification-toast>b { width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:10px; }
.journey-week-bars { display:grid;gap:11px; }.journey-week-bars>div { display:grid;grid-template-columns:78px 1fr 55px;align-items:center;gap:9px; }.journey-week-bars span { color:#657f95;font-size:9px;font-weight:800; }.journey-week-bars i { height:8px;overflow:hidden;border-radius:9px;background:#e8f0f6; }.journey-week-bars i b { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#17cbb7,#267be6); }.journey-week-bars>div:nth-child(2) i b { background:#a8b8c5; }.journey-week-bars strong { color:#18345d;font-size:10px;text-align:right; }.journey-week footer { margin-top:13px;padding-top:11px;border-top:1px solid #e8f0f5;color:#688194;font-size:10px; }
.journey-theme-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px; }.journey-theme-grid button { display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e0eaf1;border-radius:15px;background:#f9fcfe;color:#183258;text-align:left; }.journey-theme-grid button>i { flex:0 0 31px;width:31px;height:31px;border:6px solid color-mix(in srgb,var(--theme-color),white 72%);border-radius:50%;background:var(--theme-color);box-shadow:0 5px 12px color-mix(in srgb,var(--theme-color),transparent 72%); }.journey-theme-grid button>span { flex:1; }.journey-theme-grid strong,.journey-theme-grid small { display:block; }.journey-theme-grid strong { font-size:10px;font-weight:900; }.journey-theme-grid small { margin-top:2px;color:#7a8fa1;font-size:8px; }.journey-theme-grid button>b { color:var(--theme-color);font-size:11px; }.journey-theme-grid button.is-selected { border-color:var(--theme-color);background:color-mix(in srgb,var(--theme-color),white 94%);box-shadow:inset 0 0 0 1px var(--theme-color); }.journey-theme-grid button:disabled { opacity:.45;filter:grayscale(.7); }.journey-theme-status { min-height:15px;margin:8px 0 0;color:#087e91;font-size:9px;text-align:center; }
.iara-theme-oceano .journey-hero { background:radial-gradient(circle at 95% 10%,rgba(93,225,255,.35),transparent 30%),linear-gradient(145deg,#07194d,#1458a3 62%,#178ab9); }.iara-theme-plantao .journey-hero { background:radial-gradient(circle at 95% 10%,rgba(191,121,255,.34),transparent 31%),linear-gradient(145deg,#15143f,#39296e 62%,#654199); }.iara-theme-conquista .journey-hero { background:radial-gradient(circle at 95% 10%,rgba(255,222,129,.4),transparent 30%),linear-gradient(145deg,#2b2140,#694b39 62%,#aa7629); }

/* Plantão da Home: leitura imediata, leve e orientada à próxima ação. */
.home-journey { margin-top:14px; }
.home-journey-head { align-items:center;margin-bottom:10px;padding:0 3px; }
.home-journey-head p { color:#00a491; }.home-journey-head h2 { font-size:24px; }.home-journey-head>a { padding:7px 9px;border-radius:10px;color:#176a9c;background:#eaf7fa;font-size:10px; }
.home-journey-card { padding:14px;border-color:#d3e9eb;background:linear-gradient(160deg,#ffffff 0%,#f4fbfc 55%,#eef8fc 100%);box-shadow:0 15px 34px rgba(24,67,91,.1);color:#0a2850; }
.home-journey-card:before { opacity:.22;background-image:linear-gradient(rgba(9,162,149,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(9,162,149,.08) 1px,transparent 1px);mask-image:linear-gradient(to bottom,#000,transparent 62%); }
.home-journey-card:after { right:-58px;top:-72px;width:190px;height:190px;border-color:rgba(14,187,168,.06);animation:none; }
.home-journey-iara-note { margin:0 0 13px;padding:10px;border-color:#cbe9e5;background:linear-gradient(110deg,#eafbf7,#eef8ff); }
.home-journey-iara-note>span { background:#fff;box-shadow:0 6px 16px rgba(14,123,122,.1); }
.home-journey-iara-note i { border-color:#fff; }.home-journey-iara-note small { color:#008f82; }.home-journey-iara-note strong { color:#0b3154;font-size:11px; }.home-journey-iara-note em { display:block;margin-top:2px;color:#647d91;font-size:8.5px;font-style:normal;font-weight:700;line-height:1.3; }
.home-mission-progress { margin-top:0;padding:0 2px; }.home-mission-progress>span { color:#163a5c;font-size:10px; }.home-mission-progress em { color:#008f82; }.home-mission-progress>div { height:6px;background:#dcebf0; }.home-mission-progress>div i { background:linear-gradient(90deg,#10bda9,#25d5bd);box-shadow:none; }
.home-mission-list { gap:8px;margin-top:10px; }
.home-mission-list>a { min-height:55px;padding:9px 10px;border-color:#d8e7ec;background:#fff;color:#123454;box-shadow:0 5px 13px rgba(22,69,92,.045); }
.home-mission-list>a:hover { border-color:#7bd8cd;background:#f7fffd; }.home-mission-list>a>i { flex-basis:27px;width:27px;height:27px;border-color:#bad1d9;color:#56788c;background:#f5fafb;font-size:10px; }
.home-mission-list>a>span { flex:1; }.home-mission-list strong { color:#123454;font-size:10px;white-space:normal; }.home-mission-list small { display:block;margin-top:2px;color:#72899a;font-size:8.5px; }.home-mission-list>a>b { color:#91a8b5;font-size:20px;font-weight:500; }
.home-mission-list>a.is-next { border-color:#5dd3c4;background:linear-gradient(110deg,#ecfcf8,#f4fbff);box-shadow:0 7px 17px rgba(7,164,147,.1); }.home-mission-list>a.is-next>i { border-color:#17bca8;color:#fff;background:#17bca8; }.home-mission-list>a.is-next>b { color:#08a28f; }
.home-mission-list>a.is-locked { opacity:1;border-color:#e4ebee;background:#f6f8f9;box-shadow:none; }.home-mission-list>a.is-locked strong { color:#718292; }.home-mission-list>a.is-locked small { color:#98a6b0; }.home-mission-list>a.is-locked>i { border-color:#ced9de;color:#a4b1b8;background:#edf2f4; }
.home-mission-list>a.is-done { border-color:#a9e6da;background:#effbf8; }.home-mission-list>a.is-done>i { border-color:#14bda6;background:#14bda6;color:#fff; }
.home-journey-stats { position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid #dfebef; }
.home-journey-level { min-width:0;gap:8px;padding:8px;border:1px solid #ddebef;border-radius:14px;background:rgba(255,255,255,.7); }.home-journey-level-badge { width:42px;height:42px;border-color:#9edfd7;border-radius:12px;background:#e7faf6;box-shadow:none; }.home-journey-level-badge b { color:#008f82;font-size:18px;line-height:17px; }.home-journey-level-badge small { color:#367169;font-size:7px; }.home-journey-level strong { color:#153655;font-size:10px; }.home-journey-level small { margin:2px 0 5px;color:#7990a0;font-size:8px; }.home-journey-level>div>span { height:4px;background:#dce9ed; }.home-journey-level>div>span i { background:#1ac4ae; }
.home-journey-pulse { position:static;min-width:82px;display:grid;grid-template-columns:19px auto;align-content:center;column-gap:4px;padding:8px 10px;border-color:#f1dec5;border-radius:14px;background:#fff9f1; }.home-journey-pulse i { width:18px;height:18px; }.home-journey-pulse strong { color:#9a5a21;font-size:13px;line-height:12px; }.home-journey-pulse span { color:#9b7b5d;font-size:7px; }
.home-journey-card>footer { margin-top:10px;padding-top:10px;border-color:#dfeaed; }.home-journey-card>footer>span { color:#6f8797; }.home-journey-card>footer>a { color:#fff;background:linear-gradient(120deg,#0fbca7,#2385d7);box-shadow:0 7px 15px rgba(19,134,159,.16); }
@media(max-width:575px){.home-journey-head h2{font-size:22px}.home-journey-iara-note em{font-size:8px}.home-journey-stats{grid-template-columns:1fr auto}.home-journey-pulse{margin:0;width:auto}.home-journey-level{padding-right:8px}}

/* Jornada inicial: hierarquia viva, com uma identidade visual para cada missão. */
.home-journey-card{border-color:#bfe8e4;background:radial-gradient(circle at 94% 3%,rgba(41,210,191,.18),transparent 30%),linear-gradient(155deg,#f7fffe 0%,#eef9fb 54%,#edf5ff 100%)}
.home-journey-iara-note{border-color:#9edfd8;background:linear-gradient(112deg,#dffaf4 0%,#e4f6ff 58%,#edf0ff 100%);box-shadow:0 8px 22px rgba(19,125,145,.1)}
.home-mission-progress>div{height:7px;background:#d5e8ee;box-shadow:inset 0 1px 2px rgba(11,52,82,.08)}
.home-mission-progress>div i{background:linear-gradient(90deg,#12bfa9,#28d7c2,#2c8ce8)}
.home-mission-list{position:relative;gap:9px}
.home-mission-list>a{--mission:#13bba6;--mission-soft:#e8faf6;position:relative;min-height:63px;overflow:hidden;padding:9px 11px 9px 9px;border-color:color-mix(in srgb,var(--mission),white 68%);background:linear-gradient(105deg,var(--mission-soft),#fff 68%);box-shadow:0 7px 18px rgba(18,61,91,.07)}
.home-mission-list>a:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--mission)}
.home-mission-list>a[data-mission-type="erro_revisado"]{--mission:#f08a55;--mission-soft:#fff4ec}
.home-mission-list>a[data-mission-type="questao"]{--mission:#3189e8;--mission-soft:#edf5ff}
.home-mission-list>a[data-mission-type="caso_clinico"]{--mission:#806ee8;--mission-soft:#f2f0ff}
.home-mission-list>a>.home-mission-icon{position:relative;flex:0 0 39px;width:39px;height:39px;display:grid;place-items:center;border:0;border-radius:13px;color:var(--mission);background:#fff;box-shadow:0 5px 13px color-mix(in srgb,var(--mission),transparent 80%)}
.home-mission-list>a>.home-mission-icon svg{width:20px;height:20px}
.home-mission-list>a>.home-mission-icon span{position:absolute;right:-4px;bottom:-4px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 3px;border:2px solid #fff;border-radius:9px;background:var(--mission);color:#fff;font-size:7px;font-style:normal;font-weight:950;line-height:1}
.home-mission-list>a>span{padding-left:2px}.home-mission-list strong{font-size:10.5px}.home-mission-list small{font-size:8.5px}
.home-mission-list>a>b{color:var(--mission);font-size:23px}
.home-mission-list>a.is-next{border-color:#45cdbc;background:linear-gradient(105deg,#dff9f3,#f3fcff 72%);box-shadow:0 9px 21px rgba(7,164,147,.13)}
.home-mission-list>a.is-next>.home-mission-icon{color:#fff;background:linear-gradient(145deg,#11bda7,#20cfb8)}
.home-mission-list>a.is-locked{opacity:1;border-color:color-mix(in srgb,var(--mission),white 78%);background:linear-gradient(105deg,color-mix(in srgb,var(--mission-soft),white 38%),#fbfdfe);filter:none}
.home-mission-list>a.is-locked:after{content:"";position:absolute;right:12px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--mission);opacity:.6;box-shadow:0 0 0 4px color-mix(in srgb,var(--mission),transparent 87%)}
.home-mission-list>a.is-locked strong{color:#526d82}.home-mission-list>a.is-locked small{color:#879aa8}.home-mission-list>a.is-locked>.home-mission-icon{border:0;color:var(--mission);background:rgba(255,255,255,.76)}
.home-mission-list>a.is-done>.home-mission-icon{color:#fff;background:var(--mission)}
.home-journey-stats{border-top-color:#cfe4e8}.home-journey-level{border-color:#cce5e3;background:linear-gradient(120deg,#f3fffc,#fff)}
.home-journey-pulse{border-color:#f4d4b5;background:linear-gradient(120deg,#fff8ec,#fff3e8)}
@media (max-width:575px) { .journey-theme-grid { grid-template-columns:1fr; }.journey-week-bars>div { grid-template-columns:72px 1fr 49px; } }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:12px; padding:0 2px; }
.home-section-heading p { margin:0 0 3px; color:#00a38f; font-size:8.5px; font-weight:950; letter-spacing:.12em; }
.home-section-heading h2 { margin:0; color:#0b214d; font-size:24px; line-height:1; font-weight:950; letter-spacing:-.025em; }
.home-section-heading > a { color:#1767c7; font-size:10.5px; font-weight:850; text-decoration:none; }
.home-studies-showcase { position:relative; min-height:250px; display:block; overflow:hidden; padding:22px 125px 18px 18px; border:1px solid rgba(0,184,166,.35); border-radius:27px; color:#fff; background:radial-gradient(circle at 92% 10%,rgba(89,255,220,.36),transparent 32%),linear-gradient(140deg,#067e81 0%,#00b79e 49%,#2770df 125%); box-shadow:0 21px 44px rgba(0,115,126,.19); text-decoration:none; }
.home-studies-showcase::before { content:""; position:absolute; inset:0; opacity:.18; background:repeating-linear-gradient(135deg,transparent 0 17px,rgba(255,255,255,.17) 18px 19px); }
.home-studies-copy { position:relative; z-index:3; display:block; }
.home-studies-copy > small { display:block; color:#a4ffeb; font-size:8px; font-weight:950; letter-spacing:.1em; }
.home-studies-copy > strong { display:block; max-width:245px; margin-top:7px; color:#fff; font-size:21px; line-height:1.05; font-weight:950; letter-spacing:-.025em; }
.home-studies-copy > em { display:block; max-width:250px; margin-top:9px; color:#d9f5f3; font-size:10.5px; line-height:1.4; font-style:normal; font-weight:650; }
.home-studies-copy > b { width:fit-content; display:flex; align-items:center; gap:10px; margin-top:15px; padding:10px 12px; border-radius:12px; color:#07536c; background:#fff; box-shadow:0 10px 20px rgba(0,62,80,.18); font-size:10px; font-weight:950; }
.home-studies-copy > b i { font-size:15px; font-style:normal; }
.home-studies-points { position:absolute; z-index:4; left:18px; right:18px; bottom:13px; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding-top:11px; border-top:1px solid rgba(255,255,255,.2); }
.home-studies-points i { display:flex; align-items:center; gap:5px; color:#d7f7f3; font-size:8px; font-style:normal; font-weight:800; }
.home-studies-points b { color:#6ff6da; font-size:8px; }
.home-studies-iara { position:absolute; z-index:2; right:-13px; bottom:14px; width:150px; height:215px; display:flex; align-items:flex-end; overflow:hidden; }
.home-studies-iara img { width:158px; max-width:none; filter:drop-shadow(0 16px 20px rgba(0,48,72,.23)); transform:translateY(4px); }
.home-question-feature { margin:15px 0 8px; }
.home-question-feature-card { position:relative; min-height:190px; display:grid; grid-template-columns:54px minmax(0,1fr); align-items:start; gap:13px; overflow:hidden; padding:19px 82px 18px 17px; border:1px solid rgba(106,66,238,.4); border-radius:25px; color:#fff; background:radial-gradient(circle at 95% 8%,rgba(255,199,90,.4),transparent 28%),linear-gradient(135deg,#5234bd 0%,#7542d3 48%,#d0449b 125%); box-shadow:0 19px 40px rgba(93,54,190,.22); cursor:pointer; }
.home-question-feature-card::before { content:""; position:absolute; inset:0; opacity:.16; background:repeating-linear-gradient(-45deg,transparent 0 15px,rgba(255,255,255,.16) 16px 17px); }
.home-question-feature-card input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.home-question-feature-icon { position:relative; z-index:3; width:54px; height:54px; display:grid; place-items:center; border-radius:17px; color:#5932b7; background:#fff; box-shadow:0 12px 24px rgba(47,20,113,.24); }
.home-question-feature-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.home-question-feature-copy { position:relative; z-index:3; min-width:0; display:block; }
.home-question-feature-copy small { display:block; margin:1px 0 5px; color:#ffe09b; font-size:8px; font-weight:950; letter-spacing:.11em; }
.home-question-feature-copy strong { display:block; color:#fff; font-size:19px; line-height:1.08; font-weight:950; letter-spacing:-.02em; }
.home-question-feature-copy em { display:block; max-width:265px; margin-top:7px; color:#eee9ff; font-size:10.5px; line-height:1.38; font-style:normal; font-weight:650; }
.home-question-feature-copy b { width:fit-content; display:flex; align-items:center; gap:9px; margin-top:12px; padding:9px 11px; border-radius:11px; color:#5b35b9; background:#fff; box-shadow:0 9px 18px rgba(47,20,113,.2); font-size:9.5px; font-weight:950; }
.home-question-feature-copy b i { font-size:14px; font-style:normal; }
.home-question-feature-art { position:absolute; z-index:2; right:-15px; top:0; width:100px; height:100%; color:rgba(255,255,255,.17); }
.home-question-feature-art i { position:absolute; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:rgba(255,255,255,.09); font-style:normal; font-weight:950; }
.home-question-feature-art i:nth-child(1) { width:70px; height:70px; right:2px; top:17px; font-size:42px; transform:rotate(8deg); }
.home-question-feature-art i:nth-child(2) { width:40px; height:40px; right:57px; bottom:14px; color:#ffe09b; font-size:19px; }
.home-question-feature-art i:nth-child(3) { width:34px; height:34px; right:13px; bottom:24px; font-size:15px; }
.home-question-feature + .app-menu-section,
.home-journey + .app-menu-section { margin-top:34px; }
.home-question-feature + .app-menu-section .app-menu-head h2,
.home-journey + .app-menu-section .app-menu-head h2 { margin:0; color:#0b214d; font-size:22px; font-weight:950; }
.home-question-feature + .app-menu-section .app-menu-head span,
.home-journey + .app-menu-section .app-menu-head span { max-width:135px; text-align:right; }
@keyframes homeIaraPresence { 50% { opacity:.55; transform:scale(.82); } }
@media (min-width:430px) {
  .home-command-center.app-home-greeting { padding:21px 21px 17px; }
  .home-command-speech-button { min-height:64px; }
  .home-command-iara { right:0; }
  .home-capability-card { padding:14px; }
}
@media (max-width:370px) {
  .home-command-center.app-home-greeting { padding:21px 13px 14px; border-radius:26px; }
  .home-command-copy h1 { font-size:29px; }
  .home-command-hello { margin-right:92px; }
  .home-command-lead { font-size:12px; }
  .home-command-iara { right:-31px; transform:scale(.88); transform-origin:top right; }
  .home-command-secondary { grid-template-columns:1fr; }
  .home-command-voice-help { display:none; }
  .home-command-tools { grid-template-columns:1fr; }
  .home-capability-grid { grid-template-columns:1fr; }
  .home-capability-card,.home-capability-question { grid-column:1; min-height:0; }
  .home-studies-showcase { padding-right:105px; }
  .home-studies-iara { right:-32px; }
  .home-question-feature-card { padding-right:58px; grid-template-columns:46px minmax(0,1fr); }
  .home-question-feature-icon { width:46px; height:46px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-command-presence i { animation:none; }
}

/* Aula completa criada no módulo Atividades */
.activities-study-cta{margin:24px 0 0;padding:20px;border-radius:24px;background:linear-gradient(125deg,#073d72,#0c8fc0 56%,#03d5ae);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 18px 36px rgba(15,83,141,.2)}
.activities-study-cta[hidden]{display:none}.activities-study-cta div{display:grid;gap:4px}.activities-study-cta small{font-size:11px;font-weight:900;letter-spacing:.14em;color:#7effe5}.activities-study-cta strong{font-size:20px;line-height:1.15}.activities-study-cta span{font-size:13px;max-width:560px;color:#d9f6ff}.activities-study-cta button,.activity-study-actions button,.activity-study-review button{border:0;border-radius:16px;min-height:50px;padding:0 20px;background:#fff;color:#092653;font-weight:900;white-space:nowrap}
.activities-history-link{color:inherit;text-decoration:none;display:flex;flex-direction:column;padding:14px;border:1px solid rgba(167,210,234,.7);border-radius:18px;background:#fff}.activities-history-link small{color:#00a995;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.activities-history-link strong{display:block;margin:6px 0;color:#07154a;font-weight:950}.activities-history-link time{color:#6f7f9e;font-weight:800}
.activity-study-screen{background:radial-gradient(circle at 85% 3%,rgba(0,222,181,.18),transparent 27%),linear-gradient(180deg,#effbff,#f8fbff 48%,#edf8ff)}
.activity-study-scroll{padding-bottom:130px}.activity-study-nav{padding-inline:clamp(16px,4vw,46px)}
.activity-study-hero{margin:10px auto 26px;width:min(1120px,calc(100% - 36px));min-height:360px;padding:clamp(30px,5vw,64px);border:1px solid #8fe8dc;border-radius:38px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;background:linear-gradient(120deg,#062654 0%,#0876a7 58%,#00cfa9 100%);box-shadow:0 24px 55px rgba(8,68,115,.2);color:#fff}
.activity-study-hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 24px,rgba(255,255,255,.035) 25px 26px);pointer-events:none}.activity-study-hero-copy{max-width:730px;position:relative;z-index:2}.activity-study-hero p,.activity-study-heading span,.activity-study-overview>span,.activity-study-review span{margin:0 0 9px;color:#2effd7;font-weight:900;letter-spacing:.14em;font-size:12px}.activity-study-hero h1{font-size:clamp(34px,5vw,62px);line-height:1.02;letter-spacing:-.045em;margin:0 0 16px;font-weight:900}.activity-study-hero-copy>span{display:block;max-width:650px;color:#dff7ff;font-size:18px;line-height:1.5}.activity-study-hero img{width:min(290px,28vw);filter:drop-shadow(0 20px 28px rgba(1,27,57,.35));z-index:1}.activity-study-actions{display:flex;gap:10px;margin-top:28px}.activity-study-actions button:first-child,.activity-study-review button{background:linear-gradient(110deg,#00d1b2,#315eff);color:#fff}
.activity-study-overview,.activity-study-summary-grid,.activity-study-content,.activity-study-applications,.activity-study-videos,.activity-study-review{width:min(1050px,calc(100% - 36px));margin:0 auto 24px}.activity-study-overview{padding:28px 32px;border-radius:26px;background:#fff;border:1px solid #cae4f4;box-shadow:0 13px 36px rgba(29,75,115,.08)}.activity-study-overview>span,.activity-study-heading span,.activity-study-review span{color:#00aa9e}.activity-study-overview p{margin:0;font-size:17px;line-height:1.72;color:#243b60}
.activity-study-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.activity-study-summary-grid section{padding:25px;border-radius:24px;background:linear-gradient(145deg,#e8fffa,#fff);border:1px solid #99e6dc}.activity-study-summary-grid section+section{background:linear-gradient(145deg,#edf4ff,#fff);border-color:#bed5ff}.activity-study-summary-grid small{display:block;font-weight:900;font-size:17px;color:#092653;margin-bottom:12px}.activity-study-summary-grid ul,.activity-study-review ul{padding:0;margin:0;list-style:none;display:grid;gap:10px}.activity-study-summary-grid li,.activity-study-review li{position:relative;padding-left:23px;color:#405676;line-height:1.45}.activity-study-summary-grid li:before,.activity-study-review li:before{content:"✓";position:absolute;left:0;color:#00bea5;font-weight:900}
.activity-study-heading{margin:48px 0 18px}.activity-study-heading h2{margin:0;color:#081d4c;font-size:32px;font-weight:900}.activity-study-section{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:30px;margin-bottom:16px;background:#fff;border:1px solid #c9e0ef;border-radius:28px;box-shadow:0 12px 30px rgba(26,67,107,.07)}.activity-study-section-number{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#00cfad,#168ce7);color:#fff;font-weight:900}.activity-study-section small{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#00a897;font-weight:900}.activity-study-section h3{margin:3px 0 14px;color:#0a2253;font-size:25px;font-weight:900}.activity-study-section p{color:#344e72;line-height:1.72;font-size:16px}.activity-section-lead{font-size:18px!important;color:#17385f!important;font-weight:700}.activity-study-points{padding:18px 20px 18px 42px;border-radius:18px;background:#effcfb;color:#214a69}.activity-study-points li{margin:8px 0}.activity-study-section aside{padding:18px 20px;margin-top:18px;border-left:4px solid #4265ff;border-radius:4px 18px 18px 4px;background:#f1f4ff}.activity-study-section aside p{margin:5px 0 0}
.activity-study-applications>div:last-child{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.activity-study-applications article{padding:24px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#0c4773,#0d9ca4)}.activity-study-applications h3{font-weight:900}.activity-study-applications p{margin:0;color:#e5ffff;line-height:1.6}
.activity-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.activity-video-grid>a{padding:12px 12px 18px;border-radius:24px;background:#fff;border:1px solid #c7dfed;color:#0a2253;text-decoration:none;box-shadow:0 12px 28px rgba(25,72,111,.08)}.activity-video-thumb{aspect-ratio:16/9;border-radius:17px;overflow:hidden;position:relative;background:#dcebf5}.activity-video-thumb img{width:100%;height:100%;object-fit:cover}.activity-video-thumb i{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#f50046;color:#fff;font-style:normal}.activity-video-grid small,.activity-video-grid strong{display:block;margin:12px 8px 0}.activity-video-grid small{color:#657b99}.activity-videos-empty{padding:24px;border:1px dashed #9fcfe0;border-radius:20px;color:#637895;background:#fff}.activity-study-review{padding:32px;border-radius:28px;background:linear-gradient(140deg,#fff,#eafffa);border:1px solid #8ce5d7}.activity-study-review h2{color:#092653;font-weight:900}.activity-study-review button{margin-top:24px}
.activity-question-layer{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:18px;opacity:0;transition:.18s}.activity-question-layer[hidden]{display:none}.activity-question-layer.show{opacity:1}.activity-question-backdrop{position:absolute;inset:0;border:0;background:rgba(4,21,53,.7);backdrop-filter:blur(6px)}.activity-question-layer>section{position:relative;width:min(820px,100%);max-height:90vh;overflow:auto;border-radius:28px;background:#f5fbff;padding:25px;box-shadow:0 30px 80px rgba(0,20,55,.35)}.activity-question-layer header{display:flex;justify-content:space-between;align-items:start}.activity-question-layer header small{color:#00a895;font-weight:900;letter-spacing:.13em}.activity-question-layer header h2{color:#092653;font-weight:900}.activity-question-layer header button{border:0;background:#e5f2f8;width:42px;height:42px;border-radius:14px;font-size:25px}.activity-question-status{padding:22px;border-radius:18px;background:#e7fffa;color:#087b73;font-weight:800}.activity-question-card{margin-top:16px;padding:22px;border:1px solid #c9dfed;border-radius:22px;background:#fff}.activity-question-card>span{font-size:11px;color:#00aa9e;font-weight:900;letter-spacing:.12em}.activity-question-card h3{font-size:18px;line-height:1.5;color:#132c55;margin:8px 0 16px}.activity-question-options{display:grid;gap:9px}.activity-question-options button{display:flex;text-align:left;align-items:center;gap:12px;border:1px solid #cbdbe8;border-radius:15px;background:#f8fbff;padding:12px;color:#263e61}.activity-question-options b{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:#e5efff;color:#285cc7}.activity-question-options button.correct{border-color:#00bd9f;background:#e9fff8}.activity-question-options button.wrong{border-color:#f25f79;background:#fff0f3}.activity-question-feedback{margin-top:14px;padding:15px;border-radius:15px;background:#eff7ff}.activity-question-feedback p{margin:5px 0 0;color:#405677}.activity-modal-open{overflow:hidden}
@media(max-width:700px){.activities-study-cta{align-items:stretch;flex-direction:column}.activity-study-hero{min-height:auto;padding:28px 24px;align-items:flex-end}.activity-study-hero h1{font-size:34px}.activity-study-hero-copy>span{font-size:15px}.activity-study-hero img{width:105px;margin-right:-16px}.activity-study-actions{flex-direction:column}.activity-study-actions button{width:100%}.activity-study-summary-grid,.activity-video-grid,.activity-study-applications>div:last-child{grid-template-columns:1fr}.activity-study-section{grid-template-columns:1fr;padding:22px}.activity-study-section-number{width:42px;height:42px}.activity-study-heading h2{font-size:27px}.activity-study-overview,.activity-study-review{padding:23px}.activity-question-layer{padding:8px}.activity-question-layer>section{padding:18px;border-radius:23px}.activity-question-card{padding:17px}}
@media print{body{background:#fff!important}.activity-study-screen{background:#fff!important}.activity-study-nav,.bottom-nav,#appDrawer,.activity-study-actions,.activity-study-videos,.activity-study-review button,.activity-question-layer{display:none!important}.app-shell,.app-screen,.app-scroll{width:100%!important;max-width:none!important;height:auto!important;overflow:visible!important}.activity-study-scroll{padding:0!important}.activity-study-hero{width:100%;min-height:auto;margin:0 0 16px;border-radius:0;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.activity-study-hero img{width:150px}.activity-study-overview,.activity-study-summary-grid,.activity-study-content,.activity-study-applications,.activity-study-review{width:100%;box-shadow:none}.activity-study-section{break-inside:avoid;box-shadow:none}.activity-study-applications article{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4;margin:12mm}}

.finance-coupon-banner {
  display: inline-flex;
  margin-top: 12px;
  padding: 10px 14px;
  border: 1px solid rgba(0, 190, 166, .35);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(223, 255, 248, .94), rgba(237, 246, 255, .94));
  color: #007f73;
  font-size: 12px;
  font-weight: 900;
}

.plan-card h3 del {
  display: block;
  margin-bottom: 3px;
  color: #90a0b8;
  font-size: 17px;
  font-weight: 850;
  text-decoration-thickness: 2px;
}

.plan-card h3 .discount-price {
  display: block;
  color: inherit;
  font-size: 31px;
  line-height: 1;
}

.discount-label {
  display: inline-flex;
  margin-top: 7px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #e4fff8;
  color: #008c7b;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

.plan-card.semestral .discount-label,
.plan-card.anual .discount-label {
  background: rgba(255,255,255,.16);
  color: #dffef7;
}

/* Módulo Atividades */
.activities-screen {
  background:
    radial-gradient(circle at 18% 4%, rgba(0, 210, 170, 0.24), transparent 34%),
    linear-gradient(180deg, #f5fbff 0%, #eafaff 44%, #f8fbff 100%);
}

.activities-scroll {
  padding: 24px 22px 128px;
}

.activities-header .topbar {
  margin-bottom: 18px;
}

.activities-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  align-items: center;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(0, 204, 179, 0.28);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(215, 255, 247, 0.72)),
    repeating-linear-gradient(-45deg, transparent 0 12px, rgba(0, 196, 180, 0.06) 12px 14px);
  box-shadow: 0 22px 50px rgba(19, 70, 116, 0.1);
}

.activities-hero-card p,
.activities-form-head span,
.activities-result-toolbar span,
.activities-section-title span {
  margin: 0 0 8px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #00a995;
  font-size: 0.76rem;
}

.activities-hero-card h1,
.activities-form-head h2,
.activities-result-toolbar h2,
.activities-section-title h2 {
  margin: 0;
  color: #07154a;
  font-weight: 950;
  line-height: 0.96;
}

.activities-hero-card h1 {
  max-width: 620px;
  font-size: clamp(2rem, 5vw, 3.4rem);
}

.activities-hero-card span {
  display: block;
  max-width: 560px;
  margin-top: 14px;
  color: #637397;
  font-weight: 800;
  line-height: 1.45;
}

.activities-hero-card img {
  width: 150px;
  max-width: 30vw;
  filter: drop-shadow(0 18px 28px rgba(0, 120, 150, 0.18));
}

.activities-form-card,
.activities-result-card,
.activities-history {
  margin-top: 18px;
  padding: 20px;
  border: 1px solid rgba(167, 210, 234, 0.78);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 22px 60px rgba(20, 51, 100, 0.08);
}

.activities-form-head,
.activities-result-toolbar,
.activities-section-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.activities-form-head button,
.activities-result-toolbar button {
  border: 0;
  border-radius: 18px;
  padding: 12px 16px;
  color: #07154a;
  background: #e8f7ff;
  font-weight: 900;
  white-space: nowrap;
}

.activities-result-toolbar button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.activities-result-toolbar svg,
.activities-upload-icon svg,
.activities-primary svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.activities-upload-zone {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 190px;
  padding: 24px;
  border: 2px dashed rgba(0, 196, 180, 0.42);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(0, 210, 170, 0.12), transparent 48%),
    #f7fdff;
  color: #07154a;
  text-align: center;
  cursor: pointer;
}

.activities-upload-zone input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.activities-upload-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: 12px;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(135deg, #00d2aa, #3263ff);
  box-shadow: 0 16px 28px rgba(0, 196, 180, 0.22);
}

.activities-upload-zone strong {
  font-size: 1.12rem;
  font-weight: 950;
}

.activities-upload-zone small,
.activities-upload-zone em {
  display: block;
  max-width: 520px;
  margin-top: 8px;
  color: #68799b;
  font-weight: 800;
  font-style: normal;
}

.activities-upload-zone em {
  color: #00a995;
}

.activities-camera-button {
  position: relative;
  min-height: 74px;
  margin-top: 12px;
  padding: 13px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  overflow: hidden;
  border: 1px solid rgba(50, 99, 255, 0.24);
  border-radius: 20px;
  color: #12316f;
  background: linear-gradient(135deg, #edf7ff, #e7fff9);
  cursor: pointer;
}

.activities-camera-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.activities-camera-button svg {
  width: 31px;
  height: 31px;
  flex: 0 0 auto;
  fill: none;
  stroke: #2461dc;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.activities-camera-button span { display: grid; gap: 3px; }
.activities-camera-button strong { font-size: 0.96rem; font-weight: 950; }
.activities-camera-button small { color: #66799c; font-size: 0.76rem; font-weight: 750; }

.activities-photo-preview {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  margin-top: 12px;
  padding: 13px;
  border: 1px solid rgba(0, 196, 180, 0.3);
  border-radius: 22px;
  background: #effcf9;
}

.activities-photo-preview[hidden] { display: none; }
.activities-photo-preview > img { width: 112px; height: 112px; display: block; object-fit: cover; border: 2px solid #fff; border-radius: 17px; background: #fff; box-shadow: 0 10px 24px rgba(14, 68, 112, 0.14); }
.activities-photo-preview > div:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.activities-photo-preview > div:nth-child(2) small { color: #00a48f; font-size: 0.68rem; font-weight: 950; letter-spacing: 0.1em; text-transform: uppercase; }
.activities-photo-preview > div:nth-child(2) strong { color: #07154a; font-size: 1rem; font-weight: 950; }
.activities-photo-preview > div:nth-child(2) span { overflow: hidden; color: #6b7b9b; font-size: 0.75rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.activities-photo-preview-actions { grid-column: 1/-1; display: grid; grid-template-columns: 0.7fr 1fr; gap: 9px; }
.activities-photo-preview-actions button { min-height: 48px; border: 0; border-radius: 15px; color: #14316a; background: #dceefa; font-weight: 950; }
.activities-photo-preview-actions button.is-confirm { color: #fff; background: linear-gradient(135deg, #00cdaa, #3263ff); box-shadow: 0 12px 24px rgba(0, 170, 170, 0.2); }
.activities-photo-preview-actions button:disabled { opacity: 0.62; cursor: wait; }

.activities-text-field {
  display: block;
  margin-top: 16px;
}

.activities-text-field span {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: #07154a;
  font-weight: 950;
}

.activities-text-field small {
  color: #7b8ba9;
  font-weight: 800;
}

.activities-text-field textarea {
  width: 100%;
  border: 1px solid rgba(165, 202, 226, 0.92);
  border-radius: 22px;
  padding: 16px;
  color: #07154a;
  background: #fff;
  font-weight: 800;
  resize: vertical;
  outline: none;
}

.activities-actions {
  display: grid;
  grid-template-columns: 0.6fr 1fr;
  gap: 12px;
  margin-top: 16px;
}

.activities-primary,
.activities-secondary {
  min-height: 56px;
  border: 0;
  border-radius: 18px;
  font-weight: 950;
}

.activities-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
  background: linear-gradient(135deg, #00d2aa, #3263ff);
  box-shadow: 0 16px 32px rgba(0, 196, 180, 0.22);
}

.activities-primary:disabled {
  opacity: 0.72;
}

.activities-secondary {
  color: #07154a;
  background: #eaf7ff;
}

.activities-message {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  color: #07154a;
  background: #eaf7ff;
  font-weight: 850;
}

.activities-message[data-type="error"] {
  color: #c4144f;
  background: #fff0f5;
}

.activities-message[data-type="success"] {
  color: #008a78;
  background: #e6fff8;
}

.activities-result-body {
  color: #122052;
  font-size: 1rem;
  line-height: 1.65;
}

.activities-answer-summary,
.activities-answer-highlight,
.activities-answer-section,
.activities-question-card,
.activities-final-guidance {
  padding: 16px;
  border: 1px solid rgba(167, 210, 234, 0.7);
  border-radius: 20px;
  background: linear-gradient(135deg, #fff, #f5fdff);
  margin-top: 12px;
}

.activities-answer-highlight {
  border-color: rgba(0, 204, 179, 0.42);
  background: linear-gradient(135deg, rgba(224, 255, 248, 0.95), rgba(239, 248, 255, 0.95));
}

.activities-result-body h3,
.activities-question-card h4 {
  margin: 0 0 10px;
  color: #07154a;
  font-weight: 950;
}

.activities-result-body p {
  margin: 0 0 10px;
  font-weight: 760;
}

.activities-question-card > span {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #008a78;
  background: #dffcf6;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.76rem;
}

.activities-question-answer {
  padding: 12px;
  border-radius: 16px;
  background: #edf8ff;
  margin-bottom: 12px;
}

.activities-options-comments,
.activities-final-guidance ul {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 12px 0 0;
  list-style: none;
}

.activities-options-comments li,
.activities-final-guidance li {
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #f1fbff;
  font-weight: 760;
}

.activities-options-comments b {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #00d2aa, #3263ff);
}

.activities-history-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.activities-history article {
  padding: 14px;
  border: 1px solid rgba(167, 210, 234, 0.7);
  border-radius: 18px;
  background: #fff;
}

.activities-history article small {
  color: #00a995;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.activities-history article strong {
  display: block;
  margin: 6px 0;
  color: #07154a;
  font-weight: 950;
}

.activities-history article time {
  color: #6f7f9e;
  font-weight: 800;
}

.activities-intro-layer {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
}

.activities-intro-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(5, 12, 38, 0.42);
}

.activities-intro-card {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  width: min(520px, calc(100vw - 32px));
  padding: 18px;
  border: 1px solid rgba(0, 204, 179, 0.45);
  border-radius: 28px;
  background: linear-gradient(135deg, #fff, #ddfff8);
  box-shadow: 0 30px 80px rgba(7, 21, 74, 0.24);
  transform: translateY(18px) scale(0.98);
  opacity: 0;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.activities-intro-layer.show .activities-intro-card {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.activities-intro-card > button {
  position: absolute;
  right: 14px;
  top: 12px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  color: #07154a;
  background: #eaf7ff;
  font-weight: 950;
  font-size: 1.3rem;
}

.activities-intro-card img {
  width: 96px;
  align-self: center;
  filter: drop-shadow(0 16px 24px rgba(0, 120, 150, 0.18));
}

.activities-intro-card p {
  margin: 8px 0 6px;
  color: #00a995;
  font-size: 0.75rem;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.activities-intro-card h2 {
  margin: 0;
  color: #07154a;
  font-weight: 950;
  line-height: 1.05;
}

.activities-intro-card span {
  display: block;
  margin-top: 8px;
  color: #596b91;
  font-weight: 800;
  line-height: 1.42;
}

@media (max-width: 640px) {
  .activities-scroll {
    padding: 18px 14px 124px;
  }

  .activities-hero-card {
    grid-template-columns: minmax(0, 1fr) 104px;
    padding: 18px;
    border-radius: 24px;
  }

  .activities-hero-card h1 {
    font-size: 1.78rem;
  }

  .activities-hero-card span {
    font-size: 0.92rem;
  }

  .activities-hero-card img {
    width: 104px;
    max-width: 28vw;
  }

  .activities-form-card,
  .activities-result-card,
  .activities-history {
    padding: 14px;
    border-radius: 22px;
  }

  .activities-form-head,
  .activities-result-toolbar,
  .activities-section-title {
    align-items: stretch;
    flex-direction: column;
  }

  .activities-upload-zone {
    min-height: 168px;
    padding: 18px 14px;
  }

  .activities-photo-preview { grid-template-columns: 84px minmax(0, 1fr); padding: 10px; }
  .activities-photo-preview > img { width: 84px; height: 84px; }

  .activities-actions {
    grid-template-columns: 1fr;
  }

  .activities-history-grid {
    grid-template-columns: 1fr;
  }

  .activities-intro-card {
    grid-template-columns: 72px minmax(0, 1fr);
    border-radius: 24px;
  }

  .activities-intro-card img {
    width: 72px;
  }
}

@media print {
  body:has(.activities-screen) {
    background: #fff !important;
  }

  .activities-screen .topbar,
  .activities-screen .bottom-nav,
  .activities-form-card,
  .activities-history,
  .activities-hero-card,
  #appDrawer,
  .activities-intro-layer,
  .activities-result-toolbar button {
    display: none !important;
  }

  .activities-screen,
  .activities-scroll,
  .activities-result-card {
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    background: #fff !important;
  }

  .activities-result-card[hidden] {
    display: none !important;
  }
}

/* Español con LucÍA */
.espanhol-shell .app-screen { background: linear-gradient(180deg, #eefbff 0%, #f7fbff 48%, #eef8ff 100%); }
.espanhol-topbar { padding: 18px 20px 8px; }
.espanhol-hero {
  margin: 14px 20px 18px;
  padding: 24px;
  border: 1px solid rgba(0,203,181,.28);
  border-radius: 34px;
  background:
    radial-gradient(circle at 78% 24%, rgba(0,203,181,.28), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(223,255,247,.86));
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 12px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(20, 80, 120, .10);
}
.espanhol-hero-copy span,
.espanhol-aula-card > span,
.espanhol-conversation-head span,
.espanhol-video-card span {
  color: #00a99a;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11px;
}
.espanhol-hero h1 { margin: 8px 0 10px; color: #07184a; font-size: clamp(34px, 7vw, 58px); line-height: .92; letter-spacing: -.05em; font-weight: 950; }
.espanhol-hero p { color: #60718e; font-weight: 760; line-height: 1.45; max-width: 560px; }
.espanhol-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.ghost-action,
.danger-action {
  border: 1px solid rgba(190,210,230,.88);
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  color: #07184a;
  font-weight: 950;
  text-decoration: none;
  padding: 14px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
}
.danger-action { color: #ff1f64; border-color: rgba(255,31,100,.28); background: #fff4f7; }
.espanhol-lucia-orbit { position: relative; min-height: 230px; display: grid; place-items: center; }
.espanhol-lucia-orbit::before { content: ""; position: absolute; width: 230px; height: 230px; border-radius: 50%; background: radial-gradient(circle, rgba(0,203,181,.22), transparent 65%); filter: blur(1px); }
.espanhol-lucia-orbit img { position: relative; max-width: min(260px, 100%); max-height: 280px; object-fit: contain; filter: drop-shadow(0 18px 28px rgba(8,25,72,.18)); }
.espanhol-layout { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1.6fr); gap: 18px; padding: 0 20px calc(110px + env(safe-area-inset-bottom)); }
.espanhol-lessons,
.espanhol-main,
.espanhol-content-card,
.espanhol-conversation-card {
  border: 1px solid rgba(190,218,235,.86);
  border-radius: 28px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 16px 38px rgba(14,55,95,.08);
}
.espanhol-lessons { padding: 18px; position: sticky; top: 10px; align-self: start; max-height: calc(100vh - 120px); overflow: auto; }
.espanhol-lesson-list { display: grid; gap: 10px; }
.espanhol-lesson-card { text-decoration: none; color: #07184a; display: grid; gap: 5px; border: 1px solid rgba(205,224,240,.9); border-radius: 18px; padding: 14px; background: #fff; transition: .18s ease; }
.espanhol-lesson-card.active,
.espanhol-lesson-card:hover { border-color: rgba(0,203,181,.65); background: linear-gradient(135deg, rgba(0,203,181,.10), rgba(40,116,255,.07)); transform: translateY(-1px); }
.espanhol-lesson-card.locked { position: relative; opacity: .74; filter: grayscale(.18); background: #f6f9fc; }
.espanhol-lesson-card.locked::after { content: "🔒"; position: absolute; right: 13px; top: 13px; width: 34px; height: 34px; border-radius: 13px; display: grid; place-items: center; background: #fff; box-shadow: 0 8px 18px rgba(20, 80, 120, .09); }
.espanhol-lesson-card small { color: #00a99a; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.espanhol-lesson-card strong { font-size: 15px; line-height: 1.1; }
.espanhol-lesson-card span { color: #6b7894; font-size: 12px; font-weight: 800; }
.lesson-lock,
.lesson-done { justify-self: start; margin-top: 4px; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 950; color: #6b7894; background: #eef5fb; }
.lesson-done { color: #008f7f; background: #ddfff7; }
.espanhol-main { padding: 18px; }
.espanhol-aula-card { padding: 22px; border-radius: 26px; background: linear-gradient(135deg, #ecfff9, #f6fbff); border: 1px solid rgba(0,203,181,.28); }
.espanhol-aula-card h2 { margin: 7px 0 8px; color: #07184a; font-size: clamp(28px, 6vw, 44px); line-height: .96; letter-spacing: -.04em; font-weight: 950; }
.espanhol-aula-card p { color: #60718e; font-weight: 800; }
.espanhol-vocab { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.espanhol-vocab em { font-style: normal; border-radius: 999px; background: #dffff7; color: #008c80; font-weight: 950; padding: 8px 11px; font-size: 12px; }
.espanhol-progress-checklist { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 14px; }
.espanhol-progress-checklist span { min-height: 34px; border-radius: 13px; display: grid; place-items: center; text-align: center; padding: 5px 7px; background: #eef6fb; color: #60718e; font-size: 11px; font-weight: 950; }
.espanhol-progress-checklist span.done { background: linear-gradient(135deg, #08c7b0, #28d68c); color: #fff; box-shadow: 0 9px 18px rgba(0, 190, 175, .16); }
.espanhol-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 14px 0; padding: 7px; border-radius: 20px; background: #eaf5fb; }
.espanhol-tabs button { border: 0; border-radius: 15px; padding: 12px 8px; background: transparent; color: #60718e; font-weight: 950; }
.espanhol-tabs button.active { color: #fff; background: linear-gradient(135deg, #08c7b0, #2874ff); box-shadow: 0 12px 24px rgba(40,116,255,.18); }
.espanhol-tab-pane { display: none; }
.espanhol-tab-pane.active { display: block; }
.espanhol-content-card { padding: 22px; }
.espanhol-content-card h3 { color: #07184a; font-size: 22px; font-weight: 950; letter-spacing: -.03em; }
.espanhol-content-card p,
.espanhol-content-card li { color: #31415f; font-weight: 740; line-height: 1.62; }
.espanhol-material-render { margin-top: 18px; display: grid; gap: 14px; }
.espanhol-material-section { padding: 16px; border-radius: 18px; background: #f3fbff; border: 1px solid rgba(190,218,235,.86); }
.espanhol-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.espanhol-video-card { min-height: 150px; display: grid; align-content: start; gap: 8px; text-decoration: none; padding: 18px; border-radius: 22px; background: linear-gradient(135deg, #fff, #eafff8); border: 1px solid rgba(0,203,181,.25); color: #07184a; }
.espanhol-video-card strong { font-size: 18px; line-height: 1.05; }
.espanhol-video-card small { color: #60718e; font-weight: 750; }
.espanhol-conversation-card { padding: 18px; }
.espanhol-conversation-head { display: grid; grid-template-columns: 76px 1fr; gap: 12px; align-items: center; }
.espanhol-conversation-head img { width: 76px; height: 76px; object-fit: cover; object-position: center top; border-radius: 24px; background: #dffff7; border: 1px solid rgba(0,203,181,.35); }
.espanhol-conversation-head h3 { color: #07184a; font-weight: 950; margin: 3px 0; }
.espanhol-conversation-head p { color: #60718e; font-weight: 760; margin: 0; }
.espanhol-timer-wrap { display: grid; gap: 7px; margin: 16px 0; }
.espanhol-timer { height: 8px; border-radius: 999px; background: #dcecf5; overflow: hidden; }
.espanhol-timer i { display: block; width: 0%; height: 100%; background: linear-gradient(90deg, #08c7b0, #2874ff); transition: width .3s ease; }
.espanhol-timer-wrap span { color: #60718e; font-size: 12px; font-weight: 950; text-align: right; }
.espanhol-chat { display: grid; gap: 12px; max-height: min(50vh, 430px); overflow: auto; padding: 6px; }
.espanhol-chat article { display: grid; gap: 8px; align-items: end; }
.espanhol-chat article > div { display: grid; gap: 4px; max-width: 86%; }
.espanhol-chat article span { font-size: 10px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.espanhol-chat article p { margin: 0; padding: 14px 16px; border-radius: 22px; font-weight: 780; line-height: 1.38; }
.espanhol-chat article.lucia { grid-template-columns: 42px 1fr; }
.espanhol-chat article.lucia img { width: 42px; height: 42px; object-fit: cover; object-position: center top; border-radius: 15px; background: #dffff7; }
.espanhol-chat article.lucia span { color: #00a99a; padding-left: 10px; }
.espanhol-chat article.lucia p { background: #f0fffb; border: 1px solid rgba(0,203,181,.28); color: #07184a; }
.espanhol-chat article.student { justify-items: end; }
.espanhol-chat article.student > div { justify-items: end; }
.espanhol-chat article.student span { color: #0789c7; padding-right: 10px; }
.espanhol-chat article.student p { background: linear-gradient(135deg, #08c7b0, #2874ff); color: #fff; border-bottom-right-radius: 8px; }
.espanhol-voice-status { margin: 14px 0; padding: 13px 15px; border-radius: 18px; background: #eff9ff; color: #60718e; font-weight: 900; }
.espanhol-controls { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.espanhol-controls button:disabled { opacity: .55; filter: grayscale(.25); }
.espanhol-text-reply { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 12px; align-items: stretch; }
.espanhol-text-reply textarea { width: 100%; min-height: 54px; max-height: 120px; resize: vertical; border: 1px solid rgba(190,218,235,.95); border-radius: 18px; padding: 13px 14px; outline: 0; background: rgba(255,255,255,.92); color: #07184a; font-weight: 750; }
.espanhol-text-reply textarea:focus { border-color: rgba(0,203,181,.75); box-shadow: 0 0 0 4px rgba(0,203,181,.10); }
.espanhol-text-reply button { min-width: 150px; }
.espanhol-downloads { margin-top: 12px; padding: 12px; border: 1px solid rgba(0,203,181,.22); border-radius: 18px; background: linear-gradient(135deg, #effffb, #f3f8ff); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.espanhol-downloads[hidden] { display: none; }
.espanhol-downloads span { color: #07184a; font-weight: 950; margin-right: auto; }
.espanhol-downloads button { border: 0; border-radius: 13px; min-height: 38px; padding: 0 14px; color: #fff; font-weight: 950; background: linear-gradient(135deg, #08c7b0, #2874ff); }
.espanhol-lock-modal { border: 0; border-radius: 28px; padding: 24px; background: linear-gradient(145deg, #fff, #effffb); box-shadow: 0 28px 80px rgba(7,24,74,.25); }
.espanhol-lock-modal span { color: #00a99a; font-size: 11px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.espanhol-lock-modal h2 { margin: 6px 0 8px; color: #07184a; font-size: 27px; line-height: 1.05; font-weight: 950; }
.espanhol-lock-modal p { color: #60718e; font-weight: 780; }
.espanhol-lock-modal ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.espanhol-lock-modal li { padding: 11px 12px; border-radius: 14px; background: #f1f8ff; color: #07184a; font-weight: 850; }
.espanhol-lock-modal li::before { content: "•"; color: #08c7b0; font-weight: 950; margin-right: 8px; }
.espanhol-intro-modal .studies-audio-intro > img { object-fit: cover; object-position: center top; border-radius: 50%; background: #dffff7; }
@media (max-width: 860px) {
  .espanhol-hero { grid-template-columns: 1fr; padding: 20px; }
  .espanhol-lucia-orbit { min-height: 180px; }
  .espanhol-layout { grid-template-columns: 1fr; padding-inline: 14px; }
  .espanhol-lessons { position: static; max-height: 360px; }
  .espanhol-tabs { grid-template-columns: repeat(2, 1fr); }
  .espanhol-video-grid { grid-template-columns: 1fr; }
  .espanhol-controls { grid-template-columns: 1fr; }
}

/* UX mobile refinada · Español con LucÍA */
.espanhol-carousel-actions {
  display: none;
  gap: 8px;
  align-items: center;
}
.espanhol-carousel-actions button {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 14px;
  background: #eaf7ff;
  color: #07184a;
  font-size: 26px;
  line-height: 1;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(20, 80, 120, .08);
}

@media (max-width: 640px) {
  .espanhol-screen .app-scroll {
    padding-inline: 12px;
  }

  .espanhol-topbar {
    padding: 12px 4px 6px;
  }

  .espanhol-hero {
    margin: 8px 0 14px;
    padding: 18px;
    min-height: 178px;
    grid-template-columns: minmax(0, 1fr) 96px;
    align-items: center;
    border-radius: 28px;
    gap: 8px;
  }

  .espanhol-hero-copy span {
    font-size: 9px;
    letter-spacing: .12em;
  }

  .espanhol-hero h1 {
    font-size: 29px;
    line-height: .96;
    margin: 6px 0 8px;
    max-width: 230px;
  }

  .espanhol-hero p {
    max-width: 220px;
    margin: 0;
    font-size: 13px;
    line-height: 1.32;
    font-weight: 800;
  }

  .espanhol-lucia-orbit {
    min-height: 128px;
    align-self: stretch;
  }

  .espanhol-lucia-orbit::before {
    width: 118px;
    height: 118px;
  }

  .espanhol-lucia-orbit img {
    max-width: 118px;
    max-height: 145px;
  }

  .espanhol-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 13px;
    max-width: 210px;
  }

  .espanhol-hero-actions .primary-action,
  .espanhol-hero-actions .ghost-action {
    width: 100%;
    min-height: 46px;
    border-radius: 16px;
    padding: 0 14px;
    font-size: 14px;
    box-shadow: 0 12px 22px rgba(0, 190, 175, .14);
  }

  .espanhol-hero-actions .ghost-action {
    background: #fff;
    border-color: rgba(20, 72, 125, .16);
    box-shadow: none;
  }

  .espanhol-layout {
    display: block;
    padding: 0 0 calc(110px + env(safe-area-inset-bottom));
  }

  .espanhol-lessons {
    position: relative;
    max-height: none;
    overflow: visible;
    padding: 15px;
    margin-bottom: 14px;
    border-radius: 26px;
  }

  .espanhol-lessons .studies-section-head {
    margin-bottom: 12px;
    align-items: center;
  }

  .espanhol-lessons .studies-section-head h2 {
    font-size: 22px;
    margin: 2px 0 0;
  }

  .espanhol-carousel-actions {
    display: flex;
  }

  .espanhol-lesson-list {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 2px 2px 10px;
    margin-inline: -2px;
    -webkit-overflow-scrolling: touch;
  }

  .espanhol-lesson-list::-webkit-scrollbar {
    display: none;
  }

  .espanhol-lesson-card {
    flex: 0 0 min(76vw, 265px);
    min-height: 128px;
    scroll-snap-align: start;
    border-radius: 22px;
    padding: 15px;
    background: linear-gradient(135deg, #ffffff, #f1fffb);
  }

  .espanhol-lesson-card.active {
    background: linear-gradient(135deg, #e8fff8, #edf5ff);
    box-shadow: 0 14px 30px rgba(0, 190, 175, .12);
  }

  .espanhol-lesson-card small {
    font-size: 10px;
  }

  .espanhol-lesson-card strong {
    font-size: 18px;
    line-height: 1.05;
  }

  .espanhol-main {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .espanhol-aula-card,
  .espanhol-content-card,
  .espanhol-conversation-card {
    border-radius: 26px;
  }

  .espanhol-aula-card {
    padding: 18px;
  }

  .espanhol-aula-card h2 {
    font-size: 28px;
  }

  .espanhol-aula-card p {
    font-size: 13px;
    line-height: 1.38;
  }

  .espanhol-vocab {
    gap: 6px;
  }

  .espanhol-vocab em {
    padding: 7px 9px;
    font-size: 11px;
  }

  .espanhol-progress-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .espanhol-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    overflow: hidden;
    padding: 6px;
    margin: 12px 0;
    border-radius: 20px;
    background: rgba(226, 242, 250, .9);
    box-shadow: inset 0 0 0 1px rgba(190,218,235,.48);
    -webkit-overflow-scrolling: touch;
  }

  .espanhol-tabs button {
    min-width: 0;
    min-height: 44px;
    padding: 0 4px;
    border-radius: 14px;
    color: #51627f;
    font-size: 11px;
    white-space: nowrap;
    letter-spacing: -.02em;
  }

  .espanhol-tabs button.active {
    color: #fff;
    background: linear-gradient(135deg, #08c7b0 0%, #078bdc 58%, #3156ff 100%);
    box-shadow: 0 10px 20px rgba(40,116,255,.20);
  }

  .espanhol-content-card {
    padding: 18px;
  }

  .espanhol-content-card h3 {
    font-size: 20px;
  }

  .espanhol-content-card p,
  .espanhol-content-card li {
    font-size: 14px;
    line-height: 1.55;
  }

  .espanhol-conversation-head {
    grid-template-columns: 58px 1fr;
    gap: 10px;
  }

  .espanhol-conversation-head img {
    width: 58px;
    height: 58px;
    border-radius: 18px;
  }

  .espanhol-conversation-head h3 {
    font-size: 22px;
    line-height: 1.05;
  }

  .espanhol-conversation-head p {
    font-size: 13px;
    line-height: 1.35;
  }

  .espanhol-chat {
    max-height: 380px;
    padding: 2px;
  }

  .espanhol-chat article > div {
    max-width: 92%;
  }

  .espanhol-chat article p {
    font-size: 14px;
  }

  .espanhol-controls {
    grid-template-columns: 1fr;
  }

  .espanhol-controls .primary-action,
  .espanhol-controls .ghost-action,
  .espanhol-controls .danger-action,
  .espanhol-content-card .primary-action {
    width: 100%;
    min-height: 50px;
    border-radius: 17px;
    padding: 0 15px;
    font-size: 14px;
  }

  .espanhol-text-reply {
    grid-template-columns: 1fr;
  }

  .espanhol-text-reply textarea {
    min-height: 72px;
    font-size: 14px;
  }

  .espanhol-text-reply button {
    width: 100%;
    min-height: 48px;
  }

  .espanhol-downloads {
    align-items: stretch;
  }

  .espanhol-downloads span {
    flex-basis: 100%;
  }

  .espanhol-downloads button {
    flex: 1;
  }
}

.plan-payment-link{width:100%;min-height:44px;border:0;border-radius:12px;background:#00bba5;color:#fff;font-weight:900;display:grid;place-items:center;text-align:center;text-decoration:none}
.expired-trial-layer{position:fixed;z-index:25000;inset:0;padding:20px;background:rgba(4,16,43,.78);backdrop-filter:blur(10px);display:grid;place-items:center}.expired-trial-card{width:min(440px,100%);padding:25px;border:1px solid rgba(122,238,222,.7);border-radius:28px;background:linear-gradient(150deg,#fff,#effffc);box-shadow:0 35px 90px rgba(0,0,0,.35);text-align:center}.expired-trial-visual{position:relative;width:145px;height:130px;margin:-5px auto 5px}.expired-trial-visual i{position:absolute;inset:20px 5px 0;border-radius:50%;background:radial-gradient(circle,rgba(0,217,180,.28),transparent 68%);animation:expiredPulse 1.8s ease-in-out infinite}.expired-trial-visual img{position:relative;width:130px;height:130px;object-fit:contain;filter:drop-shadow(0 15px 16px rgba(15,46,84,.2))}.expired-trial-card>p{margin:0 0 6px;color:#00a58f;font-size:10px;font-weight:950;letter-spacing:1.3px}.expired-trial-card h2{margin:0;color:#0a214d;font-size:27px;line-height:1.08;font-weight:950}.expired-trial-card>span{display:block;margin:11px 0 17px;color:#66758e;font-size:14px;line-height:1.45;font-weight:650}.expired-trial-card>a,.expired-trial-listen{width:100%;min-height:48px;border:0;border-radius:14px;display:grid;place-items:center;background:linear-gradient(90deg,#00d4ad,#00aab9);color:#fff;text-decoration:none;font-weight:900}.expired-trial-listen{margin-bottom:8px;background:#102e66}.expired-trial-card small{display:block;margin:8px 0 14px;color:#70809a;font-weight:700}@keyframes expiredPulse{50%{transform:scale(1.12);opacity:.65}}
.trial-offer-plans{margin:-4px 0 15px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.trial-offer-plans>b{padding:10px 8px;border:1px solid #bce8df;border-radius:12px;color:#0b2850;background:#f4fffc;font-size:11px}.trial-offer-plans em{display:block;margin-top:3px;color:#00947e;font-size:10px;font-style:normal}
.finance-offer-action{width:100%;border:0;border-radius:16px;padding:15px 18px;background:linear-gradient(135deg,#08c6ad,#2478f5);color:#fff;font:800 14px/1.2 var(--font-display);box-shadow:0 12px 25px rgba(22,126,213,.24);cursor:pointer}

/* Financeiro */
.finance-screen{background:linear-gradient(180deg,#f4fbff,#eef6ff)}.finance-scroll{padding:0 16px 120px}.finance-header{padding-top:calc(16px + env(safe-area-inset-top))}.finance-hero{position:relative;overflow:hidden;min-height:240px;margin-top:14px;padding:28px 155px 28px 24px;border-radius:30px;background:linear-gradient(135deg,#071b46,#123f80 65%,#00a99c);color:#fff;display:flex;align-items:center;box-shadow:0 23px 50px rgba(15,46,84,.2)}.finance-hero p,.plans-section>header p{margin:0 0 7px;color:#33e5c9;font-size:11px;font-weight:900;letter-spacing:1.2px}.finance-hero h1{margin:0;max-width:650px;font-size:clamp(30px,5vw,48px);line-height:1.02;font-weight:950}.finance-hero span{display:block;max-width:590px;margin-top:10px;color:#d7e9ff;font-weight:600;line-height:1.45}.finance-hero img{position:absolute;right:15px;bottom:-8px;width:145px}.current-plan{margin:18px 0;padding:20px;border:1px solid #c7e0eb;border-radius:25px;background:#fff;box-shadow:0 16px 35px rgba(15,46,84,.08);display:grid;grid-template-columns:1.6fr repeat(2,.7fr) auto;align-items:center;gap:18px}.current-plan-name>span{color:#00a58f;font-size:10px;font-weight:900;letter-spacing:1px}.current-plan-name h2{margin:3px 0;color:#0b214d;font-size:29px;font-weight:950}.current-plan-name p{margin:0;color:#6b7891;font-size:12px}.current-plan-detail{padding-left:16px;border-left:1px solid #e1ebf2}.current-plan-detail span{display:block;color:#7a879b;font-size:10px;font-weight:800;text-transform:uppercase}.current-plan-detail strong{display:block;margin-top:5px;color:#10234d;font-size:18px;font-weight:900}.plan-status{padding:9px 12px;border-radius:99px;background:#dff9f2;color:#008575;font-size:10px;font-weight:900;text-transform:uppercase}.plan-status.ending{background:#fff0d9;color:#aa6500}.plans-section{padding:23px;border:1px solid #d1e2ee;border-radius:27px;background:rgba(255,255,255,.8)}.plans-section>header{text-align:center;margin-bottom:20px}.plans-section>header p{color:#00a58f}.plans-section>header h2{margin:0;color:#0b214d;font-size:25px;font-weight:950}.plans-section>header span{display:block;margin-top:6px;color:#6b7891;font-size:13px}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.plan-card{position:relative;padding:22px;border:1px solid #d4e2ec;border-radius:22px;background:#fff;box-shadow:0 12px 25px rgba(15,46,84,.06)}.plan-card.current{border:2px solid #00bea6;background:#f3fffb}.plan-card.semestral{background:linear-gradient(155deg,#0b2554,#087f83);color:#fff}.plan-card.anual{background:linear-gradient(155deg,#071b46,#243dff 58%,#00c7a9);color:#fff;box-shadow:0 20px 42px rgba(36,61,255,.16)}.best-plan{position:absolute;right:13px;top:13px;padding:6px 9px;border-radius:99px;background:#34e1bd;color:#07353d;font-size:9px;text-transform:uppercase}.plan-card>span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:#008e80}.plan-card.semestral>span,.plan-card.anual>span{color:#4ce8cb}.plan-card h3{margin:12px 0 0;color:#0b214d;font-size:31px;font-weight:950}.plan-card.semestral h3,.plan-card.anual h3{color:#fff}.plan-card>small{color:#7a879b;font-weight:700}.plan-card.semestral>small,.plan-card.anual>small{color:#cde8eb}.plan-card ul{margin:18px 0;padding:0;list-style:none}.plan-card li{margin:8px 0;font-size:12px;font-weight:700}.plan-card li::before{content:'✓';margin-right:7px;color:#00b99e;font-weight:950}.plan-card button,.finance-actions button{width:100%;min-height:44px;border:0;border-radius:12px;background:#00bba5;color:#fff;font-weight:900}.plan-card button:disabled{background:#dce7ed;color:#738095}.finance-actions{margin-top:15px;padding:20px;border:1px solid #d1e2ee;border-radius:22px;background:#fff;display:grid;grid-template-columns:1fr 190px 160px;align-items:center;gap:10px}.finance-actions h2{margin:0;color:#10234d;font-size:18px;font-weight:900}.finance-actions p{margin:5px 0 0;color:#71809a;font-size:12px}.finance-actions .cancel-plan{background:#fff0f3;color:#cf3151}.finance-message{margin-top:12px;padding:13px;border-radius:13px;text-align:center;font-weight:800}.finance-message.info{background:#eaf4ff;color:#175c9d}.finance-message.success{background:#e5fbf5;color:#007c6d}.finance-message.error{background:#fff0f3;color:#c52c4a}@media(max-width:1180px){.plan-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.finance-scroll{padding-inline:10px}.finance-hero{min-height:275px;padding:24px 105px 24px 18px}.finance-hero img{right:-15px;width:120px}.current-plan{grid-template-columns:1fr 1fr}.current-plan-name,.plan-status{grid-column:1/-1}.plan-grid{grid-template-columns:1fr}.finance-actions{grid-template-columns:1fr}.plans-section{padding:15px}}
.plan-card.free{order:-10;border:2px solid #42d5be;background:linear-gradient(155deg,#effffb,#fff)}.plan-card.free::after,.plan-card:not(.free)::after{display:block;margin:12px 0 2px;padding:8px 10px;border-radius:10px;font-size:10px;font-weight:900}.plan-card.free::after{content:'Todos os módulos · limite de 20 min/dia';color:#007f72;background:#dffff6}.plan-card:not(.free)::after{content:'Acesso durante a vigência contratada';color:#1267b5;background:#e8f4ff}.plan-card.premium{transform:translateY(-5px);border:2px solid #f4c54d;background:linear-gradient(155deg,#fff9df,#fff);box-shadow:0 22px 48px rgba(180,126,0,.2)}.plan-card.premium::before{content:'PLANO PREMIUM';position:absolute;right:13px;top:13px;padding:6px 9px;border-radius:99px;background:#ffd765;color:#5c4100;font-size:9px;font-weight:950}

/* Financeiro: um card por plano, com a periodicidade dentro do card. */
.finance-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px}.finance-plan-card{min-width:0;display:flex;flex-direction:column;padding:28px}.finance-plan-card.free{order:initial}.finance-plan-card.premium{transform:none}.finance-plan-card>span{padding-right:0}.finance-plan-card .best-plan{position:static;width:max-content;margin:0 0 13px auto;align-self:flex-end}.finance-plan-card .finance-plan-description{min-height:78px;margin:9px 0 18px;color:#53627c;font-size:14px;line-height:1.55;font-weight:500}.finance-plan-card.premium .finance-plan-description{color:#53627c}.finance-plan-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border:1px solid #d5e5ed;border-radius:15px;background:#edf5f8}.finance-plan-card .finance-period-option{width:auto;min-width:0;min-height:56px;margin:0;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:11px;color:#65758d;background:transparent;box-shadow:none;font-size:10px;line-height:1.15;cursor:pointer}.finance-plan-card .finance-period-option b{font-size:11px;line-height:1.15}.finance-plan-card .finance-period-option small{display:block;color:inherit;font-size:8px;font-weight:750}.finance-plan-card .finance-period-option.active{border-color:#16bca9;color:#063d43;background:#fff;box-shadow:0 7px 17px rgba(13,86,103,.12)}.finance-plan-card .finance-period-option:hover{color:#063d43;background:#fff}.finance-plan-price{margin:17px 0 2px;padding:16px;border-radius:17px;background:#f1f8fb}.finance-plan-price>del{display:inline-block;margin-right:7px;color:#75829a;font-size:13px}.finance-plan-price .discount-label{display:inline-block;margin:0;padding:5px 8px;border-radius:99px;color:#007e71;background:#d9faf1;font-size:9px;font-style:normal;font-weight:900}.finance-plan-price>strong{margin-top:9px;display:flex;align-items:baseline;gap:7px;color:#0b214d}.finance-plan-price>strong small{font-size:11px}.finance-plan-price>strong b{font-size:27px;line-height:1}.finance-plan-price>span{display:block;margin-top:7px;color:#66768e;font-size:11px}.finance-plan-price>span b{color:#10234d;font-size:13px}.finance-plan-free-price{margin:0 0 2px;padding:18px;border-radius:17px;background:#dffff6}.finance-plan-free-price strong,.finance-plan-free-price span{display:block}.finance-plan-free-price strong{color:#072650;font-size:28px}.finance-plan-free-price span{margin-top:3px;color:#07877a;font-size:11px;font-weight:800}.finance-plan-card ul{flex:1}.finance-checkout-button{width:100%;min-height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-radius:13px;color:#052c31;background:linear-gradient(135deg,#49e1c2,#2a91f2);box-shadow:0 13px 28px rgba(23,179,172,.23);font-size:12px;font-weight:950;text-decoration:none}.finance-checkout-button:hover{color:#052c31;transform:translateY(-1px);box-shadow:0 17px 34px rgba(23,179,172,.3)}.finance-checkout-button b{font-size:20px}.finance-checkout-button.disabled{color:#758298;background:#dce7ed;box-shadow:none;pointer-events:none}.finance-coupon-banner{width:max-content;max-width:100%;margin:17px auto 0;padding:11px 18px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #59dcca;border-radius:99px;background:#e5fcf8}.finance-coupon-banner strong{color:#008877;font-size:12px}.finance-coupon-banner span{margin:0!important;color:#61718a!important;font-size:11px!important;font-weight:800}.finance-plan-card.free::after,.finance-plan-card:not(.free)::after{order:5}.finance-plan-card .finance-checkout-button,.finance-plan-card>button{order:6}.finance-plan-card.premium::before{display:none}
@media(max-width:1100px){.finance-plan-grid{grid-template-columns:1fr 1fr}.finance-plan-card.free{grid-column:1/-1}.finance-plan-card.free .finance-plan-description{min-height:0}}
@media(max-width:750px){.finance-plan-grid{grid-template-columns:1fr}.finance-plan-card.free{grid-column:auto}.finance-plan-card{padding:21px}.finance-plan-card>span{padding-right:96px}.finance-plan-card .finance-plan-description{min-height:0}.finance-plan-periods{grid-template-columns:1fr}.finance-plan-card .finance-period-option{min-height:48px;flex-direction:row;gap:5px}.finance-coupon-banner{width:100%;border-radius:16px;flex-direction:column;gap:3px}.finance-plan-price>strong b{font-size:24px}}
.daily-limit-locked{overflow:hidden!important}.daily-limit-overlay{position:fixed;z-index:2147483647;inset:0;padding:20px;display:grid;place-items:center;background:rgba(5,18,43,.88);backdrop-filter:blur(12px);overscroll-behavior:contain}.daily-limit-overlay section{width:min(480px,100%);padding:25px 30px 26px;border:1px solid #9ae7da;border-radius:30px;background:radial-gradient(circle at 92% 4%,rgba(20,205,174,.24),transparent 34%),radial-gradient(circle at 5% 96%,rgba(49,112,244,.12),transparent 34%),#fff;box-shadow:0 30px 80px rgba(4,20,53,.48);text-align:center}.daily-limit-visual{position:relative;width:150px;height:112px;margin:-6px auto 0;display:flex;align-items:flex-end;justify-content:center;gap:5px}.daily-limit-visual img{position:absolute;left:0;top:0;width:120px;height:110px;object-fit:contain;filter:drop-shadow(0 12px 13px rgba(12,44,82,.18))}.daily-limit-visual i{width:5px;height:18px;margin:0 0 25px 0;border-radius:99px;background:#16cbb4;animation:daily-limit-wave .8s ease-in-out infinite alternate}.daily-limit-visual i:nth-of-type(2){height:30px;animation-delay:.15s}.daily-limit-visual i:nth-of-type(3){height:23px;animation-delay:.3s}.daily-limit-overlay span{display:inline-flex;padding:7px 10px;border-radius:99px;background:#dffff7;color:#00887b;font-size:10px;font-weight:950;letter-spacing:.08em}.daily-limit-overlay h2{margin:14px 0 9px;color:#0a2149;font-size:29px;line-height:1.08;font-weight:950}.daily-limit-overlay p{margin:0 auto 14px;max-width:400px;color:#586b88;font-size:14px;line-height:1.58}.daily-limit-overlay em{display:block;min-height:18px;margin:0 0 13px;color:#60728e;font-size:11px;font-style:normal;font-weight:800}.daily-limit-listen{margin:0 auto 8px;padding:8px 13px;border:1px solid #a9dce8;border-radius:99px;color:#075c78;background:#eefcff;font-size:11px;font-weight:900}.daily-limit-overlay a{min-height:53px;padding:0 18px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:linear-gradient(135deg,#08c8b1,#2678f4);box-shadow:0 14px 28px rgba(27,116,220,.25);text-decoration:none;font-weight:950}.daily-limit-overlay a:focus-visible,.daily-limit-listen:focus-visible{outline:3px solid #7ce7d9;outline-offset:3px}.daily-limit-overlay small{display:block;margin-top:12px;color:#718098;font-size:11px;font-weight:750}@keyframes daily-limit-wave{from{transform:scaleY(.45);opacity:.55}to{transform:scaleY(1);opacity:1}}@media(max-width:520px){.daily-limit-overlay{padding:12px}.daily-limit-overlay section{padding:21px 19px 22px;border-radius:25px}.daily-limit-overlay h2{font-size:25px}.daily-limit-overlay p{font-size:13px}}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background: #edf4fb;
  color: var(--ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: 0;
}

button,
input,
textarea {
  font: inherit;
}

.app-shell {
  width: 100%;
  max-width: 100vw;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 0;
  overflow-x: hidden;
}

.app-screen {
  position: relative;
  width: 100%;
  max-width: 480px;
  min-width: 0;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 11%, rgba(0, 190, 175, .12), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 44%, #f5f9fe 100%);
  box-shadow: 0 0 0 1px rgba(9, 30, 66, .05);
}

.app-scroll {
  height: 100%;
  overflow-y: auto;
  padding: calc(22px + env(safe-area-inset-top)) 18px calc(96px + env(safe-area-inset-bottom));
  scrollbar-width: none;
}

.app-scroll::-webkit-scrollbar {
  display: none;
}

.hero {
  position: relative;
  z-index: 1;
}

.topbar {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 44px;
  gap: 9px;
}

.icon-btn {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  display: grid;
  place-items: center;
  position: relative;
}

.menu-btn {
  width: 36px;
  height: 36px;
  align-content: center;
  justify-items: center;
  gap: 3px;
  border: 1px solid rgba(185,218,238,.75);
  border-radius: 12px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 6px 15px rgba(15,46,84,.06);
}

.menu-btn span {
  display: block;
  width: 17px;
  height: 1.8px;
  margin: 0;
  background: var(--ink);
  border-radius: 8px;
}

.menu-btn span:nth-child(2) {
  width: 13px;
  justify-self: start;
  margin-left: 9px;
}

.app-drawer-layer[hidden] {
  display: none;
}

.app-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: 12000;
}

.app-drawer-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: rgba(4,18,42,.62);
  backdrop-filter: blur(3px);
  animation: app-drawer-fade .2s ease both;
}

.app-drawer {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: min(340px, calc(100vw - 42px));
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  padding: max(18px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom));
  border-radius: 0 28px 28px 0;
  background:
    radial-gradient(circle at 10% 4%, rgba(21,217,161,.18), transparent 27%),
    #f9fcff;
  box-shadow: 24px 0 70px rgba(3,20,48,.28);
  animation: app-drawer-in .26s cubic-bezier(.2,.78,.25,1) both;
}

.app-drawer > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2px 4px 14px;
}

.app-drawer > header p,
.app-drawer > header span {
  margin: 0;
}

.app-drawer > header p {
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
}

.app-drawer > header p b {
  color: #08aeb1;
}

.app-drawer > header span {
  display: block;
  margin-top: 5px;
  color: #77869b;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.app-drawer > header button {
  width: 34px;
  height: 34px;
  border: 1px solid #dce7f0;
  border-radius: 11px;
  background: #fff;
  color: #53657d;
  font-size: 21px;
  line-height: 1;
}

.app-drawer-user {
  margin-bottom: 9px;
  padding: 12px 13px;
  border: 1px solid rgba(8,174,177,.16);
  border-radius: 16px;
  background: rgba(232,255,248,.72);
}

.app-drawer-user strong,
.app-drawer-user small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-drawer-user strong {
  color: var(--ink);
  font-size: 13px;
}

.app-drawer-user small {
  margin-top: 3px;
  color: #64778c;
  font-size: 10px;
}

.app-drawer > nav {
  display: grid;
  align-content: start;
  gap: 4px;
  overflow-y: auto;
  padding: 3px 1px 8px;
}

.app-drawer > nav a {
  min-height: 48px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  border-radius: 14px;
  color: #27425f;
  text-decoration: none;
}

.app-drawer > nav a:hover,
.app-drawer > nav a:active {
  background: rgba(8,174,177,.09);
  color: #087d7b;
}

.app-drawer > nav a > span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 12px rgba(15,46,84,.06);
}

.app-drawer > nav svg {
  width: 19px;
  height: 19px;
}

.app-drawer > nav strong {
  font-size: 13px;
  font-weight: 780;
}

.app-drawer > nav i {
  color: #9cabb9;
  font-style: normal;
  font-size: 20px;
}

.app-drawer > footer {
  padding-top: 9px;
  border-top: 1px solid #e3ebf2;
}

.app-drawer > footer button {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(223,63,77,.15);
  border-radius: 14px;
  padding: 0 13px;
  background: #fff4f5;
  color: #cf3f4b;
  font-size: 13px;
  font-weight: 820;
}

.app-drawer > footer svg {
  width: 20px;
  height: 20px;
}

body.app-drawer-open {
  overflow: hidden;
}

@keyframes app-drawer-in {
  from { transform: translateX(-105%); }
  to { transform: translateX(0); }
}

@keyframes app-drawer-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.brand {
  width: fit-content;
  text-decoration: none;
  color: var(--ink);
  font-weight: 820;
  line-height: .96;
}

.brand span {
  display: block;
  font-size: clamp(25px, 6.6vw, 30px);
  letter-spacing: -.8px;
}

.brand b {
  background: linear-gradient(135deg, #0aa3f3 10%, #21cc83 88%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -.7px;
}

.brand small {
  display: block;
  margin-left: 43px;
  margin-top: 5px;
  color: var(--teal);
  font-size: 9.5px;
  letter-spacing: 5.5px;
  font-weight: 780;
}

.notify-btn {
  justify-self: end;
}

svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.notify-btn svg {
  width: 25px;
  height: 25px;
}

.notify-btn i {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #20c985;
  box-shadow: 0 0 0 3px #fff;
}

.greeting {
  min-height: 140px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  align-items: start;
  gap: 4px;
  margin-top: 27px;
  position: relative;
}

.copy {
  position: relative;
  z-index: 2;
}

.copy h1 {
  margin: 0;
  max-width: 260px;
  font-size: clamp(25px, 7vw, 32px);
  line-height: 1.02;
  font-weight: 760;
  letter-spacing: -.9px;
}

.copy h1 span {
  background: linear-gradient(135deg, #04a7d9 10%, #2fd278 84%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.copy p {
  margin: 9px 0 0;
  color: var(--muted);
  max-width: 210px;
  font-size: clamp(17px, 4.65vw, 21px);
  line-height: 1.18;
  font-weight: 420;
}

.mascot-wrap {
  position: absolute;
  right: -6px;
  top: -35px;
  width: 152px;
  height: 174px;
  overflow: hidden;
  pointer-events: none;
  filter: drop-shadow(0 14px 20px rgba(13, 72, 115, .12));
  -webkit-mask-image: linear-gradient(180deg, #000 0 72%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0 72%, transparent 100%);
}

.mascot-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 58% 46%, transparent 0 49%, rgba(255,255,255,.72) 72%, #fff 100%);
  mix-blend-mode: screen;
  opacity: .72;
}

.mascot-wrap img {
  position: absolute;
  width: 214px;
  max-width: none;
  right: -38px;
  top: -5px;
}

.search-card {
  position: relative;
  z-index: 3;
  margin-top: -1px;
  min-height: 80px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 50px;
  align-items: center;
  gap: 11px;
  padding: 10px 13px 10px 18px;
  background: rgba(255, 255, 255, .95);
  border: 1px solid #dce5f1;
  border-radius: 28px;
  box-shadow: 0 13px 30px rgba(16, 44, 78, .085);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.search-card.is-transcribing {
  border-color: rgba(8, 184, 172, .42);
  box-shadow: 0 14px 34px rgba(8, 184, 172, .16);
}

.search-icon {
  width: 30px;
  height: 30px;
  color: #08aa9f;
  stroke-width: 1.9;
}

.search-card textarea {
  width: 100%;
  min-width: 0;
  height: 54px;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
  font-size: clamp(15px, 4.1vw, 17.5px);
  line-height: 1.18;
  font-weight: 410;
  resize: none;
  overflow: hidden;
  padding: 0;
}

.search-card textarea::placeholder {
  color: #6d7890;
  opacity: 1;
}

.voice-btn {
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  box-shadow: 0 10px 20px rgba(10, 177, 162, .26);
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.voice-btn::before {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1px solid rgba(8, 184, 172, .28);
  opacity: 0;
  transform: scale(.82);
}

.voice-btn.is-recording {
  background: linear-gradient(145deg, #19d2b2, #0aa0c5);
  box-shadow: 0 10px 24px rgba(8, 184, 172, .38);
}

.voice-btn.is-recording::before {
  animation: recording-pulse 1.15s ease-out infinite;
}

.voice-btn.is-recording span {
  animation: recording-bars .62s ease-in-out infinite alternate;
}

.voice-btn.is-recording span:nth-child(2) {
  animation-delay: .08s;
}

.voice-btn.is-recording span:nth-child(3) {
  animation-delay: .16s;
}

.voice-btn.is-recording span:nth-child(4) {
  animation-delay: .24s;
}

.voice-btn span {
  width: 3px;
  border-radius: 8px;
  background: #fff;
}

.voice-btn span:nth-child(1),
.voice-btn span:nth-child(4) {
  height: 12px;
  opacity: .75;
}

.voice-btn span:nth-child(2) {
  height: 21px;
}

.voice-btn span:nth-child(3) {
  height: 30px;
}

@keyframes recording-pulse {
  0% {
    opacity: .72;
    transform: scale(.82);
  }

  100% {
    opacity: 0;
    transform: scale(1.22);
  }
}

@keyframes recording-bars {
  from {
    transform: scaleY(.68);
  }

  to {
    transform: scaleY(1.12);
  }
}

.quick-section {
  margin-top: 27px;
}

h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(19px, 5.1vw, 23px);
  line-height: 1.1;
  font-weight: 760;
  letter-spacing: -.35px;
}

.quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  margin-top: 17px;
}

.quick-chip {
  min-height: 58px;
  padding: 10px 12px;
  border: 0;
  border-radius: 14px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--soft-shadow);
  color: var(--ink);
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  text-align: left;
  font-size: clamp(13px, 3.65vw, 15px);
  line-height: 1.12;
  font-weight: 650;
  overflow: hidden;
}

.icon {
  width: 24px;
  height: 24px;
  stroke-width: 1.75;
}

.red { color: var(--red); }
.blue { color: var(--blue); }
.green { color: #22c875; }
.purple { color: var(--purple); }
.teal { color: var(--teal); }
.orange { color: var(--orange); }
.violet { color: #8d55f7; }

.panel {
  margin-top: 22px;
  padding: 20px 17px;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(222, 231, 242, .82);
  border-radius: 17px;
  box-shadow: var(--soft-shadow);
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.section-head a {
  flex: 0 0 auto;
  color: #02a99d;
  font-size: 15px;
  font-weight: 720;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.section-head a span,
.lesson-item button::after {
  width: 12px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  content: "";
  display: inline-block;
}

.progress-list {
  display: grid;
  gap: 18px;
  margin-top: 23px;
}

.progress-row {
  display: grid;
  grid-template-columns: 34px minmax(96px, 1fr) minmax(86px, 1.25fr) 39px;
  align-items: center;
  gap: 10px;
}

.progress-row h3,
.lesson-copy h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(15px, 4.15vw, 18px);
  line-height: 1.15;
  font-weight: 520;
}

.progress-row strong {
  color: var(--ink);
  font-size: clamp(16px, 4.2vw, 19px);
  font-weight: 520;
  text-align: right;
}

.meter,
.thin-meter {
  width: 100%;
  height: 8px;
  overflow: hidden;
  background: #e1e7f0;
  border-radius: 100px;
}

.meter i,
.thin-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2fc47c, #10b66f);
}

.teal-meter i,
.thin-meter i {
  background: linear-gradient(90deg, #08adc0, #0fc2a5);
}

.purple-meter i {
  background: linear-gradient(90deg, #8d54ee, #7e41ec);
}

.continue-panel {
  padding-bottom: 17px;
}

.lesson-list {
  display: grid;
  gap: 18px;
  margin-top: 23px;
}

.lesson-item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 14px;
}

.lesson-icon {
  width: 50px;
  height: 50px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 18px rgba(17, 49, 83, .08);
}

.lesson-icon svg {
  width: 29px;
  height: 29px;
  color: #fff;
}

.green-bg { background: linear-gradient(145deg, #32d58c, #23bd88); }
.red-bg { background: linear-gradient(145deg, #ff6a6b, #f44855); }
.violet-bg { background: linear-gradient(145deg, #9c65ff, #7c40eb); }

.lesson-copy p {
  margin: 4px 0 8px;
  color: var(--muted);
  font-size: clamp(13px, 3.7vw, 16px);
  line-height: 1.1;
  font-weight: 500;
}

.thin-meter {
  height: 4px;
}

.lesson-item button {
  width: 44px;
  height: 44px;
  border: 1px solid #e3e9f1;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: #61708a;
  box-shadow: 0 5px 14px rgba(16, 44, 78, .08);
  display: grid;
  place-items: center;
}

.lesson-item button::after {
  width: 10px;
  height: 10px;
  margin-left: -3px;
}

.bottom-nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 8;
  min-height: calc(76px + env(safe-area-inset-bottom));
  padding: 10px 17px calc(9px + env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  background: rgba(255, 255, 255, .96);
  border-top: 1px solid rgba(218, 226, 238, .9);
  box-shadow: 0 -8px 24px rgba(36, 57, 85, .05);
  backdrop-filter: blur(14px);
}

.bottom-nav a {
  min-width: 0;
  color: #59677e;
  text-decoration: none;
  display: grid;
  justify-items: center;
  gap: 5px;
  font-size: 11.5px;
  line-height: 1;
  font-weight: 560;
}

.bottom-nav svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.9;
}

.bottom-nav-logout {
  display: none;
}

.bottom-nav a.active {
  color: var(--teal);
  font-weight: 760;
}

.bottom-nav a.active svg {
  fill: currentColor;
  stroke: currentColor;
}

.quick-chip:active,
.lesson-item button:active,
.icon-btn:active,
.voice-btn:active,
.bottom-nav a:active {
  transform: scale(.97);
}

.unified-bottom-nav .bottom-nav-iara {
  position: relative;
  z-index: 3;
  color: #087f82;
  font-weight: 850;
  transform: translateY(-5px);
}

.bottom-nav-iara-orbit {
  position: relative;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(21,217,161,.55);
  border-radius: 15px;
  color: #fff;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.32), transparent 28%),
    linear-gradient(145deg, #15d9a1, #078daf);
  box-shadow:
    0 7px 16px rgba(8,174,177,.24),
    0 0 0 3px rgba(21,217,161,.08);
}

.bottom-nav-iara-orbit::before,
.bottom-nav-iara-orbit::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(8,174,177,.28);
  border-radius: 50%;
  pointer-events: none;
}

.bottom-nav-iara-orbit::before {
  inset: -5px 5px;
  transform: rotate(42deg);
}

.bottom-nav-iara-orbit::after {
  inset: 5px -5px;
  transform: rotate(-42deg);
}

.unified-bottom-nav .bottom-nav-iara svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke-width: 1.8;
}

@media (max-width: 899px) {
  .unified-bottom-nav {
    min-height: calc(72px + env(safe-area-inset-bottom));
    padding: 7px 7px calc(7px + env(safe-area-inset-bottom));
    align-items: center;
  }

  .unified-bottom-nav a {
    min-height: 54px;
    align-content: center;
    gap: 3px;
    padding: 2px 1px;
    color: #5b687d;
    font-size: 9.5px;
    line-height: 1.05;
    font-weight: 650;
    text-align: center;
  }

  .unified-bottom-nav a > span:last-child {
    min-height: 20px;
    display: grid;
    place-items: start center;
    text-align: center;
  }

  .unified-bottom-nav > a > svg {
    width: 22px;
    height: 22px;
    stroke-width: 1.8;
  }

  .unified-bottom-nav .bottom-nav-iara {
    gap: 1px;
    transform: translateY(-3px);
  }

  .unified-bottom-nav .bottom-nav-iara > span:last-child {
    min-height: 16px;
  }

  .bottom-nav-iara-orbit {
    width: 41px;
    height: 41px;
    border-width: 1.5px;
    border-radius: 14px;
  }

  .bottom-nav-iara-orbit::before,
  .bottom-nav-iara-orbit::after {
    display: none;
  }

  .unified-bottom-nav .bottom-nav-iara svg {
    width: 21px;
    height: 21px;
  }
}

.unified-bottom-nav .bottom-nav-iara.active svg {
  fill: none;
  stroke: currentColor;
}

.profile-menu-shell {
  position: relative;
  z-index: 40;
  width: 42px;
  height: 42px;
  justify-self: end;
}

.topbar-xp-badge { position:absolute;z-index:3;right:0;top:calc(100% + 3px);min-width:54px;height:21px;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 6px;border:1px solid rgba(8,174,177,.28);border-radius:8px;background:rgba(255,255,255,.97);box-shadow:0 5px 12px rgba(12,68,101,.1);color:#087f82;text-decoration:none;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease; }.topbar-xp-badge:hover { color:#067373;box-shadow:0 7px 15px rgba(8,126,143,.15);transform:translateY(-1px); }.topbar-xp-badge svg { width:10px;height:10px;fill:#ffd35e;stroke:#a96f05;stroke-width:1.8; }.topbar-xp-badge strong { color:#0a436e;font-size:8px;font-weight:950;line-height:1; }.topbar-xp-badge span { color:#088c8f;font-size:6.5px;font-weight:950;line-height:1;letter-spacing:.03em; }

.profile-language { border-top: 1px solid #e4edf4; padding: 12px 14px 14px; }
.profile-language > small { display:block; color:#6b7b96; font-size:11px; font-weight:800; letter-spacing:.08em; margin-bottom:8px; text-transform:uppercase; }
.profile-language > div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.profile-language button { align-items:center; background:#f4f8fb; border:1px solid #dce8f0; border-radius:10px; color:#344563; cursor:pointer; display:flex; font-size:12px; font-weight:750; gap:6px; justify-content:center; padding:8px 6px; }
.profile-language button.active { background:#e3fbf6; border-color:#00cbb3; color:#007f73; box-shadow:0 0 0 1px rgba(0,203,179,.08); }
.profile-language button:disabled { opacity:.6; }

.profile-avatar-button {
  position: relative;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  overflow: visible;
  border: 2px solid rgba(21,217,161,.5);
  border-radius: 16px;
  padding: 0;
  background: linear-gradient(145deg, #0b315d, #08aeb1);
  color: #fff;
  box-shadow: 0 9px 20px rgba(8,88,126,.18);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .5px;
}

.profile-avatar-button img,
.profile-dropdown-avatar img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.profile-avatar-button i {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 12px;
  height: 12px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #20c985;
}

.profile-dropdown[hidden] {
  display: none;
}

.profile-dropdown {
  position: fixed;
  right: auto;
  top: auto;
  z-index: 13002;
  width: min(270px, calc(100vw - 24px));
  overflow: hidden;
  border: 1px solid #d6e5ee;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(7,29,68,.28);
}

.profile-dropdown header {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 12px;
  background:
    radial-gradient(circle at 90% 10%, rgba(21,217,161,.2), transparent 31%),
    #f7fbff;
}

.profile-dropdown-avatar {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, #0b315d, #08aeb1);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.profile-dropdown header strong,
.profile-dropdown header small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-dropdown header strong {
  color: var(--ink);
  font-size: 12px;
}

.profile-dropdown header small {
  margin-top: 2px;
  color: #6b7a91;
  font-size: 9.5px;
}

.profile-dropdown-xp {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto 12px;
  align-items: center;
  gap: 9px;
  margin: 9px 9px 2px;
  padding: 9px 10px;
  border: 1px solid rgba(8,174,177,.2);
  border-radius: 14px;
  color: #17365e;
  background: linear-gradient(135deg,#f2fffc,#eef7ff);
  text-decoration: none;
}

.profile-dropdown-xp:hover {
  color: #0a5271;
  border-color: rgba(8,174,177,.38);
}

.profile-dropdown-xp > i {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #9a6700;
  background: linear-gradient(145deg,#ffe889,#ffc950);
  box-shadow: 0 7px 14px rgba(207,148,10,.18);
}

.profile-dropdown-xp > i svg {
  width: 19px;
  height: 19px;
  fill: #fff7be;
  stroke: currentColor;
  stroke-width: 1.7;
}

.profile-dropdown-xp > span,
.profile-dropdown-xp > span small,
.profile-dropdown-xp > span strong {
  min-width: 0;
  display: block;
}

.profile-dropdown-xp > span small {
  margin-bottom: 2px;
  color: #079b91;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .09em;
}

.profile-dropdown-xp > span strong {
  overflow: hidden;
  color: #17365e;
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-dropdown-xp > b {
  color: #0a4771;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}

.profile-dropdown-xp > b strong {
  font-size: 13px;
  font-weight: 950;
}

.profile-dropdown-xp > em {
  color: #0a9a94;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.profile-dropdown nav {
  display: grid;
  gap: 5px;
  padding: 7px;
}

.profile-dropdown nav a {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 41px;
  padding: 0 10px;
  border-radius: 13px;
  color: #23405f;
  text-decoration: none;
  font-size: 12px;
  font-weight: 760;
}

.profile-dropdown nav a:hover {
  background: rgba(8,174,177,.09);
  color: #087d7b;
}

.profile-dropdown nav svg {
  width: 18px;
  height: 18px;
}

.profile-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 13000;
  border: 0;
  background: rgba(4,18,42,.22);
  backdrop-filter: blur(1px);
}

body.profile-menu-open .hero,
body.profile-menu-open .studies-hero,
body.profile-menu-open .mentor-header,
body.profile-menu-open .topbar,
body.profile-menu-open .profile-menu-shell {
  z-index: 13001;
}

.global-search-layer[hidden] {
  display: none;
}

.global-search-layer {
  position: fixed;
  inset: 0;
  z-index: 14000;
  overflow-y: auto;
  background:
    radial-gradient(circle at 85% 5%, rgba(21,217,161,.18), transparent 28%),
    linear-gradient(180deg, #f7fdff, #edf7fb);
  color: #09254d;
}

.global-search-top {
  position: sticky;
  top: 0;
  z-index: 4;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: max(12px, env(safe-area-inset-top)) 16px 11px;
  border-bottom: 1px solid rgba(198,220,233,.8);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(16px);
}

.global-search-top button {
  width: 39px;
  height: 39px;
  border: 1px solid #dce7ef;
  border-radius: 13px;
  background: #fff;
  color: #173a61;
  font-size: 21px;
}

.global-search-top span,
.global-search-top strong {
  display: block;
}

.global-search-top span {
  color: #08aeb1;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.global-search-top strong {
  margin-top: 2px;
  font-size: 14px;
}

.global-search-content {
  width: min(860px, 100%);
  margin: auto;
  padding: 20px 16px calc(30px + env(safe-area-inset-bottom));
}

.global-search-hero {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  padding: 15px 17px 15px 4px;
  border: 1px solid rgba(8,174,177,.24);
  border-radius: 25px;
  background:
    radial-gradient(circle at 12% 20%, rgba(21,217,161,.23), transparent 29%),
    #fff;
  box-shadow: 0 15px 34px rgba(8,52,88,.09);
}

.global-search-hero img {
  width: 118px;
  max-width: none;
  margin-left: -5px;
}

.global-search-hero p {
  margin: 0 0 4px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.global-search-hero h1 {
  margin: 0;
  font-size: clamp(23px, 6vw, 36px);
  line-height: 1.02;
  letter-spacing: -.8px;
}

.global-search-hero span {
  display: block;
  margin-top: 8px;
  color: #64758c;
  font-size: 12px;
  line-height: 1.35;
}

.global-search-form {
  margin-top: 14px;
  padding: 13px;
  border: 1px solid #d8e6ef;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 13px 30px rgba(8,52,88,.07);
}

.global-search-form textarea {
  width: 100%;
  min-height: 105px;
  resize: vertical;
  border: 0;
  outline: 0;
  padding: 6px;
  color: #163758;
  background: transparent;
  font: 600 14px/1.45 inherit;
}

.global-search-form > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
}

.global-search-form button {
  min-height: 48px;
  border: 0;
  border-radius: 14px;
  font-size: 12px;
  font-weight: 850;
}

.global-search-mic {
  min-width: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: #eef7fb;
  color: #17617d;
}

.global-search-mic svg {
  width: 19px;
  height: 19px;
}

.global-search-mic.is-listening {
  background: #fff0f2;
  color: #df3f55;
  animation: search-mic-pulse 1s ease infinite;
}

.global-search-submit {
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  box-shadow: 0 10px 22px rgba(8,174,177,.2);
}

.global-search-results {
  margin-top: 22px;
}

.global-search-results > header span {
  color: #08aeb1;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}

.global-search-results > header h2 {
  margin: 5px 0;
  font-size: 22px;
  line-height: 1.1;
}

.global-search-results > header p {
  margin: 0;
  color: #687990;
  font-size: 12px;
}

.global-search-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 15px;
  padding: 5px;
  border-radius: 18px;
  background: rgba(225,239,251,.84);
  box-shadow: inset 0 0 0 1px rgba(113,129,152,.12);
}

.global-search-tabs button {
  min-height: 40px;
  border: 0;
  border-radius: 14px;
  color: #62728b;
  background: transparent;
  font-size: 11.5px;
  font-weight: 900;
}

.global-search-tabs button.active {
  color: #fff;
  background: linear-gradient(135deg, #00cdb8, #347dff);
  box-shadow: 0 10px 20px rgba(8,174,178,.2);
}

.global-search-tab-panel {
  margin-top: 2px;
}

.global-search-result-list {
  display: grid;
  gap: 10px;
  margin-top: 13px;
}

.global-search-result-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 11px;
  padding: 13px;
  border: 1px solid #d9e7ef;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(8,52,88,.06);
}

.global-result-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(145deg, #e4fff7, #e8f6ff);
  color: #08aeb1;
}

.global-result-icon svg {
  width: 24px;
  height: 24px;
}

.global-search-result-card span {
  color: #078d91;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.global-search-result-card h2 {
  margin: 3px 0 5px;
  font-size: 16px;
}

.global-search-result-card p {
  margin: 0;
  color: #687990;
  font-size: 11.5px;
  line-height: 1.35;
}

.global-search-result-card > button {
  grid-column: 2;
  justify-self: start;
  border: 0;
  border-radius: 11px;
  padding: 9px 12px;
  background: #eafff8;
  color: #087d7b;
  font-size: 10.5px;
  font-weight: 850;
}

.global-search-ai-card {
  border-color: rgba(8,184,172,.28);
  background:
    radial-gradient(circle at 94% 8%, rgba(21,217,161,.16), transparent 32%),
    linear-gradient(145deg, #ffffff, #f1fffb);
}

.global-search-ai-card .global-result-icon {
  color: #fff;
  background: linear-gradient(145deg, #00cdb8, #347dff);
}

.global-search-ai-card > button {
  color: #fff;
  background: linear-gradient(135deg, #00cdb8, #347dff);
  box-shadow: 0 10px 20px rgba(8,174,178,.18);
}

.global-create-custom {
  width: 100%;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  border: 1px solid rgba(52,125,255,.22);
  border-radius: 20px;
  padding: 14px;
  background:
    radial-gradient(circle at 92% 5%, rgba(21,217,161,.19), transparent 31%),
    linear-gradient(135deg, #eef5ff, #f3fffb);
  color: #12365d;
  text-align: left;
}

.global-create-custom > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #347dff;
  color: #fff;
  font-size: 18px;
}

.global-create-custom strong,
.global-create-custom small {
  display: block;
}

.global-create-custom strong {
  font-size: 13px;
}

.global-create-custom small {
  margin-top: 3px;
  color: #63768d;
  font-size: 10.5px;
  line-height: 1.3;
}

.global-create-custom b {
  font-size: 23px;
}

.global-search-loading,
.global-search-empty {
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 28px 18px;
  border-radius: 19px;
  background: #fff;
  text-align: center;
}

.global-search-loading i {
  width: 42px;
  height: 42px;
  border: 4px solid #d9ecec;
  border-top-color: #08aeb1;
  border-radius: 50%;
  animation: mind-map-spin .8s linear infinite;
}

.global-search-loading span,
.global-search-empty span {
  color: #687990;
  font-size: 11.5px;
}

body.global-search-open {
  overflow: hidden;
}

@keyframes search-mic-pulse {
  50% { transform: scale(.96); }
}

.home-scroll {
  padding-bottom: calc(102px + env(safe-area-inset-bottom));
}

.app-home-hero {
  min-height: 214px;
}

.app-home-greeting {
  min-height: 132px;
  margin-top: 23px;
}

.app-home-greeting .copy h1 {
  max-width: 250px;
}

.app-home-greeting .copy p {
  max-width: 230px;
  font-size: clamp(15px, 4.2vw, 18px);
}

.app-menu-section {
  position: relative;
  z-index: 3;
  margin-top: 5px;
}

.app-menu-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.app-menu-head span {
  flex: 0 0 auto;
  color: #728099;
  font-size: 12.5px;
  line-height: 1.1;
  font-weight: 680;
}

.app-menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.app-menu-card {
  min-width: 0;
  min-height: 134px;
  padding: 14px 12px 13px;
  border: 1px solid rgba(220, 229, 241, .9);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 24px rgba(17, 49, 83, .075);
  color: var(--ink);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.app-menu-card:active {
  transform: scale(.98);
}

.app-menu-card:focus-visible {
  outline: 3px solid rgba(8, 184, 172, .24);
  outline-offset: 2px;
}

.app-menu-icon {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 10px 18px rgba(20, 60, 98, .12);
}

.app-menu-icon svg {
  width: 27px;
  height: 27px;
  stroke-width: 1.9;
}

.app-menu-card strong {
  display: block;
  min-width: 0;
  color: var(--ink);
  font-size: clamp(15px, 4.1vw, 18px);
  line-height: 1.08;
  font-weight: 780;
  overflow-wrap: anywhere;
}

.app-menu-card small {
  display: block;
  min-width: 0;
  margin-top: 5px;
  color: #68768d;
  font-size: clamp(12px, 3.35vw, 13.5px);
  line-height: 1.15;
  font-weight: 560;
  overflow-wrap: anywhere;
}

.featured-card {
  border-color: rgba(8, 184, 172, .32);
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(237, 255, 251, .95));
  box-shadow: 0 16px 30px rgba(8, 184, 172, .14);
}

.study-card .app-menu-icon { background: linear-gradient(145deg, #18c894, #079cc5); }
.mentor-card .app-menu-icon { background: linear-gradient(145deg, #15d9a1, #08aeb1); }
.exam-card .app-menu-icon { background: linear-gradient(145deg, #4b8fff, #2165d6); }
.material-card .app-menu-icon { background: linear-gradient(145deg, #f3b536, #ef7d22); }

.professor-record-card { border: 1px solid rgba(8,174,177,.25); background: linear-gradient(135deg,#f4ffff,#eef5ff); text-align: left; }
.professor-record-card .app-menu-icon { background: linear-gradient(145deg,#15d9a1,#08aeb1); }
.professor-record-modal { position:relative; max-height:calc(100dvh - 24px); overflow-y:auto; padding:22px; border:0; border-radius:28px; background:linear-gradient(145deg,#f7ffff,#f3f7ff); box-shadow:0 28px 80px rgba(7,29,68,.28); }
.professor-record-modal>header { display:grid; grid-template-columns:110px 1fr; gap:15px; align-items:center; padding-right:30px; }
.professor-record-modal>header img { width:118px; max-height:115px; object-fit:contain; }
.professor-record-modal>header p { margin:0 0 4px; color:#08aeb1; font-size:11px; font-weight:900; letter-spacing:1.2px; text-transform:uppercase; }
.professor-record-modal>header h2 { margin:0; color:#10254a; font-size:24px; font-weight:900; }
.professor-record-modal>header span { display:block; margin-top:6px; color:#62728c; font-size:13px; line-height:1.4; }
.professor-record-setup { display:grid; gap:12px; margin-top:18px; }
.professor-study-choice { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:13px; border:1px solid #cfe4ec; border-radius:20px; background:rgba(255,255,255,.72); }
.professor-create-toggle { grid-column:1/-1; min-height:52px; display:grid; grid-template-columns:34px 1fr; align-items:center; column-gap:10px; padding:8px 12px; border:1px dashed #72cfc9; border-radius:14px; background:linear-gradient(110deg,#effcf9,#f1f7ff); color:#164568; text-align:left; }
.professor-create-toggle>span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:linear-gradient(145deg,#12c7b1,#2d82ef); color:#fff; font-size:20px; font-weight:500; }
.professor-create-toggle b,.professor-create-toggle small { display:block; }.professor-create-toggle b { font-size:11px; font-weight:900; }.professor-create-toggle small { color:#6c8294; font-size:9px; }
.professor-create-inline { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px; border:1px solid #9fddd8; border-radius:17px; background:linear-gradient(145deg,#f0fffb,#f2f8ff); box-shadow:0 12px 28px rgba(17,111,126,.09); }
.professor-create-inline[hidden] { display:none; }.professor-create-head { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:8px; border-bottom:1px solid #d7eae9; }.professor-create-head span,.professor-create-head b,.professor-create-head small { display:block; }.professor-create-head b { color:#123655; font-size:12px; font-weight:900; }.professor-create-head small { margin-top:2px; color:#71879a; font-size:9px; }.professor-create-head button { width:30px; height:30px; border:0; border-radius:9px; background:#deedf1; color:#2e526a; font-size:20px; line-height:1; }
.professor-create-inline label:first-of-type { grid-column:1/-1; }.professor-create-inline input { width:100%; min-height:48px; padding:0 13px; border:1px solid #badbea; border-radius:15px; outline:0; background:#fff; color:#10254a; font-weight:750; }.professor-create-inline input:focus,.professor-create-inline select:focus { border-color:#10bca9; box-shadow:0 0 0 4px rgba(16,188,169,.1); }
.professor-create-feedback { grid-column:1/-1; min-height:16px; margin:0; color:#56758a; font-size:10px; font-weight:750; }.professor-create-feedback.is-error { color:#c13d4f; }.professor-create-feedback.is-success { color:#078b7d; }
.professor-create-save { grid-column:1/-1; min-height:46px; border:0; border-radius:14px; background:linear-gradient(135deg,#10c6b0,#2785ed); box-shadow:0 9px 20px rgba(25,132,173,.18); color:#fff; font-size:11px; font-weight:900; }.professor-create-save:disabled { opacity:.6; }
.professor-audio-source { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:9px; border:0; }
.professor-audio-source legend { grid-column:1/-1; margin-bottom:0; color:#344967; font-size:12px; font-weight:850; }
.professor-audio-source label { position:relative; display:block; cursor:pointer; }
.professor-audio-source input { position:absolute; opacity:0; pointer-events:none; }
.professor-audio-source span { min-height:72px; padding:12px; display:flex; flex-direction:column; justify-content:center; border:1px solid #badbea; border-radius:15px; background:#fff; transition:.2s ease; }
.professor-audio-source b { color:#10254a; font-size:12px; }
.professor-audio-source small { margin-top:5px; color:#64758c; font-size:10px; line-height:1.3; }
.professor-audio-source input:checked+span { border-color:#08aeb1; background:linear-gradient(145deg,#eafffa,#eef5ff); box-shadow:0 0 0 4px rgba(8,174,177,.09); }
.professor-online-help { padding:11px 13px; border:1px solid rgba(52,125,255,.22); border-radius:14px; background:#edf4ff; color:#506482; font-size:11px; line-height:1.45; }
.professor-online-help strong { color:#245fc7; }
.professor-record-setup label:not(.professor-consent) { display:grid; gap:6px; color:#344967; font-size:12px; font-weight:850; }
.professor-record-setup select { width:100%; min-height:48px; padding:0 13px; border:1px solid #badbea; border-radius:15px; background:#fff; color:#10254a; font-weight:750; }
.professor-consent { display:flex; gap:9px; align-items:flex-start; padding:11px; border-radius:14px; background:rgba(255,255,255,.8); color:#53657e; font-size:12px; line-height:1.4; }
.professor-consent input { margin-top:2px; }
.professor-resume-session { min-height:44px; border:1px solid rgba(52,125,255,.25); border-radius:14px; background:#fff; color:#245fc7; font-weight:850; }
.professor-recorder { margin-top:18px; }
.professor-record-state { display:grid; grid-template-columns:54px 1fr auto; gap:12px; align-items:center; padding:16px; border:1px solid #badbea; border-radius:20px; background:#fff; }
.professor-record-state>span { width:54px; height:54px; border-radius:50%; background:#9aabc0; box-shadow:0 0 0 8px rgba(154,171,192,.12); }
.professor-record-state>span.is-recording { background:#ff4e59; box-shadow:0 0 0 8px rgba(255,78,89,.12); animation:professor-record-pulse 1.3s infinite; }
.professor-record-state strong,.professor-record-state small { display:block; }
.professor-record-state strong { color:#10254a; font-size:16px; }
.professor-record-state small { margin-top:3px; color:#64758c; font-size:11px; }
.professor-record-state time { color:#10254a; font-size:22px; font-weight:900; font-variant-numeric:tabular-nums; }
.professor-record-progress { height:6px; margin:14px 5px 0; border-radius:99px; overflow:hidden; background:#dfeaf1; }
.professor-record-progress i { display:block; width:100%; height:100%; background:linear-gradient(90deg,#15d9a1,#08aeb1,#347dff); animation:professor-progress 2s linear infinite; transform-origin:left; }
.professor-record-controls { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.professor-record-controls button { min-height:46px; padding:0 16px; border:1px solid #badbea; border-radius:14px; background:#fff; color:#24516e; font-weight:900; }
.professor-record-controls button.is-finish { flex:1; border:0; background:linear-gradient(135deg,#15d9a1,#08aeb1,#347dff); color:#fff; }
.professor-record-log { margin-top:11px; padding:10px 12px; border-radius:13px; background:rgba(8,174,177,.08); color:#087a79; font-size:12px; font-weight:750; }
.professor-record-log.is-error { background:rgba(255,78,89,.1); color:#b42c3b; }
.professor-processing { padding:18px 12px 8px; text-align:center; }
.professor-processing>img { width:150px; height:145px; object-fit:contain; filter:drop-shadow(0 16px 18px rgba(8,174,177,.18)); animation:professor-iara-float 2s ease-in-out infinite; }
.professor-processing>p { margin:4px 0; color:#08aeb1; font-size:11px; font-weight:950; letter-spacing:1.4px; text-transform:uppercase; }
.professor-processing>h3 { max-width:520px; margin:5px auto; color:#10254a; font-size:24px; font-weight:950; }
.professor-processing>span { display:block; margin-top:8px; color:#60718b; font-size:13px; }
.professor-processing-bar { height:7px; margin:18px auto; max-width:520px; overflow:hidden; border-radius:99px; background:#dcecf3; }
.professor-processing-bar i { display:block; width:45%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#15d9a1,#08aeb1,#347dff); animation:professor-processing-slide 1.2s ease-in-out infinite alternate; }
.professor-processing ul { max-width:500px; margin:0 auto 16px; padding:14px 20px 14px 38px; border:1px solid #cde8ef; border-radius:17px; background:#fff; color:#40546f; text-align:left; font-size:12px; line-height:1.7; }
.professor-processing>strong { color:#e24a5b; font-size:12px; }
@keyframes professor-record-pulse { 50%{transform:scale(.86);box-shadow:0 0 0 14px rgba(255,78,89,.06)} }
@keyframes professor-progress { 0%{transform:scaleX(.12)} 50%{transform:scaleX(1)} 100%{transform:scaleX(.12)} }
@keyframes professor-processing-slide { from{transform:translateX(0)} to{transform:translateX(122%)} }
@keyframes professor-iara-float { 50%{transform:translateY(-7px)} }
@media(max-width:560px){.professor-record-modal{padding:17px}.professor-record-modal>header{grid-template-columns:78px 1fr}.professor-record-modal>header img{width:84px}.professor-record-modal>header h2{font-size:19px}.professor-study-choice,.professor-create-inline{grid-template-columns:1fr}.professor-study-choice>label,.professor-create-inline label,.professor-create-inline label:first-of-type{grid-column:1}.professor-create-toggle,.professor-create-head,.professor-create-feedback,.professor-create-save{grid-column:1}.professor-audio-source{grid-template-columns:1fr}.professor-record-state{grid-template-columns:45px 1fr}.professor-record-state>span{width:45px;height:45px}.professor-record-state time{grid-column:2}.professor-record-controls{display:grid}.professor-record-controls button.is-finish{width:100%}}
.case-card .app-menu-icon { background: linear-gradient(145deg, #ff676f, #e83b53); }
.performance-card .app-menu-icon { background: linear-gradient(145deg, #9868ff, #7441d9); }
.profile-card .app-menu-icon { background: linear-gradient(145deg, #1fc0d6, #1782d8); }
.activities-card .app-menu-icon { background: linear-gradient(145deg, #00d2aa, #3263ff); }

.app-menu-list {
  grid-template-columns: 1fr;
  gap: 13px;
}

.app-menu-list .app-menu-card {
  position: relative;
  min-height: 116px;
  padding: 16px 16px 15px;
  border-radius: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  align-items: center;
  gap: 12px;
  background:
    linear-gradient(110deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.88) 48%, rgba(237,253,255,.92) 100%);
  border: 1px solid rgba(185, 218, 238, .84);
  box-shadow:
    0 18px 34px rgba(15, 46, 84, .1),
    inset 0 1px 0 rgba(255,255,255,.88);
}

.app-menu-list .app-menu-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(8,184,172,.12), transparent 34%),
    radial-gradient(circle at 86% 22%, rgba(21,217,161,.28), transparent 27%),
    repeating-linear-gradient(135deg, transparent 0 11px, rgba(8,174,178,.055) 12px 13px);
  opacity: .82;
  pointer-events: none;
}

.app-menu-list .app-menu-card::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 1px solid rgba(8, 184, 172, .23);
  box-shadow:
    0 0 0 12px rgba(8, 184, 172, .045),
    0 0 30px rgba(8, 184, 172, .12);
  pointer-events: none;
}

.app-menu-content {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.app-menu-list .app-menu-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  box-shadow:
    0 12px 22px rgba(7, 29, 68, .14),
    inset 0 1px 0 rgba(255,255,255,.35);
}

.app-menu-list .app-menu-icon svg {
  width: 29px;
  height: 29px;
}

.app-menu-list .app-menu-card strong {
  font-size: clamp(18px, 5vw, 22px);
  letter-spacing: 0;
}

.app-menu-list .app-menu-card small {
  max-width: 220px;
  margin-top: 7px;
  color: #5f6f89;
  font-size: clamp(12.5px, 3.55vw, 14.5px);
  font-weight: 680;
}

.app-menu-visual {
  position: relative;
  z-index: 2;
  width: 96px;
  height: 78px;
  justify-self: end;
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.92) 0 16%, transparent 17%),
    radial-gradient(circle at 50% 50%, rgba(8,184,172,.16) 0 30%, transparent 31%),
    linear-gradient(145deg, rgba(9,184,172,.12), rgba(28,124,243,.08));
  border: 1px solid rgba(8, 184, 172, .18);
}

.app-menu-visual::before,
.app-menu-visual::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  inset: 14px 22px;
  border: 1px solid rgba(8, 184, 172, .32);
  transform: rotate(-18deg);
}

.app-menu-visual::after {
  inset: 22px 13px;
  border-color: rgba(28, 124, 243, .25);
  transform: rotate(22deg);
}

.app-menu-visual i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #18d7a1;
  box-shadow:
    -24px -13px 0 rgba(28, 124, 243, .9),
    22px 14px 0 rgba(245, 161, 10, .88),
    0 0 28px rgba(8, 184, 172, .65);
  transform: translate(-50%, -50%);
}

.robot-visual {
  height: 94px;
  background:
    radial-gradient(circle at 50% 48%, rgba(8,184,172,.22), transparent 42%),
    linear-gradient(145deg, rgba(225,255,251,.72), rgba(255,255,255,.24));
}

.robot-visual img {
  position: absolute;
  right: -24px;
  top: -22px;
  width: 138px;
  max-width: none;
  filter: drop-shadow(0 16px 18px rgba(7, 29, 68, .12));
}

.featured-card {
  min-height: 128px;
  border-color: rgba(8, 184, 172, .48);
  background:
    linear-gradient(112deg, rgba(246,255,253,.99) 0%, rgba(255,255,255,.94) 50%, rgba(226,255,249,.96) 100%);
  box-shadow:
    0 22px 38px rgba(8, 184, 172, .18),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.study-card { border-left: 4px solid #08aeb1; }
.mentor-card { border-left: 4px solid #15d9a1; }
.exam-card { border-left: 4px solid #347dff; }
.material-card { border-left: 4px solid #f5a10a; }
.case-card { border-left: 4px solid #ff4e59; }
.performance-card { border-left: 4px solid #8a50f4; }
.profile-card { border-left: 4px solid #1782d8; }

.app-menu-list .study-start-card {
  min-height: 154px;
  border: 2px solid rgba(8,174,177,.58);
  border-left-width: 6px;
  background:
    radial-gradient(circle at 88% 18%, rgba(21,217,161,.35), transparent 29%),
    linear-gradient(112deg, #f1fffb 0%, #fff 50%, #e7f7ff 100%);
  box-shadow:
    0 24px 48px rgba(8,174,177,.22),
    0 0 0 5px rgba(21,217,161,.07),
    inset 0 1px 0 #fff;
}

.app-menu-list .study-start-card::before {
  opacity: 1;
  background:
    linear-gradient(90deg, rgba(8,184,172,.18), transparent 43%),
    radial-gradient(circle at 86% 22%, rgba(21,217,161,.36), transparent 29%),
    repeating-linear-gradient(135deg, transparent 0 11px, rgba(8,174,178,.065) 12px 13px);
}

.study-start-card .app-menu-icon {
  width: 62px;
  height: 62px;
  box-shadow: 0 15px 28px rgba(8,158,177,.28), inset 0 1px 0 rgba(255,255,255,.4);
}

.study-start-badge {
  width: fit-content;
  display: block;
  margin-bottom: 7px;
  padding: 5px 9px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0bb99c, #087fc2);
  color: #fff;
  box-shadow: 0 7px 15px rgba(8,174,177,.2);
  font-size: 9.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.app-menu-list .study-start-card strong {
  font-size: clamp(22px, 6vw, 27px);
  letter-spacing: -.35px;
}

.study-start-action {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 11px;
  color: #087d7b;
  font-size: 12px;
  font-weight: 850;
}

.study-start-action b {
  font-size: 17px;
  line-height: 1;
  transition: transform .18s ease;
}

.study-start-card:hover .study-start-action b {
  transform: translateX(4px);
}

.study-card .app-menu-visual {
  background:
    linear-gradient(90deg, rgba(8,174,178,.18) 0 3px, transparent 3px 9px),
    linear-gradient(145deg, rgba(235,255,252,.95), rgba(222,244,255,.78));
}

.study-card .app-menu-visual::before {
  inset: 15px 31px 15px 18px;
  border-radius: 8px;
  border: 2px solid rgba(8, 174, 178, .54);
  box-shadow:
    29px 0 0 -1px rgba(255,255,255,.65),
    29px 0 0 1px rgba(8,174,178,.32);
  transform: none;
}

.study-card .app-menu-visual::after {
  inset: 25px 22px auto 27px;
  height: 2px;
  border: 0;
  border-radius: 99px;
  background: #08aeb1;
  box-shadow:
    0 10px 0 rgba(8,174,178,.72),
    37px 0 0 rgba(52,125,255,.7),
    37px 10px 0 rgba(52,125,255,.48);
  transform: none;
}

.study-card .app-menu-visual i {
  left: auto;
  right: 14px;
  top: 16px;
  width: 8px;
  height: 8px;
  background: #18d7a1;
  box-shadow:
    0 38px 0 rgba(24,215,161,.76),
    -58px 18px 0 rgba(52,125,255,.88),
    0 0 18px rgba(8,184,172,.55);
}

.exam-card .app-menu-visual {
  background:
    radial-gradient(circle at 50% 62%, rgba(52,125,255,.15), transparent 39%),
    linear-gradient(145deg, rgba(237,246,255,.96), rgba(233,255,252,.78));
}

.exam-card .app-menu-visual::before {
  inset: 18px 20px 17px;
  border-radius: 50% 50% 8px 8px;
  border: 2px solid rgba(52,125,255,.42);
  border-bottom: 0;
  transform: none;
}

.exam-card .app-menu-visual::after {
  left: 30px;
  top: 49px;
  width: 37px;
  height: 4px;
  border: 0;
  border-radius: 99px;
  background: linear-gradient(90deg, #347dff, #15d9a1);
  transform: rotate(-18deg);
  transform-origin: 6px 50%;
  box-shadow: 0 0 18px rgba(52,125,255,.26);
}

.exam-card .app-menu-visual i {
  width: 10px;
  height: 10px;
  background: #347dff;
  box-shadow:
    -24px 18px 0 rgba(255,78,89,.8),
    24px 18px 0 rgba(21,217,161,.82),
    0 0 22px rgba(52,125,255,.58);
}

.material-card .app-menu-visual {
  background:
    linear-gradient(135deg, rgba(245,161,10,.14), transparent 42%),
    linear-gradient(145deg, rgba(255,250,237,.96), rgba(235,247,255,.8));
}

.material-card .app-menu-visual::before {
  inset: 15px 28px 14px 24px;
  border-radius: 9px;
  border: 2px solid rgba(245,161,10,.46);
  background: rgba(255,255,255,.58);
  box-shadow:
    11px 8px 0 -1px rgba(255,255,255,.68),
    11px 8px 0 1px rgba(245,161,10,.26);
  transform: rotate(-6deg);
}

.material-card .app-menu-visual::after {
  inset: 29px auto auto 36px;
  width: 30px;
  height: 2px;
  border: 0;
  border-radius: 99px;
  background: #f5a10a;
  box-shadow:
    0 9px 0 rgba(245,161,10,.72),
    0 18px 0 rgba(8,174,178,.58);
  transform: rotate(-6deg);
}

.material-card .app-menu-visual i {
  left: 69px;
  top: 20px;
  width: 9px;
  height: 9px;
  background: #f5a10a;
  box-shadow:
    -48px 33px 0 rgba(8,174,178,.78),
    0 0 19px rgba(245,161,10,.48);
}

.case-card .app-menu-visual {
  background:
    radial-gradient(circle at 51% 50%, rgba(255,78,89,.14), transparent 38%),
    linear-gradient(145deg, rgba(255,241,243,.95), rgba(239,255,252,.82));
}

.case-card .app-menu-visual::before {
  inset: 18px 21px;
  border-radius: 15px;
  border: 2px solid rgba(255,78,89,.44);
  transform: none;
}

.case-card .app-menu-visual::after {
  left: 42px;
  top: 27px;
  width: 12px;
  height: 33px;
  border: 0;
  border-radius: 5px;
  background: #ff4e59;
  box-shadow: 0 0 18px rgba(255,78,89,.32);
  transform: none;
}

.case-card .app-menu-visual i {
  left: 48px;
  top: 43px;
  width: 33px;
  height: 12px;
  border-radius: 5px;
  background: #ff4e59;
  box-shadow:
    -31px -18px 0 -2px rgba(52,125,255,.78),
    32px 19px 0 -2px rgba(21,217,161,.78),
    0 0 18px rgba(255,78,89,.34);
}

.performance-card .app-menu-visual {
  background:
    linear-gradient(90deg, transparent 0 19%, rgba(138,80,244,.12) 20% 21%, transparent 22% 100%),
    linear-gradient(0deg, transparent 0 24%, rgba(138,80,244,.1) 25% 26%, transparent 27% 100%),
    linear-gradient(145deg, rgba(248,243,255,.96), rgba(238,255,252,.78));
}

.performance-card .app-menu-visual::before {
  inset: 20px auto 16px 24px;
  width: 9px;
  border: 0;
  border-radius: 8px 8px 3px 3px;
  background: #8a50f4;
  box-shadow:
    18px -8px 0 #347dff,
    36px -18px 0 #15d9a1,
    54px -4px 0 #f5a10a;
  transform: none;
}

.performance-card .app-menu-visual::after {
  inset: auto 18px 19px 18px;
  height: 2px;
  border: 0;
  border-radius: 99px;
  background: rgba(7,29,68,.18);
  transform: none;
}

.performance-card .app-menu-visual i {
  left: 34px;
  top: 30px;
  width: 8px;
  height: 8px;
  background: #8a50f4;
  box-shadow:
    18px -8px 0 rgba(52,125,255,.9),
    36px -18px 0 rgba(21,217,161,.9),
    54px -4px 0 rgba(245,161,10,.9),
    0 0 18px rgba(138,80,244,.5);
}

.profile-card .app-menu-visual {
  background:
    radial-gradient(circle at 50% 50%, rgba(23,130,216,.15), transparent 43%),
    linear-gradient(145deg, rgba(238,248,255,.98), rgba(237,255,251,.78));
}

.profile-card .app-menu-visual::before {
  inset: 17px 26px;
  border-radius: 50%;
  border: 2px solid rgba(23,130,216,.42);
  box-shadow:
    inset 0 0 0 9px rgba(23,130,216,.06),
    0 0 0 8px rgba(23,130,216,.05);
  transform: none;
}

.profile-card .app-menu-visual::after {
  left: 43px;
  top: 27px;
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 50%;
  background: #1782d8;
  box-shadow:
    -9px 21px 0 5px rgba(23,130,216,.9),
    0 0 18px rgba(23,130,216,.42);
  transform: none;
}

.profile-card .app-menu-visual i {
  left: 22px;
  top: 20px;
  width: 6px;
  height: 6px;
  background: #15d9a1;
  box-shadow:
    49px 0 0 rgba(21,217,161,.9),
    25px 39px 0 rgba(245,161,10,.88),
    0 0 18px rgba(21,217,161,.42);
}

.home-status-bar {
  margin-top: 16px;
  padding: 13px 14px;
  border: 1px solid rgba(220, 229, 241, .9);
  border-radius: 18px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 20px rgba(17, 49, 83, .06);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.home-status-bar div {
  min-width: 0;
  display: grid;
  gap: 3px;
  text-align: center;
}

.home-status-bar span {
  color: #77849a;
  font-size: 11.5px;
  line-height: 1;
  font-weight: 650;
}

.home-status-bar strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.1;
  font-weight: 780;
}

.onboarding-screen {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  background:
    radial-gradient(circle at 82% 7%, rgba(8, 184, 172, .18), transparent 29%),
    radial-gradient(circle at 12% 38%, rgba(28, 124, 243, .1), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 48%, #eef7ff 100%);
}

.onboarding-top {
  padding: calc(22px + env(safe-area-inset-top)) 20px 10px;
}

.onboarding-top-main {
  display: flex;
  align-items: center;
  gap: 10px;
}

.app-back-link {
  flex: 0 0 auto;
  border: 1px solid rgba(185,218,238,.86);
  border-radius: 12px;
  background: rgba(255,255,255,.9);
  color: var(--ink);
  box-shadow: 0 7px 16px rgba(15,46,84,.07);
  text-decoration: none;
}

.app-back-link svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.onboarding-progress {
  height: 5px;
  margin-top: 17px;
  border-radius: 99px;
  overflow: hidden;
  background: rgba(210, 224, 239, .88);
}

.onboarding-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #15d9a1, #08aeb1, #347dff);
  box-shadow: 0 0 18px rgba(8, 184, 172, .42);
  transition: width .28s ease;
}

.onboarding-hero {
  min-height: 128px;
  margin: 0 18px 10px;
  padding: 17px 15px;
  border: 1px solid rgba(174, 225, 229, .82);
  border-radius: 26px;
  background:
    radial-gradient(circle at 82% 44%, rgba(21, 217, 161, .22), transparent 30%),
    repeating-linear-gradient(135deg, transparent 0 12px, rgba(8,174,178,.052) 13px 14px),
    rgba(255,255,255,.76);
  box-shadow: 0 18px 34px rgba(15, 46, 84, .09);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  align-items: center;
  gap: 8px;
  overflow: hidden;
}

.onboarding-hero p {
  margin: 0 0 7px;
  color: #08aeb1;
  font-size: 12px;
  line-height: 1;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: 1.8px;
}

.onboarding-hero h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(23px, 6.4vw, 30px);
  line-height: 1.03;
  font-weight: 800;
}

.onboarding-hero img {
  width: 144px;
  max-width: none;
  justify-self: end;
  margin-right: -26px;
  filter: drop-shadow(0 15px 18px rgba(7,29,68,.12));
}

.onboarding-chat {
  min-height: 0;
  overflow-y: auto;
  scroll-behavior: smooth;
  padding: 8px 18px 14px;
  display: grid;
  align-content: start;
  gap: 12px;
  scrollbar-width: none;
}

.onboarding-chat::-webkit-scrollbar {
  display: none;
}

.chat-bubble {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: end;
  gap: 9px;
}

.bubble-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(236,255,252,.96), rgba(255,255,255,.85));
  border: 1px solid rgba(8, 184, 172, .25);
  overflow: hidden;
  display: grid;
  place-items: center;
}

.bubble-avatar img {
  width: 58px;
  max-width: none;
  margin-top: 9px;
}

.chat-bubble div {
  min-width: 0;
  width: fit-content;
  max-width: 100%;
  padding: 12px 14px;
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(15, 46, 84, .08);
}

.chat-bubble p {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.32;
  font-weight: 580;
}

.chat-bubble small {
  display: block;
  margin-top: 5px;
  color: #718098;
  font-size: 11.5px;
  font-weight: 700;
}

.iara-bubble div {
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(237,255,251,.96));
  border: 1px solid rgba(188, 229, 234, .8);
}

.typing-bubble div {
  width: 72px;
  padding: 14px 16px;
}

.typing-bubble p {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.typing-bubble p span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #08aeb1;
  opacity: .42;
  animation: iara-typing 1s ease-in-out infinite;
}

.typing-bubble p span:nth-child(2) {
  animation-delay: .15s;
}

.typing-bubble p span:nth-child(3) {
  animation-delay: .3s;
}

@keyframes iara-typing {
  0%, 100% {
    opacity: .32;
    transform: translateY(0);
  }

  50% {
    opacity: 1;
    transform: translateY(-3px);
  }
}

.student-bubble {
  grid-template-columns: minmax(0, 1fr);
  justify-items: end;
}

.student-bubble div {
  max-width: 88%;
  border-radius: 18px 18px 6px 18px;
  background: linear-gradient(135deg, #0fb9af, #128bd7);
}

.student-bubble p,
.student-bubble small {
  color: #fff;
}

.onboarding-composer {
  padding: 10px 14px calc(14px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.92);
  border-top: 1px solid rgba(214, 225, 239, .9);
  box-shadow: 0 -12px 26px rgba(15, 46, 84, .06);
  backdrop-filter: blur(14px);
}

.onboarding-options,
.onboarding-confirm {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 2px 9px;
  scrollbar-width: none;
}

.onboarding-options[hidden],
.onboarding-confirm[hidden] {
  display: none;
}

.onboarding-option,
.confirm-choice {
  flex: 0 0 auto;
  min-height: 38px;
  border: 1px solid rgba(8,184,172,.25);
  border-radius: 999px;
  padding: 0 14px;
  background: rgba(240,255,252,.95);
  color: var(--ink);
  font-size: 13px;
  font-weight: 760;
}

.secondary-choice {
  background: #fff;
  border-color: rgba(100, 114, 138, .24);
}

.composer-row {
  min-height: 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px 44px;
  align-items: end;
  gap: 8px;
}

.composer-row textarea {
  width: 100%;
  min-height: 50px;
  max-height: 116px;
  resize: none;
  border: 1px solid rgba(210, 224, 239, .95);
  border-radius: 18px;
  outline: 0;
  padding: 14px 15px;
  color: var(--ink);
  background: #f8fbff;
  font-size: 15px;
  line-height: 1.24;
  font-weight: 520;
}

.composer-row textarea:focus {
  background: #fff;
  border-color: rgba(8,184,172,.48);
  box-shadow: 0 0 0 4px rgba(8,184,172,.08);
}

.voice-compose-btn,
.send-compose-btn {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
}

.voice-compose-btn {
  background: linear-gradient(145deg, #4b8fff, #2165d6);
}

.voice-compose-btn.is-recording {
  background: linear-gradient(145deg, #ff5b6b, #d82949);
  box-shadow: 0 0 0 7px rgba(255, 78, 89, .13);
}

.send-compose-btn {
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  box-shadow: 0 10px 18px rgba(8, 184, 172, .24);
}

.voice-compose-btn svg,
.send-compose-btn svg {
  width: 22px;
  height: 22px;
}

.studies-screen {
  background:
    radial-gradient(circle at 80% 8%, rgba(52, 125, 255, .13), transparent 30%),
    radial-gradient(circle at 13% 35%, rgba(8, 184, 172, .12), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 48%, #eef7ff 100%);
}

.studies-scroll {
  padding-bottom: calc(102px + env(safe-area-inset-bottom));
}

.studies-hero {
  position: relative;
  z-index: 2;
}

.studies-hero-card {
  min-height: 172px;
  margin-top: 23px;
  padding: 18px 16px;
  border-radius: 28px;
  border: 1px solid rgba(174, 225, 229, .86);
  background:
    radial-gradient(circle at 82% 45%, rgba(21,217,161,.26), transparent 29%),
    repeating-linear-gradient(135deg, transparent 0 12px, rgba(8,174,178,.055) 13px 14px),
    rgba(255,255,255,.78);
  box-shadow: 0 20px 38px rgba(15, 46, 84, .1);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 128px;
  align-items: center;
  gap: 10px;
  overflow: hidden;
}

.studies-hero-card p {
  margin: 0 0 7px;
  color: #08aeb1;
  font-size: 12px;
  line-height: 1;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: 1.8px;
}

.studies-hero-card h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(25px, 6.6vw, 32px);
  line-height: 1.02;
  font-weight: 810;
}

.studies-hero-card span {
  display: block;
  margin-top: 11px;
  color: #62728c;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 690;
}

.studies-hero-card img {
  width: 158px;
  max-width: none;
  justify-self: end;
  margin-right: -25px;
  filter: drop-shadow(0 16px 20px rgba(7,29,68,.13));
}

.studies-section,
.ai-suggestion-panel {
  margin-top: 20px;
}

.studies-section-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: end;
}

.studies-section-head h2,
.ai-suggestion-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(20px, 5.3vw, 24px);
  line-height: 1.08;
  font-weight: 800;
}

.studies-section-head p,
.ai-suggestion-head p {
  margin: 6px 0 0;
  color: #65748d;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 590;
}

.subject-grid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.subject-card,
.suggestion-card {
  position: relative;
  width: 100%;
  min-height: 94px;
  border: 1px solid rgba(185, 218, 238, .84);
  border-radius: 22px;
  background:
    linear-gradient(110deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.89) 52%, rgba(237,253,255,.94) 100%);
  box-shadow: 0 16px 30px rgba(15, 46, 84, .085);
  color: var(--ink);
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 14px;
  overflow: hidden;
  text-align: left;
  text-decoration: none;
}

.subject-card::before,
.suggestion-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 88% 28%, rgba(8,184,172,.18), transparent 26%),
    repeating-linear-gradient(135deg, transparent 0 11px, rgba(8,174,178,.045) 12px 13px);
  pointer-events: none;
}

.subject-card > *,
.suggestion-card > * {
  position: relative;
  z-index: 2;
}

.subject-card strong,
.suggestion-card strong {
  display: block;
  color: var(--ink);
  font-size: clamp(18px, 4.9vw, 22px);
  line-height: 1.07;
  font-weight: 820;
}

.subject-card small,
.suggestion-card small {
  display: block;
  margin-top: 6px;
  color: #65748d;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 650;
}

.subject-entry-card {
  display: block;
  padding: 0;
}

.subject-card-link {
  position: relative;
  z-index: 2;
  min-height: 92px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 14px 58px 14px 14px;
  color: inherit;
  text-decoration: none;
}

.subject-delete-action {
  position: absolute !important;
  right: 12px;
  top: 12px;
  z-index: 4 !important;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,78,89,.16);
  border-radius: 12px;
  background: rgba(255,255,255,.86);
  color: #d74450;
  box-shadow: 0 7px 15px rgba(113,32,43,.07);
}

.subject-delete-action svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.subject-delete-action:hover {
  border-color: rgba(255,78,89,.35);
  background: #fff3f4;
}

.lesson-hero-card {
  grid-template-columns: minmax(0, 1fr) 116px;
}

.lesson-hero-card img {
  width: 144px;
}

.lesson-toolbar {
  margin-top: 17px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 50px;
  gap: 10px;
  align-items: center;
}

.lesson-filter-shell {
  min-height: 52px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border-radius: 18px;
  border: 1px solid rgba(210, 224, 239, .95);
  background: rgba(255,255,255,.9);
  color: #61708a;
  box-shadow: 0 10px 20px rgba(15, 46, 84, .055);
}

.lesson-filter-shell svg {
  width: 22px;
  height: 22px;
  color: #08aeb1;
}

.lesson-filter-shell input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-size: 15px;
  font-weight: 590;
}

.lesson-filter-shell input::placeholder {
  color: #7d8ba0;
}

.lesson-add-inline {
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  box-shadow: 0 12px 22px rgba(8,184,172,.24);
}

.lesson-add-inline svg {
  width: 23px;
  height: 23px;
}

.lesson-grid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.lesson-tabs-shell {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.lesson-tab-button {
  min-height: 54px;
  border: 1px solid rgba(185, 218, 238, .9);
  border-radius: 18px;
  background: rgba(255, 255, 255, .78);
  color: #51627c;
  box-shadow: 0 10px 22px rgba(15, 46, 84, .055);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 12px;
  font-size: 12px;
  line-height: 1.1;
  font-weight: 850;
  text-align: left;
}

.lesson-tab-button small {
  min-width: 25px;
  height: 25px;
  border-radius: 999px;
  background: rgba(210, 224, 239, .76);
  color: #51627c;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 900;
}

.lesson-tab-button.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, #08cdb5, #347dff);
  color: #fff;
  box-shadow: 0 15px 28px rgba(52, 125, 255, .18);
}

.lesson-tab-button.is-active small {
  background: rgba(255, 255, 255, .24);
  color: #fff;
}

.lesson-topic-card {
  position: relative;
  width: 100%;
  min-height: 96px;
  border: 1px solid rgba(185, 218, 238, .84);
  border-radius: 22px;
  background:
    linear-gradient(110deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 52%, rgba(243,249,255,.95) 100%);
  box-shadow: 0 16px 30px rgba(15, 46, 84, .085);
  color: var(--ink);
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 14px;
  overflow: hidden;
  text-align: left;
  text-decoration: none;
}

.lesson-topic-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 90% 27%, rgba(52,125,255,.14), transparent 25%),
    repeating-linear-gradient(135deg, transparent 0 11px, rgba(8,174,178,.04) 12px 13px);
  pointer-events: none;
}

.lesson-topic-card > * {
  position: relative;
  z-index: 2;
}

.lesson-topic-card strong {
  display: block;
  color: var(--ink);
  font-size: clamp(16px, 4.35vw, 20px);
  line-height: 1.12;
  font-weight: 810;
}

.lesson-topic-card small {
  display: block;
  margin-top: 6px;
  color: #65748d;
  font-size: 12.5px;
  line-height: 1.2;
  font-weight: 650;
}

.lesson-topic-entry {
  display: block;
  padding: 0;
}

.lesson-topic-entry.is-personalized-lesson {
  border-color: rgba(124,58,237,.26);
  background:
    radial-gradient(circle at 92% 10%, rgba(124,58,237,.16), transparent 31%),
    radial-gradient(circle at 12% 92%, rgba(21,217,161,.14), transparent 28%),
    linear-gradient(145deg, #fff, #f6f2ff);
}

.lesson-topic-entry.is-personalized-lesson::before {
  background:
    radial-gradient(circle at 90% 27%, rgba(124,58,237,.12), transparent 25%),
    repeating-linear-gradient(135deg, transparent 0 11px, rgba(124,58,237,.04) 12px 13px);
}

.lesson-private-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #7c3aed, #347dff);
  font-size: 9.5px;
  line-height: 1;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .2px;
}

.lesson-topic-main {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  min-height: 94px;
  padding: 14px;
  color: inherit;
  text-decoration: none;
}

.has-lesson-delete .lesson-topic-main {
  grid-template-columns: 64px minmax(0, 1fr);
  padding-right: 102px;
}

.lesson-delete-action {
  right: 13px;
  top: 13px;
}

.lesson-material-action {
  right: 56px;
  top: 13px;
  border-color: rgba(0,184,174,.24);
  color: #008f88;
  background: rgba(239,255,252,.94);
}

.lesson-material-action:hover {
  border-color: rgba(0,184,174,.48);
  color: #0872dc;
  background: #e5fffa;
}

.lesson-own-material-modal .document-choice-form { margin-top: 16px; }
.lesson-own-material-note { margin: 12px 0 7px; color: #087b76; font-size: 13px; line-height: 1.45; font-weight: 780; }
.lesson-own-material-processing { min-height: 245px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 10px; text-align: center; }
.lesson-own-material-processing[hidden] { display: none !important; }
.lesson-own-material-processing strong { margin-top: 16px; color: var(--ink); font-size: 19px; }
.lesson-own-material-processing small { margin-top: 7px; color: #65748d; font-weight: 700; }
.lesson-own-material-processing > div { width: min(360px,100%); height: 8px; margin-top: 22px; overflow: hidden; border-radius: 999px; background: #dbeef2; }
.lesson-own-material-processing > div i { display: block; width: 5%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#00d1b3,#3168ff); transition: width .45s ease; }
.lesson-own-material-spinner { width: 54px; height: 54px; border: 5px solid #d9f4f1; border-top-color: #00bda8; border-radius: 50%; animation: iaraClassLoadingSpin .8s linear infinite; }

.lesson-topic-entry.has-document {
  border-color: rgba(8, 174, 177, .48);
  box-shadow: 0 17px 34px rgba(8, 174, 177, .13);
}

.lesson-document-link {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 13px 13px 91px;
  padding: 9px 11px;
  border: 1px solid rgba(8, 174, 177, .22);
  border-radius: 13px;
  background: rgba(232, 255, 248, .82);
  color: #087d7b;
  text-decoration: none;
}

.lesson-document-link svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.lesson-document-link span {
  min-width: 0;
}

.lesson-document-link b,
.lesson-document-link small {
  display: block;
}

.lesson-document-link b {
  font-size: 12px;
  font-weight: 850;
}

.lesson-document-link small {
  margin-top: 1px;
  color: #4e7778;
  font-size: 10.5px;
}

.lesson-generated-label {
  cursor: default;
  pointer-events: none;
}

.lesson-priority {
  min-width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(8,184,172,.12);
  color: #087a79;
  font-size: 12px;
  font-weight: 850;
}

.lesson-suggestion-card {
  grid-template-columns: 56px minmax(0, 1fr) auto;
}

.lesson-route-source {
  grid-column: 1 / -1;
  margin: 4px 0 2px;
  padding: 13px 15px;
  border: 1px solid rgba(8,184,172,.22);
  border-radius: 15px;
  background: rgba(232,255,248,.76);
}

.lesson-route-source strong,
.lesson-route-source span {
  display: block;
}

.lesson-route-source strong {
  color: #087f82;
  font-size: 13px;
  font-weight: 850;
}

.lesson-route-source span {
  margin-top: 3px;
  color: #62758a;
  font-size: 11px;
  line-height: 1.35;
}

.aula-scroll {
  background:
    radial-gradient(circle at 12% 9%, rgba(21,217,161,.16), transparent 26%),
    radial-gradient(circle at 92% 19%, rgba(52,125,255,.14), transparent 25%);
}

.aula-hero-card {
  position: relative;
  min-height: 205px;
  margin-top: 23px;
  padding: 19px 16px 18px;
  border-radius: 30px;
  border: 1px solid rgba(174,225,229,.9);
  background:
    radial-gradient(circle at 82% 34%, rgba(21,217,161,.28), transparent 30%),
    radial-gradient(circle at 20% 100%, rgba(245,161,10,.14), transparent 31%),
    linear-gradient(126deg, rgba(255,255,255,.97), rgba(239,252,255,.88));
  box-shadow: 0 22px 42px rgba(15,46,84,.12);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px;
  align-items: center;
  gap: 8px;
  overflow: hidden;
}

.aula-hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,174,178,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(52,125,255,.055) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(120deg, rgba(0,0,0,.88), transparent 82%);
  pointer-events: none;
}

.aula-hero-copy,
.aula-hero-luzia {
  position: relative;
  z-index: 2;
}

.aula-hero-copy p {
  margin: 0 0 8px;
  color: #08aeb1;
  font-size: 12px;
  line-height: 1;
  font-weight: 840;
  text-transform: uppercase;
  letter-spacing: 1.6px;
}

.aula-hero-copy h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(24px, 6vw, 32px);
  line-height: 1.04;
  font-weight: 840;
}

.aula-hero-copy span {
  display: block;
  margin-top: 11px;
  color: #61708a;
  font-size: 13px;
  line-height: 1.26;
  font-weight: 680;
}

.aula-hero-luzia {
  min-height: 166px;
  display: grid;
  place-items: end center;
}

.aula-hero-luzia img {
  width: 158px;
  max-width: none;
  margin-right: -27px;
  filter: drop-shadow(0 18px 18px rgba(7,29,68,.16));
}

.aula-hero-luzia i {
  position: absolute;
  right: 5px;
  bottom: 16px;
  width: 86px;
  height: 14px;
  border-radius: 50%;
  background: rgba(8,62,104,.1);
  filter: blur(5px);
}

.aula-actions-section {
  margin-top: 20px;
}

.aula-workspace {
  margin-top: 20px;
  border: 1px solid rgba(174,225,229,.92);
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 10%, rgba(21,217,161,.14), transparent 30%),
    rgba(255,255,255,.82);
  box-shadow: 0 18px 36px rgba(15,46,84,.08);
  overflow: hidden;
}

.aula-workspace[hidden] {
  display: none;
}

.aula-workspace-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px 0;
}

.aula-workspace-tabs button {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(210,224,239,.95);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #61708a;
  font-size: 12.5px;
  font-weight: 820;
}

.aula-workspace-tabs button.active {
  border-color: transparent;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  box-shadow: 0 10px 18px rgba(8,184,172,.16);
}

.aula-workspace-panel {
  display: none;
}

.aula-workspace-panel.active {
  display: block;
}

.aula-mind-map-section {
  padding: 14px;
}

.mind-map-loading {
  min-height: 360px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 35px 20px;
  text-align: center;
}

.mind-map-loading span {
  width: 58px;
  height: 58px;
  border: 6px solid #d5eceb;
  border-top-color: #08aeb1;
  border-radius: 50%;
  animation: mind-map-spin .8s linear infinite;
}

@keyframes mind-map-spin {
  to {
    transform: rotate(360deg);
  }
}

.mind-map-loading h2,
.mind-map-loading p {
  margin: 0;
}

.mind-map-loading p {
  color: #64748b;
}

.mind-map-inline {
  overflow: hidden;
  border-radius: 24px;
  background: #edf5fb;
  color: #09254d;
}

.mind-map-toolbar {
  position: sticky;
  top: 0;
  z-index: 8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #d9e6f1;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px);
}

.mind-map-toolbar strong {
  text-align: center;
}

.mind-map-toolbar strong b {
  color: #08aeb1;
}

.mind-map-toolbar button,
.mind-map-error button {
  border: 0;
  border-radius: 999px;
  padding: 10px 15px;
  background: #09254d;
  color: #fff;
  font-size: 12px;
  font-weight: 820;
}

.mind-map-toolbar button:first-child,
.mind-map-error button {
  background: linear-gradient(135deg, #15d9a1, #08aeb1);
}

.mind-map-document {
  max-width: 1500px;
  margin: auto;
  padding: 22px;
}

.mind-map-document .hero {
  position: relative;
  overflow: hidden;
  padding: 34px;
  border-radius: 30px;
  color: #fff;
  background: radial-gradient(circle at 88% 10%, rgba(21,217,161,.45), transparent 30%), linear-gradient(135deg,#071d44,#126b92);
  box-shadow: 0 24px 60px rgba(8,39,80,.2);
}

.mind-map-document .eyebrow {
  margin: 0 0 8px;
  color: #86f5da;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.7px;
}

.mind-map-document .hero h1 {
  margin: 0;
  font-size: clamp(28px, 5vw, 52px);
  line-height: 1;
  letter-spacing: -1.5px;
}

.mind-map-document .subtitle {
  margin: 14px 0 0;
  color: #d8ecf7;
}

.mind-map-document .core {
  max-width: 1050px;
  margin: 20px auto 26px;
  padding: 20px 24px;
  border: 2px solid rgba(8,174,177,.3);
  border-radius: 22px;
  background: #fff;
  text-align: center;
  box-shadow: 0 18px 42px rgba(10,44,82,.1);
}

.mind-map-document .core::before {
  content: "NÚCLEO CENTRAL";
  display: block;
  margin-bottom: 6px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.4px;
}

.mind-map-document .core p {
  margin: 0;
  font-weight: 650;
}

.mind-map-document .map-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.mind-map-document .branch {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--branch) 24%, #dbe7f1);
  border-top: 5px solid var(--branch);
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(10,44,82,.09);
}

.mind-map-document .branch > header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 19px 11px;
}

.mind-map-document .branch > header > span {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--branch) 13%, white);
  font-size: 23px;
}

.mind-map-document .branch small {
  color: var(--branch);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.3px;
}

.mind-map-document .branch h2 {
  margin: 2px 0 0;
  font-size: 20px;
}

.mind-map-document .branch-intro {
  margin: 0;
  padding: 0 19px 13px;
  color: #60718c;
  font-size: 13px;
  font-weight: 620;
}

.mind-map-document .nodes {
  display: grid;
  gap: 9px;
  padding: 0 14px 16px;
}

.mind-map-document .node {
  position: relative;
  padding: 14px 14px 13px 18px;
  border: 1px solid color-mix(in srgb, var(--branch) 17%, #e7eef5);
  border-radius: 15px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--branch) 7%, white), #fff);
}

.mind-map-document .node::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  width: 5px;
  height: 27px;
  border-radius: 0 8px 8px 0;
  background: var(--branch);
}

.mind-map-document .node h3 {
  margin: 0 0 7px;
  font-size: 14px;
}

.mind-map-document .node ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 17px;
  color: #334b69;
  font-size: 12.5px;
}

.mind-map-document .connection {
  margin: 9px 0 0;
  padding: 8px 9px;
  border-radius: 9px;
  background: #fff;
  color: #5c6f87;
  font-size: 11px;
}

.mind-map-document .footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 18px;
  margin-top: 20px;
}

.mind-map-document .insights,
.mind-map-document .clinical,
.mind-map-document .alert {
  padding: 20px;
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(10,44,82,.08);
}

.mind-map-document .insights h2,
.mind-map-document .clinical h2 {
  margin: 0 0 12px;
  font-size: 18px;
}

.mind-map-document .clinical {
  border: 1px solid #bdeade;
  background: linear-gradient(145deg,#eafff8,#fff);
}

.mind-map-document .alert {
  grid-column: 1 / -1;
  border-left: 5px solid #ed7b2f;
  color: #805126;
}

.mind-map-document .document-footer {
  padding: 22px 4px 5px;
  color: #708098;
  font-size: 10.5px;
  text-align: center;
}

.mind-map-error {
  padding: 28px;
  border-radius: 20px;
  background: #fff;
}

@media (max-width: 720px) {
  .aula-mind-map-section {
    padding: 8px;
  }

  .mind-map-toolbar {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .mind-map-toolbar strong {
    order: -1;
    width: 100%;
  }

  .mind-map-document {
    padding: 11px;
  }

  .mind-map-document .hero {
    padding: 24px 20px;
    border-radius: 21px;
  }

  .mind-map-document .map-grid,
  .mind-map-document .footer-grid {
    grid-template-columns: 1fr;
  }
}

.aula-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.document-choice-modal {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(8, 184, 172, .2);
  border-radius: 26px;
  background:
    radial-gradient(circle at 96% 0%, rgba(21,217,161,.16), transparent 32%),
    linear-gradient(145deg, #fff, #f5fbff);
  box-shadow: 0 22px 60px rgba(15,46,84,.16);
}

.document-choice-head {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 13px;
  align-items: center;
  padding-right: 22px;
}

.document-choice-head img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 19px;
  background: rgba(204,255,248,.78);
  box-shadow: inset 0 0 0 1px rgba(8,184,172,.2);
}

.document-choice-head p {
  margin: 0 0 4px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.document-choice-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.06;
  font-weight: 900;
}

.document-choice-head span {
  display: block;
  margin-top: 7px;
  color: #66768e;
  font-size: 12.5px;
  line-height: 1.42;
  font-weight: 650;
}

.document-choice-form {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.document-choice-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 5px;
  border-radius: 17px;
  background: rgba(225,239,251,.82);
  box-shadow: inset 0 0 0 1px rgba(113,129,152,.13);
}

.document-choice-tabs button {
  min-height: 40px;
  border: 0;
  border-radius: 13px;
  color: #62728b;
  background: transparent;
  font-size: 12px;
  font-weight: 900;
}

.document-choice-tabs button.active {
  color: #fff;
  background: linear-gradient(135deg, #00cdb8, #347dff);
  box-shadow: 0 10px 20px rgba(8,174,178,.2);
}

.document-choice-pane {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 19px;
  background: rgba(255,255,255,.76);
  box-shadow: inset 0 0 0 1px rgba(113,129,152,.13);
}

.document-choice-pane > strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.15;
  font-weight: 900;
}

.document-choice-pane > p {
  margin: -3px 0 0;
  color: #65758e;
  font-size: 12.5px;
  line-height: 1.42;
  font-weight: 650;
}

.document-choice-form label {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px 13px;
  border: 1px dashed rgba(8,174,178,.48);
  border-radius: 17px;
  background: rgba(255,255,255,.78);
  cursor: pointer;
}

.document-choice-form input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.document-choice-form .document-choice-admin-notes {
  border-style: solid;
  border-color: rgba(52,125,255,.24);
  background:
    radial-gradient(circle at 96% 16%, rgba(52,125,255,.12), transparent 34%),
    rgba(246,251,255,.92);
  cursor: default;
}

.document-choice-admin-notes textarea {
  width: 100%;
  min-height: 92px;
  resize: vertical;
  border: 1px solid rgba(113,129,152,.2);
  border-radius: 14px;
  padding: 11px 12px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  font-size: 12.5px;
  line-height: 1.35;
  outline: none;
}

.document-choice-admin-notes textarea:focus {
  border-color: rgba(8,184,172,.58);
  box-shadow: 0 0 0 4px rgba(8,184,172,.12);
}

.document-choice-form strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
}

.document-choice-form em,
.document-choice-form small {
  color: #718198;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 680;
}

.document-choice-form small {
  color: #0f8f88;
}

.document-choice-main-action,
.document-choice-upload-action {
  min-height: 44px;
  border: 0;
  border-radius: 16px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 850;
}

.document-choice-main-action {
  width: 100%;
}

.document-choice-upload-action {
  width: 100%;
}

.document-choice-form .secondary-action {
  color: #0d2453;
  background: rgba(255,255,255,.82);
  box-shadow: inset 0 0 0 1px rgba(113,129,152,.25);
}

.document-choice-form .primary-action {
  color: #fff;
  background: linear-gradient(135deg, #00cdb8, #347dff);
  box-shadow: 0 15px 26px rgba(8,174,178,.26);
}

.document-choice-form button:disabled {
  opacity: .62;
}

.document-choice-message {
  padding: 9px 11px;
  border-radius: 14px;
  color: #075b56;
  background: rgba(21,217,161,.13);
  font-size: 12px;
  font-weight: 760;
}

.document-choice-message.is-error {
  color: #b91c1c;
  background: rgba(220,38,38,.1);
}

.aula-action-card {
  position: relative;
  min-height: 176px;
  border: 1px solid rgba(185,218,238,.9);
  border-radius: 23px;
  padding: 13px;
  background:
    radial-gradient(circle at 78% 16%, var(--aula-glow, rgba(8,184,172,.17)), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(245,250,255,.9));
  box-shadow: 0 17px 32px rgba(15,46,84,.09);
  color: var(--ink);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 9px;
  overflow: hidden;
  text-align: left;
}

.aula-action-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 0 58%, rgba(255,255,255,.74) 59% 61%, transparent 62%),
    repeating-linear-gradient(135deg, transparent 0 12px, rgba(8,174,178,.04) 13px 14px);
  pointer-events: none;
}

.aula-action-card::after {
  content: "";
  position: absolute;
  right: -22px;
  bottom: -24px;
  width: 78px;
  height: 78px;
  border: 1px solid var(--aula-accent, rgba(8,184,172,.45));
  border-radius: 50%;
  opacity: .52;
}

.aula-action-card > * {
  position: relative;
  z-index: 2;
}

.aula-action-card .aula-action-step {
  position: absolute;
  top: 13px;
  right: 13px;
  z-index: 3;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--aula-accent, #08aeb1) 34%, white);
  border-radius: 11px;
  background: color-mix(in srgb, var(--aula-accent, #08aeb1) 12%, white);
  color: var(--aula-accent, #08aeb1);
  box-shadow: 0 8px 16px rgba(15,46,84,.09);
  font-size: 13px;
  font-weight: 900;
}

.aula-action-card strong {
  display: block;
  width: 100%;
  color: var(--ink);
  font-size: clamp(15px, 4.1vw, 18px);
  line-height: 1.1;
  font-weight: 830;
}

.aula-action-card small {
  display: block;
  color: #66748b;
  font-size: 12.2px;
  line-height: 1.25;
  font-weight: 620;
}

.aula-action-icon {
  width: 56px;
  height: 56px;
  border-radius: 19px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--aula-accent, #08aeb1) 14%, white);
  border: 1px solid color-mix(in srgb, var(--aula-accent, #08aeb1) 36%, white);
  color: var(--aula-accent, #08aeb1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 13px 22px rgba(7,29,68,.1);
}

.aula-action-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.aula-luzia-thumb {
  width: 66px;
  height: 66px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(21,217,161,.2), rgba(52,125,255,.16));
  border: 1px solid rgba(8,184,172,.32);
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 13px 22px rgba(7,29,68,.12);
}

.aula-luzia-thumb img {
  width: 86px;
  max-width: none;
  margin: 7px -8px 0 0;
  filter: drop-shadow(0 8px 10px rgba(7,29,68,.12));
}

.aula-action-card.material {
  --aula-accent: #08aeb1;
  --aula-glow: rgba(8,184,172,.2);
}

.aula-action-card.iara-class {
  --aula-accent: #286cff;
  --aula-glow: rgba(0,211,177,.25);
  border-color: rgba(16,199,183,.48);
  background:
    radial-gradient(circle at 78% 18%, rgba(54,112,255,.24), transparent 36%),
    linear-gradient(145deg, #effffc, #edf4ff);
}

.aula-iara-class-thumb {
  width: 66px;
  height: 66px;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(16,199,183,.42);
  border-radius: 22px;
  background: linear-gradient(145deg,#bffcf0,#d9e8ff);
  box-shadow: 0 13px 24px rgba(35,93,199,.16);
}

.aula-iara-class-thumb img {
  width: 94px;
  max-width: none;
  transform: translateY(4px);
}

.aula-action-card.professor-aula {
  border-color: rgba(8,174,177,.35);
  background: linear-gradient(145deg,rgba(240,255,253,.98),rgba(238,246,255,.96));
}
.aula-action-card.professor-aula .aula-action-icon { background: linear-gradient(145deg,#15d9a1,#08aeb1); color:#fff; }
.professor-material-reader .material-reader-hero { background: radial-gradient(circle at 87% 25%,rgba(52,125,255,.22),transparent 30%),linear-gradient(126deg,#fff,#effffc); }

.aula-action-card.luzia {
  --aula-accent: #15d9a1;
  --aula-glow: rgba(21,217,161,.23);
}

.aula-action-card.questoes {
  --aula-accent: #347dff;
  --aula-glow: rgba(52,125,255,.18);
}

.aula-action-card.anotacoes,
.aula-action-card.resolvidas {
  --aula-accent: #f5a10a;
  --aula-glow: rgba(245,161,10,.18);
}

.aula-action-card.flashcards {
  --aula-accent: #8a50f4;
  --aula-glow: rgba(138,80,244,.16);
}

.aula-action-card.mapa-mental {
  --aula-accent: #6c63e7;
  --aula-glow: rgba(108,99,231,.2);
}

.aula-action-card.erros {
  --aula-accent: #ff4e59;
  --aula-glow: rgba(255,78,89,.16);
}

.aula-action-card.videos {
  --aula-accent: #ef233c;
  --aula-glow: rgba(239,35,60,.16);
}

.aula-videos-section {
  padding: 14px;
}

.selected-videos-shell {
  overflow: hidden;
  border: 1px solid rgba(185,218,238,.9);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 30px rgba(15,46,84,.07);
}

.selected-videos-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  background: radial-gradient(circle at 92% 10%, rgba(239,35,60,.16), transparent 34%), linear-gradient(145deg, #f8fcff, #fff);
}

.selected-videos-head p {
  margin: 0 0 5px;
  color: #0aa69f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.selected-videos-head h2 { margin: 0; color: var(--ink); font-size: 24px; font-weight: 850; }
.selected-videos-head span { display: block; margin-top: 5px; color: #69788e; font-size: 13px; }
.selected-videos-head > svg { width: 48px; height: 48px; flex: 0 0 auto; fill: none; stroke: #ef233c; stroke-width: 1.6; }
.selected-videos-grid { display: grid; gap: 12px; padding: 14px; }

.selected-video-card {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #dde9f2;
  border-radius: 18px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.selected-video-card:hover { transform: translateY(-2px); border-color: rgba(8,174,177,.45); box-shadow: 0 13px 26px rgba(15,46,84,.1); }
.selected-video-thumb { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #102239; }
.selected-video-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.selected-video-thumb i { position: absolute; inset: 0; margin: auto; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: rgba(239,35,60,.94); color: #fff; box-shadow: 0 9px 22px rgba(0,0,0,.28); }
.selected-video-thumb i svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 2; }
.selected-video-thumb b { position: absolute; right: 8px; bottom: 7px; padding: 3px 6px; border-radius: 5px; background: rgba(5,14,27,.88); color: #fff; font-size: 10px; }
.selected-video-copy { min-width: 0; display: block; padding: 14px 16px 14px 0; }
.selected-video-copy em { display: block; margin-bottom: 7px; color: #08a39e; font-size: 10px; font-style: normal; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.selected-video-copy strong { display: -webkit-box; overflow: hidden; color: var(--ink); font-size: 16px; line-height: 1.25; font-weight: 820; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.selected-video-copy small { display: block; margin-top: 9px; color: #718097; font-size: 11.5px; line-height: 1.35; }
.selected-videos-note { margin: 0; padding: 0 18px 18px; color: #8794a6; font-size: 10.5px; line-height: 1.4; }
.selected-videos-empty { min-height: 230px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 30px; color: #728096; text-align: center; }
.selected-videos-empty strong { color: var(--ink); font-size: 18px; }
.selected-videos-empty span { max-width: 480px; font-size: 13px; }
.selected-videos-empty button { margin-top: 8px; padding: 11px 18px; border: 0; border-radius: 13px; background: linear-gradient(145deg,#15d9a1,#08aeb1); color: #fff; font-weight: 800; }

.aula-youtube-modal .modal-content { overflow: hidden; border: 0; border-radius: 24px; background: #08121f; box-shadow: 0 30px 80px rgba(0,0,0,.38); }
.aula-youtube-modal .studies-video-close { z-index: 3; color: #fff; background: rgba(0,0,0,.62); }
.aula-youtube-frame { width: 100%; aspect-ratio: 16 / 9; background: #000; }
.aula-youtube-frame iframe { width: 100%; height: 100%; display: block; border: 0; }
.aula-youtube-caption { padding: 16px 20px 19px; color: #fff; }
.aula-youtube-caption span { color: #49e2c3; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.aula-youtube-caption h2 { margin: 5px 45px 0 0; color: #fff; font-size: 18px; line-height: 1.25; font-weight: 820; }
.aula-youtube-caption p { margin: 5px 0 0; color: rgba(255,255,255,.65); font-size: 12px; }

.videos-intro-modal .studies-audio-intro {
  padding-bottom: 24px;
}

.videos-intro-copy {
  max-width: 390px;
  display: block;
  margin: 9px auto 16px;
  color: #65758c;
  font-size: 13px;
  line-height: 1.45;
}

.videos-intro-modal .studies-audio-start {
  width: min(100%, 330px);
  margin-top: 15px;
}

.videos-intro-modal .studies-audio-start[hidden] {
  display: grid;
  visibility: hidden;
  pointer-events: none;
}

.videos-intro-modal [data-videos-intro-status] {
  width: min(100%, 330px);
  min-height: 34px;
  display: grid;
  place-items: center;
  text-align: center;
}

@media (max-width: 620px) {
  .selected-video-card { grid-template-columns: 1fr; gap: 0; }
  .selected-video-copy { padding: 14px; }
  .selected-videos-head { padding: 18px; }
  .selected-videos-head > svg { width: 38px; height: 38px; }
  .aula-youtube-modal .modal-dialog { margin: 10px; }
  .material-audio-player {
    bottom: calc(86px + env(safe-area-inset-bottom, 0px));
    width: min(338px, calc(100vw - 18px));
    padding: 10px;
    border-radius: 22px;
  }
  .material-audio-player-main {
    grid-template-columns: 40px minmax(0, 1fr) 32px;
    gap: 8px;
  }
  .material-audio-orb {
    width: 40px;
    height: 40px;
    border-radius: 15px;
  }
  .material-audio-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .material-audio-controls button {
    min-height: 37px;
    font-size: 11px;
    border-radius: 14px;
  }
  .material-audio-controls [data-material-audio-prev],
  .material-audio-controls [data-material-audio-next] {
    grid-column: span 1;
  }
}

.aula-material-section {
  margin-top: 0;
}

.material-reader {
  display: grid;
  gap: 14px;
}

.material-reader-hero {
  position: relative;
  min-height: 178px;
  padding: 18px 14px 16px;
  border-radius: 28px;
  border: 1px solid rgba(174,225,229,.92);
  background:
    radial-gradient(circle at 87% 25%, rgba(21,217,161,.28), transparent 30%),
    linear-gradient(126deg, rgba(255,255,255,.98), rgba(240,253,255,.9));
  box-shadow: 0 18px 34px rgba(15,46,84,.1);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 8px;
  align-items: center;
  overflow: hidden;
}

.material-reader-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,174,178,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(52,125,255,.055) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(115deg, rgba(0,0,0,.9), transparent 80%);
}

.material-reader-hero > * {
  position: relative;
  z-index: 2;
}

.material-reader-hero p {
  margin: 0 0 7px;
  color: #08aeb1;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.material-reader-hero h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 5.4vw, 29px);
  line-height: 1.05;
  font-weight: 850;
}

.material-reader-hero span {
  display: block;
  margin-top: 9px;
  color: #62728c;
  font-size: 13px;
  line-height: 1.28;
  font-weight: 650;
}

.material-reader-hero img {
  width: 128px;
  max-width: none;
  justify-self: end;
  margin-right: -23px;
  filter: drop-shadow(0 15px 17px rgba(7,29,68,.15));
}

.material-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.material-tags span {
  margin: 0;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(8,184,172,.12);
  color: #087a79;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
}

.material-read-btn {
  width: fit-content;
  height: 54px;
  min-height: 54px;
  margin-top: 12px;
  padding: 0 22px 0 15px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #09cfb0, #0caed0 58%, #346dff);
  color: #fff !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 15px;
  line-height: 54px;
  font-weight: 950;
  letter-spacing: -.15px;
  box-shadow: 0 14px 28px rgba(8, 184, 172, .24), 0 8px 16px rgba(52,109,255,.13);
  transition: transform .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease;
}

.material-print-btn {
  width: fit-content;
  min-height: 46px;
  margin-top: 9px;
  padding: 0 17px;
  border: 1px solid rgba(52,125,255,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  color: #245fc7;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(15,46,84,.08);
}

.material-print-btn:hover { color: #164cae; transform: translateY(-1px); }
.material-print-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.material-read-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(8, 184, 172, .22);
}

.material-read-btn svg {
  width: 30px;
  height: 30px;
  padding: 7px;
  border-radius: 13px;
  background: rgba(255,255,255,.22);
  color: #fff !important;
  flex: 0 0 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.material-read-btn span {
  display: block;
  height: 54px;
  margin: 0;
  padding: 0;
  color: #fff !important;
  font-size: inherit;
  line-height: 54px;
  font-weight: 950;
  white-space: nowrap;
}

.material-read-btn.is-reading {
  border-color: transparent;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.22), transparent 28%),
    linear-gradient(135deg, #08c7ad, #0baec7 52%, #346dff);
  color: #fff;
  box-shadow: 0 16px 30px rgba(52,109,255,.24);
}

.material-read-btn.is-reading svg {
  background: rgba(255,255,255,.18);
  color: #fff;
}

.material-read-btn.is-reading svg {
  animation: read-pulse 1.1s infinite;
}

.material-read-btn:disabled {
  opacity: .58;
  box-shadow: none;
}

.material-audio-status {
  display: block;
  width: fit-content;
  max-width: min(100%, 520px);
  margin-top: 9px;
  padding: 7px 10px;
  border: 1px solid rgba(8,184,172,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: #087a79;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 800;
}

.material-audio-player[hidden] {
  display: none !important;
}

.material-audio-player {
  position: fixed;
  left: 50%;
  bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  z-index: 1040;
  width: min(560px, calc(100vw - 28px));
  padding: 12px;
  border: 1px solid rgba(134, 222, 225, .85);
  border-radius: 24px;
  background:
    radial-gradient(circle at 14% 10%, rgba(21,217,161,.25), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(235,250,255,.96));
  box-shadow: 0 22px 48px rgba(7, 29, 68, .22);
  transform: translateX(-50%);
  backdrop-filter: blur(16px);
}

.material-audio-player-main {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 34px;
  gap: 10px;
  align-items: center;
}

.material-audio-orb {
  width: 44px;
  height: 44px;
  border-radius: 17px;
  background: linear-gradient(145deg, #12d9a6, #0ca8d8);
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 12px 24px rgba(8,184,172,.24);
}

.material-audio-orb svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.material-audio-copy {
  min-width: 0;
}

.material-audio-copy strong,
.material-audio-copy small,
.material-audio-copy em {
  display: block;
}

.material-audio-copy strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.1;
  font-weight: 900;
}

.material-audio-copy small {
  margin-top: 3px;
  color: #60728d;
  font-size: 11.5px;
  line-height: 1.2;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.material-audio-copy em {
  margin-top: 5px;
  color: #08aeb1;
  font-size: 11px;
  line-height: 1;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .45px;
  text-transform: uppercase;
}

.material-audio-close {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 13px;
  background: rgba(229, 244, 250, .95);
  color: #233452;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
}

.material-audio-progressbar {
  height: 7px;
  margin-top: 11px;
  border-radius: 999px;
  background: rgba(205, 226, 238, .92);
  overflow: hidden;
}

.material-audio-progressbar i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #15d9a1, #07b8c5, #346dff);
  transition: width .25s ease;
}

.material-audio-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.material-audio-controls button {
  min-width: 0;
  min-height: 39px;
  padding: 0 7px;
  border: 1px solid rgba(190, 216, 230, .92);
  border-radius: 15px;
  background: rgba(255,255,255,.9);
  color: #10254b;
  font-size: 11.5px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
}

.material-audio-controls button.is-primary {
  border-color: transparent;
  background: linear-gradient(145deg, #15d9a1, #346dff);
  color: #fff;
  box-shadow: 0 10px 20px rgba(52,109,255,.2);
}

.material-audio-controls button:disabled {
  opacity: .45;
}

.material-audio-time {
  display: block;
  margin-top: 8px;
  color: #60728d;
  font-size: 11.5px;
  line-height: 1;
  text-align: center;
  font-weight: 800;
}

.material-audio-block-select {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.material-audio-block-select span {
  color: #08aeb1;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.material-audio-block-select select {
  width: 100%;
  min-height: 43px;
  padding: 0 42px 0 13px;
  border: 1px solid rgba(157, 215, 224, .96);
  border-radius: 15px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,250,255,.95));
  color: #10254b;
  font-size: 12.5px;
  line-height: 1.15;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  appearance: auto;
}

.material-audio-block-select select:disabled {
  opacity: .62;
}

.material-audio-resume {
  width: 100%;
  min-height: 40px;
  margin-top: 9px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(135deg, #08c7ad, #346dff);
  color: #fff;
  font-size: 12.5px;
  line-height: 1;
  font-weight: 950;
  box-shadow: 0 10px 20px rgba(52,109,255,.18);
}

.material-audio-resume[hidden] {
  display: none !important;
}

@media (max-width: 620px) {
  .material-audio-player {
    bottom: calc(86px + env(safe-area-inset-bottom, 0px));
    width: min(338px, calc(100vw - 18px));
    padding: 10px;
    border-radius: 22px;
  }

  .material-audio-player-main {
    grid-template-columns: 40px minmax(0, 1fr) 32px;
    gap: 8px;
  }

  .material-audio-orb {
    width: 40px;
    height: 40px;
    border-radius: 15px;
  }

  .material-audio-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .material-audio-controls button {
    min-height: 37px;
    font-size: 11px;
    border-radius: 14px;
  }
}

@keyframes read-pulse {
  50% {
    transform: scale(1.08);
  }
}

.material-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.material-meta-grid span {
  min-height: 64px;
  padding: 11px 9px;
  border-radius: 18px;
  border: 1px solid rgba(185,218,238,.86);
  background: rgba(255,255,255,.86);
  color: #62728c;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 650;
  box-shadow: 0 12px 22px rgba(15,46,84,.06);
}

.material-meta-grid b {
  display: block;
  margin-bottom: 4px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.material-extra-block,
.material-content-card {
  border: 1px solid rgba(185,218,238,.86);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 12%, rgba(52,125,255,.1), transparent 26%),
    rgba(255,255,255,.9);
  box-shadow: 0 16px 30px rgba(15,46,84,.075);
}

.material-extra-block {
  padding: 16px;
}

.material-extra-block h3,
.material-content-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(18px, 4.8vw, 22px);
  line-height: 1.12;
  font-weight: 840;
}

.material-extra-block ul,
.material-keypoints {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.material-extra-block li,
.material-keypoints li {
  position: relative;
  padding-left: 18px;
  color: #4f5f77;
  font-size: 14px;
  line-height: 1.38;
  font-weight: 590;
}

.material-extra-block li::before,
.material-keypoints li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #15d9a1;
  box-shadow: 0 0 0 4px rgba(21,217,161,.12);
}

.material-content-list {
  display: grid;
  gap: 14px;
}

.material-content-card {
  padding: 17px 16px;
}

.material-section-kicker {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.material-section-kicker span {
  width: 34px;
  height: 34px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  box-shadow: 0 10px 18px rgba(8,184,172,.22);
}

.material-section-kicker em {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(52,125,255,.1);
  color: #245fc7;
  font-size: 11px;
  line-height: 1;
  font-style: normal;
  font-weight: 820;
  text-transform: uppercase;
}

.material-paragraphs {
  display: grid;
  gap: 11px;
  margin-top: 12px;
}

.material-paragraphs p {
  margin: 0;
  color: #4e5d74;
  font-size: 14.5px;
  line-height: 1.5;
  font-weight: 560;
}

.material-learning-image {
  width: min(100%, 820px);
  margin: 22px auto 24px;
  overflow: hidden;
  border: 1px solid rgba(174,225,229,.82);
  border-radius: 18px;
  background: #f7fbff;
  box-shadow: 0 14px 30px rgba(15,46,84,.1);
}

.material-learning-image > button {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #edf4f8;
  cursor: zoom-in;
}

.material-learning-image img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  margin: 0 auto;
}

.material-learning-image > button > span {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #fff;
  background: rgba(8, 23, 55, .78);
  box-shadow: 0 10px 22px rgba(8, 23, 55, .2);
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  backdrop-filter: blur(8px);
}

.material-learning-image figcaption {
  display: grid;
  gap: 4px;
  padding: 11px 14px 12px;
}

.material-learning-image figcaption strong {
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1.4;
}

.material-learning-image figcaption small {
  color: #718098;
  font-size: 10px;
  line-height: 1.35;
}

.material-image-modal .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: #f7fbff;
  box-shadow: 0 28px 80px rgba(7, 29, 68, .34);
}

.material-image-modal-frame {
  min-height: 280px;
  max-height: min(76vh, 760px);
  display: grid;
  place-items: center;
  padding: 18px;
  background:
    radial-gradient(circle at 72% 18%, rgba(21,217,161,.12), transparent 30%),
    linear-gradient(145deg, #ecf8fb, #ffffff);
}

.material-image-modal-frame img {
  display: block;
  max-width: 100%;
  max-height: calc(min(76vh, 760px) - 36px);
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 16px 36px rgba(15,46,84,.12);
}

.material-image-modal-caption {
  display: grid;
  gap: 7px;
  padding: 16px 18px 18px;
}

.material-image-modal-caption h2 {
  margin: 0;
  color: var(--ink);
  font-size: 19px;
  line-height: 1.18;
  font-weight: 850;
}

.material-image-modal-caption p {
  margin: 0;
  color: #55657c;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 620;
}

.material-image-modal-caption a {
  width: fit-content;
  color: #08aeb1;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 560px) {
  .document-choice-modal {
    padding: 20px 16px 16px;
    border-radius: 24px;
  }

  .document-choice-head {
    grid-template-columns: 48px 1fr;
    gap: 10px;
  }

  .document-choice-head img {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .document-choice-head h2 {
    font-size: 18px;
  }

  .document-choice-tabs button {
    min-height: 38px;
    font-size: 11.5px;
  }

  .document-choice-pane {
    padding: 12px;
  }

  .material-learning-image {
    margin: 17px 0 19px;
    border-radius: 14px;
  }

  .material-learning-image img {
    max-height: 360px;
  }

  .material-learning-image > button > span {
    right: 9px;
    bottom: 9px;
    font-size: 10px;
  }

  .material-image-modal .modal-dialog {
    margin: 10px;
  }

  .material-image-modal .modal-content {
    border-radius: 18px;
  }

  .material-image-modal-frame {
    min-height: 240px;
    max-height: 68vh;
    padding: 12px;
  }

  .material-image-modal-frame img {
    max-height: calc(68vh - 24px);
  }
}

.material-keypoints {
  margin-top: 14px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(240,253,255,.82);
}

.material-extra-block.clinical {
  display: grid;
  gap: 12px;
  background:
    radial-gradient(circle at 84% 12%, rgba(21,217,161,.18), transparent 28%),
    rgba(255,255,255,.92);
}

.material-extra-block.clinical article {
  padding: 13px;
  border-radius: 18px;
  background: rgba(247,251,255,.9);
  border: 1px solid rgba(210,224,239,.86);
}

.material-extra-block.clinical strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 830;
}

.material-extra-block.clinical p {
  margin: 8px 0;
  color: #4e5d74;
  font-size: 14px;
  line-height: 1.42;
  font-weight: 560;
}

.material-extra-block.clinical b {
  display: block;
  color: #087a79;
  font-size: 13px;
  line-height: 1.32;
  font-weight: 820;
}

.material-extra-block.clinical small {
  display: block;
  margin-top: 8px;
  color: #63728a;
  font-size: 13px;
  line-height: 1.38;
  font-weight: 590;
}

.material-extra-block.errors li::before {
  background: #ff4e59;
  box-shadow: 0 0 0 4px rgba(255,78,89,.11);
}

.material-extra-block.exam li::before {
  background: #f5a10a;
  box-shadow: 0 0 0 4px rgba(245,161,10,.13);
}

.material-extra-block.checklist li::before {
  background: #347dff;
  box-shadow: 0 0 0 4px rgba(52,125,255,.12);
}

.material-prep-modal .lesson-prep-visual img {
  width: 145px;
  margin-right: -15px;
}

.material-error .material-reader-hero {
  border-color: rgba(255,78,89,.28);
  background:
    radial-gradient(circle at 86% 22%, rgba(255,78,89,.14), transparent 31%),
    rgba(255,255,255,.94);
}

.caderno-hero {
  min-height: 190px;
  padding: 22px 18px;
  border: 1px solid rgba(174,225,229,.95);
  border-radius: 30px;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,78,89,.15), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,253,255,.9));
  box-shadow: 0 18px 38px rgba(15,46,84,.1);
  display: grid;
  align-items: end;
  gap: 16px;
}

.caderno-hero p {
  margin: 0 0 7px;
  color: #087a79;
  font-size: 12px;
  line-height: 1;
  font-weight: 880;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}

.caderno-hero h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(28px, 8vw, 46px);
  line-height: .98;
  font-weight: 900;
  letter-spacing: 0;
}

.caderno-hero span {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 680;
}

.caderno-section {
  margin-top: 18px;
}

.caderno-aula-list {
  display: grid;
  gap: 12px;
}

.caderno-aula-card,
.caderno-empty {
  min-height: 94px;
  padding: 16px;
  border: 1px solid rgba(210,224,239,.95);
  border-radius: 22px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 28px rgba(15,46,84,.075);
}

.caderno-aula-card {
  color: var(--ink);
  text-decoration: none;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.caderno-aula-card span {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(255,78,89,.11);
  color: #d83242;
  font-size: 11px;
  line-height: 1.1;
  font-weight: 850;
  text-align: center;
}

.caderno-aula-card span b {
  display: block;
  font-size: 22px;
  line-height: 1;
}

.caderno-aula-card strong,
.caderno-empty strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.18;
  font-weight: 850;
}

.caderno-aula-card small,
.caderno-empty span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.3;
  font-weight: 650;
}

.caderno-aula-card .caderno-aula-copy {
  width: auto;
  height: auto;
  min-width: 0;
  display: block;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.caderno-aula-card .caderno-aula-materia {
  margin: 0 0 5px;
  color: #008e85;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
}

@media (min-width: 760px) {
  .caderno-aula-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Central de desempenho */
.performance-screen { background: radial-gradient(circle at 90% 5%,rgba(74,110,255,.16),transparent 28%),linear-gradient(180deg,#f4fbff,#eef5ff 55%,#f8fbff); }
.performance-scroll { padding: 0 16px 120px; }
.performance-header { padding-top: calc(16px + env(safe-area-inset-top)); }
.performance-hero { position:relative;overflow:hidden;min-height:250px;margin-top:14px;padding:28px 150px 28px 24px;border:1px solid rgba(91,213,213,.55);border-radius:30px;background:linear-gradient(135deg,#071b46 0%,#113878 55%,#05a9ae 140%);box-shadow:0 24px 55px rgba(15,46,84,.2);color:#fff;display:flex;align-items:center; }
.performance-hero::before { content:"";position:absolute;width:260px;height:260px;border:55px solid rgba(69,248,221,.1);border-radius:50%;right:-70px;top:-90px; }
.performance-hero > div { position:relative;z-index:2; }
.performance-hero p,.performance-chart header p,.performance-priorities>header p { margin:0 0 8px;color:#25e1c5;font-size:11px;font-weight:900;letter-spacing:1.35px; }
.performance-hero h1 { margin:0;max-width:620px;font-size:clamp(29px,5vw,50px);line-height:1.02;font-weight:920;letter-spacing:-1.5px; }
.performance-hero span { display:block;max-width:570px;margin-top:13px;color:#d7e9ff;font-size:15px;line-height:1.45;font-weight:600; }
.performance-hero img { position:absolute;right:16px;bottom:-8px;width:145px;filter:drop-shadow(0 18px 18px rgba(0,0,0,.2)); }
.performance-filter { margin:18px 0;padding:13px 16px;border:1px solid rgba(191,215,235,.85);border-radius:17px;background:rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(15,46,84,.07);display:flex;align-items:center;justify-content:space-between;gap:14px; }
.performance-filter label { color:#53627d;font-size:13px;font-weight:800; }
.performance-filter select { min-width:210px;padding:10px 36px 10px 12px;border:1px solid #cfe0ed;border-radius:11px;background:#f8fcff;color:#0a214d;font-weight:750; }
.performance-verdict { padding:22px;border-radius:25px;display:grid;grid-template-columns:116px 1fr;align-items:center;gap:22px;color:#fff;box-shadow:0 20px 42px rgba(15,46,84,.16); }
.performance-verdict.is-good { background:linear-gradient(130deg,#007f78,#00cba9); }
.performance-verdict.needs-attention { background:linear-gradient(130deg,#a91e48,#ff526f); }
.performance-score-ring { --score:0;width:110px;height:110px;padding:8px;border-radius:50%;background:conic-gradient(#fff calc(var(--score)*1%),rgba(255,255,255,.2) 0);position:relative;display:grid;place-content:center;text-align:center; }
.performance-score-ring::before { content:"";position:absolute;inset:8px;border-radius:50%;background:#087f78; }
.needs-attention .performance-score-ring::before { background:#bc294d; }
.performance-score-ring strong,.performance-score-ring span { position:relative;z-index:1; }
.performance-score-ring strong { font-size:34px;line-height:1;font-weight:950; }.performance-score-ring span{font-size:11px;font-weight:800;opacity:.8}
.performance-verdict p{margin:0 0 5px;font-size:11px;font-weight:900;letter-spacing:1px}.performance-verdict h2{margin:0;font-size:clamp(22px,4vw,32px);font-weight:900}.performance-verdict>div>span{display:block;margin-top:7px;max-width:680px;opacity:.88;font-size:14px;line-height:1.4;font-weight:600}
.performance-kpis { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0; }
.performance-kpis article { min-height:130px;padding:18px;border:1px solid rgba(200,220,237,.9);border-radius:22px;background:rgba(255,255,255,.93);box-shadow:0 14px 30px rgba(15,46,84,.07);display:flex;flex-direction:column;justify-content:center; }
.performance-kpis span{color:#687691;font-size:12px;font-weight:750}.performance-kpis strong{margin:5px 0;color:#09204d;font-size:31px;line-height:1;font-weight:950}.performance-kpis small{color:#00a692;font-size:11px;font-weight:850}
.performance-chart-grid { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:14px; }
.performance-chart { min-width:0;padding:20px;border:1px solid rgba(200,220,237,.9);border-radius:25px;background:rgba(255,255,255,.94);box-shadow:0 16px 35px rgba(15,46,84,.075); }
.performance-chart:nth-child(3){grid-column:1/-1}.performance-chart header,.performance-priorities>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.performance-chart header p,.performance-priorities>header p{color:#00a898}.performance-chart h2,.performance-priorities h2{margin:0;color:#0a214d;font-size:20px;font-weight:900}.performance-chart header>span,.performance-priorities>header>span{padding:7px 10px;border-radius:99px;background:#eafaf7;color:#008c7e;font-size:10px;font-weight:900;text-transform:uppercase}.chart-box{position:relative;height:260px}.chart-box.donut{height:260px}.chart-box.donut>div{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.chart-box.donut>div strong{display:block;color:#0a214d;font-size:28px;font-weight:950}.chart-box.donut>div span{color:#71809a;font-size:11px;font-weight:800}.chart-box.subjects{height:max(260px,calc(var(--subjects,4)*44px))}
.performance-priorities{margin-top:16px;padding:22px;border:1px solid rgba(200,220,237,.9);border-radius:26px;background:rgba(255,255,255,.88);box-shadow:0 16px 35px rgba(15,46,84,.07)}.performance-priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.performance-priority,.performance-empty{padding:17px;border:1px solid #ffd0d9;border-radius:19px;background:linear-gradient(140deg,#fff,#fff4f6)}.performance-priority>div{display:flex;align-items:center;gap:9px}.performance-priority>div b{width:27px;height:27px;border-radius:9px;background:#ff5b79;color:#fff;display:grid;place-items:center}.performance-priority>div span{color:#bf3652;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.performance-priority h3{margin:11px 0;color:#10234d;font-size:16px;font-weight:900}.priority-meter{height:7px;border-radius:99px;background:#f3dfe4;overflow:hidden}.priority-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff4770,#ffae62)}.performance-priority footer{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.performance-priority footer strong,.performance-priority footer a{font-size:11px;font-weight:850}.performance-priority footer strong{color:#c03351}.performance-priority footer a{color:#008f83;text-decoration:none}.performance-empty{grid-column:1/-1;text-align:center;padding:30px}.performance-empty strong{display:block;color:#10234d;font-size:18px}.performance-empty span{display:block;margin:7px;color:#687691}.performance-empty a{display:inline-block;margin-top:10px;padding:10px 16px;border-radius:12px;background:#00bda7;color:#fff;text-decoration:none;font-weight:850}.performance-empty.success{border-color:#b9eee3;background:#f2fffb}
@media(max-width:700px){.performance-scroll{padding-inline:10px}.performance-hero{min-height:285px;padding:24px 105px 24px 18px}.performance-hero img{right:-12px;width:122px}.performance-filter{align-items:stretch;flex-direction:column}.performance-filter select{width:100%}.performance-verdict{grid-template-columns:88px 1fr;gap:13px;padding:16px}.performance-score-ring{width:84px;height:84px}.performance-score-ring strong{font-size:26px}.performance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-chart-grid{grid-template-columns:1fr}.performance-chart:nth-child(3){grid-column:auto}.performance-priority-grid{grid-template-columns:1fr}.chart-box{height:235px}}

.profile-data-screen{background:linear-gradient(180deg,#f5fcff,#eef6ff)}.profile-data-scroll{padding:0 16px 120px}.profile-data-hero{position:relative;overflow:hidden;min-height:220px;margin-top:15px;padding:28px 150px 28px 24px;border-radius:29px;background:linear-gradient(135deg,#092454,#087c91);color:#fff;display:flex;align-items:center;box-shadow:0 22px 48px rgba(15,46,84,.18)}.profile-data-hero p{margin:0 0 7px;color:#3ee5ce;font-size:11px;font-weight:900;letter-spacing:1.2px}.profile-data-hero h1{margin:0;font-size:42px;font-weight:950}.profile-data-hero span{display:block;max-width:570px;margin-top:9px;color:#d7eff6;line-height:1.4}.profile-data-hero img{position:absolute;right:20px;bottom:-5px;width:135px}.profile-data-form{max-width:900px;margin:18px auto 0;display:grid;gap:14px}.profile-data-form>section{padding:22px;border:1px solid #d1e2ee;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 15px 34px rgba(15,46,84,.07)}.profile-data-form section>header{display:flex;gap:12px;margin-bottom:18px}.profile-data-form section>header>span{width:36px;height:36px;border-radius:12px;background:#00bda7;color:#fff;display:grid;place-items:center;font-weight:900}.profile-data-form h2{margin:0;color:#0b214c;font-size:20px;font-weight:900}.profile-data-form header p{margin:3px 0 0;color:#6b7891;font-size:12px}.profile-data-form label{position:relative;display:grid;gap:7px;margin-top:13px;color:#41516d;font-size:12px;font-weight:850}.profile-data-form input,.profile-data-form select{width:100%;height:48px;padding:0 14px;border:1px solid #cbddea;border-radius:13px;background:#f9fcff;color:#10234d;font-size:14px;outline:none}.profile-data-form input:focus,.profile-data-form select:focus{border-color:#00bda7;box-shadow:0 0 0 4px rgba(0,189,167,.1)}.profile-data-form input:disabled{background:#edf3f7;color:#7b879b}.profile-data-form label>small{color:#8290a4;font-weight:600}.profile-password-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-save{width:100%;min-height:52px;border:0;border-radius:15px;background:linear-gradient(90deg,#00d7ae,#00aeba);color:#fff;font-weight:900}.profile-faculty-results{position:absolute;z-index:20;left:0;right:0;top:76px;max-height:280px;overflow:auto;padding:7px;border:1px solid #c8dfeb;border-radius:14px;background:#fff;box-shadow:0 20px 45px rgba(15,46,84,.18)}.profile-faculty-results button{width:100%;padding:11px;border:0;border-radius:10px;background:#fff;text-align:left}.profile-faculty-results button:hover{background:#edfbf8}.profile-faculty-results strong,.profile-faculty-results small{display:block}.profile-faculty-results strong{color:#10234d;font-size:12px}.profile-faculty-results small{margin-top:3px;color:#74829a;font-size:10px}.profile-form-message{padding:13px;border-radius:13px;font-weight:800;text-align:center}.profile-form-message.success{background:#e5fbf5;color:#007d6e}.profile-form-message.error{background:#fff0f3;color:#c52849}@media(max-width:650px){.profile-data-scroll{padding-inline:10px}.profile-data-hero{padding:24px 100px 24px 18px}.profile-data-hero h1{font-size:34px}.profile-data-hero img{right:-12px;width:115px}.profile-password-grid{grid-template-columns:1fr}}

.caderno-page {
  padding: 16px;
  border: 1px solid rgba(210,224,239,.95);
  border-radius: 26px;
  background:
    radial-gradient(circle at 96% 0%, rgba(21,217,161,.12), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.92));
  box-shadow: 0 18px 38px rgba(15,46,84,.075);
}

.caderno-page-head {
  margin: 0 0 14px;
  padding: 4px 2px 14px;
  border-bottom: 1px solid rgba(210,224,239,.82);
}

.caderno-page-head span {
  color: #087a79;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 1.1px;
}

.caderno-page-head h2 {
  margin: 6px 0 0;
  color: var(--ink);
  font-size: clamp(21px, 5vw, 30px);
  line-height: 1.12;
  font-weight: 850;
  letter-spacing: 0;
}

.caderno-note {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  margin-top: 12px;
  border: 1px solid rgba(210,224,239,.86);
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 12px 24px rgba(15,46,84,.055);
}

.caderno-note:last-child {
  border-bottom: 1px solid rgba(210,224,239,.86);
}

.caderno-note-index {
  width: 34px;
  height: 34px;
  margin-top: 1px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(8,184,172,.18), rgba(52,125,255,.12));
  color: #087a79;
  font-size: 12px;
  font-weight: 900;
}

.caderno-note-body {
  min-width: 0;
}

.caderno-note-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.caderno-note-top span {
  display: block;
  margin-bottom: 4px;
  color: #087a79;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .9px;
  text-transform: uppercase;
}

.caderno-note h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.18;
  font-weight: 850;
  letter-spacing: 0;
}

.caderno-note-text {
  display: grid;
  gap: 9px;
}

.caderno-note p {
  margin: 0;
  color: #23365f;
  font-size: 14.5px;
  line-height: 1.62;
  font-weight: 430;
  letter-spacing: 0;
}

.caderno-note small {
  display: block;
  flex: 0 0 auto;
  max-width: 140px;
  margin-top: 1px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  font-weight: 620;
  text-align: right;
}

.caderno-risk-btn {
  width: fit-content;
  margin-top: 13px;
  padding: 8px 12px;
  border: 1px solid rgba(255,78,89,.22);
  border-radius: 999px;
  background: rgba(255,78,89,.08);
  color: #d83242;
  font-size: 11.5px;
  line-height: 1;
  font-weight: 850;
}

.caderno-note.is-crossed {
  opacity: .55;
  text-decoration: line-through;
}

.caderno-inline-shell {
  display: grid;
  gap: 16px;
}

.caderno-inline-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(255,78,89,.16);
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 10%, rgba(255,78,89,.18), transparent 34%),
    linear-gradient(145deg, #fff, #fff7f8);
}

.caderno-inline-hero p {
  margin: 0 0 5px;
  color: #e84955;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.caderno-inline-hero h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 5vw, 30px);
  font-weight: 850;
}

.caderno-inline-hero span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}

.caderno-inline-hero button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(145deg, #ff626c, #e84955);
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

.caderno-inline-hero button:disabled {
  opacity: .48;
}

.caderno-inline-loading {
  min-height: 210px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 13px;
  color: var(--ink);
}

.caderno-inline-loading span {
  width: 42px;
  height: 42px;
  border: 5px solid rgba(255,78,89,.15);
  border-top-color: #ff4e59;
  border-radius: 50%;
  animation: luzia-spin .72s linear infinite;
}

@media (max-width: 640px) {
  .caderno-inline-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .caderno-inline-hero button {
    width: 100%;
  }
}

.aula-flashcards-section,
.aula-quiz-section,
.aula-errors-section {
  margin-top: 0;
}

.flashcards-shell {
  display: grid;
  gap: 14px;
}

.flashcards-hero {
  position: relative;
  min-height: 158px;
  padding: 17px 14px;
  border-radius: 28px;
  border: 1px solid rgba(190, 174, 238, .52);
  background:
    radial-gradient(circle at 86% 25%, rgba(138,80,244,.2), transparent 30%),
    radial-gradient(circle at 72% 80%, rgba(21,217,161,.14), transparent 25%),
    linear-gradient(126deg, rgba(255,255,255,.98), rgba(246,242,255,.9));
  box-shadow: 0 18px 34px rgba(15,46,84,.1);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  align-items: center;
  gap: 8px;
  overflow: hidden;
}

.flashcards-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(138,80,244,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(8,184,172,.05) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(115deg, rgba(0,0,0,.9), transparent 80%);
}

.flashcards-hero > * {
  position: relative;
  z-index: 2;
}

.flashcards-hero p {
  margin: 0 0 7px;
  color: #7554d6;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.flashcards-hero h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 5.6vw, 31px);
  line-height: 1.04;
  font-weight: 880;
  letter-spacing: 0;
}

.flashcards-hero span {
  display: block;
  margin-top: 9px;
  color: #62728c;
  font-size: 13px;
  line-height: 1.28;
  font-weight: 650;
}

.flashcards-hero img {
  width: 116px;
  max-width: none;
  justify-self: end;
  margin-right: -22px;
  filter: drop-shadow(0 15px 17px rgba(7,29,68,.15));
}

.flashcards-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(210,224,239,.92);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 22px rgba(15,46,84,.055);
}

.flashcards-status-row strong,
.flashcards-status-row span {
  display: block;
}

.flashcards-status-row strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
}

.flashcards-status-row span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
  font-weight: 680;
}

.flashcards-status-row b {
  min-width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #8a50f4, #08aeb1);
  color: #fff;
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 14px 22px rgba(78,86,190,.2);
}

.flashcards-timer-track {
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(210,224,239,.86);
  box-shadow: inset 0 1px 2px rgba(7,29,68,.07);
}

.flashcards-timer-track i {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #15d9a1, #8a50f4);
  transition: width .25s linear;
}

.flashcard-stage {
  position: relative;
  min-height: 340px;
  padding: 0;
  border: 0;
  border-radius: 30px;
  background: transparent;
  color: inherit;
  perspective: 1200px;
  transform-style: preserve-3d;
}

.flashcard-stage::before {
  content: "";
  position: absolute;
  inset: 18px 12px -10px;
  border-radius: 30px;
  background: rgba(58,68,110,.12);
  filter: blur(18px);
}

.flashcard-priority {
  position: absolute;
  z-index: 5;
  top: 16px;
  left: 16px;
  padding: 8px 10px;
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .4px;
  text-transform: uppercase;
  box-shadow: 0 10px 18px rgba(15,46,84,.14);
}

.flashcard-priority.is-error {
  background: linear-gradient(135deg, #ff4e59, #f5a10a);
}

.flashcard-priority.is-review {
  background: linear-gradient(135deg, #347dff, #08aeb1);
}

.flashcard-face {
  position: absolute;
  inset: 0;
  min-height: 340px;
  padding: 62px 22px 26px;
  border: 1px solid rgba(190,174,238,.72);
  border-radius: 30px;
  background:
    radial-gradient(circle at 86% 15%, rgba(138,80,244,.17), transparent 27%),
    radial-gradient(circle at 10% 90%, rgba(21,217,161,.12), transparent 26%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,251,255,.94));
  box-shadow: 0 20px 40px rgba(15,46,84,.12);
  backface-visibility: hidden;
  transform-style: preserve-3d;
  transition: transform .55s cubic-bezier(.2,.8,.2,1);
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.flashcard-front {
  transform: rotateY(0deg);
}

.flashcard-back {
  transform: rotateY(180deg);
  background:
    radial-gradient(circle at 86% 15%, rgba(21,217,161,.16), transparent 27%),
    radial-gradient(circle at 8% 92%, rgba(52,125,255,.12), transparent 25%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,253,251,.94));
}

.flashcard-stage.is-flipped .flashcard-front {
  transform: rotateY(-180deg);
}

.flashcard-stage.is-flipped .flashcard-back {
  transform: rotateY(0deg);
}

.flashcard-face small {
  color: #7554d6;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.flashcard-face strong {
  display: block;
  max-width: 760px;
  margin-top: 12px;
  color: var(--ink);
  font-size: clamp(24px, 6vw, 42px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: 0;
}

.flashcard-back strong {
  color: #0d2359;
  font-size: clamp(18px, 4.5vw, 27px);
  line-height: 1.36;
  font-weight: 800;
  text-align: left;
}

.flashcard-face em {
  margin-top: 20px;
  color: #62728c;
  font-size: 13px;
  line-height: 1;
  font-style: normal;
  font-weight: 780;
}

.flashcard-progress-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
}

.flashcard-progress-dots button {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(138,80,244,.22);
  border-radius: 12px;
  background: rgba(255,255,255,.9);
  color: #7554d6;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}

.flashcard-progress-dots button.active {
  background: linear-gradient(135deg, #8a50f4, #08aeb1);
  border-color: transparent;
  color: #fff;
}

.flashcards-nav {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.flashcards-nav button,
.flashcards-empty > button {
  min-height: 48px;
  padding: 0 17px;
  border: 1px solid rgba(210,224,239,.95);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  color: var(--ink);
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 12px 22px rgba(15,46,84,.07);
}

.flashcards-nav .primary-action,
.flashcards-empty > .primary-action {
  border-color: transparent;
  background: linear-gradient(135deg, #08d7b1, #0b8fe8);
  color: #fff;
}

.flashcards-nav button:disabled {
  opacity: .48;
}

.flashcards-loader {
  min-height: 180px;
  border: 1px solid rgba(210,224,239,.92);
  border-radius: 28px;
  background: rgba(255,255,255,.76);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.flashcards-loader span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #8a50f4;
  animation: flashLoader 1s ease-in-out infinite;
}

.flashcards-loader span:nth-child(2) {
  animation-delay: .15s;
  background: #08aeb1;
}

.flashcards-loader span:nth-child(3) {
  animation-delay: .3s;
  background: #15d9a1;
}

@keyframes flashLoader {
  0%, 100% {
    transform: translateY(0);
    opacity: .45;
  }

  50% {
    transform: translateY(-9px);
    opacity: 1;
  }
}

.quiz-shell {
  display: grid;
  gap: 13px;
}

.quiz-hero,
.quiz-result-hero {
  position: relative;
  min-height: 154px;
  padding: 17px 14px;
  border-radius: 28px;
  border: 1px solid rgba(174,225,229,.92);
  background:
    radial-gradient(circle at 86% 24%, rgba(52,125,255,.16), transparent 30%),
    linear-gradient(126deg, rgba(255,255,255,.98), rgba(240,253,255,.9));
  box-shadow: 0 18px 34px rgba(15,46,84,.1);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  align-items: center;
  gap: 8px;
  overflow: hidden;
}

.quiz-hero::before,
.quiz-result-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,174,178,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(52,125,255,.055) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(115deg, rgba(0,0,0,.9), transparent 80%);
}

.quiz-hero > *,
.quiz-result-hero > * {
  position: relative;
  z-index: 2;
}

.quiz-hero p,
.quiz-result-hero p {
  margin: 0 0 7px;
  color: #347dff;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.quiz-hero h2,
.quiz-result-hero h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 5.6vw, 30px);
  line-height: 1.04;
  font-weight: 850;
}

.quiz-hero span,
.quiz-result-hero span {
  display: block;
  margin-top: 9px;
  color: #62728c;
  font-size: 13px;
  line-height: 1.28;
  font-weight: 650;
}

.quiz-hero img {
  width: 116px;
  max-width: none;
  justify-self: end;
  margin-right: -22px;
  filter: drop-shadow(0 15px 17px rgba(7,29,68,.15));
}

.quiz-progress {
  height: 9px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(210,224,239,.85);
  box-shadow: inset 0 1px 2px rgba(7,29,68,.07);
}

.quiz-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #15d9a1, #347dff);
  transition: width .2s ease;
}

.quiz-tool-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  justify-content: flex-end;
}

.quiz-tool-row button {
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid rgba(52,125,255,.18);
  border-radius: 999px;
  background: rgba(247,251,255,.94);
  color: #1f4f98;
  font-size: 12.5px;
  line-height: 1;
  font-weight: 850;
  box-shadow: 0 10px 20px rgba(15,46,84,.055);
}

.quiz-question-card {
  padding: 16px;
  border-radius: 26px;
  border: 1px solid rgba(185,218,238,.9);
  background:
    radial-gradient(circle at 90% 12%, rgba(21,217,161,.13), transparent 27%),
    rgba(255,255,255,.92);
  box-shadow: 0 16px 30px rgba(15,46,84,.08);
}

.quiz-question-card.needs-answer {
  border-color: rgba(255,78,89,.38);
  box-shadow: 0 16px 30px rgba(255,78,89,.1);
}

.quiz-question-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.quiz-question-meta span,
.quiz-question-meta em {
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-style: normal;
  font-weight: 850;
  text-transform: uppercase;
}

.quiz-question-meta span {
  background: rgba(8,184,172,.12);
  color: #087a79;
}

.quiz-question-meta em {
  background: rgba(255,78,89,.1);
  color: #c83540;
}

.quiz-question-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(17px, 4.6vw, 21px);
  line-height: 1.32;
  font-weight: 780;
}

.quiz-options {
  display: grid;
  gap: 9px;
  margin-top: 15px;
}

.quiz-option {
  width: 100%;
  min-height: 62px;
  padding: 11px;
  border-radius: 18px;
  border: 1px solid rgba(210,224,239,.95);
  background: rgba(247,251,255,.92);
  color: var(--ink);
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  text-align: left;
}

.quiz-option b {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: rgba(52,125,255,.12);
  color: #245fc7;
  font-size: 13px;
  font-weight: 850;
}

.quiz-option span {
  color: #4f5f77;
  font-size: 14px;
  line-height: 1.32;
  font-weight: 620;
}

.quiz-option.is-selected {
  border-color: rgba(8,184,172,.52);
  background: rgba(236,255,251,.94);
  box-shadow: 0 12px 22px rgba(8,184,172,.1);
}

.quiz-option.is-selected b {
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
}

.quiz-nav {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 10px;
  margin-top: 15px;
}

.quiz-nav button {
  min-height: 46px;
  border: 0;
  border-radius: 17px;
  background: rgba(226,239,249,.92);
  color: var(--ink);
  font-size: 14px;
  font-weight: 820;
}

.quiz-nav button:disabled {
  opacity: .48;
}

.quiz-result-hero {
  grid-template-columns: minmax(0, 1fr) 105px;
}

.quiz-result-hero.level-bom {
  background:
    radial-gradient(circle at 84% 22%, rgba(21,217,161,.24), transparent 32%),
    rgba(255,255,255,.94);
}

.quiz-result-hero.level-melhorar {
  background:
    radial-gradient(circle at 84% 22%, rgba(245,161,10,.2), transparent 32%),
    rgba(255,255,255,.94);
}

.quiz-result-hero.level-critico {
  background:
    radial-gradient(circle at 84% 22%, rgba(255,78,89,.18), transparent 32%),
    rgba(255,255,255,.94);
}

.quiz-score-ring {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  align-content: center;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.95) 0 56%, transparent 57%),
    conic-gradient(#15d9a1 0 var(--quiz-score, 0%), rgba(210,224,239,.95) var(--quiz-score, 0%) 100%);
  box-shadow: 0 14px 24px rgba(15,46,84,.12);
}

.quiz-score-ring strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
  font-weight: 880;
}

.quiz-score-ring small {
  color: #65748d;
  font-size: 11px;
  line-height: 1;
  font-weight: 780;
}

.quiz-luzia-cta {
  min-height: 68px;
  padding: 9px 13px;
  border-radius: 22px;
  border: 1px solid rgba(21,217,161,.34);
  background: linear-gradient(126deg, rgba(236,255,251,.96), rgba(255,255,255,.92));
  color: var(--ink);
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  text-decoration: none;
  box-shadow: 0 14px 26px rgba(8,184,172,.09);
  text-align: left;
  cursor: pointer;
}

.quiz-luzia-cta img {
  width: 70px;
  max-width: none;
  margin-left: -9px;
}

.quiz-luzia-cta span {
  color: #087a79;
  font-size: 15px;
  font-weight: 850;
}

.quiz-result-grid {
  display: grid;
  gap: 9px;
  grid-template-columns: minmax(0, 1fr);
}

.quiz-result-row {
  display: grid;
  gap: 8px;
}

.quiz-result-item {
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(210,224,239,.92);
  background: rgba(255,255,255,.92);
  display: grid;
  grid-template-columns: 42px 1fr 1fr auto;
  align-items: center;
  gap: 8px;
  box-shadow: 0 12px 22px rgba(15,46,84,.055);
  cursor: pointer;
}

.quiz-result-item strong {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #347dff;
  font-size: 13px;
  font-weight: 850;
}

.quiz-result-item span {
  color: #4f5f77;
  font-size: 12px;
  font-weight: 740;
}

.quiz-result-item b {
  padding: 7px 9px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
}

.quiz-result-item.is-correct b {
  background: rgba(21,217,161,.14);
  color: #087a79;
}

.quiz-result-item.is-wrong {
  border-color: rgba(255,78,89,.38);
  background: rgba(255,246,247,.94);
}

.quiz-result-item.is-wrong strong {
  background: #ff4e59;
}

.quiz-result-item.is-wrong b {
  background: rgba(255,78,89,.13);
  color: #c83540;
}

.quiz-result-detail {
  padding: 13px;
  border-radius: 18px;
  border: 1px solid rgba(210,224,239,.92);
  background: rgba(247,251,255,.96);
}

.quiz-result-detail p {
  margin: 0 0 9px;
  color: var(--ink);
  font-size: 13.5px;
  line-height: 1.38;
  font-weight: 720;
}

.quiz-result-detail small {
  display: block;
  color: #4f5f77;
  font-size: 13px;
  line-height: 1.42;
  font-weight: 580;
}

.quiz-result-detail em {
  display: block;
  margin-bottom: 8px;
  color: #087a79;
  font-size: 11.5px;
  line-height: 1;
  font-style: normal;
  font-weight: 820;
}

.quiz-history-empty {
  padding: 18px;
  border: 1px solid rgba(210,224,239,.92);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 22px rgba(15,46,84,.055);
}

.quiz-history-empty h3 {
  margin: 0 0 6px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.2;
  font-weight: 850;
}

.quiz-history-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 620;
}

.quiz-error .quiz-hero {
  border-color: rgba(255,78,89,.28);
}

.luzia-tutor-section {
  margin-top: 0;
}

.luzia-tutor-shell {
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 84% 13%, rgba(21,217,161,.2), transparent 31%),
    radial-gradient(circle at 10% 88%, rgba(52,125,255,.1), transparent 33%),
    rgba(255,255,255,.94);
  box-shadow: none;
  overflow: hidden;
}

.luzia-tutor-hero {
  min-height: 188px;
  padding: 18px 16px 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 124px;
  align-items: center;
  gap: 8px;
}

.luzia-tutor-copy p {
  margin: 0 0 8px;
  color: #08aeb1;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.luzia-tutor-copy h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(23px, 5.6vw, 31px);
  line-height: 1.06;
  font-weight: 850;
}

.luzia-tutor-copy span {
  display: block;
  margin-top: 9px;
  color: #62728c;
  font-size: 13px;
  line-height: 1.32;
  font-weight: 650;
}

.luzia-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 14px 14px;
}

.luzia-toolbar button,
.luzia-replay {
  width: 100%;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid rgba(210,224,239,.95);
  border-radius: 16px;
  background: #fff;
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1;
  font-weight: 820;
  box-shadow: 0 8px 18px rgba(15,46,84,.055);
}

.luzia-toolbar button:first-child {
  border-color: transparent;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
}

.luzia-toolbar .luzia-mind-map-action {
  border-color: rgba(139,92,246,.22);
  background: linear-gradient(145deg, #8b5cf6, #347dff);
  color: #fff;
  box-shadow: 0 9px 20px rgba(91,80,210,.18);
}

.luzia-toolbar .luzia-end-action {
  border-color: rgba(255,78,89,.32);
  background: linear-gradient(145deg, #fff4f5, #ffe9ed);
  color: #e21d48;
  box-shadow: 0 9px 20px rgba(226,29,72,.1);
}

.luzia-toolbar .luzia-end-action:not(:disabled):hover {
  border-color: rgba(255,78,89,.48);
  background: linear-gradient(145deg, #ff4e59, #e21d48);
  color: #fff;
}

.luzia-toolbar button:disabled,
.luzia-composer button:disabled,
.luzia-composer textarea:disabled {
  opacity: .58;
}

.luzia-avatar-stage {
  position: relative;
  min-height: 146px;
  display: grid;
  place-items: center;
}

.luzia-avatar-stage img {
  position: relative;
  z-index: 2;
  width: 154px;
  max-width: none;
  filter: drop-shadow(0 17px 18px rgba(7,29,68,.14));
}

.luzia-avatar-stage span {
  position: absolute;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  border: 1px solid rgba(8,184,172,.28);
  box-shadow: 0 0 0 16px rgba(8,184,172,.055), 0 0 32px rgba(8,184,172,.2);
}

.luzia-avatar-stage.is-speaking span {
  animation: voice-ring 1.05s ease-out infinite;
}

.luzia-avatar-stage.is-speaking img {
  animation: voice-avatar-pulse 1s ease-in-out infinite alternate;
}

.luzia-status {
  margin: 0 14px 10px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(8,184,172,.09);
  color: #26736d;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 720;
}

.luzia-audio-player {
  margin: 0 14px 12px;
  padding: 10px;
  border: 1px solid rgba(8,184,172,.2);
  border-radius: 18px;
  background:
    radial-gradient(circle at 14% 18%, rgba(21,217,161,.18), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(238,255,252,.96));
  box-shadow: 0 14px 28px rgba(15,46,84,.08);
}

.luzia-audio-player[hidden] {
  display: none;
}

.luzia-audio-progress {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(15,46,84,.09);
}

.luzia-audio-progress i {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #15d9a1, #08aeb1, #347dff);
  transition: width .18s linear;
}

.luzia-audio-controls {
  display: grid;
  grid-template-columns: 62px 1fr 62px;
  gap: 8px;
  align-items: center;
  margin-top: 9px;
}

.luzia-audio-controls button {
  min-height: 38px;
  border: 0;
  border-radius: 14px;
  background: rgba(232,244,252,.92);
  color: #087a79;
  font-size: 12px;
  font-weight: 900;
}

.luzia-audio-controls button.is-main {
  background: linear-gradient(135deg, #12cdb6, #2f72ff);
  color: #fff;
  box-shadow: 0 10px 18px rgba(12,177,181,.18);
}

.luzia-audio-controls span {
  grid-column: 1 / -1;
  color: #65758e;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.luzia-chat {
  max-height: 440px;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 12px 14px 14px;
  scroll-behavior: smooth;
}

.luzia-chat[hidden] {
  display: none;
}

.luzia-voice-panel {
  margin: 12px 14px 14px;
  border: 1px solid rgba(188,229,234,.88);
  border-radius: 24px;
  box-shadow: 0 16px 34px rgba(15,46,84,.08);
}

.luzia-voice-panel h3 {
  position: relative;
  z-index: 2;
  margin: 0;
  color: var(--ink);
  font-size: 19px;
  line-height: 1.1;
  font-weight: 850;
}

.luzia-voice-panel > p {
  position: relative;
  z-index: 2;
  max-width: 520px;
  margin: 8px 0 0;
  color: #087a79;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 720;
}

.luzia-voice-state-grid {
  margin-top: 14px;
}

.luzia-voice-panel .voice-state-card[data-speaker="ai"] i img {
  width: 58px;
  height: 58px;
}

.luzia-bubble {
  display: grid;
  gap: 9px;
}

.luzia-bubble.is-luzia {
  grid-template-columns: 44px minmax(0, 1fr);
  justify-items: start;
}

.luzia-bubble.is-student {
  grid-template-columns: minmax(0, 1fr);
  justify-items: end;
}

.luzia-bubble img {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  object-fit: cover;
  background: rgba(8,184,172,.1);
  border: 1px solid rgba(8,184,172,.22);
}

.luzia-bubble div {
  max-width: 100%;
  padding: 13px 14px;
  border-radius: 19px;
  box-shadow: 0 10px 22px rgba(15,46,84,.075);
}

.luzia-bubble div > span {
  display: block;
  margin-bottom: 4px;
  color: #08aeb1;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.luzia-bubble.is-luzia div {
  position: relative;
  border: 1px solid rgba(188,229,234,.82);
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(237,255,251,.96));
}

.luzia-bubble.is-student div {
  max-width: 88%;
  background: linear-gradient(135deg, #0fb9af, #128bd7);
}

.luzia-bubble.is-student div > span {
  color: rgba(255,255,255,.78);
}

.luzia-bubble p {
  margin: 0;
  color: var(--ink);
  font-size: 14.5px;
  line-height: 1.42;
  font-weight: 570;
}

.luzia-bubble.is-student p {
  color: #fff;
}

.luzia-bubble.is-voice-summary div {
  padding: 12px 14px;
}

.luzia-bubble.is-voice-summary p {
  font-size: 13.5px;
  line-height: 1.22;
  font-weight: 850;
}

.luzia-bubble.is-waiting-voice div {
  overflow: hidden;
}

.luzia-bubble.is-waiting-voice div > p {
  opacity: .28;
  filter: blur(.8px);
}

.luzia-bubble.is-waiting-voice div::before {
  content: "Preparando a voz da LuzIA...";
  position: absolute;
  left: 14px;
  right: 14px;
  top: 50%;
  z-index: 3;
  min-height: 44px;
  padding: 13px 14px 13px 44px;
  border: 1px solid rgba(8,184,172,.24);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  color: #087a79;
  font-size: 13.5px;
  line-height: 1.15;
  font-weight: 850;
  box-shadow: 0 14px 26px rgba(8,184,172,.16);
  transform: translateY(-50%);
}

.luzia-bubble.is-waiting-voice div::after {
  content: "";
  position: absolute;
  left: 30px;
  top: 50%;
  z-index: 4;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 3px solid rgba(8,184,172,.18);
  border-top-color: #08aeb1;
  animation: luzia-spin .72s linear infinite;
  transform: translateY(-50%);
}

@keyframes luzia-spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}

.luzia-thinking div {
  border-color: rgba(8,184,172,.38);
  background:
    radial-gradient(circle at 92% 16%, rgba(21,217,161,.18), transparent 28%),
    linear-gradient(135deg, rgba(236,255,251,.98), rgba(255,255,255,.96));
  box-shadow: 0 16px 32px rgba(8,184,172,.14);
}

.luzia-thinking strong {
  display: block;
  color: #087a79;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 850;
}

.luzia-thinking p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  min-height: 18px;
}

.luzia-thinking p span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #08aeb1;
  box-shadow: 0 0 0 4px rgba(8,184,172,.1);
  animation: luzia-thinking-dot .9s ease-in-out infinite;
}

.luzia-thinking p span:nth-child(2) {
  animation-delay: .14s;
}

.luzia-thinking p span:nth-child(3) {
  animation-delay: .28s;
}

@keyframes luzia-thinking-dot {
  0%, 100% {
    opacity: .38;
    transform: translateY(0) scale(.86);
  }

  50% {
    opacity: 1;
    transform: translateY(-5px) scale(1);
  }
}

.luzia-replay {
  margin: 0 14px 12px;
}

.luzia-options {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 0 14px 12px;
}

.luzia-options[hidden] {
  display: none;
}

.luzia-options button {
  min-height: 40px;
  max-width: 100%;
  padding: 9px 13px;
  border: 1px solid rgba(8,184,172,.28);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(236,255,251,.98), rgba(255,255,255,.96));
  color: #087a79;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 820;
  box-shadow: 0 10px 18px rgba(8,184,172,.08);
  text-align: left;
}

.luzia-options button:hover {
  border-color: rgba(8,184,172,.46);
  background: #fff;
  box-shadow: 0 13px 22px rgba(8,184,172,.12);
}

.luzia-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px 64px;
  align-items: end;
  gap: 8px;
  padding: 12px 14px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(214,225,239,.9);
  background: rgba(255,255,255,.88);
}

.luzia-composer textarea {
  min-width: 0;
  min-height: 48px;
  max-height: 118px;
  resize: vertical;
  border: 1px solid rgba(210,224,239,.95);
  border-radius: 17px;
  outline: 0;
  background: rgba(247,251,255,.96);
  color: var(--ink);
  padding: 13px 14px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 620;
}

.luzia-mic,
.luzia-send {
  min-height: 44px;
  border: 0;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, #347dff, #08aeb1);
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 850;
}

.luzia-mic svg {
  width: 21px;
  height: 21px;
}

.luzia-mic.is-recording {
  background: linear-gradient(145deg, #ff4e59, #f5a10a);
  animation: read-pulse 1s infinite;
}

.luzia-send {
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
}

.review-chat-shell {
  margin-top: 14px;
  padding: 16px;
  border-radius: 28px;
  border: 1px solid rgba(174,225,229,.92);
  background:
    radial-gradient(circle at 86% 10%, rgba(21,217,161,.18), transparent 30%),
    rgba(255,255,255,.9);
  box-shadow: 0 18px 34px rgba(15,46,84,.09);
  display: grid;
  gap: 12px;
}

.review-chat-hero {
  min-height: 112px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px;
  align-items: center;
  gap: 8px;
}

.review-chat-hero p {
  margin: 0 0 7px;
  color: #08aeb1;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.review-chat-hero h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(21px, 5.2vw, 27px);
  line-height: 1.06;
  font-weight: 850;
}

.review-chat-hero span {
  display: block;
  margin-top: 8px;
  color: #62728c;
  font-size: 13px;
  line-height: 1.28;
  font-weight: 650;
}

.review-chat-hero img {
  width: 108px;
  max-width: none;
  justify-self: end;
  margin-right: -20px;
  filter: drop-shadow(0 14px 16px rgba(7,29,68,.14));
}

.review-chat {
  width: 100%;
  min-height: 260px;
  overflow: visible;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(210,224,239,.7);
  border-radius: 22px;
  background: rgba(247,251,255,.62);
  scroll-behavior: smooth;
}

.review-chat .chat-bubble {
  width: min(100%, 780px);
  margin: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 0;
  box-shadow: none;
  background: transparent;
}

.review-chat .chat-bubble.student-bubble {
  justify-self: end;
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 720px);
}

.review-chat .chat-bubble > div {
  max-width: 100%;
  padding: 13px 14px;
  border-radius: 18px;
  border: 1px solid rgba(174,225,229,.9);
  background: rgba(236,255,251,.86);
  box-shadow: 0 10px 22px rgba(15,46,84,.055);
}

.review-chat .chat-bubble.student-bubble > div {
  border-color: rgba(8,184,172,.28);
  background: linear-gradient(145deg, #13d5a0, #078fd6);
  color: #fff;
}

.review-chat .bubble-avatar {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(236,255,251,.95);
  border: 1px solid rgba(8,184,172,.22);
}

.review-chat .bubble-avatar img {
  width: 58px;
  max-width: none;
}

.review-chat .chat-bubble p {
  white-space: pre-line;
  margin: 0;
  color: inherit;
  font-size: 15px;
  line-height: 1.48;
  font-weight: 560;
}

.review-chat .chat-bubble small {
  display: block;
  margin-top: 8px;
  color: #087a79;
  font-size: 11.5px;
  line-height: 1;
  font-weight: 820;
}

.review-chat .student-bubble small {
  color: rgba(255,255,255,.82);
}

.review-choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}

.review-question-reference {
  width: min(100%, 780px);
  margin-left: 53px;
  display: grid;
  gap: 10px;
}

.review-question-card {
  padding: 14px;
  border: 1px solid rgba(210,224,239,.92);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 24px rgba(15,46,84,.06);
}

.review-question-card h3 {
  margin: 0 0 12px;
  color: var(--ink);
  font-size: 14.5px;
  line-height: 1.45;
  font-weight: 780;
}

.review-question-options {
  display: grid;
  gap: 8px;
}

.review-question-option {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 9px;
  border: 1px solid rgba(210,224,239,.92);
  border-radius: 14px;
  background: rgba(247,251,255,.8);
}

.review-question-option b {
  width: 30px;
  height: 30px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: rgba(52,125,255,.12);
  color: #1f4f98;
  font-size: 12px;
  font-weight: 900;
}

.review-question-option span {
  color: #33445f;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 620;
}

.review-question-option em {
  padding: 6px 8px;
  border-radius: 999px;
  color: #4f5f77;
  background: rgba(226,239,249,.94);
  font-size: 10.5px;
  line-height: 1;
  font-style: normal;
  font-weight: 850;
}

.review-question-option.is-correct {
  border-color: rgba(21,217,161,.4);
  background: rgba(236,255,251,.96);
}

.review-question-option.is-correct b,
.review-question-option.is-marked-correct b {
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
}

.review-question-option.is-correct em {
  background: rgba(21,217,161,.16);
  color: #087a79;
}

.review-question-option.is-marked-wrong {
  border-color: rgba(255,78,89,.42);
  background: rgba(255,246,247,.96);
}

.review-question-option.is-marked-wrong b {
  background: #ff4e59;
  color: #fff;
}

.review-question-option.is-marked-wrong em {
  background: rgba(255,78,89,.13);
  color: #c83540;
}

.review-choice-row button {
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  font-size: 14px;
  font-weight: 850;
  box-shadow: 0 12px 22px rgba(8,184,172,.18);
}

.review-choice-row button + button {
  background: rgba(226,239,249,.94);
  color: var(--ink);
  box-shadow: none;
}

.review-composer {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px auto;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(210,224,239,.72);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
}

.review-composer input {
  min-width: 0;
  height: 46px;
  border: 1px solid rgba(210,224,239,.95);
  border-radius: 16px;
  background: rgba(247,251,255,.96);
  color: var(--ink);
  padding: 0 13px;
  font-size: 14px;
  font-weight: 620;
  outline: none;
}

.review-voice-toggle,
.review-mic,
.review-send {
  height: 42px;
  border: 0;
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #347dff, #08aeb1);
}

.review-voice-toggle svg,
.review-mic svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.review-voice-toggle.is-active {
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  box-shadow: 0 10px 20px rgba(8,184,172,.18);
}

.review-mic.is-recording {
  background: linear-gradient(145deg, #ff4e59, #f5a10a);
  animation: read-pulse 1s infinite;
}

.review-send {
  min-width: 68px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 850;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
}

@media (max-width: 520px) {
  .review-chat-shell {
    padding: 12px;
  }

  .review-chat {
    min-height: 320px;
    padding: 9px;
  }

  .review-chat .chat-bubble {
    width: 100%;
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .review-question-reference {
    width: 100%;
    margin-left: 0;
  }

  .review-question-option {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .review-question-option em {
    grid-column: 2;
    width: fit-content;
  }

  .review-chat .bubble-avatar {
    width: 36px;
    height: 36px;
    border-radius: 14px;
  }

  .review-composer {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
  }

  .review-send {
    grid-column: 1 / -1;
    width: 100%;
  }
}

.subject-tech-icon {
  width: 58px;
  height: 58px;
  border-radius: 19px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(8,174,178,.18), rgba(52,125,255,.12));
  border: 1px solid rgba(8, 184, 172, .24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 11px 20px rgba(7,29,68,.11);
}

.subject-tech-icon i {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #08aeb1;
  box-shadow: 0 0 18px rgba(8,184,172,.38);
}

.subject-tech-icon.neural i::before,
.subject-tech-icon.neural i::after,
.subject-tech-icon.pulse i::before,
.subject-tech-icon.pulse i::after,
.subject-tech-icon.orbit i::before,
.subject-tech-icon.orbit i::after,
.subject-tech-icon.dna i::before,
.subject-tech-icon.dna i::after,
.subject-tech-icon.scan i::before,
.subject-tech-icon.scan i::after,
.subject-tech-icon.matrix i::before,
.subject-tech-icon.matrix i::after,
.subject-tech-icon.plus-icon i::before,
.subject-tech-icon.plus-icon i::after {
  content: "";
  position: absolute;
}

.subject-tech-icon.neural i::before {
  inset: 6px;
  border-radius: 50%;
  background: #15d9a1;
  box-shadow: -16px -5px 0 -2px #347dff, 15px 9px 0 -2px #f5a10a;
}

.subject-tech-icon.neural i::after {
  left: -9px;
  top: 13px;
  width: 46px;
  height: 2px;
  background: rgba(8,174,178,.7);
  transform: rotate(22deg);
}

.subject-tech-icon.pulse i {
  border-radius: 8px;
  border-color: #347dff;
}

.subject-tech-icon.pulse i::before {
  left: -7px;
  top: 13px;
  width: 42px;
  height: 2px;
  background: #347dff;
  box-shadow: 10px -8px 0 -1px #15d9a1, 20px 7px 0 -1px #f5a10a;
}

.subject-tech-icon.orbit i::before {
  inset: -8px -3px;
  border: 2px solid rgba(52,125,255,.7);
  border-radius: 50%;
  transform: rotate(-24deg);
}

.subject-tech-icon.orbit i::after {
  right: -6px;
  top: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f5a10a;
}

.subject-tech-icon.dna i {
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg, transparent 45%, #8a50f4 46% 54%, transparent 55%);
}

.subject-tech-icon.dna i::before,
.subject-tech-icon.dna i::after {
  width: 22px;
  height: 2px;
  left: 3px;
  background: #8a50f4;
  box-shadow: 0 8px 0 #347dff, 0 16px 0 #15d9a1;
  transform: rotate(28deg);
}

.subject-tech-icon.dna i::after {
  transform: rotate(-28deg);
}

.subject-tech-icon.scan i {
  border-radius: 9px;
  border-color: #ff4e59;
}

.subject-tech-icon.scan i::before {
  left: 5px;
  right: 5px;
  top: 13px;
  height: 2px;
  background: #ff4e59;
  box-shadow: 0 0 12px rgba(255,78,89,.62);
}

.subject-tech-icon.scan i::after {
  inset: 6px;
  border: 1px solid rgba(255,78,89,.44);
  border-radius: 50%;
}

.subject-tech-icon.matrix i {
  border-radius: 7px;
  border-color: #f5a10a;
  background:
    radial-gradient(circle at 30% 30%, #f5a10a 0 2px, transparent 3px),
    radial-gradient(circle at 70% 30%, #15d9a1 0 2px, transparent 3px),
    radial-gradient(circle at 30% 70%, #347dff 0 2px, transparent 3px),
    radial-gradient(circle at 70% 70%, #8a50f4 0 2px, transparent 3px);
}

.subject-tech-icon.plus-icon i {
  border-color: #15d9a1;
}

.subject-tech-icon.plus-icon i::before,
.subject-tech-icon.plus-icon i::after {
  left: 7px;
  right: 7px;
  top: 13px;
  height: 3px;
  border-radius: 99px;
  background: #15d9a1;
}

.subject-tech-icon.plus-icon i::after {
  transform: rotate(90deg);
}

.add-subject-card {
  border-style: dashed;
  border-color: rgba(8,184,172,.48);
  background:
    linear-gradient(110deg, rgba(240,255,252,.95), rgba(255,255,255,.9));
}

.grade-add-action-card,
.lesson-add-action-card {
  min-height: 106px;
  border: 2px dashed rgba(8,174,177,.52);
  background:
    radial-gradient(circle at 88% 18%, rgba(21,217,161,.24), transparent 30%),
    repeating-linear-gradient(135deg, transparent 0 13px, rgba(8,174,177,.045) 14px 15px),
    linear-gradient(135deg, #effff9, #f7fffd);
  box-shadow:
    inset 0 0 0 5px rgba(255,255,255,.48),
    0 12px 26px rgba(8,174,177,.09);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.grade-add-action-card::after,
.lesson-add-action-card::after {
  position: absolute;
  right: 13px;
  bottom: 10px;
  z-index: 3;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(8,174,177,.1);
  color: #078487;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .8px;
}

.grade-add-action-card::after {
  content: "NOVA MATÉRIA";
}

.lesson-add-action-card::after {
  content: "NOVO TEMA";
}

.lesson-personalized-create-card::after {
  content: "AULA PESSOAL";
}

.lesson-personalized-empty small {
  max-width: 420px;
}

.grade-add-action-card .subject-tech-icon,
.lesson-add-action-card .subject-tech-icon {
  width: 66px;
  height: 66px;
  border: 2px solid rgba(21,217,161,.24);
  background: linear-gradient(145deg, #fff, #ddfff4);
  box-shadow: 0 12px 24px rgba(8,174,177,.15);
}

.grade-add-action-card strong,
.lesson-add-action-card strong {
  color: #087d7b;
}

.grade-add-action-card:hover,
.lesson-add-action-card:hover {
  border-color: #08aeb1;
  box-shadow:
    inset 0 0 0 5px rgba(255,255,255,.6),
    0 17px 32px rgba(8,174,177,.15);
  transform: translateY(-2px);
}

.subject-loading span {
  width: 58px;
  height: 58px;
  border-radius: 19px;
  background: linear-gradient(90deg, #e6f0f8, #f8fbff, #e6f0f8);
  background-size: 200% 100%;
  animation: subject-shimmer 1.2s infinite;
}

@keyframes subject-shimmer {
  to {
    background-position: -200% 0;
  }
}

.ai-suggestion-panel {
  padding: 17px;
  border: 1px solid rgba(174, 225, 229, .86);
  border-radius: 26px;
  background:
    radial-gradient(circle at 86% 17%, rgba(21,217,161,.2), transparent 26%),
    repeating-linear-gradient(135deg, transparent 0 12px, rgba(8,174,178,.052) 13px 14px),
    rgba(255,255,255,.8);
  box-shadow: 0 18px 34px rgba(15,46,84,.09);
}

.ai-suggestion-head {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
}

.ai-suggestion-head img {
  width: 88px;
  max-width: none;
  margin-left: -11px;
  filter: drop-shadow(0 12px 16px rgba(7,29,68,.11));
}

.studies-ai-action {
  margin-top: 15px;
}

.ai-grade-first {
  position: relative;
  overflow: hidden;
  border-color: rgba(21,217,161,.42);
  background:
    radial-gradient(circle at 92% 8%, rgba(21,217,161,.27), transparent 32%),
    linear-gradient(145deg, rgba(239,255,249,.98), rgba(255,255,255,.94));
}

.ai-grade-first.is-after-grade {
  margin-top: 2px;
  border-color: rgba(174,225,229,.86);
  background:
    radial-gradient(circle at 92% 8%, rgba(21,217,161,.17), transparent 32%),
    linear-gradient(145deg, rgba(247,255,252,.96), rgba(255,255,255,.92));
}

.ai-grade-first::after {
  content: "1";
  position: absolute;
  right: 13px;
  top: 8px;
  color: rgba(8,174,177,.07);
  font-size: 94px;
  line-height: 1;
  font-weight: 950;
  pointer-events: none;
}

.ai-step-label {
  margin: 0 0 5px !important;
  color: #07958f !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.grade-ai-modal {
  position: relative;
  overflow: hidden;
  border: 0;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 5%, rgba(21,217,161,.18), transparent 28%),
    #fff;
  box-shadow: 0 28px 80px rgba(7,29,68,.24);
}

.grade-ai-visual {
  position: absolute;
  right: 14px;
  top: 8px;
  width: 108px;
  height: 108px;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.grade-ai-visual img {
  position: relative;
  z-index: 2;
  width: 105px;
  filter: drop-shadow(0 10px 14px rgba(7,29,68,.14));
}

.grade-ai-visual span {
  position: absolute;
  width: 72px;
  height: 72px;
  border: 2px solid rgba(8,174,177,.23);
  border-top-color: #15d9a1;
  border-radius: 50%;
  animation: luzia-spin 1.2s linear infinite;
}

.grade-ai-visual span.done {
  border-color: #15d9a1;
  background: rgba(21,217,161,.12);
  animation: none;
}

.grade-ai-modal .modal-header {
  min-height: 116px;
  padding: 24px 128px 14px 24px;
  border: 0;
}

.grade-ai-modal .modal-header p {
  margin: 0 0 6px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.grade-ai-modal .modal-title {
  color: var(--ink);
  font-size: 25px;
  line-height: 1.08;
  font-weight: 880;
}

.grade-ai-modal .modal-header span {
  display: block;
  margin-top: 7px;
  color: #62728c;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 640;
}

.grade-ai-modal .modal-body {
  padding: 6px 22px 18px;
}

.grade-ai-progress {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8f0f6;
}

.grade-ai-progress i {
  display: block;
  width: 18%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #347dff, #08aeb1, #15d9a1);
  box-shadow: 0 0 16px rgba(8,174,177,.32);
  transition: width .45s ease;
}

.grade-ai-steps {
  display: grid;
  gap: 8px;
  margin-top: 15px;
}

.grade-ai-steps article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 15px;
  opacity: .55;
  transition: .25s ease;
}

.grade-ai-steps article.active {
  border-color: rgba(8,174,177,.22);
  background: rgba(8,174,177,.07);
  opacity: 1;
}

.grade-ai-steps article.done {
  opacity: .78;
}

.grade-ai-steps article > b {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 11px;
  background: #edf3fa;
  color: #75849a;
  font-size: 12px;
}

.grade-ai-steps article.active > b,
.grade-ai-steps article.done > b {
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
}

.grade-ai-steps strong,
.grade-ai-steps small {
  display: block;
}

.grade-ai-steps strong {
  color: var(--ink);
  font-size: 13px;
}

.grade-ai-steps small {
  margin-top: 2px;
  color: #78869a;
  font-size: 10.5px;
}

.grade-ai-steps article > em {
  width: 18px;
  height: 18px;
  border: 2px solid #dce6f0;
  border-radius: 50%;
}

.grade-ai-steps article.active > em {
  border-color: #08aeb1;
  border-top-color: transparent;
  animation: luzia-spin .7s linear infinite;
}

.grade-ai-steps article.done > em {
  position: relative;
  border-color: #15b986;
  background: #15b986;
}

.grade-ai-steps article.done > em::after {
  content: "✓";
  position: absolute;
  inset: -3px 0 0 2px;
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.grade-ai-results {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e4edf4;
}

.grade-ai-results-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 12px;
}

.grade-ai-results-head span {
  color: #08aeb1;
  font-weight: 850;
}

.grade-ai-subjects {
  display: grid;
  gap: 8px;
}

.grade-ai-subject {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 66px;
  padding: 9px 10px;
  border: 1px solid #e2eaf3;
  border-radius: 16px;
  background: #fbfdff;
}

.grade-ai-subject .subject-tech-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
}

.grade-ai-subject strong,
.grade-ai-subject small {
  display: block;
}

.grade-ai-subject strong {
  color: var(--ink);
  font-size: 13px;
}

.grade-ai-subject small {
  margin-top: 3px;
  color: #718097;
  font-size: 10px;
  line-height: 1.2;
}

.grade-ai-subject em {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #77869b;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}

.grade-ai-subject em i {
  width: 16px;
  height: 16px;
  border: 2px solid #d7e1eb;
  border-radius: 50%;
}

.grade-ai-subject.adding em i {
  border-color: #08aeb1;
  border-top-color: transparent;
  animation: luzia-spin .65s linear infinite;
}

.grade-ai-subject.done {
  border-color: rgba(21,185,134,.25);
  background: rgba(21,217,161,.06);
}

.grade-ai-subject.done em {
  color: #11966d;
}

.grade-ai-subject.done em i {
  position: relative;
  border-color: #15b986;
  background: #15b986;
}

.grade-ai-subject.done em i::after {
  content: "✓";
  position: absolute;
  left: 2px;
  top: -3px;
  color: #fff;
  font-size: 11px;
}

.grade-ai-subject.failed em {
  color: #d83242;
}

.grade-ai-add-choice {
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #02c9a7, #3768ff);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: -.01em;
  box-shadow: 0 10px 22px rgba(55,104,255,.18);
}

.grade-ai-add-choice:disabled {
  opacity: .72;
  box-shadow: none;
}

.grade-ai-modal .modal-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 14px 22px 20px;
  border: 0;
  background: #f7fafc;
}

.grade-manual-action {
  min-height: 46px;
  border: 1px solid #d5e1ec;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 820;
}

.grade-manual-action:disabled {
  opacity: .5;
}

.studies-top-actions {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 5px;
}

.studies-tour-help {
  color: #087f82;
  background: rgba(8,174,177,.09);
  border-color: rgba(8,174,177,.16);
}

.studies-tour[hidden] {
  display: none;
}

.studies-tour {
  position: fixed;
  inset: 0;
  z-index: 10000;
  pointer-events: auto;
}

.studies-tour-spotlight {
  position: fixed;
  z-index: 10001;
  border: 3px solid #20e1b0;
  border-radius: 22px;
  background: transparent;
  box-shadow:
    0 0 0 9999px rgba(4,18,42,.76),
    0 0 0 7px rgba(32,225,176,.17),
    0 15px 45px rgba(7,29,68,.28);
  transition: left .3s ease, top .3s ease, width .3s ease, height .3s ease;
  pointer-events: none;
}

.studies-tour-card {
  position: fixed;
  z-index: 10002;
  width: min(390px, calc(100vw - 28px));
  padding: 21px;
  border: 1px solid rgba(32,225,176,.3);
  border-radius: 25px;
  outline: 0;
  background:
    radial-gradient(circle at 94% 4%, rgba(21,217,161,.17), transparent 30%),
    #fff;
  box-shadow: 0 28px 80px rgba(0,15,40,.38);
  pointer-events: auto;
}

.studies-tour-exit {
  position: absolute;
  right: 15px;
  top: 14px;
  padding: 6px 9px;
  border: 0;
  border-radius: 999px;
  background: #eef4f8;
  color: #60718a;
  font-size: 10.5px;
  font-weight: 800;
}

.studies-tour-counter {
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(8,174,177,.1);
  color: #078487;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .4px;
}

.studies-tour-progress {
  height: 5px;
  margin: 13px 0 17px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eff5;
}

.studies-tour-progress i {
  display: block;
  width: 20%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #347dff, #08aeb1, #20e1b0);
  transition: width .3s ease;
}

.studies-tour-card > p {
  margin: 0 0 6px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.studies-tour-card h2 {
  margin: 0;
  padding-right: 20px;
  color: var(--ink);
  font-size: 23px;
  line-height: 1.08;
  font-weight: 880;
}

.studies-tour-card [data-tour-text] {
  margin-top: 10px;
  color: #5f7089;
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 620;
}

.studies-tour-actions {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 9px;
  margin-top: 19px;
}

.studies-tour-actions button {
  min-height: 45px;
  border: 1px solid #d9e4ee;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.studies-tour-actions button:last-child {
  border-color: transparent;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  box-shadow: 0 10px 22px rgba(8,174,177,.2);
}

.studies-tour-actions button:disabled {
  opacity: .42;
}

body.studies-tour-active .modal {
  pointer-events: none;
}

.delete-subject-modal {
  position: relative;
  overflow: hidden;
  padding-top: 10px;
  border: 0;
  border-radius: 27px;
  background:
    radial-gradient(circle at 92% 4%, rgba(255,78,89,.14), transparent 31%),
    #fff;
  box-shadow: 0 26px 70px rgba(44,18,28,.22);
}

.delete-subject-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin: 19px 22px 0;
  border-radius: 19px;
  background: rgba(255,78,89,.1);
  color: #e44653;
}

.delete-subject-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.delete-subject-modal .modal-header {
  padding: 15px 22px 8px;
  border: 0;
}

.delete-subject-modal .modal-header p {
  margin: 0 0 5px;
  color: #e44653;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.delete-subject-modal .modal-title {
  color: var(--ink);
  font-size: 24px;
  font-weight: 880;
}

.delete-subject-modal .modal-body {
  padding: 8px 22px 18px;
}

.delete-subject-modal .modal-body p {
  margin: 0;
  color: #53657e;
  font-size: 14px;
  line-height: 1.45;
}

.delete-subject-modal .modal-body p strong {
  color: var(--ink);
}

.delete-subject-modal .modal-body small {
  display: block;
  margin-top: 9px;
  color: #8190a3;
  font-size: 11px;
}

.delete-subject-modal .modal-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 14px 22px 21px;
  border: 0;
  background: #f8fafc;
}

.delete-subject-cancel,
.delete-subject-confirm {
  min-height: 46px;
  border-radius: 14px;
  font-size: 12px;
  font-weight: 850;
}

.delete-subject-cancel {
  border: 1px solid #d9e3ec;
  background: #fff;
  color: var(--ink);
}

.delete-subject-confirm {
  border: 0;
  background: linear-gradient(145deg, #ff626c, #df3f4d);
  color: #fff;
  box-shadow: 0 10px 22px rgba(223,63,77,.2);
}

.delete-subject-confirm:disabled {
  opacity: .6;
}

.studies-toast-container {
  position: fixed;
  top: max(18px, env(safe-area-inset-top));
  left: 50%;
  z-index: 11000;
  width: min(410px, calc(100vw - 24px));
  transform: translateX(-50%);
}

.studies-toast {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid rgba(21,185,134,.24);
  border-radius: 19px;
  background: rgba(255,255,255,.97);
  color: var(--ink);
  box-shadow: 0 20px 52px rgba(7,29,68,.2);
  backdrop-filter: blur(15px);
}

.studies-toast.is-error {
  border-color: rgba(255,78,89,.28);
}

.studies-toast-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(21,185,134,.12);
  color: #11966d;
  font-size: 19px;
  font-weight: 950;
}

.studies-toast.is-error .studies-toast-icon {
  background: rgba(255,78,89,.11);
  color: #df3f4d;
}

.studies-toast-copy strong,
.studies-toast-copy span {
  display: block;
}

.studies-toast-copy strong {
  font-size: 13px;
  font-weight: 880;
}

.studies-toast-copy span {
  margin-top: 3px;
  color: #65758b;
  font-size: 11px;
  line-height: 1.3;
}

.studies-toast > button {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 9px;
  background: #eef3f7;
  color: #697990;
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 680px) {
  .studies-tour-card {
    max-height: calc(100vh - 28px);
    overflow-y: auto;
    border-radius: 21px;
  }

  .studies-tour-spotlight {
    border-radius: 18px;
  }
}

.suggestion-list {
  display: grid;
  gap: 10px;
  margin-top: 13px;
}

.suggestion-card {
  grid-template-columns: 56px minmax(0, 1fr) auto auto;
  min-height: 88px;
  padding: 12px;
}

.suggestion-card .subject-tech-icon {
  width: 50px;
  height: 50px;
}

.suggestion-card button {
  min-height: 38px;
  border: 0;
  border-radius: 999px;
  padding: 0 13px;
  background: linear-gradient(135deg, #15d9a1, #08aeb1);
  color: #fff;
  font-size: 12.5px;
  font-weight: 800;
}

.suggestion-card em {
  min-height: 28px;
  border-radius: 999px;
  padding: 8px 9px 0;
  background: rgba(52, 125, 255, .1);
  color: #2165d6;
  font-size: 10.5px;
  line-height: 1;
  font-style: normal;
  font-weight: 850;
  text-transform: uppercase;
}

@media (max-width: 390px) {
  .suggestion-card {
    grid-template-columns: 50px minmax(0, 1fr) auto;
  }

  .suggestion-card em {
    grid-column: 2;
    width: fit-content;
  }

  .suggestion-card button {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
}

@media (min-width: 391px) and (max-width: 700px) {
  .mentor-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .mentor-secondary { width: 100%; }
  .mentor-mute { justify-self: end; }
  .mentor-chat-toggle { white-space: normal; }
}

.suggestion-loading,
.suggestion-empty {
  padding: 13px;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(185,218,238,.72);
  color: #65748d;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 680;
}

.suggestion-loading span {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 4px;
  border-radius: 50%;
  background: #08aeb1;
  animation: iara-typing 1s ease-in-out infinite;
}

.suggestion-loading span:nth-child(2) {
  animation-delay: .15s;
}

.suggestion-loading span:nth-child(3) {
  animation-delay: .3s;
}

.subject-modal {
  border: 0;
  border-radius: 24px;
  overflow: hidden;
}

.subject-modal .modal-header,
.subject-modal .modal-footer {
  border: 0;
}

.subject-modal .modal-title {
  color: var(--ink);
  font-size: 21px;
  font-weight: 820;
}

.subject-modal p {
  margin: 5px 0 0;
  color: #65748d;
  font-size: 14px;
  font-weight: 590;
}

.subject-input {
  width: 100%;
  min-height: 54px;
  border: 1px solid #dce6f2;
  border-radius: 16px;
  outline: 0;
  padding: 0 15px;
  color: var(--ink);
  background: #f8fbff;
  font-size: 15.5px;
  font-weight: 560;
}

.subject-input:focus {
  border-color: rgba(8,184,172,.52);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(8,184,172,.08);
}

.lesson-document-upload {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  margin-top: 14px;
  padding: 12px;
  border: 1.5px dashed rgba(8, 174, 177, .46);
  border-radius: 17px;
  background: linear-gradient(135deg, #f1fffb, #f8fbff);
  cursor: pointer;
}

.lesson-document-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #fff;
  color: #08aeb1;
  box-shadow: 0 8px 18px rgba(8, 174, 177, .13);
}

.lesson-document-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.lesson-document-upload strong,
.lesson-document-upload small {
  display: block;
}

.lesson-document-upload strong {
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 820;
}

.lesson-document-upload small {
  margin-top: 3px;
  overflow: hidden;
  color: #65748d;
  font-size: 11.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lesson-document-upload > b {
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(8, 174, 177, .1);
  color: #087d7b;
  font-size: 11px;
}

.lesson-document-help {
  margin: 8px 2px 0 !important;
  font-size: 11.5px !important;
  line-height: 1.4;
}

.lesson-path-order {
  display: block;
  margin-bottom: 4px;
  color: #078487;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .75px;
  text-transform: uppercase;
}

.lesson-ai-step-label {
  display: block;
  margin-bottom: 3px;
  color: #078487;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: 1.15px;
  text-transform: uppercase;
}

.lesson-ai-panel.is-first-step {
  position: relative;
  margin-top: 20px;
  border: 2px solid rgba(21, 217, 161, .42);
  background:
    radial-gradient(circle at 91% 8%, rgba(21,217,161,.27), transparent 31%),
    repeating-linear-gradient(135deg, transparent 0 12px, rgba(8,174,178,.052) 13px 14px),
    rgba(250,255,253,.96);
  box-shadow: 0 20px 42px rgba(8,174,177,.13);
}

.lesson-ai-panel.is-first-step::after {
  content: "1";
  position: absolute;
  right: 14px;
  top: 8px;
  color: rgba(8,174,177,.07);
  font-size: 88px;
  line-height: 1;
  font-weight: 950;
  pointer-events: none;
}

.lesson-prep-modal {
  border: 0;
  border-radius: 28px;
  padding: 22px 20px 20px;
  overflow: hidden;
  background:
    radial-gradient(circle at 74% 18%, rgba(21,217,161,.24), transparent 31%),
    repeating-linear-gradient(135deg, transparent 0 12px, rgba(8,174,178,.055) 13px 14px),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(238,250,255,.96));
  box-shadow: 0 26px 60px rgba(7, 29, 68, .22);
}

.lesson-prep-visual {
  position: relative;
  min-height: 146px;
  display: grid;
  place-items: center;
}

.lesson-prep-visual img {
  position: relative;
  z-index: 2;
  width: 150px;
  filter: drop-shadow(0 18px 20px rgba(7,29,68,.13));
}

.lesson-prep-visual span {
  position: absolute;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  border: 1px solid rgba(8,184,172,.28);
  box-shadow:
    0 0 0 18px rgba(8,184,172,.055),
    0 0 34px rgba(8,184,172,.22);
  animation: prep-orbit 1.8s linear infinite;
}

.lesson-prep-visual span::before,
.lesson-prep-visual span::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #15d9a1;
  top: 12px;
  left: 16px;
  box-shadow: 88px 82px 0 #347dff;
}

.lesson-prep-visual span::after {
  width: 7px;
  height: 7px;
  top: 100px;
  left: 29px;
  background: #f5a10a;
  box-shadow: 76px -92px 0 #8a50f4;
}

@keyframes prep-orbit {
  to {
    transform: rotate(360deg);
  }
}

.lesson-prep-copy {
  text-align: center;
}

.lesson-prep-copy p {
  margin: 0 0 8px;
  color: #08aeb1;
  font-size: 12px;
  line-height: 1;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 1.8px;
}

.lesson-prep-copy h2 {
  margin: 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.08;
  font-weight: 830;
}

.lesson-prep-copy strong {
  display: block;
  min-height: 38px;
  margin-top: 11px;
  color: #62728c;
  font-size: 14px;
  line-height: 1.32;
  font-weight: 710;
}

.ai-wait-warning {
  display: block;
  margin-top: 8px;
  color: #dc2626;
  font-size: 12px;
  line-height: 1.28;
  font-weight: 800;
}

.lesson-prep-progress {
  height: 8px;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(207, 224, 239, .82);
}

.lesson-prep-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #15d9a1, #08aeb1, #347dff);
  box-shadow: 0 0 20px rgba(8,184,172,.42);
  transition: width .4s ease;
}

.login-screen {
  background:
    radial-gradient(circle at 80% 10%, rgba(27, 205, 166, .16), transparent 30%),
    radial-gradient(circle at 10% 42%, rgba(11, 148, 222, .1), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 52%, #f3f8fd 100%);
}

.login-scroll {
  height: 100%;
  overflow-y: auto;
  padding: calc(26px + env(safe-area-inset-top)) 22px calc(48px + env(safe-area-inset-bottom));
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

.login-scroll::-webkit-scrollbar {
  display: none;
}

.login-hero {
  position: relative;
  min-height: 268px;
  padding-top: 4px;
}

.login-brand {
  position: relative;
  z-index: 3;
}

.login-brand span {
  font-size: clamp(28px, 7.2vw, 34px);
}

.login-brand small {
  margin-left: 49px;
}

.login-mascot {
  position: absolute;
  right: -19px;
  top: 33px;
  width: 210px;
  height: 224px;
  overflow: hidden;
  pointer-events: none;
  filter: drop-shadow(0 18px 24px rgba(13, 72, 115, .13));
  -webkit-mask-image: linear-gradient(180deg, #000 0 77%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0 77%, transparent 100%);
}

.login-mascot::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 55% 46%, transparent 0 52%, rgba(255,255,255,.76) 74%, #fff 100%);
  mix-blend-mode: screen;
  opacity: .72;
}

.login-mascot img {
  position: absolute;
  width: 294px;
  max-width: none;
  right: -52px;
  top: -8px;
}

.login-copy {
  position: relative;
  z-index: 2;
  width: min(245px, 72%);
  padding-top: 58px;
}

.login-copy h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(27px, 7.5vw, 35px);
  line-height: 1.03;
  font-weight: 760;
  letter-spacing: -.9px;
}

.login-copy p {
  margin: 13px 0 0;
  color: var(--muted);
  font-size: clamp(14px, 4vw, 17px);
  line-height: 1.32;
  font-weight: 420;
}

.login-card {
  position: relative;
  z-index: 4;
  width: 100%;
  min-width: 0;
  margin-top: 4px;
  padding: 19px;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(220, 229, 241, .9);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(18, 48, 82, .1);
}

.signup-hero {
  min-height: 236px;
}

.signup-form .primary-action {
  margin-top: 18px;
}

.form-alert {
  margin-bottom: 15px;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 620;
}

.form-alert[hidden] {
  display: none;
}

.form-alert-success {
  border: 1px solid rgba(40, 198, 123, .24);
  background: rgba(40, 198, 123, .1);
  color: #087a4d;
}

.form-alert-error {
  border: 1px solid rgba(255, 78, 89, .24);
  background: rgba(255, 78, 89, .09);
  color: #b4232f;
}

.form-field + .form-field {
  margin-top: 15px;
}

.form-field label,
.field-head label {
  display: block;
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1;
  font-weight: 720;
}

.field-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.field-head a,
.signup-link a {
  color: var(--teal);
  font-size: 13px;
  font-weight: 760;
  text-decoration: none;
}

.input-shell {
  min-height: 56px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 0 15px;
  background: #f8fbff;
  border: 1px solid #dce6f2;
  border-radius: 16px;
  color: #52637d;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.input-shell:focus-within {
  background: #fff;
  border-color: rgba(8, 184, 172, .52);
  box-shadow: 0 10px 22px rgba(8, 184, 172, .1);
}

.input-shell svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.8;
}

.input-shell input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  background-color: transparent;
  color: var(--ink);
  font-size: 15.5px;
  font-weight: 430;
  box-shadow: none;
}

.input-shell input::placeholder {
  color: #8a97aa;
}

.input-shell input:-webkit-autofill,
.input-shell input:-webkit-autofill:hover,
.input-shell input:-webkit-autofill:focus,
.input-shell input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--ink);
  box-shadow: 0 0 0 1000px transparent inset;
  -webkit-box-shadow: 0 0 0 1000px transparent inset;
  caret-color: var(--ink);
  transition: background-color 9999s ease-out;
}

.input-shell input::selection {
  background: rgba(8, 184, 172, .18);
}

.password-shell {
  grid-template-columns: 28px minmax(0, 1fr) 34px;
}

.password-toggle {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: transparent;
  color: #64728a;
}

.password-toggle svg {
  width: 22px;
  height: 22px;
}

.remember-row {
  margin: 15px 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #5e6c83;
  font-size: 13.5px;
  font-weight: 520;
}

.remember-row input {
  appearance: none;
  width: 19px;
  height: 19px;
  border: 1.7px solid #c9d4e3;
  border-radius: 6px;
  background: #fff;
  display: grid;
  place-items: center;
}

.remember-row input::before {
  content: "";
  width: 9px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translate(1px, -1px);
  opacity: 0;
}

.remember-row input:checked {
  border-color: var(--teal);
  background: linear-gradient(145deg, #18d7a1, #08aeb1);
}

.remember-row input:checked::before {
  opacity: 1;
}

.primary-action {
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, #13d5a0, #07aeb2);
  color: #fff;
  font-size: 16px;
  font-weight: 780;
  box-shadow: 0 14px 25px rgba(8, 184, 172, .28);
}

.primary-action svg {
  width: 20px;
  height: 20px;
}

.divider {
  margin: 19px 0 15px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 11px;
  color: #8390a3;
  font-size: 12.5px;
  font-weight: 560;
}

.divider::before,
.divider::after {
  content: "";
  height: 1px;
  background: #e1e8f1;
}

.social-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.social-grid button {
  min-width: 0;
  min-height: 50px;
  border: 1px solid #dfe7f1;
  border-radius: 15px;
  background: #fff;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 680;
  box-shadow: 0 8px 18px rgba(22, 49, 82, .045);
}

.social-grid svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  stroke-width: 0;
}

.social-grid strong {
  color: #0c75de;
  font-size: 18px;
  line-height: 1;
}

.signup-link {
  margin: 18px 0 0;
  color: #66748b;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
}

.signup-link-featured {
  width: 100%;
  padding: 15px;
  border: 1px solid rgba(0, 190, 174, .28);
  border-radius: 20px;
  background: linear-gradient(135deg, #effffb, #eef5ff);
  box-shadow: 0 16px 34px rgba(12, 70, 108, .1);
}

.signup-link-featured > span {
  display: block;
  margin-bottom: 9px;
  color: #52637d;
  font-size: 12px;
  font-weight: 750;
}

.signup-link-featured > a {
  min-height: 54px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 9px 12px 9px 15px;
  border-radius: 15px;
  background: linear-gradient(135deg, #00cbb5, #276bff);
  color: #fff;
  text-align: left;
  box-shadow: 0 13px 28px rgba(0, 174, 169, .22);
}

.signup-link-featured strong,
.signup-link-featured small {
  min-width: 0;
  display: block;
  grid-column: 1;
}

.signup-link-featured strong {
  font-size: 14px;
  line-height: 1.2;
}

.signup-link-featured small {
  margin-top: 3px;
  color: rgba(255, 255, 255, .82);
  font-size: 10px;
  font-weight: 650;
}

.signup-link-featured b {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-size: 23px;
}

.ios-install-modal {
  border: 0;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 22px 50px rgba(7, 29, 68, .18);
}

.ios-install-modal .modal-header {
  align-items: start;
  gap: 16px;
  border: 0;
  padding: 20px 20px 8px;
}

.ios-install-modal .modal-title {
  margin: 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.15;
  font-weight: 780;
}

.ios-install-modal p {
  margin: 7px 0 0;
  color: #66748b;
  font-size: 14px;
  line-height: 1.32;
}

.ios-install-modal .modal-body {
  padding: 8px 20px 20px;
}

.ios-install-steps {
  margin: 0;
  padding-left: 21px;
  color: var(--ink);
  font-size: 14.5px;
  line-height: 1.46;
  font-weight: 560;
}

.ios-install-steps li + li {
  margin-top: 8px;
}

.ios-install-steps strong {
  color: #078487;
  font-weight: 850;
}

.ios-install-tip {
  margin-top: 15px;
  padding: 13px 14px;
  border: 1px solid rgba(8, 174, 177, .22);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(232, 255, 248, .9), rgba(245, 251, 255, .96));
  color: #51627c;
  font-size: 13px;
  line-height: 1.35;
}

.ios-install-tip strong,
.ios-install-tip span {
  display: block;
}

.ios-install-tip strong {
  margin-bottom: 4px;
  color: var(--ink);
  font-weight: 850;
}

.session-expired-modal .modal-content {
  overflow: hidden;
  border: 1px solid rgba(174,225,229,.92);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 14%, rgba(21,217,161,.2), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,253,255,.96));
  box-shadow: 0 28px 70px rgba(15,46,84,.22);
}

.session-expired-modal {
  z-index: 22020 !important;
}

body.session-expired-open .modal-backdrop {
  z-index: 22010 !important;
}

.session-expired-visual {
  position: relative;
  min-height: 150px;
  display: grid;
  place-items: center;
  background:
    repeating-linear-gradient(135deg, transparent 0 12px, rgba(8,174,178,.045) 13px 14px),
    linear-gradient(135deg, rgba(232,255,248,.94), rgba(245,251,255,.98));
}

.session-expired-visual img {
  position: relative;
  z-index: 2;
  width: 118px;
  filter: drop-shadow(0 18px 24px rgba(15,46,84,.16));
}

.session-expired-visual i {
  position: absolute;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: rgba(21,217,161,.22);
  animation: voice-ring 1.4s ease-out infinite;
}

.session-expired-modal .modal-header,
.session-expired-modal .modal-footer {
  border: 0;
}

.session-expired-modal .modal-header {
  padding: 20px 22px 6px;
}

.session-expired-modal .modal-header p {
  margin: 0 0 7px;
  color: #08aeb1;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 1.35px;
}

.session-expired-modal .modal-title {
  margin: 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.05;
  font-weight: 900;
}

.session-expired-modal .modal-body {
  padding: 8px 22px 2px;
}

.session-expired-modal .modal-body p {
  margin: 0;
  color: #62728c;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 650;
}

.session-expired-modal .modal-footer {
  padding: 18px 22px 22px;
}

.session-expired-modal .primary-action {
  width: 100%;
}

.aula-study-modal .modal-dialog {
  max-width: min(980px, calc(100% - 18px));
}

.iara-class-modal .modal-dialog {
  max-width: min(1120px, calc(100% - 24px));
}

.iara-class-modal .modal-content {
  min-height: min(720px, calc(100dvh - 30px));
  overflow: hidden;
  border: 1px solid rgba(118,218,224,.85);
  border-radius: 30px;
  background:
    radial-gradient(circle at 9% 16%, rgba(0,214,178,.19), transparent 31%),
    radial-gradient(circle at 90% 85%, rgba(47,105,255,.15), transparent 34%),
    #f7fcff;
  box-shadow: 0 35px 90px rgba(10,38,83,.3);
}

.iara-class-loading[hidden],
.iara-class-player[hidden] {
  display: none !important;
}

.iara-class-close {
  position: absolute;
  z-index: 12;
  top: 15px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 14px;
  background: rgba(11,35,70,.86);
  color: #fff;
  font-size: 27px;
  line-height: 1;
}

.iara-class-loading {
  min-height: 650px;
  padding: 50px 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.iara-class-loading-avatar {
  position: relative;
  width: 240px;
  height: 240px;
  display: grid;
  place-items: center;
}

.iara-class-loading-avatar::before,
.iara-class-loading-avatar i {
  content: "";
  position: absolute;
  inset: 13px;
  border: 2px solid rgba(0,201,176,.3);
  border-radius: 50%;
  animation: iaraClassPulse 1.7s ease-out infinite;
}

.iara-class-loading-avatar i { animation-delay: .75s; }
.iara-class-loading-avatar img { position: relative; z-index: 2; width: 220px; filter: drop-shadow(0 18px 24px rgba(14,53,97,.18)); }
.iara-class-loading > p { margin: 8px 0 8px; color: #00a99e; font-size: 11px; font-weight: 900; letter-spacing: 1.7px; text-transform: uppercase; }
.iara-class-loading h2 { max-width: 620px; margin: 0; color: #0d2148; font-size: clamp(27px,4vw,43px); font-weight: 900; }
.iara-class-loading > span { margin-top: 10px; color: #61718c; font-weight: 700; }
.iara-class-loading-live { min-width: min(430px,90%); margin-top: 20px; padding: 13px 18px; display: grid; grid-template-columns: 14px 1fr; column-gap: 10px; align-items: center; border: 1px solid rgba(0,190,174,.25); border-radius: 17px; background: rgba(225,253,249,.88); color: #087b74; text-align: left; box-shadow: 0 12px 28px rgba(19,101,123,.09); }
.iara-class-loading-live > i { grid-row: 1 / 3; width: 12px; height: 12px; border: 3px solid rgba(0,185,166,.22); border-top-color: #00b9a6; border-radius: 50%; animation: iaraClassLoadingSpin .8s linear infinite; }
.iara-class-loading-live strong { font-size: 14px; line-height: 1.15; }
.iara-class-loading-live small { margin-top: 3px; color: #5f7489; font-size: 11px; font-weight: 700; }
.iara-class-loading .ai-wait-warning { margin-top: 12px; }
.iara-class-loading-progress { width: min(520px,90%); height: 7px; margin-top: 24px; overflow: hidden; border-radius: 99px; background: #dbeaf3; }
.iara-class-loading-progress i { display: block; width: 8%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#00cfb2,#316cff); transition: width .45s ease; }

.iara-class-player {
  min-height: min(720px, calc(100dvh - 30px));
  display: grid;
  grid-template-columns: minmax(250px,30%) 1fr;
  grid-template-rows: 1fr;
}

.iara-class-presenter {
  position: relative;
  overflow: hidden;
  padding: 30px 18px 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background:
    repeating-linear-gradient(135deg,transparent 0 15px,rgba(255,255,255,.11) 16px 17px),
    linear-gradient(155deg,#07cdb1,#246dff);
}

.iara-class-avatar-stage {
  position: relative;
  width: min(220px,100%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}

.iara-class-aura {
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.4);
  box-shadow: 0 0 0 22px rgba(255,255,255,.07);
}

.iara-class-avatar-stage img {
  position: relative;
  z-index: 2;
  width: 116%;
  max-width: none;
  filter: drop-shadow(0 22px 25px rgba(3,35,78,.25));
  transform-origin: 50% 65%;
}

.iara-class-presenter.is-speaking .iara-class-avatar-stage img { animation: iaraClassTalk .72s ease-in-out infinite alternate; }
.iara-class-presenter > p { margin: 0 0 9px; color: #fff; font-size: 15px; font-weight: 900; letter-spacing: .4px; }
.iara-class-waves { height: 24px; display: flex; align-items: center; gap: 6px; }
.iara-class-waves i { width: 7px; height: 7px; border-radius: 99px; background: rgba(255,255,255,.74); }
.iara-class-presenter.is-speaking .iara-class-waves i { animation: iaraClassWave .62s ease-in-out infinite alternate; }
.iara-class-presenter.is-speaking .iara-class-waves i:nth-child(2n) { animation-delay: -.32s; }
.iara-class-presenter.is-speaking .iara-class-waves i:nth-child(3n) { animation-delay: -.14s; }

.iara-class-slide {
  padding: clamp(62px,7vw,90px) clamp(28px,5vw,64px) 34px;
  overflow: auto;
}

.iara-class-slide-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.iara-class-slide-meta span { padding: 8px 12px; border-radius: 99px; background: #d8fbf5; color: #008f88; font-size: 12px; font-weight: 900; }
.iara-class-slide-meta em { margin-left: auto; color: #75829a; font-size: 11px; font-style: normal; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.iara-class-slide-print { min-height: 36px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #b7dedc; border-radius: 12px; color: #087f78; background: #e7fcf9; font-size: 11px; font-weight: 900; }
.iara-class-slide-print svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.iara-class-slide h2 { margin: 0 0 24px; color: #0c2047; font-size: clamp(28px,4vw,45px); line-height: 1.05; font-weight: 900; }
.iara-class-source-bar[hidden] { display: none !important; }
.iara-class-source-bar { margin: -8px 0 22px; }
.iara-class-slide-copy { color: #263a5d; font-size: clamp(15px,1.5vw,18px); line-height: 1.58; font-weight: 620; }
.iara-class-slide-copy p { margin: 0 0 15px; }
.iara-class-slide-copy ul { margin: 18px 0 0; padding: 18px 20px 18px 42px; border-radius: 20px; background: rgba(222,250,247,.72); }
.iara-class-slide-copy li { margin: 7px 0; padding-left: 4px; }
.iara-class-mental-map { width: 100%; margin: 0 0 26px; overflow: hidden; border: 1px solid rgba(42,126,175,.2); border-radius: 24px; background: #fff; box-shadow: 0 18px 42px rgba(13,55,91,.13); }
.iara-class-mental-map > button { position: relative; width: 100%; padding: 0; display: block; overflow: hidden; border: 0; background: linear-gradient(145deg,#f1fffc,#f3f7ff); cursor: zoom-in; }
.iara-class-mental-map > button::after { content: ""; position: absolute; inset: 0; border: 7px solid rgba(255,255,255,.7); border-radius: 23px 23px 0 0; pointer-events: none; }
.iara-class-mental-map img { display: block; width: 100%; max-height: 470px; object-fit: contain; transition: transform .25s ease; }
.iara-class-mental-map > button:hover img { transform: scale(1.018); }
.iara-class-mental-map > button > span { position: absolute; z-index: 2; right: 14px; bottom: 13px; min-height: 37px; padding: 0 13px; display: inline-flex; align-items: center; gap: 7px; border-radius: 99px; color: #fff; background: rgba(8,41,78,.9); box-shadow: 0 8px 20px rgba(8,31,62,.22); font-size: 10px; font-weight: 900; }
.iara-class-mental-map > button > span svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.iara-class-mental-map figcaption { padding: 12px 15px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: linear-gradient(90deg,#e8fcf8,#eef5ff); }
.iara-class-mental-map figcaption strong { color: #087d77; font-size: 12px; font-weight: 900; }
.iara-class-mental-map figcaption small { color: #657b91; font-size: 10px; font-weight: 700; text-align: right; }
body.iara-mental-map-open { overflow: hidden !important; }
.iara-mental-map-modal[hidden] { display: none !important; }
.iara-mental-map-modal { position: fixed; z-index: 2400; inset: 0; padding: 18px; display: grid; place-items: center; }
.iara-mental-map-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(4,18,42,.88); backdrop-filter: blur(9px); }
.iara-mental-map-modal > section { position: relative; z-index: 1; width: min(1500px,97vw); height: min(940px,96dvh); display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; border: 1px solid rgba(114,232,215,.55); border-radius: 26px; background: #f7fcff; box-shadow: 0 35px 110px rgba(0,10,30,.55); }
.iara-mental-map-modal > section > header { min-height: 76px; padding: 14px 18px 13px 22px; display: flex; align-items: center; gap: 18px; color: #fff; background: radial-gradient(circle at 85% 0,rgba(73,239,210,.26),transparent 35%),linear-gradient(120deg,#082956,#087c99); }
.iara-mental-map-modal > section > header > div { min-width: 0; flex: 1; }
.iara-mental-map-modal > section > header small { display: block; color: #65f1da; font-size: 9px; font-weight: 950; letter-spacing: 1.3px; }
.iara-mental-map-modal > section > header h2 { margin: 3px 0 0; overflow: hidden; color: #fff; font-size: clamp(18px,2.4vw,28px); line-height: 1.15; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.iara-mental-map-modal > section > header > button { width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; color: #fff; background: rgba(255,255,255,.13); font-size: 28px; line-height: 1; }
.iara-mental-map-modal-canvas { min-height: 0; overflow: auto; padding: 18px; display: grid; place-items: center; background: linear-gradient(145deg,#eaf7fa,#f8fbff); overscroll-behavior: contain; touch-action: pan-x pan-y pinch-zoom; }
.iara-mental-map-modal-canvas img { display: block; width: min(1380px,100%); height: auto; max-width: none; border-radius: 22px; box-shadow: 0 22px 52px rgba(16,54,83,.17); }
.iara-mental-map-modal > section > footer { min-height: 64px; padding: 10px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #d9e8ee; background: #fff; }
.iara-mental-map-modal > section > footer span { color: #60778b; font-size: 12px; font-weight: 700; }
.iara-mental-map-modal > section > footer > div { display: flex; align-items: center; gap: 9px; }
.iara-mental-map-modal > section > footer button { min-height: 42px; padding: 0 17px; border: 0; border-radius: 13px; color: #fff; background: linear-gradient(110deg,#08bda8,#287ce7); font-size: 11px; font-weight: 900; }
.iara-mental-map-modal > section > footer button.is-print { display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: #087d77; border: 1px solid #a9dfd8; background: #e9fbf8; }
.iara-mental-map-modal > section > footer button.is-print svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.iara-class-references { margin: 0; padding: 14px 17px; border: 1px solid rgba(0,169,158,.32); border-left: 5px solid #00bca9; border-radius: 16px; background: linear-gradient(135deg,rgba(228,253,249,.96),rgba(237,246,255,.98)); box-shadow: 0 10px 24px rgba(20,74,112,.08); }
.iara-class-references > strong { display: block; color: #007f78; font-size: 13px; font-weight: 900; letter-spacing: .45px; text-transform: uppercase; }
.iara-class-references > p { margin: 6px 0 0; color: #5c6f88; font-size: 12px; line-height: 1.45; }
.iara-class-references > ul { margin: 12px 0 0; padding: 0; display: grid; gap: 8px; background: transparent; list-style: none; }
.iara-class-references > ul li { position: relative; margin: 0; padding: 0 0 0 19px; color: #17365c; font-size: 12px; line-height: 1.45; font-weight: 700; }
.iara-class-references > ul li::before { content: "✦"; position: absolute; left: 0; top: 0; color: #00a99e; }
.iara-class-learning-image { width: min(760px,100%); margin: 24px auto 4px; overflow: hidden; border: 1px solid rgba(0,190,174,.25); border-radius: 22px; background: #f4fffd; box-shadow: 0 16px 36px rgba(16,69,111,.12); }
.iara-class-learning-image > button { position: relative; width: 100%; padding: 0; border: 0; background: #eef9fb; cursor: zoom-in; }
.iara-class-learning-image img { display: block; width: 100%; max-height: min(48vh,520px); object-fit: contain; background: #fff; }
.iara-class-learning-image > button > span { position: absolute; right: 12px; bottom: 12px; padding: 6px 10px; border-radius: 99px; color: #fff; background: rgba(10,29,67,.82); font-size: 10px; font-weight: 850; }
.iara-class-learning-image figcaption { display: grid; gap: 4px; padding: 12px 15px 14px; color: #17335a; font-size: 12px; line-height: 1.4; }
.iara-class-learning-image figcaption small { color: #71809a; font-size: 10px; }

.iara-class-controls {
  width: 100%;
  margin-top: 14px;
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 7px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 28px rgba(7,42,92,.18);
}

.iara-class-controls button,
.iara-class-controls select {
  min-height: 46px;
  border: 1px solid #c7ddec;
  border-radius: 14px;
  background: #fff;
  color: #132952;
  font-weight: 850;
}
.iara-class-controls button { padding: 0 7px; font-size: 12px; }
.iara-class-controls button span { display: none; }
.iara-class-controls button.is-primary,
.iara-class-controls .iara-class-start { border: 0; color: #fff; background: linear-gradient(100deg,#00ccb0,#326bff); box-shadow: 0 10px 20px rgba(27,112,205,.2); }
.iara-class-controls button:disabled { opacity: .4; }
.iara-class-controls label { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: center; color: #61718c; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.iara-class-controls select { width: 100%; padding: 0 12px; text-transform: none; }
.iara-class-timeline { grid-column: 1 / -2; height: 6px; overflow: hidden; border-radius: 99px; background: #dfebf3; }
.iara-class-timeline i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#00cdb0,#316cff); }
.iara-class-controls > small { justify-self: end; color: #687892; font-weight: 800; }
.iara-class-controls > p { grid-column: 1 / -1; min-height: 18px; margin: 0; color: #51627e; font-size: 11px; line-height: 1.25; font-weight: 720; text-align: center; }
.iara-class-start { grid-column: 1 / -1; }

@keyframes iaraClassPulse { from { transform: scale(.76); opacity: .8; } to { transform: scale(1.22); opacity: 0; } }
@keyframes iaraClassTalk { from { transform: translateY(1px) rotate(-.6deg); } to { transform: translateY(-5px) rotate(.7deg); } }
@keyframes iaraClassWave { from { height: 6px; opacity: .55; } to { height: 22px; opacity: 1; } }
@keyframes iaraClassLoadingSpin { to { transform: rotate(360deg); } }

@media (max-width: 720px) {
  .iara-class-modal .modal-dialog { align-items: flex-end; max-width: 100%; min-height: 100%; margin: 0; }
  .iara-class-modal .modal-content { height: calc(100dvh - 8px); min-height: 0; max-height: calc(100dvh - 8px); border-radius: 26px 26px 0 0; }
  .iara-class-loading { min-height: calc(100dvh - 8px); padding: 42px 20px; }
  .iara-class-loading-avatar { width: 190px; height: 190px; }
  .iara-class-loading-avatar img { width: 178px; }
  .iara-class-player { height: 100%; min-height: 0; grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); overflow: hidden; }
  .iara-class-presenter { padding: 10px 12px 9px; display: grid; grid-template-columns: 76px minmax(0,1fr); grid-template-rows: auto auto auto; column-gap: 12px; overflow: visible; }
  .iara-class-avatar-stage { grid-column: 1; grid-row: 1 / 3; width: 76px; }
  .iara-class-presenter > p { align-self: end; margin: 0 42px 1px 0; font-size: 13px; line-height: 1.15; }
  .iara-class-waves { align-self: start; height: 15px; gap: 4px; }
  .iara-class-waves i { width: 5px; }
  .iara-class-controls { grid-column: 1 / -1; margin-top: 7px; padding: 7px; border-radius: 15px; }
  .iara-class-slide { min-height: 0; padding: 0 18px 30px; overflow-y: auto; overscroll-behavior: contain; background: rgba(255,255,255,.78); }
  .iara-class-slide-meta { position: sticky; z-index: 4; top: 0; margin: 0 -2px 15px; padding: 12px 2px 9px; background: rgba(248,253,255,.94); backdrop-filter: blur(10px); }
  .iara-class-slide-meta em { display: none; }
  .iara-class-slide h2 { margin-bottom: 16px; font-size: 27px; line-height: 1.1; }
  .iara-class-slide-copy { padding-bottom: 20px; font-size: 16px; line-height: 1.62; font-weight: 590; }
  .iara-class-mental-map { margin-bottom: 20px; border-radius: 18px; }
  .iara-class-mental-map img { min-height: 270px; max-height: 390px; }
  .iara-class-mental-map > button > span { right: 9px; bottom: 9px; min-height: 34px; padding-inline: 10px; }
  .iara-class-mental-map figcaption { align-items: flex-start; flex-direction: column; gap: 3px; }
  .iara-class-mental-map figcaption small { text-align: left; }
  .iara-mental-map-modal { padding: 0; }
  .iara-mental-map-modal > section { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .iara-mental-map-modal > section > header { min-height: 68px; padding: 11px 12px 10px 16px; }
  .iara-mental-map-modal > section > header h2 { font-size: 18px; }
  .iara-mental-map-modal-canvas { display: block; padding: 14px; }
  .iara-mental-map-modal-canvas img { width: 980px; max-width: none; }
  .iara-mental-map-modal > section > footer { min-height: 58px; padding: 8px 12px; }
  .iara-mental-map-modal > section > footer span { display: none; }
  .iara-mental-map-modal > section > footer > div { width: 100%; display: grid; grid-template-columns: 1.15fr .85fr; }
  .iara-mental-map-modal > section > footer button { width: 100%; padding-inline: 9px; }
  .iara-class-controls { grid-template-columns: 1fr 1fr 1.45fr 1fr 1fr; gap: 6px; }
  .iara-class-controls button { min-height: 36px; padding: 0 6px; font-size: 11px; }
  .iara-class-controls button span { display: none; }
  .iara-class-controls select { min-height: 38px; }
  .iara-class-timeline { grid-column: 1 / -2; }
  .iara-class-controls > p { display: none; }
  .iara-class-slide-print { margin-left: auto; min-height: 34px; padding-inline: 10px; }
}

.aula-study-modal .modal-content {
  overflow: hidden;
  border: 1px solid rgba(174,225,229,.92);
  border-radius: 26px;
  background:
    radial-gradient(circle at 86% 12%, rgba(21,217,161,.16), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,253,255,.96));
  box-shadow: 0 30px 78px rgba(15,46,84,.24);
}

.aula-study-modal .modal-header {
  position: sticky;
  top: 0;
  z-index: 5;
  border: 0;
  padding: 16px 18px 10px;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(14px);
}

.aula-study-modal .modal-header p {
  margin: 0 0 5px;
  color: #08aeb1;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.aula-study-modal .modal-title {
  margin: 0;
  color: var(--ink);
  font-size: 23px;
  line-height: 1.05;
  font-weight: 900;
}

.aula-study-modal .modal-body {
  max-height: min(78vh, 780px);
  overflow: auto;
  padding: 12px 14px 18px;
}

.aula-study-modal .aula-flashcards-section,
.aula-study-modal .aula-mind-map-section {
  margin: 0;
}

.aula-study-modal .flashcards-shell {
  margin: 0;
}

.aula-study-modal .mind-map-inline {
  min-height: auto;
}

@media (max-width: 520px) {
  .aula-study-modal .modal-dialog {
    align-items: flex-end;
    max-width: 100%;
    min-height: 100%;
    margin: 0;
  }

  .aula-study-modal .modal-content {
    max-height: calc(100dvh - 10px);
    border-radius: 26px 26px 0 0;
  }

  .aula-study-modal .modal-body {
    max-height: calc(100dvh - 86px);
    padding: 10px 10px calc(18px + env(safe-area-inset-bottom));
  }
}

.social-grid button:disabled {
  opacity: .58;
}

.primary-action:active,
.social-grid button:active,
.password-toggle:active {
  transform: scale(.98);
}

@media (min-width: 520px) {
  .app-shell {
    padding: 18px;
  }

  .app-screen {
    height: min(900px, calc(100vh - 36px));
    border-radius: 38px;
  }
}

@media (max-width: 519px) {
  .app-screen {
    max-width: 100vw;
  }
}

@media (max-width: 390px) {
  .app-screen {
    max-width: 100vw;
  }

  .app-scroll {
    padding-left: 18px;
    padding-right: 18px;
  }

  .topbar {
    grid-template-columns: 38px 1fr 38px;
  }

  .brand span {
    font-size: 26px;
  }

  .brand small {
    margin-left: 38px;
    letter-spacing: 4.8px;
  }

  .greeting {
    grid-template-columns: minmax(0, 1fr) 118px;
    min-height: 139px;
  }

  .mascot-wrap {
    width: 143px;
    height: 168px;
    right: -13px;
    top: -32px;
  }

  .mascot-wrap img {
    width: 205px;
    right: -38px;
  }

  .search-card {
    grid-template-columns: 30px minmax(0, 1fr) 48px;
    gap: 8px;
    min-height: 80px;
    padding: 10px 12px 10px 15px;
    border-radius: 27px;
  }

  .voice-btn {
    width: 48px;
    height: 48px;
  }

  .search-card textarea {
    height: 54px;
    font-size: 14.8px;
    line-height: 1.2;
  }

  .quick-grid {
    gap: 11px 9px;
  }

  .quick-chip {
    grid-template-columns: 28px minmax(0, 1fr);
    min-height: 58px;
    padding: 9px 10px;
    gap: 8px;
    font-size: 12.5px;
  }

  .icon {
    width: 23px;
    height: 23px;
  }

  .panel {
    padding-left: 14px;
    padding-right: 14px;
  }

  .progress-row {
    grid-template-columns: 30px minmax(84px, 1fr) minmax(72px, 1.1fr) 37px;
    gap: 8px;
  }

  .login-scroll {
    padding-left: 18px;
    padding-right: 18px;
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }

  .login-hero {
    min-height: 257px;
  }

  .login-mascot {
    width: 186px;
    height: 208px;
    right: -25px;
    top: 38px;
  }

  .login-mascot img {
    width: 266px;
    right: -50px;
  }

  .login-copy {
    width: min(226px, 70%);
    padding-top: 54px;
  }

  .login-card {
    padding: 17px;
    border-radius: 20px;
  }
}

@media (max-height: 760px) {
  .login-scroll {
    padding-top: calc(20px + env(safe-area-inset-top));
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }

  .login-hero {
    min-height: 238px;
  }

  .login-copy {
    padding-top: 46px;
  }

  .login-copy h1 {
    font-size: 26px;
  }

  .login-copy p {
    margin-top: 10px;
    font-size: 14px;
  }
}

@media (max-width: 340px) {
  .app-scroll {
    padding-left: 14px;
    padding-right: 14px;
  }

  .progress-row {
    grid-template-columns: 28px minmax(0, 1fr) 38px;
  }

  .progress-row .meter {
    grid-column: 2 / 4;
  }

  .login-copy {
    width: 100%;
    padding-top: 42px;
  }

  .login-mascot {
    opacity: .34;
  }

  .social-grid {
    grid-template-columns: 1fr;
  }
}

.mentorship-screen {
  background:
    radial-gradient(circle at 78% 9%, rgba(9, 184, 172, .16), transparent 30%),
    radial-gradient(circle at 12% 34%, rgba(28, 124, 243, .08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 48%, #f4f9fe 100%);
}

.mentorship-scroll {
  padding-top: calc(18px + env(safe-area-inset-top));
  padding-bottom: calc(102px + env(safe-area-inset-bottom));
}

.back-btn svg {
  width: 26px;
  height: 26px;
}

.mentor-header {
  position: relative;
  z-index: 1;
}

.mentor-title {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
  margin-top: 18px;
}

.mentor-title p {
  margin: 0 0 7px;
  color: var(--teal);
  font-size: 13px;
  line-height: 1;
  font-weight: 780;
}

.mentor-title h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(27px, 7vw, 34px);
  line-height: 1.05;
  font-weight: 780;
}

.mentor-title span {
  display: block;
  max-width: 260px;
  margin-top: 8px;
  color: var(--muted);
  font-size: clamp(14px, 3.8vw, 17px);
  line-height: 1.28;
  font-weight: 430;
}

.mentor-mini-mascot {
  display: none;
}

.mentor-mini-mascot::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 58% 45%, transparent 0 48%, rgba(255,255,255,.74) 73%, #fff 100%);
  mix-blend-mode: screen;
  opacity: .7;
}

.mentor-mini-mascot img {
  position: absolute;
  width: 194px;
  max-width: none;
  right: -35px;
  top: -9px;
}

.mentor-context {
  display: grid;
  grid-template-columns: 1fr;
  gap: 13px;
  margin-top: 18px;
  padding: 16px;
}

.mentor-field label {
  display: block;
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1;
  font-weight: 720;
}

.mentor-field select {
  width: 100%;
  min-height: 48px;
  border: 1px solid #dce6f2;
  border-radius: 15px;
  background: #f8fbff;
  color: var(--ink);
  padding: 0 14px;
  outline: 0;
  font-size: 14.5px;
  font-weight: 560;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #64728a 50%),
    linear-gradient(135deg, #64728a 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 20px,
    calc(100% - 13px) 20px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.mentor-field select:focus {
  background-color: #fff;
  border-color: rgba(8, 184, 172, .52);
  box-shadow: 0 10px 22px rgba(8, 184, 172, .1);
}

.mentor-card {
  margin-top: 14px;
  padding: 18px 16px;
}

.mentor-profile {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.mentor-avatar {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(21, 217, 161, .18), rgba(28, 124, 243, .11));
  box-shadow: var(--soft-shadow);
  position: relative;
}

.mentor-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
}

.mentor-profile h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 760;
}

.mentor-profile p {
  width: fit-content;
  margin: 7px 0 0;
  padding: 7px 10px;
  border-radius: 100px;
  background: #eef5fb;
  color: #66748b;
  font-size: 12.5px;
  line-height: 1;
  font-weight: 760;
}

.mentor-profile p[data-state="conectado"],
.mentor-profile p[data-state="ouvindo"],
.mentor-profile p[data-state="respondendo"] {
  background: rgba(8, 184, 172, .12);
  color: #07988e;
}

.mentor-profile p[data-state="conectando"] {
  background: rgba(245, 161, 10, .14);
  color: #b87400;
}

.voice-wave {
  height: 56px;
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  align-items: center;
  gap: 7px;
  margin: 16px 0 16px;
  padding: 0 4px;
}

.voice-wave span {
  height: 42px;
  border-radius: 100px;
  background: linear-gradient(180deg, #15d9a1, #08aeb1);
  box-shadow: 0 8px 16px rgba(8, 184, 172, .14);
  transform: scaleY(.24);
  transform-origin: center;
  transition: transform .12s ease, opacity .2s ease;
  opacity: .44;
}

.voice-wave span:nth-child(2n) {
  background: linear-gradient(180deg, #1c7cf3, #08aeb1);
}

.voice-wave.is-live span {
  opacity: .9;
}

.mentor-thinking-state {
  min-height: 78px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 0 16px;
  padding: 13px 15px;
  border: 1px solid rgba(8,174,177,.32);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 12%, rgba(21,217,161,.2), transparent 34%),
    linear-gradient(135deg, #effffb, #f1f8ff);
  box-shadow: 0 13px 28px rgba(8,174,177,.12);
}

.mentor-thinking-state[hidden] {
  display: none;
}

.mentor-thinking-state strong,
.mentor-thinking-state small {
  display: block;
}

.mentor-thinking-state strong {
  color: #0b4f62;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 850;
}

.mentor-thinking-state small {
  margin-top: 5px;
  color: #62778d;
  font-size: 11.5px;
  line-height: 1.3;
}

.mentor-thinking-orbit {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 16px;
  background: linear-gradient(145deg, #15d9a1, #078daf);
  box-shadow: 0 10px 20px rgba(8,174,177,.22);
}

.mentor-thinking-orbit i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  animation: mentor-thinking-dot .9s ease-in-out infinite alternate;
}

.mentor-thinking-orbit i:nth-child(2) { animation-delay: .18s; }
.mentor-thinking-orbit i:nth-child(3) { animation-delay: .36s; }

.mentor-is-thinking .voice-wave {
  opacity: .24;
}

@keyframes mentor-thinking-dot {
  from { transform: translateY(4px); opacity: .45; }
  to { transform: translateY(-4px); opacity: 1; }
}

.mentor-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 88px 50px;
  align-items: center;
  gap: 10px;
}

.mentor-chat-toggle {
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(54, 79, 255, .22);
  border-radius: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #fff;
  background: linear-gradient(115deg, #00cdb4 0%, #128fdc 55%, #4d52ff 100%);
  box-shadow: 0 12px 26px rgba(40, 91, 225, .24);
  font-size: 13px;
  line-height: 1.1;
  font-weight: 900;
  white-space: nowrap;
  transition: transform .18s ease, box-shadow .18s ease;
}

.mentor-chat-toggle:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(40,91,225,.3); }
.mentor-chat-toggle.is-active { background: #102b59; box-shadow: inset 0 0 0 2px rgba(80,255,221,.35), 0 12px 25px rgba(13,46,94,.2); }
.mentor-chat-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

.mentorship-message-chat {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid rgba(51, 190, 210, .35);
  border-radius: 24px;
  background: linear-gradient(150deg, rgba(247,255,254,.98), rgba(242,247,255,.98));
  box-shadow: 0 18px 40px rgba(24, 70, 119, .1);
}
.mentorship-message-chat[hidden] { display: none !important; }
.mentorship-message-chat header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.mentorship-message-chat header small { color: #00a99a; font-size: 10px; font-weight: 950; letter-spacing: .13em; }
.mentorship-message-chat header h2 { margin: 2px 0 0; color: #091e4d; font-size: 22px; font-weight: 950; }
.mentorship-message-chat header button { width: 38px; height: 38px; border: 0; border-radius: 13px; color: #17325d; background: #e7f2f8; font-size: 24px; line-height: 1; }
.mentorship-message-list { max-height: 390px; overflow: auto; display: flex; flex-direction: column; gap: 11px; padding: 4px 3px 8px; scroll-behavior: smooth; }
.mentorship-message { width: min(86%, 620px); padding: 13px 15px; border-radius: 19px; }
.mentorship-message span { display: block; margin-bottom: 4px; font-size: 9px; font-weight: 950; letter-spacing: .12em; }
.mentorship-message p { margin: 0; font-size: 14px; line-height: 1.48; font-weight: 700; }
.mentorship-message.is-student { align-self: flex-end; color: #fff; background: linear-gradient(125deg,#00bfa8,#1689e4); border-bottom-right-radius: 6px; }
.mentorship-message.is-iara { align-self: flex-start; color: #102a55; background: #fff; border: 1px solid #bce9e3; border-bottom-left-radius: 6px; }
.mentorship-message.is-iara span { color: #00a999; }
.mentorship-message.is-draft { opacity: .78; }
.mentorship-message small { display: block; margin-top: 5px; font-size: 9px; font-weight: 850; opacity: .72; }
.mentorship-message-empty { padding: 22px 16px; border: 1px dashed #afd6e6; border-radius: 17px; color: #667b99; text-align: center; font-weight: 750; }
.mentorship-message-chat footer { margin-top: 10px; color: #73829a; font-size: 10px; font-weight: 750; text-align: center; }

.mentor-actions .primary-action {
  min-height: 52px;
  border-radius: 17px;
}

.mentor-actions .primary-action:disabled,
.mentor-secondary:disabled,
.mentor-mute:disabled {
  cursor: not-allowed;
  opacity: .58;
  transform: none;
}

.mentor-secondary,
.mentor-mute,
.clear-chat {
  border: 1px solid #dfe7f1;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 8px 18px rgba(22, 49, 82, .045);
  font-weight: 720;
}

.mentor-secondary {
  min-height: 52px;
  border-radius: 17px;
  font-size: 14px;
}

.mentor-mute {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #61708a;
}

.mentor-mute svg {
  width: 23px;
  height: 23px;
}

.mentor-mute.is-muted {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(145deg, #ff6a6b, #f44855);
}

.mentor-alert {
  margin-top: 14px;
  padding: 12px 13px;
  border-radius: 14px;
  background: rgba(255, 78, 89, .09);
  color: #c93440;
  font-size: 13.5px;
  line-height: 1.25;
  font-weight: 620;
}

.mentor-instruction {
  margin-top: 16px;
  padding: 15px 16px;
  border: 1px solid rgba(8, 184, 172, .2);
  border-radius: 17px;
  background: rgba(8, 184, 172, .08);
  color: #26736d;
  font-size: 14px;
  line-height: 1.32;
  font-weight: 620;
}

.mentor-chat {
  margin-top: 16px;
}

.voice-activity-panel {
  position: relative;
  overflow: hidden;
  padding: 20px 17px 18px;
  background:
    radial-gradient(circle at 16% 18%, rgba(8, 184, 172, .18), transparent 34%),
    radial-gradient(circle at 84% 14%, rgba(28, 124, 243, .13), transparent 32%),
    rgba(255, 255, 255, .97);
}

.voice-state-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
  position: relative;
  z-index: 2;
}

.voice-state-card {
  position: relative;
  overflow: hidden;
  min-height: 112px;
  padding: 13px;
  border: 1px solid rgba(218, 229, 241, .95);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(22, 49, 82, .045);
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-content: center;
  align-items: center;
  gap: 10px;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.voice-state-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(21,217,161,.24), transparent 28%),
    linear-gradient(110deg, transparent 0 28%, rgba(255,255,255,.58) 45%, transparent 62%);
  transform: translateX(-45%);
}

.voice-state-card i {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(8, 184, 172, .1);
  color: var(--teal);
}

.voice-state-card i svg {
  width: 23px;
  height: 23px;
}

.voice-state-card i img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  object-position: center;
}

.voice-state-copy {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.voice-state-copy span {
  color: var(--teal);
  font-size: 12px;
  line-height: 1;
  font-weight: 780;
}

.voice-state-copy strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.05;
  font-weight: 760;
}

.voice-state-card[data-speaker="student"] {
  background: linear-gradient(145deg, rgba(19, 213, 160, .12), rgba(7, 174, 178, .07));
}

.voice-state-card[data-speaker="ai"] {
  background: linear-gradient(145deg, rgba(28, 124, 243, .09), rgba(255,255,255,.98));
}

.voice-state-card[data-speaker="ai"] i {
  background: rgba(28, 124, 243, .08);
}

.voice-state-card[data-state="falando"],
.voice-state-card[data-state="processando"],
.voice-state-card[data-state="entendido"] {
  transform: translateY(-2px);
  border-color: rgba(8, 184, 172, .36);
  box-shadow: 0 14px 26px rgba(8, 184, 172, .13);
}

.voice-state-card[data-speaker="student"][data-state="aguardando"] {
  border-color: rgba(8, 184, 172, .24);
  animation: voice-waiting-card 1.55s ease-in-out infinite;
}

.voice-state-card[data-speaker="student"][data-state="aguardando"] .card-voice-wave {
  opacity: .62;
}

.voice-state-card[data-speaker="student"][data-state="aguardando"] .card-voice-wave b {
  animation: voice-waiting-dot 1.05s ease-in-out infinite alternate;
}

.voice-state-card[data-speaker="student"][data-state="falando"] {
  background:
    radial-gradient(circle at 16% 16%, rgba(21,217,161,.34), transparent 34%),
    linear-gradient(145deg, rgba(19, 213, 160, .18), rgba(7, 174, 178, .12));
  animation: voice-active-card 1.05s ease-in-out infinite alternate;
}

.voice-state-card[data-state="encerrado"] {
  border-color: rgba(210,224,239,.9);
  background: linear-gradient(145deg, rgba(245,249,252,.95), rgba(255,255,255,.98));
  box-shadow: 0 8px 18px rgba(22,49,82,.045);
  transform: none;
}

.voice-state-card[data-state="encerrado"] .card-voice-wave {
  opacity: .18;
}

.voice-state-card[data-speaker="student"][data-state="falando"]::before,
.voice-state-card[data-speaker="ai"][data-state="processando"]::before,
.voice-state-card[data-speaker="ai"][data-state="falando"]::before {
  opacity: 1;
  animation: voice-card-scan 1.35s ease-in-out infinite;
}

.voice-state-card[data-speaker="ai"][data-state="processando"] {
  border-color: rgba(52,125,255,.34);
  background:
    radial-gradient(circle at 84% 18%, rgba(52,125,255,.22), transparent 32%),
    radial-gradient(circle at 18% 86%, rgba(21,217,161,.13), transparent 30%),
    linear-gradient(145deg, rgba(235,246,255,.98), rgba(255,255,255,.96));
  box-shadow: 0 16px 30px rgba(52,125,255,.13), 0 0 0 4px rgba(52,125,255,.045);
  animation: voice-thinking-card 1.2s ease-in-out infinite alternate;
}

.voice-state-card[data-speaker="ai"][data-state="falando"] {
  border-color: rgba(28, 124, 243, .34);
  box-shadow: 0 14px 26px rgba(28, 124, 243, .11);
}

.voice-state-card[data-state="falando"] i {
  animation: voice-avatar-pulse 1.05s ease-in-out infinite alternate;
}

.voice-state-card[data-speaker="ai"][data-state="processando"] i {
  animation: voice-avatar-thinking 1s ease-in-out infinite alternate;
}

.card-voice-wave {
  height: 20px;
  display: flex;
  align-items: center;
  gap: 4px;
  opacity: .24;
  transition: opacity .2s ease;
}

.card-voice-wave b {
  width: 4px;
  height: 14px;
  border-radius: 100px;
  background: linear-gradient(180deg, #15d9a1, #08aeb1);
  transform: scaleY(.35);
  transform-origin: center;
}

.voice-state-card[data-speaker="ai"] .card-voice-wave b {
  background: linear-gradient(180deg, #1c7cf3, #08aeb1);
}

.voice-state-card[data-state="falando"] .card-voice-wave,
.voice-state-card[data-state="processando"] .card-voice-wave,
.voice-state-card[data-state="aguardando"] .card-voice-wave {
  opacity: 1;
}

.voice-state-card[data-state="falando"] .card-voice-wave b,
.voice-state-card[data-state="processando"] .card-voice-wave b {
  animation: voice-eq .72s ease-in-out infinite alternate;
}

@media (max-width: 480px) {
  .voice-activity-panel {
    padding-inline: 14px;
  }

  .voice-state-grid {
    gap: 9px;
  }

  .voice-state-card {
    min-width: 0;
    min-height: 108px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 7px;
    padding: 9px;
  }

  .voice-state-card i {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }

  .voice-state-card i svg {
    width: 20px;
    height: 20px;
  }

  .voice-state-card i img {
    width: 52px;
    height: 52px;
  }

  .voice-state-copy {
    gap: 6px;
  }

  .voice-state-copy span {
    font-size: 10.5px;
  }

  .voice-state-copy strong {
    max-width: 100%;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .card-voice-wave {
    height: 17px;
  }
}

.card-voice-wave b:nth-child(2) { animation-delay: .08s; }
.card-voice-wave b:nth-child(3) { animation-delay: .16s; }
.card-voice-wave b:nth-child(4) { animation-delay: .24s; }

.mentor-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 15px;
  position: relative;
  z-index: 2;
}

.mentor-action-option {
  min-height: 52px;
  padding: 9px 10px;
  border: 1px solid #dfe7f1;
  border-radius: 15px;
  background: rgba(255,255,255,.94);
  color: var(--ink);
  box-shadow: 0 8px 18px rgba(22, 49, 82, .045);
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  text-align: left;
  font-size: 12.5px;
  line-height: 1.12;
  font-weight: 720;
}

.mentor-action-option svg {
  width: 22px;
  height: 22px;
  color: var(--teal);
}

.mentor-action-option:active {
  transform: scale(.98);
}

@keyframes voice-eq {
  from { transform: scaleY(.38); }
  to { transform: scaleY(1.15); }
}

@keyframes voice-ring {
  0% {
    opacity: .38;
    transform: scale(.82);
  }

  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}

@keyframes voice-avatar-pulse {
  from { transform: scale(1); }
  to { transform: scale(1.08); }
}

@keyframes voice-card-scan {
  0% { transform: translateX(-65%); }
  100% { transform: translateX(65%); }
}

@keyframes voice-waiting-card {
  0%, 100% {
    box-shadow: 0 8px 18px rgba(22, 49, 82, .045);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 12px 24px rgba(8,184,172,.12);
    transform: translateY(-1px);
  }
}

@keyframes voice-active-card {
  from {
    box-shadow: 0 14px 26px rgba(8, 184, 172, .13);
  }
  to {
    box-shadow: 0 18px 34px rgba(8, 184, 172, .2), 0 0 0 4px rgba(8,184,172,.06);
  }
}

@keyframes voice-thinking-card {
  from {
    transform: translateY(-2px);
  }
  to {
    transform: translateY(-4px);
  }
}

@keyframes voice-avatar-thinking {
  from {
    transform: rotate(-2deg) scale(1);
  }
  to {
    transform: rotate(2deg) scale(1.06);
  }
}

@keyframes voice-waiting-dot {
  from {
    opacity: .35;
    transform: scaleY(.28);
  }
  to {
    opacity: .9;
    transform: scaleY(.72);
  }
}

.clear-chat {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 100px;
  color: #61708a;
  font-size: 12.5px;
}

.chat-stream {
  max-height: 320px;
  overflow-y: auto;
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding-right: 2px;
  scrollbar-width: none;
}

.chat-stream::-webkit-scrollbar {
  display: none;
}

.chat-bubble {
  width: min(88%, 330px);
  padding: 12px 13px;
  border-radius: 16px;
  box-shadow: 0 8px 18px rgba(22, 49, 82, .045);
}

.chat-bubble span {
  display: block;
  margin-bottom: 5px;
  font-size: 11.5px;
  line-height: 1;
  font-weight: 780;
}

.chat-bubble p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.34;
  font-weight: 450;
}

.chat-bubble.ai {
  justify-self: start;
  background: #fff;
  border: 1px solid #dfe7f1;
  color: var(--ink);
}

.chat-bubble.ai span {
  color: var(--teal);
}

.chat-bubble.user {
  justify-self: end;
  background: linear-gradient(145deg, #13d5a0, #07aeb2);
  color: #fff;
}

.chat-bubble.user span {
  color: rgba(255,255,255,.78);
}

@media (min-width: 420px) {
  .mentor-context {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .mentor-field select {
    padding-left: 10px;
    padding-right: 26px;
    font-size: 12.5px;
  }
}

@media (max-width: 390px) {
  .mentor-title {
    grid-template-columns: 1fr;
    margin-top: 16px;
  }

  .mentor-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
  }

  .mentor-secondary { width: 100%; }
  .mentor-mute { justify-self: end; }
  .mentor-chat-toggle { padding: 0 10px; white-space: normal; }

  .mentor-secondary {
    font-size: 13px;
  }

  .voice-wave {
    gap: 5px;
  }
}

@media (max-width: 340px) {
  .mentor-title {
    grid-template-columns: 1fr;
  }

  .mentor-actions {
    grid-template-columns: 1fr 1fr;
  }

  .mentor-secondary {
    grid-column: 1 / 2;
  }
}

@media (min-width: 1025px) {
  body {
    background:
      linear-gradient(90deg, rgba(8, 184, 172, .055) 0 1px, transparent 1px),
      linear-gradient(0deg, rgba(28, 124, 243, .045) 0 1px, transparent 1px),
      #eef4fa;
    background-size: 28px 28px;
  }

  .app-shell {
    min-height: 100vh;
    display: block;
    padding: 0;
    overflow-x: visible;
  }

  .app-screen {
    width: 100%;
    max-width: none;
    min-height: 100vh;
    height: auto;
    overflow: visible;
    border-radius: 0;
    box-shadow: none;
    background:
      radial-gradient(circle at 86% 8%, rgba(8, 184, 172, .11), transparent 28%),
      linear-gradient(180deg, #f8fbff 0%, #eef4fa 100%);
  }

  .app-scroll,
  .login-scroll {
    height: auto;
    min-height: 100vh;
    overflow: visible;
    scrollbar-width: auto;
  }

  .app-scroll {
    width: min(100%, 1480px);
    margin: 0 auto;
    padding: 32px 44px 126px;
  }

  .home-scroll,
  .studies-scroll,
  .mentorship-scroll,
  .aula-scroll {
    padding-bottom: 126px;
  }

  .bottom-nav {
    position: fixed;
    left: 50%;
    top: auto;
    right: auto;
    bottom: 18px;
    width: min(calc(100% - 48px), 760px);
    min-height: 78px;
    padding: 9px 18px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: auto;
    align-content: center;
    align-items: center;
    gap: 5px;
    border: 1px solid rgba(210, 224, 239, .95);
    border-radius: 25px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 46px rgba(15, 46, 84, .16);
    transform: translateX(-50%);
    backdrop-filter: blur(16px);
  }

  .bottom-nav-logout {
    display: none;
  }

  .bottom-nav-logout svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .bottom-nav-logout:disabled {
    opacity: .6;
  }

  .bottom-nav::before {
    display: none;
  }

  .bottom-nav a {
    min-height: 58px;
    grid-template-columns: 1fr;
    grid-template-rows: 27px auto;
    justify-items: center;
    align-items: center;
    gap: 4px;
    padding: 0 12px;
    border-radius: 14px;
    font-size: 11px;
    line-height: 1;
    font-weight: 720;
    text-align: center;
  }

  .bottom-nav a:hover,
  .bottom-nav a.active {
    background: rgba(8, 184, 172, .1);
    color: #087a79;
  }

  .bottom-nav svg {
    width: 23px;
    height: 23px;
  }

  .unified-bottom-nav .bottom-nav-iara {
    transform: translateY(-3px);
  }

  .bottom-nav-iara-orbit {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(8,174,177,.2);
  }

  .bottom-nav-iara-orbit::before,
  .bottom-nav-iara-orbit::after {
    display: none;
  }

  .unified-bottom-nav .bottom-nav-iara svg {
    width: 21px;
    height: 21px;
  }

  .topbar {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 62px;
    padding: 0 4px;
    gap: 20px;
  }

  .menu-btn {
    display: none;
  }

  .back-btn {
    border: 1px solid rgba(210, 224, 239, .95);
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 46, 84, .055);
  }

  .brand {
    justify-self: start;
  }

  .brand span,
  .login-brand span {
    font-size: 31px;
  }

  .brand small {
    margin-left: 45px;
  }

  .notify-btn {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(210, 224, 239, .95);
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 46, 84, .055);
  }

  .app-home-hero,
  .studies-hero,
  .mentor-header {
    min-height: auto;
    padding: 0;
  }

  .greeting,
  .app-home-greeting {
    min-height: 210px;
    margin-top: 24px;
    padding: 34px 36px;
    grid-template-columns: minmax(0, 1fr) 220px;
    align-items: center;
    border: 1px solid rgba(210, 224, 239, .94);
    border-radius: 24px;
    background:
      radial-gradient(circle at 89% 34%, rgba(21, 217, 161, .18), transparent 28%),
      #fff;
    box-shadow: 0 18px 42px rgba(15, 46, 84, .075);
  }

  .copy h1,
  .app-home-greeting .copy h1,
  .studies-hero-card h1,
  .aula-hero-copy h1,
  .mentor-title h1 {
    max-width: 760px;
    font-size: 42px;
    line-height: 1.04;
    letter-spacing: 0;
  }

  .copy p,
  .app-home-greeting .copy p {
    max-width: 560px;
    font-size: 18px;
    line-height: 1.42;
  }

  .mascot-wrap {
    position: relative;
    right: auto;
    top: auto;
    justify-self: end;
    width: 220px;
    height: 200px;
  }

  .mascot-wrap img {
    width: 270px;
    right: -32px;
    top: -22px;
  }

  .app-menu-section,
  .studies-section,
  .ai-suggestion-panel,
  .aula-actions-section,
  .aula-workspace,
  .aula-material-section,
  .aula-flashcards-section,
  .aula-quiz-section {
    margin-top: 28px;
  }

  .aula-material-section,
  .aula-flashcards-section,
  .aula-quiz-section,
  .luzia-tutor-section {
    margin-top: 0;
  }

  .app-menu-list,
  .subject-grid,
  .lesson-grid,
  .aula-action-grid,
  .mentor-option-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .app-menu-list .app-menu-card {
    min-height: 178px;
    grid-template-columns: minmax(0, 1fr);
    align-content: space-between;
    padding: 20px;
    border-radius: 16px;
  }

  .app-menu-list .study-start-card {
    grid-column: span 2;
    min-height: 210px;
    padding: 28px;
  }

  .app-menu-list .study-start-card .app-menu-content {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 20px;
  }

  .app-menu-list .study-start-card strong {
    font-size: 30px;
  }

  .app-menu-list .app-menu-card::after,
  .app-menu-visual {
    display: none;
  }

  .app-menu-list .app-menu-card strong {
    font-size: 21px;
  }

  .app-menu-list .app-menu-card small {
    max-width: none;
    font-size: 14px;
    line-height: 1.35;
  }

  .home-status-bar {
    margin-top: 18px;
    max-width: 620px;
    border-radius: 16px;
  }

  .studies-hero-card,
  .aula-hero-card,
  .material-reader-hero,
  .flashcards-hero,
  .quiz-hero,
  .quiz-result-hero,
  .onboarding-hero {
    min-height: 210px;
    margin-top: 24px;
    padding: 30px 34px;
    border-radius: 22px;
    grid-template-columns: minmax(0, 1fr) 190px;
    background:
      radial-gradient(circle at 88% 40%, rgba(21,217,161,.2), transparent 28%),
      #fff;
    box-shadow: 0 18px 42px rgba(15, 46, 84, .075);
  }

  .studies-hero-card img,
  .lesson-hero-card img,
  .material-reader-hero img,
  .flashcards-hero img,
  .quiz-hero img,
  .onboarding-hero img {
    width: 210px;
    margin-right: -18px;
  }

  .aula-hero-luzia img {
    width: 210px;
    margin-right: -12px;
  }

  .flashcards-shell {
    gap: 16px;
  }

  .flashcards-status-row {
    padding: 12px 16px;
    border-radius: 16px;
  }

  .flashcard-stage,
  .flashcard-face {
    min-height: 420px;
    border-radius: 24px;
  }

  .flashcard-face {
    padding: 70px 44px 34px;
  }

  .flashcard-face strong {
    max-width: 920px;
  }

  .flashcard-back strong {
    max-width: 880px;
    font-size: 25px;
  }

  .flashcards-nav button,
  .flashcards-empty > button {
    border-radius: 14px;
  }

  .studies-section-head h2,
  .ai-suggestion-head h2,
  h2 {
    font-size: 26px;
  }

  .studies-section-head p,
  .ai-suggestion-head p {
    font-size: 14px;
  }

  .subject-card,
  .suggestion-card,
  .lesson-topic-card {
    min-height: 118px;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(15, 46, 84, .065);
  }

  .subject-card strong,
  .suggestion-card strong,
  .lesson-topic-card strong {
    font-size: 19px;
  }

  .lesson-toolbar {
    max-width: 780px;
    margin-top: 22px;
  }

  .aula-action-card {
    min-height: 190px;
    border-radius: 16px;
    padding: 18px;
  }

  .aula-action-card strong {
    font-size: 19px;
  }

  .aula-action-card small,
  .material-paragraphs p,
  .quiz-option span {
    font-size: 15px;
  }

  .material-reader,
  .quiz-shell,
  .luzia-tutor-shell {
    max-width: 1080px;
  }

  .luzia-tutor-hero {
    min-height: 240px;
    padding: 30px 34px 18px;
    grid-template-columns: minmax(0, 1fr) 220px;
  }

  .luzia-tutor-copy h2 {
    font-size: 36px;
  }

  .luzia-tutor-copy span {
    max-width: 640px;
    font-size: 15px;
  }

  .luzia-avatar-stage img {
    width: 230px;
  }

  .luzia-avatar-stage span {
    width: 150px;
    height: 150px;
  }

  .luzia-status {
    margin-left: 26px;
    margin-right: 26px;
  }

  .luzia-chat {
    max-height: 520px;
    padding-left: 26px;
    padding-right: 26px;
  }

  .luzia-options {
    padding-left: 26px;
    padding-right: 26px;
  }

  .luzia-bubble div {
    max-width: 760px;
  }

  .luzia-composer {
    grid-template-columns: minmax(0, 1fr) 48px 86px;
    padding: 16px 26px 24px;
  }

  .material-meta-grid {
    max-width: 760px;
  }

  .material-content-list {
    gap: 18px;
  }

  .material-content-card,
  .material-extra-block,
  .quiz-question-card {
    border-radius: 18px;
    padding: 22px;
  }

.mentor-card,
.mentor-chat,
.mentor-instruction {
  max-width: 960px;
}

  .mentor-title {
    margin-top: 24px;
    padding: 30px 34px;
    border: 1px solid rgba(210, 224, 239, .94);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 46, 84, .075);
  }

  .mentor-title span {
    max-width: 620px;
    font-size: 16px;
  }

  .voice-state-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .onboarding-screen {
    min-height: 100vh;
    grid-template-rows: auto auto minmax(360px, 1fr) auto;
    padding-left: 0;
  }

  .onboarding-top,
  .onboarding-hero,
  .onboarding-chat,
  .onboarding-composer {
    width: min(100% - 88px, 1180px);
    margin-left: auto;
    margin-right: auto;
  }

  .onboarding-top {
    padding: 32px 0 14px;
  }

  .onboarding-hero {
    margin-top: 0;
    margin-bottom: 18px;
  }

  .onboarding-chat {
    padding: 12px 0 20px;
  }

  .chat-bubble div {
    max-width: 760px;
  }

  .student-bubble div {
    max-width: 70%;
  }

  .onboarding-composer {
    position: sticky;
    bottom: 0;
    padding: 14px 0 24px;
    border-top: 0;
    background: rgba(238, 244, 250, .88);
    box-shadow: none;
  }

  .composer-row {
    grid-template-columns: minmax(0, 1fr) 48px 48px;
    padding: 12px;
    border: 1px solid rgba(210, 224, 239, .95);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 46, 84, .075);
  }

  .composer-row textarea {
    border-radius: 14px;
  }

  .login-screen {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 36px;
    background:
      radial-gradient(circle at 12% 18%, rgba(8, 184, 172, .1), transparent 30%),
      linear-gradient(135deg, #f8fbff 0%, #eef4fa 100%);
  }

  .login-scroll {
    width: min(100%, 1120px);
    min-height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 440px;
    align-items: center;
    gap: 54px;
    padding: 0;
  }

  .login-hero {
    min-height: 590px;
    padding: 46px;
    border: 1px solid rgba(210, 224, 239, .94);
    border-radius: 24px;
    background:
      radial-gradient(circle at 80% 28%, rgba(21, 217, 161, .18), transparent 30%),
      #fff;
    box-shadow: 0 24px 58px rgba(15, 46, 84, .1);
    overflow: hidden;
  }

  .login-copy {
    width: min(560px, 72%);
    padding-top: 88px;
  }

  .login-copy h1 {
    font-size: 46px;
    line-height: 1.04;
    letter-spacing: 0;
  }

  .login-copy p {
    max-width: 500px;
    font-size: 17px;
    line-height: 1.5;
  }

  .login-mascot {
    right: -18px;
    top: 108px;
    width: 330px;
    height: 390px;
  }

  .login-mascot img {
    width: 430px;
    right: -66px;
  }

  .login-card {
    margin-top: 0;
    padding: 26px;
    border-radius: 18px;
    box-shadow: 0 24px 58px rgba(15, 46, 84, .1);
  }

  .signup-link {
    grid-column: 2;
    margin-top: -36px;
  }

  .signup-link-featured {
    margin-top: -24px;
  }

  .divider,
  .social-grid {
    display: none;
  }

  .input-shell,
  .primary-action {
    border-radius: 12px;
  }

  .panel,
  .ai-suggestion-panel {
    border-radius: 16px;
  }
}

@media print {
  body {
    background: #fff !important;
  }

  .no-print,
  .bottom-nav,
  .topbar,
  .caderno-hero .primary-action,
  .caderno-risk-btn {
    display: none !important;
  }

  .app-shell,
  .app-screen,
  .app-scroll,
  .studies-scroll {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  .studies-hero,
  .studies-section,
  .caderno-section {
    margin: 0 !important;
    padding: 0 !important;
  }

  .caderno-hero {
    min-height: auto;
    padding: 0 0 16px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
  }

  .caderno-page {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
    padding: 0;
  }

  .caderno-note {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.printing-mind-map > * {
    visibility: hidden !important;
  }

  body.printing-mind-map [data-mind-map-print-area],
  body.printing-mind-map [data-mind-map-print-area] * {
    visibility: visible !important;
  }

  body.printing-mind-map [data-mind-map-print-area] {
    position: absolute;
    inset: 0;
    width: 100%;
    border-radius: 0;
  }

  body.printing-mind-map .mind-map-toolbar {
    display: none !important;
  }

  body.printing-mind-map .mind-map-document {
    max-width: none;
    padding: 0;
  }

body.printing-mind-map .mind-map-document .branch,
body.printing-mind-map .mind-map-document .node {
  break-inside: avoid;
}
}

.documents-screen {
  background:
    radial-gradient(circle at 18% 0%, rgba(0, 211, 190, .18), transparent 32%),
    linear-gradient(180deg, #f5fbff 0%, #eef9ff 52%, #f7fbff 100%);
}

.documents-scroll {
  padding: 18px 18px 112px;
}

.documents-header .topbar {
  margin-bottom: 20px;
}

.documents-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 210px;
  padding: 26px;
  border: 1px solid rgba(0, 199, 180, .24);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .95), rgba(209, 255, 248, .72)),
    repeating-linear-gradient(135deg, rgba(0, 199, 180, .08) 0 1px, transparent 1px 12px);
  box-shadow: 0 24px 46px rgba(10, 35, 70, .1);
}

.documents-hero::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 212, 191, .22), transparent 68%);
}

.documents-hero > div {
  position: relative;
  z-index: 1;
  max-width: 62%;
}

.documents-hero p,
.documents-subject > header p,
.documents-card-copy p {
  margin: 0;
  color: #00a99c;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.documents-hero h1 {
  margin: 8px 0 10px;
  color: #071a49;
  font-size: clamp(1.75rem, 8vw, 2.55rem);
  font-weight: 950;
  line-height: .96;
}

.documents-hero span {
  display: block;
  color: #60718f;
  font-size: .98rem;
  font-weight: 750;
  line-height: 1.35;
}

.documents-hero img {
  position: relative;
  z-index: 1;
  width: min(38%, 150px);
  filter: drop-shadow(0 22px 28px rgba(24, 63, 111, .18));
}

.documents-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.documents-summary article {
  padding: 15px 12px;
  border: 1px solid rgba(157, 211, 232, .76);
  border-radius: 22px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 16px 30px rgba(31, 72, 119, .07);
}

.documents-summary strong {
  display: block;
  color: #081a49;
  font-size: 1.4rem;
  font-weight: 950;
  line-height: 1;
}

.documents-summary span {
  display: block;
  margin-top: 4px;
  color: #6a7b97;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.15;
}

.documents-filters {
  display: grid;
  gap: 10px;
  margin: 0 0 22px;
  padding: 14px;
  border: 1px solid rgba(157, 211, 232, .72);
  border-radius: 26px;
  background: rgba(255, 255, 255, .8);
  box-shadow: 0 18px 36px rgba(14, 43, 84, .08);
}

.documents-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid rgba(145, 201, 226, .9);
  border-radius: 19px;
  background: #fff;
}

.documents-search svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #00b9aa;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.documents-search input,
.documents-filters select {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #0a1b4b;
  font-weight: 800;
}

.documents-search input::placeholder {
  color: #8192ad;
}

.documents-filters select {
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid rgba(145, 201, 226, .9);
  border-radius: 19px;
  background: #fff;
}

.documents-type-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding: 5px;
  border-radius: 20px;
  background: #e4f4ff;
}

.documents-type-tabs button {
  min-height: 42px;
  border: 0;
  border-radius: 16px;
  background: transparent;
  color: #667895;
  font-size: .78rem;
  font-weight: 950;
}

.documents-type-tabs button.active {
  color: #fff;
  background: linear-gradient(135deg, #00c9b6, #347dff);
  box-shadow: 0 12px 24px rgba(0, 169, 156, .2);
}

.documents-list {
  display: grid;
  gap: 18px;
}

.documents-subject {
  display: grid;
  gap: 12px;
}

.documents-subject > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.documents-subject h2 {
  margin: 4px 0 0;
  color: #071a49;
  font-size: 1.28rem;
  font-weight: 950;
}

.documents-subject > header > span {
  flex: 0 0 auto;
  color: #72829d;
  font-size: .78rem;
  font-weight: 850;
}

.documents-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.documents-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  min-height: 164px;
  padding: 16px;
  border: 1px solid rgba(0, 199, 180, .22);
  border-radius: 25px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(229, 255, 251, .78)),
    repeating-linear-gradient(135deg, rgba(0, 199, 180, .08) 0 1px, transparent 1px 12px);
  box-shadow: 0 18px 34px rgba(18, 57, 103, .08);
}

.documents-card::after {
  content: "";
  position: absolute;
  right: -38px;
  top: -44px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 214, 190, .2), transparent 68%);
}

.documents-card.is-flashcards {
  border-color: rgba(73, 125, 255, .22);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .97), rgba(234, 244, 255, .85)),
    repeating-linear-gradient(135deg, rgba(52, 125, 255, .06) 0 1px, transparent 1px 12px);
}

.documents-card-icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, #00c9b6, #347dff);
  box-shadow: 0 14px 28px rgba(0, 169, 156, .22);
}

.documents-card.is-flashcards .documents-card-icon {
  background: linear-gradient(135deg, #7c5cff, #138dff);
}

.documents-card-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.documents-card-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-right: 6px;
}

.documents-card-copy h3 {
  margin: 5px 0 5px;
  color: #081a49;
  font-size: 1.02rem;
  font-weight: 950;
  line-height: 1.08;
}

.documents-card-copy span,
.documents-card-copy small {
  display: block;
  color: #677894;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.25;
}

.documents-card-copy small {
  margin-top: 6px;
  color: #00a99c;
}

.documents-card > a {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 16px;
  color: #fff;
  text-decoration: none;
  font-size: .86rem;
  font-weight: 950;
  background: linear-gradient(135deg, #00c9b6, #347dff);
  box-shadow: 0 14px 24px rgba(0, 169, 156, .18);
}

.documents-empty {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 30px 20px;
  border: 1px solid rgba(157, 211, 232, .72);
  border-radius: 28px;
  background: rgba(255, 255, 255, .82);
  text-align: center;
}

.documents-empty img {
  width: 118px;
}

.documents-empty strong {
  color: #081a49;
  font-size: 1.15rem;
  font-weight: 950;
}

.documents-empty span {
  color: #6c7d98;
  font-weight: 780;
  line-height: 1.35;
}

.documents-empty a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 4px;
  padding: 0 18px;
  border-radius: 16px;
  color: #fff;
  text-decoration: none;
  font-weight: 950;
  background: linear-gradient(135deg, #00c9b6, #347dff);
}

@media (max-width: 430px) {
  .documents-scroll {
    padding: 14px 14px 108px;
  }

  .documents-hero {
    min-height: 190px;
    padding: 22px;
  }

  .documents-hero > div {
    max-width: 68%;
  }

  .documents-hero img {
    width: 34%;
    transform: translateX(8px);
  }

  .documents-summary {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  .documents-summary article {
    padding: 13px 9px;
    border-radius: 18px;
  }

  .documents-summary strong {
    font-size: 1.25rem;
  }

  .documents-summary span {
    font-size: .66rem;
  }

  .documents-type-tabs {
    grid-template-columns: 1fr;
  }

  .documents-grid {
    grid-template-columns: 1fr;
  }
}
}

@media screen and (max-width: 520px) {
  .topbar {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 6px;
  }

  .topbar .menu-btn {
    display: grid;
  }

  .studies-top-actions {
    gap: 3px;
  }

  .studies-top-actions .studies-tour-help {
    width: 34px;
    height: 34px;
  }

  .studies-top-actions .profile-avatar-button {
    width: 38px;
    height: 38px;
    border-radius: 14px;
  }

  .profile-menu-shell { width:38px;height:38px; }.topbar-xp-badge { top:calc(100% + 3px);min-width:50px;height:20px;padding:0 5px;border-radius:8px; }.topbar-xp-badge svg { width:9px;height:9px; }.topbar-xp-badge strong { font-size:7.5px; }.topbar-xp-badge span { font-size:6px; }

  .topbar .brand span {
    font-size: 23px;
  }

  .topbar .brand small {
    margin-left: 35px;
    font-size: 8px;
    letter-spacing: 4px;
  }

  .luzia-tutor-hero {
    position: relative;
    display: block;
    min-height: 0;
    padding: 18px 14px 16px;
  }

  .luzia-tutor-copy {
    padding-right: 104px;
  }

  .luzia-tutor-copy h2 {
    font-size: clamp(21px, 6.3vw, 26px);
    line-height: 1.08;
  }

  .luzia-tutor-copy span {
    font-size: 12.5px;
  }

  .luzia-avatar-stage {
    position: absolute;
    top: 38px;
    right: 4px;
    width: 108px;
    min-height: 152px;
    pointer-events: none;
  }

  .luzia-avatar-stage img {
    width: 132px;
  }

  .luzia-avatar-stage span {
    width: 88px;
    height: 88px;
  }

  .luzia-toolbar {
    width: calc(100% + 104px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 18px -104px 0 0;
  }

  .luzia-toolbar button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 8px 7px;
    border-radius: 13px;
    font-size: 11.5px;
    line-height: 1.15;
    white-space: nowrap;
  }

  .luzia-options {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 0 14px 12px;
  }

  .luzia-options button {
    position: relative;
    width: 100%;
    min-height: 48px;
    padding: 10px 38px 10px 13px;
    border-radius: 14px;
    font-size: 12px;
    line-height: 1.28;
    text-align: left;
  }

  .luzia-options button::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 14px;
    color: #08aeb1;
    font-size: 20px;
    line-height: 1;
    transform: translateY(-52%);
  }

  .luzia-replay {
    width: calc(100% - 28px);
    min-height: 44px;
    margin: 0 14px 12px;
    border-radius: 13px;
  }

  .luzia-composer {
    grid-template-columns: minmax(0, 1fr) 46px 78px;
    align-items: center;
    gap: 8px;
  }

  .luzia-composer textarea {
    grid-column: 1 / -1;
    min-height: 52px;
    padding: 15px 14px;
    resize: none;
    line-height: 1.35;
  }

  .luzia-mic {
    grid-column: 2;
  }

  .luzia-send {
    grid-column: 3;
  }
}

.topbar .menu-btn {
  display: grid;
}

.topbar.has-back-navigation {
  position: relative;
  grid-template-columns: 36px 38px minmax(0, 1fr) auto;
  gap: 8px;
}

.topbar.has-back-navigation .brand {
  min-width: 0;
  position: absolute;
  left: 50%;
  justify-self: auto;
  transform: translateX(-50%);
  z-index: 2;
  text-align: left;
}

.topbar.has-back-navigation > :last-child {
  grid-column: 4;
  justify-self: end;
}

/* Home: XP integrado ao topo, sem ficar solto abaixo do avatar. */
.app-home-hero .global-tour-help {
  display: none;
}

.app-home-hero .studies-top-actions {
  gap: 0;
}

.app-home-hero .profile-menu-shell {
  width: auto;
  height: 42px;
  display: flex;
  align-items: center;
  gap: 7px;
}

.app-home-hero .topbar-xp-badge {
  position: static;
  min-width: 62px;
  height: 29px;
  padding: 0 9px;
  border-radius: 12px;
  box-shadow: 0 7px 16px rgba(12,68,101,.09);
}

.app-home-hero .topbar-xp-badge svg {
  width: 11px;
  height: 11px;
}

.app-home-hero .topbar-xp-badge strong {
  font-size: 9px;
}

.app-home-hero .topbar-xp-badge span {
  font-size: 7px;
}

@media (max-width: 520px) {
  .app-home-hero .profile-menu-shell {
    width: auto;
    height: 38px;
    gap: 6px;
  }

  .app-home-hero .topbar-xp-badge {
    min-width: 56px;
    height: 27px;
    padding: 0 7px;
    border-radius: 11px;
  }
}

@media (max-width: 380px) {
  .topbar.has-back-navigation {
    grid-template-columns: 34px 34px minmax(0, 1fr) auto;
    gap: 5px;
  }

  .topbar.has-back-navigation .menu-btn,
  .topbar.has-back-navigation .app-back-link {
    width: 34px;
    height: 34px;
  }
}

.global-tour-help svg {
  width: 22px;
  height: 22px;
}

.global-tour-help-floating {
  position: fixed;
  top: max(14px, env(safe-area-inset-top));
  right: 14px;
  z-index: 9000;
  border: 1px solid rgba(8,174,177,.24);
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 24px rgba(7,29,68,.16);
}

.global-tour-layer[hidden] {
  display: none;
}

.global-tour-layer {
  position: fixed;
  inset: 0;
  z-index: 15000;
  overflow: hidden;
  pointer-events: auto;
}

.global-tour-shade {
  display: none;
}

.global-tour-spotlight {
  position: fixed;
  z-index: 15001;
  border: 3px solid #20e1b0;
  border-radius: 17px;
  background: transparent;
  box-shadow:
    0 0 0 9999px rgba(3,18,43,.72),
    0 0 0 6px rgba(32,225,176,.18),
    0 12px 34px rgba(0,0,0,.2);
  pointer-events: none;
  transition: top .24s ease, left .24s ease, width .24s ease, height .24s ease;
}

.global-tour-card {
  position: fixed;
  z-index: 15002;
  overflow-y: auto;
  padding: 17px;
  border: 1px solid rgba(32,225,176,.42);
  border-radius: 20px;
  outline: 0;
  background:
    radial-gradient(circle at 94% 8%, rgba(21,217,161,.2), transparent 31%),
    #fff;
  color: var(--ink);
  box-shadow: 0 24px 65px rgba(2,18,44,.32);
}

.global-tour-exit {
  float: right;
  border: 0;
  padding: 4px 0 6px 10px;
  background: transparent;
  color: #65758b;
  font-size: 11px;
  font-weight: 800;
}

.global-tour-counter {
  color: #078f91;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .6px;
  text-transform: uppercase;
}

.global-tour-progress {
  height: 4px;
  margin: 11px 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: #e5eef3;
}

.global-tour-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #15d9a1, #08aeb1);
  transition: width .25s ease;
}

.global-tour-card > p {
  margin: 0 0 5px;
  color: #08aeb1;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.global-tour-card h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.1;
}

.global-tour-text {
  margin-top: 8px;
  color: #5f7087;
  font-size: 12.5px;
  line-height: 1.4;
  font-weight: 600;
}

.global-tour-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 15px;
}

.global-tour-actions button {
  min-height: 42px;
  border: 1px solid #d9e5ed;
  border-radius: 12px;
  background: #f7fafc;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.global-tour-actions button:last-child {
  border-color: transparent;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
}

.global-tour-actions button:disabled {
  opacity: .42;
}

body.global-tour-open {
  overflow: hidden;
}

@media (min-width: 681px) {
  .global-tour-card {
    width: min(390px, calc(100vw - 28px)) !important;
    right: auto !important;
  }
}

.onboarding-fluid-screen {
  grid-template-rows: auto minmax(0, 1fr);
}

@media (min-width: 1025px) {
  .app-screen.onboarding-fluid-screen {
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
  }

  .onboarding-fluid-screen .onboarding-conversation {
    min-height: 0;
    overflow: hidden;
  }
}

.onboarding-audio-modal[hidden] {
  display: none;
}

.onboarding-audio-modal {
  position: fixed;
  inset: 0;
  z-index: 14000;
  display: grid;
  place-items: center;
  padding: 20px;
}

.onboarding-audio-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4,18,42,.68);
  backdrop-filter: blur(5px);
}

.onboarding-audio-modal > section {
  position: relative;
  width: min(100%, 410px);
  padding: 27px 24px 23px;
  border: 1px solid rgba(174,225,229,.82);
  border-radius: 27px;
  background: radial-gradient(circle at 85% 4%, rgba(21,217,161,.2), transparent 34%), #fff;
  box-shadow: 0 28px 70px rgba(3,20,48,.3);
  text-align: center;
}

.onboarding-audio-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 13px;
  display: grid;
  place-items: center;
  border-radius: 21px;
  color: #fff;
  background: linear-gradient(145deg, #15d9a1, #078daf);
  box-shadow: 0 13px 25px rgba(8,174,177,.24);
}

.onboarding-audio-icon svg {
  width: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-audio-modal section > p {
  margin: 0 0 7px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.onboarding-audio-modal h2 {
  margin: 0;
  font-size: 25px;
  line-height: 1.08;
}

.onboarding-audio-modal section > span:not(.onboarding-audio-icon) {
  display: block;
  margin-top: 11px;
  color: #63738a;
  font-size: 13px;
  line-height: 1.45;
}

.onboarding-audio-modal section > button {
  width: 100%;
  min-height: 53px;
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.onboarding-audio-modal section > button svg {
  width: 19px;
  fill: currentColor;
}

.onboarding-audio-modal section > button:disabled {
  opacity: .65;
}

.onboarding-audio-modal section > small {
  display: block;
  margin-top: 10px;
  color: #8090a4;
  font-size: 10.5px;
}

.onboarding-audio-error {
  margin-top: 13px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff1f2;
  color: #bd3444;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
}

.onboarding-audio-error[hidden] {
  display: none;
}

body.onboarding-audio-modal-open {
  overflow: hidden;
}

.onboarding-start[hidden],
.onboarding-conversation[hidden] {
  display: none;
}

.onboarding-start {
  position: relative;
  min-height: 0;
  display: grid;
  justify-items: center;
  align-content: center;
  overflow: hidden;
  padding: 18px 24px calc(30px + env(safe-area-inset-bottom));
  text-align: center;
}

.onboarding-start-glow {
  position: absolute;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(21,217,161,.3), rgba(52,125,255,.08) 48%, transparent 70%);
  filter: blur(4px);
}

.onboarding-start img {
  position: relative;
  width: min(230px, 64vw);
  margin-bottom: -20px;
  filter: drop-shadow(0 22px 24px rgba(7,29,68,.16));
}

.onboarding-start p {
  position: relative;
  margin: 0 0 7px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.onboarding-start h1 {
  position: relative;
  max-width: 540px;
  margin: 0;
  font-size: clamp(26px, 7vw, 40px);
  line-height: 1.02;
}

.onboarding-start > span {
  position: relative;
  max-width: 470px;
  margin-top: 11px;
  color: #63738a;
  font-size: 13px;
  line-height: 1.42;
  font-weight: 620;
}

.onboarding-start > button {
  position: relative;
  width: min(100%, 330px);
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 18px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 15px 28px rgba(8,174,177,.23);
}

.onboarding-start > button svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.onboarding-start > small {
  position: relative;
  margin-top: 9px;
  color: #8090a4;
  font-size: 10.5px;
}

.onboarding-conversation {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
}

.onboarding-conversation .onboarding-chat {
  padding-top: 18px;
}

.onboarding-conversation > .onboarding-options {
  padding: 8px 14px;
  background: rgba(255,255,255,.88);
}

.onboarding-conversation .onboarding-composer {
  padding: 10px 14px calc(14px + env(safe-area-inset-bottom));
}

.onboarding-conversation .composer-row {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 12px 16px 14px;
  border: 1px solid rgba(8,184,172,.2);
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 30px rgba(15,46,84,.09);
}

.onboarding-voice-status {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  color: #51647e;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 760;
}

.onboarding-voice-status i {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #15d9a1;
  box-shadow: 0 0 0 5px rgba(21,217,161,.12);
}

.onboarding-voice-status[data-state="speaking"] i,
.onboarding-voice-status[data-state="processing"] i {
  animation: onboarding-voice-pulse 1s ease-in-out infinite;
}

.onboarding-voice-status[data-state="listening"] {
  color: #087f82;
}

.onboarding-voice-status[data-state="listening"] i {
  background: #ff4968;
  box-shadow: 0 0 0 5px rgba(255,73,104,.12);
  animation: onboarding-voice-pulse .75s ease-in-out infinite;
}

.onboarding-voice-main {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  box-shadow: 0 10px 22px rgba(33,101,214,.22);
}

.onboarding-voice-main:disabled {
  opacity: .55;
}

.onboarding-text-toggle {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 13px;
  border: 1px solid rgba(8,174,177,.24);
  border-radius: 999px;
  background: #f4fbfd;
  color: #176b7b;
  font-size: 12px;
  font-weight: 850;
}

.onboarding-text-toggle svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-text-toggle.is-active {
  background: #e8fbf7;
  color: #087f82;
}

.onboarding-text-reply {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 9px;
}

.onboarding-text-reply[hidden] {
  display: none !important;
}

.onboarding-text-reply textarea {
  width: 100%;
  min-width: 0;
  min-height: 54px;
  max-height: 120px;
  margin: 0;
  padding: 12px 14px;
  resize: vertical;
  border: 1px solid #c9dfea;
  border-radius: 16px;
  background: #f9fcff;
  color: #0b214c;
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
  outline: 0;
  box-shadow: none;
}

.onboarding-text-reply textarea:focus {
  border-color: #08aeb1;
  box-shadow: 0 0 0 4px rgba(8,174,177,.1);
}

.onboarding-text-reply button {
  min-width: 86px;
  min-height: 54px;
  padding: 0 15px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg,#15d9a1,#08aeb1);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(8,174,177,.2);
}

@keyframes onboarding-voice-pulse {
  50% {
    transform: scale(1.35);
    opacity: .55;
  }
}

@media (max-width: 420px) {
  .onboarding-conversation > .onboarding-options {
    padding-inline: 10px;
  }

  .onboarding-conversation .onboarding-composer {
    padding-inline: 10px;
  }

  .onboarding-conversation .composer-row {
    width: 100%;
    gap: 9px;
    padding: 11px 12px 13px;
  }

  .onboarding-voice-status {
    min-height: 31px;
    font-size: 12px;
  }

  .onboarding-text-reply {
    grid-template-columns: minmax(0, 1fr) 78px;
  }

  .onboarding-text-reply button {
    min-width: 0;
    padding-inline: 10px;
  }
}

.studies-video-modal {
  padding: 12px !important;
}

.studies-video-modal .modal-dialog {
  width: min(88vw, 360px);
  max-width: 360px;
  margin: auto;
}

.studies-video-modal .modal-content {
  position: relative;
  overflow: hidden;
  aspect-ratio: 9 / 18;
  max-height: calc(100dvh - 32px);
  border: 1px solid rgba(8,184,172,.25);
  border-radius: 28px;
  background: #061522;
  box-shadow: 0 28px 80px rgba(4,22,43,.34);
}

.studies-video-close {
  position: absolute;
  z-index: 3;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(2,19,32,.66);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  backdrop-filter: blur(10px);
}

.studies-video-frame,
.studies-video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.studies-video-placeholder {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 34px;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 50% 30%, rgba(21,217,161,.24), transparent 35%),
    linear-gradient(180deg, #0b2537, #061522);
}

.studies-video-placeholder img {
  width: min(78%, 230px);
  margin-bottom: -12px;
  filter: drop-shadow(0 18px 24px rgba(0,0,0,.28));
}

.studies-video-placeholder p {
  margin: 0 0 7px;
  color: #21e0c3;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.studies-video-placeholder h2 {
  margin: 0;
  color: #fff;
  font-size: 24px;
  line-height: 1.05;
  font-weight: 900;
}

.studies-video-placeholder span {
  margin-top: 12px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.studies-audio-intro {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 38px 28px 30px;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 50% 24%, rgba(21,217,161,.3), transparent 34%),
    radial-gradient(circle at 80% 72%, rgba(57,107,255,.2), transparent 34%),
    linear-gradient(180deg, #0b293a, #061522);
}

.studies-audio-intro > img {
  width: min(78%, 225px);
  margin: -28px 0 -20px;
  filter: drop-shadow(0 20px 25px rgba(0,0,0,.3));
}

.studies-audio-intro > p {
  margin: 0 0 7px;
  color: #21e0c3;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.studies-audio-intro > h2 {
  max-width: 250px;
  margin: 0 0 24px;
  color: #fff;
  font-size: 23px;
  line-height: 1.06;
  font-weight: 900;
}

.studies-audio-mic {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 50%;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  box-shadow: 0 14px 36px rgba(8,174,177,.3);
  transition: transform .2s ease, opacity .2s ease;
}

.studies-audio-mic:disabled {
  opacity: .65;
}

.studies-audio-mic:not(:disabled):active {
  transform: scale(.94);
}

.studies-audio-mic.is-speaking {
  box-shadow: 0 0 0 10px rgba(21,217,161,.1), 0 16px 38px rgba(8,174,177,.34);
}

.studies-audio-mic svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.studies-audio-waves {
  height: 32px;
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 10px;
  overflow: hidden;
}

.studies-audio-waves i {
  width: 4px;
  height: 27px;
  border-radius: 999px;
  background: #21e0c3;
  opacity: .55;
  transform: scaleY(.2);
  transform-origin: center;
  will-change: transform, opacity;
}

.studies-audio-waves.is-speaking i {
  animation: studies-audio-wave .8s ease-in-out infinite alternate;
}

.studies-audio-waves.is-speaking i:nth-child(2),
.studies-audio-waves.is-speaking i:nth-child(6) {
  animation-delay: -.55s;
}

.studies-audio-waves.is-speaking i:nth-child(3),
.studies-audio-waves.is-speaking i:nth-child(5) {
  animation-delay: -.3s;
}

.studies-audio-waves.is-speaking i:nth-child(4) {
  animation-delay: -.7s;
}

@keyframes studies-audio-wave {
  from { transform: scaleY(.2); opacity: .55; }
  to { transform: scaleY(1); opacity: 1; }
}

.studies-audio-intro > span {
  min-height: 34px;
  margin-top: 4px;
  color: rgba(255,255,255,.76);
  font-size: 12px;
  line-height: 1.35;
}

.studies-audio-start {
  width: 100%;
  min-height: 50px;
  margin-top: 12px;
}

.studies-audio-start[hidden] {
  display: none;
}

.mentor-action-option.is-loading {
  opacity: .72;
}

.mentor-end-option {
  border-color: rgba(239,72,89,.22);
  background: linear-gradient(145deg, rgba(255,247,248,.98), #fff);
  color: #c82e45;
}

.mentor-end-option svg {
  color: #e3465c;
}

.summary-notice-modal {
  overflow: hidden;
  border: 1px solid rgba(8,184,172,.22);
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(15,46,84,.2);
}

.summary-notice-visual {
  position: relative;
  height: 116px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 65%, rgba(21,217,161,.3), transparent 42%),
    linear-gradient(145deg, #effffd, #edf6ff);
}

.summary-notice-visual img {
  position: relative;
  z-index: 2;
  width: 126px;
  margin-top: 18px;
  filter: drop-shadow(0 12px 17px rgba(15,46,84,.16));
}

.summary-notice-visual i {
  position: absolute;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(8,184,172,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 24px rgba(8,184,172,.035);
}

.summary-notice-modal .modal-header {
  padding: 20px 20px 8px;
  border: 0;
}

.summary-notice-modal .modal-header p {
  margin: 0 0 5px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.summary-notice-modal .modal-header h2 {
  margin: 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.08;
  font-weight: 900;
}

.summary-notice-modal .modal-body {
  padding: 8px 20px 18px;
}

.summary-notice-modal .modal-body p {
  margin: 0;
  color: #62738a;
  font-size: 14px;
  line-height: 1.5;
}

.summary-notice-modal .modal-footer {
  padding: 0 20px 20px;
  border: 0;
}

.summary-notice-modal .modal-footer .primary-action {
  width: 100%;
  min-height: 48px;
}

.mentorship-quiz-modal .modal-dialog {
  width: min(100% - 22px, 620px);
  max-width: 620px;
  margin-inline: auto;
}

.mentorship-quiz-modal .modal-content {
  max-height: calc(100dvh - 24px);
  overflow: hidden;
  border: 1px solid rgba(8,184,172,.2);
  border-radius: 24px;
  background: #f8fbff;
  box-shadow: 0 26px 80px rgba(15,46,84,.23);
}

.mentorship-quiz-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 20px 13px;
  background: #fff;
}

.mentorship-quiz-head p {
  margin: 0 0 5px;
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.mentorship-quiz-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.08;
  font-weight: 900;
}

.mentorship-quiz-progress {
  height: 5px;
  background: #e5eef6;
}

.mentorship-quiz-progress i {
  display: block;
  width: 8%;
  height: 100%;
  background: linear-gradient(90deg, #15d9a1, #08aeb1, #347dff);
  transition: width .35s ease;
}

.mentorship-quiz-modal .modal-body {
  padding: 20px;
}

.mentorship-quiz-loading {
  min-height: 390px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.mentorship-quiz-loading img {
  width: 180px;
  margin-bottom: -20px;
  filter: drop-shadow(0 16px 20px rgba(15,46,84,.13));
}

.mentorship-quiz-loading > span {
  display: flex;
  gap: 5px;
  margin-bottom: 15px;
}

.mentorship-quiz-loading > span i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0bc3b1;
  animation: iara-typing .8s ease-in-out infinite;
}

.mentorship-quiz-loading > span i:nth-child(2) { animation-delay: .15s; }
.mentorship-quiz-loading > span i:nth-child(3) { animation-delay: .3s; }

.mentorship-quiz-loading strong {
  color: var(--ink);
  font-size: 17px;
}

.mentorship-quiz-loading small {
  margin-top: 7px;
  color: #74849a;
  font-size: 12px;
}

.mentorship-quiz-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mentorship-quiz-meta span,
.mentorship-quiz-meta em {
  color: #08aeb1;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}

.mentorship-quiz-meta em {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(52,125,255,.09);
  color: #3471cf;
}

.mentorship-quiz-question h3 {
  margin: 17px 0;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 820;
}

.mentorship-quiz-alternatives {
  display: grid;
  gap: 9px;
}

.mentorship-quiz-alternative {
  width: 100%;
  min-height: 54px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 9px 12px;
  border: 1px solid #dce8f1;
  border-radius: 15px;
  background: #fff;
  color: #43566f;
  text-align: left;
}

.mentorship-quiz-alternative b {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #eff5fa;
  color: #60748b;
  font-size: 12px;
}

.mentorship-quiz-alternative span {
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 650;
}

.mentorship-quiz-alternative.selected {
  border-color: rgba(8,184,172,.55);
  background: #effdfa;
  box-shadow: 0 0 0 3px rgba(8,184,172,.07);
}

.mentorship-quiz-alternative.selected b {
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
}

.mentorship-quiz-footer {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 9px;
  padding: 13px 20px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid #e3ecf3;
  background: #fff;
}

.mentorship-quiz-footer[hidden] {
  display: none;
}

.mentorship-quiz-footer button {
  min-height: 47px;
  border: 1px solid #dce7ef;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.mentorship-quiz-footer button:last-child {
  border: 0;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
}

.mentorship-quiz-footer button:disabled {
  opacity: .45;
}

.mentorship-quiz-result {
  padding-bottom: 4px;
}

.mentorship-result-score {
  min-height: 150px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.17), transparent 30%),
    linear-gradient(145deg, #0b9e9a, #176fd3);
}

.mentorship-result-score strong {
  font-size: 52px;
  line-height: 1;
}

.mentorship-result-score strong small {
  font-size: 20px;
  opacity: .7;
}

.mentorship-result-score span {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 760;
}

.mentorship-quiz-result > h3 {
  margin: 22px 0 12px;
  color: var(--ink);
  font-size: 19px;
  font-weight: 900;
}

.mentorship-quiz-reviews {
  display: grid;
  gap: 10px;
}

.mentorship-quiz-review {
  padding: 14px;
  border: 1px solid #dfe9f1;
  border-radius: 15px;
  background: #fff;
}

.mentorship-quiz-review header {
  display: flex;
  align-items: center;
  gap: 9px;
}

.mentorship-quiz-review header b {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #e8f8f3;
  color: #099b81;
}

.mentorship-quiz-review.wrong header b {
  background: #ffedf0;
  color: #d6334d;
}

.mentorship-quiz-review header span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
}

.mentorship-quiz-review p {
  margin: 10px 0 0;
  color: #5d6e84;
  font-size: 12.5px;
  line-height: 1.5;
}

.mentorship-quiz-review small {
  display: block;
  margin-top: 8px;
  color: #c4374c;
  font-size: 11px;
  font-weight: 750;
}

.mentorship-case-card > h3 {
  margin: 16px 0 11px;
  color: var(--ink);
  font-size: 19px;
  font-weight: 900;
}

.mentorship-case-vignette {
  padding: 16px;
  border: 1px solid #dce8f1;
  border-radius: 17px;
  background: #fff;
}

.mentorship-case-vignette p,
.mentorship-case-trigger p {
  margin: 0;
  color: #4f6279;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-line;
}

.mentorship-case-trigger {
  margin-top: 12px;
  padding: 15px;
  border-left: 4px solid #0bc3b1;
  border-radius: 5px 15px 15px 5px;
  background: #edfcf9;
}

.mentorship-case-trigger b,
.mentorship-case-card > label {
  display: block;
  margin-bottom: 6px;
  color: #078d83;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.mentorship-case-card > label {
  margin: 17px 0 7px;
  color: var(--ink);
}

.mentorship-case-card textarea {
  width: 100%;
  min-height: 150px;
  resize: vertical;
  padding: 14px;
  border: 1px solid #d8e5ef;
  border-radius: 15px;
  outline: 0;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  line-height: 1.5;
}

.mentorship-case-card textarea:focus {
  border-color: rgba(8,184,172,.55);
  box-shadow: 0 0 0 4px rgba(8,184,172,.08);
}

.mentorship-case-card > small {
  display: block;
  margin-top: 7px;
  color: #8290a3;
  font-size: 10.5px;
}

.mentorship-final-consideration {
  margin: 15px 0 22px;
  padding: 17px;
  border: 1px solid rgba(8,184,172,.24);
  border-radius: 17px;
  background: #effcf9;
}

.mentorship-final-consideration b {
  color: #078d83;
  font-size: 12px;
}

.mentorship-final-consideration p {
  margin: 8px 0 0;
  color: #4e6277;
  font-size: 13px;
  line-height: 1.55;
}

.mentorship-cases-result > h3 {
  margin: 0 0 12px;
  color: var(--ink);
  font-size: 19px;
  font-weight: 900;
}

.mentorship-history-attempt {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid rgba(0, 194, 184, 0.2);
  border-radius: 20px;
  background: rgba(246, 255, 254, 0.82);
}

.mentorship-history-attempt > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  color: #10204b;
}

.mentorship-history-attempt > header strong {
  color: #00a99d;
}

.mentorship-quiz-review h4 {
  margin: 8px 0;
  color: #10204b;
  font-size: 0.93rem;
  line-height: 1.4;
}

.mentorship-redo-action {
  width: 100%;
  margin-top: 16px;
  padding: 14px 18px;
  border: 0;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #00cbb8, #108aea);
  box-shadow: 0 12px 24px rgba(0, 174, 181, 0.22);
  font-weight: 800;
}

/* Central independente de casos clínicos */
.clinical-hub-screen {
  background: linear-gradient(180deg, #f0fcfb 0, #f6f9ff 34%, #fff 100%);
}

.clinical-hub-scroll {
  padding: 0 20px 108px;
}

.clinical-hub-header {
  margin: 0 -20px;
  padding: 0 20px 22px;
  background: radial-gradient(circle at 95% 5%, rgba(15, 207, 188, .2), transparent 34%);
}

.clinical-hub-hero {
  min-height: 225px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  margin-top: 12px;
  padding: 24px 44% 24px 20px;
  border: 1px solid rgba(5, 190, 180, .24);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(222,255,249,.82));
  box-shadow: 0 18px 45px rgba(30, 102, 139, .1);
}

.clinical-hub-hero p,
.clinical-step {
  margin: 0 0 8px;
  color: #00a99e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.clinical-hub-hero h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(25px, 7vw, 36px);
  font-weight: 950;
  line-height: .98;
}

.clinical-hub-hero span {
  display: block;
  margin-top: 12px;
  color: #62748c;
  font-size: 12px;
  line-height: 1.45;
}

.clinical-hub-hero img {
  position: absolute;
  right: -20px;
  bottom: -9px;
  width: 49%;
  max-height: 220px;
  object-fit: contain;
}

.clinical-create-panel {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 15px;
  margin: 20px 0 26px;
  padding: 18px;
  border-radius: 22px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 15%, rgba(66, 238, 210, .22), transparent 31%),
    linear-gradient(135deg, #102b5d 0%, #075f81 56%, #008e9b 100%);
  box-shadow: 0 17px 38px rgba(10, 56, 91, .24);
}

.clinical-create-panel h2,
.clinical-create-panel p { margin: 0; }
.clinical-create-panel h2 {
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.08;
  text-shadow: 0 2px 10px rgba(0, 20, 52, .18);
}
.clinical-create-panel p {
  margin-top: 7px;
  color: rgba(239, 253, 255, .84);
  font-size: 11px;
  line-height: 1.45;
}
.clinical-create-panel .clinical-step {
  color: #6af3d3;
  letter-spacing: 1.35px;
}
.clinical-create-panel button {
  width: 105px;
  min-height: 88px;
  padding: 11px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 18px;
  color: #0d3560;
  background: linear-gradient(145deg, #fff, #f1fffd);
  box-shadow: 0 12px 26px rgba(3, 43, 77, .2);
  font-size: 11px;
  font-weight: 900;
}
.clinical-create-panel button svg {
  display: block;
  width: 27px;
  margin: 0 auto 8px;
  fill: none;
  stroke: #00bcae;
  stroke-width: 2.2;
}
.clinical-create-panel button:active {
  transform: translateY(1px);
  box-shadow: 0 7px 16px rgba(3, 43, 77, .18);
}

.clinical-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}
.clinical-section-head h2 { margin: 0; color: var(--ink); font-size: 20px; font-weight: 930; }
.clinical-section-head p { margin: 4px 0 0; color: #75869d; font-size: 11px; }
.clinical-section-head select {
  max-width: 145px;
  padding: 10px 28px 10px 10px;
  border: 1px solid #dce8f1;
  border-radius: 13px;
  outline: 0;
  background: #fff;
  color: #40536c;
  font-size: 10px;
  font-weight: 750;
}
.clinical-section-head > span { color: #00a99d; font-size: 11px; font-weight: 850; }

.clinical-lessons-shell { position: relative; }
.clinical-lessons-slider {
  height: 345px;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: repeat(2, calc((100% - 10px) / 2));
  grid-auto-columns: calc((100% - 10px) / 2);
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.clinical-lessons-slider::-webkit-scrollbar { display: none; }
.clinical-lesson-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 14px 34px 13px 14px;
  border: 1px solid rgba(4, 188, 177, .2);
  border-radius: 18px;
  text-align: left;
  scroll-snap-align: start;
  background: linear-gradient(145deg, #fff, #effcfb);
  box-shadow: 0 9px 22px rgba(32, 78, 113, .07);
}
.clinical-lesson-card span { display: block; overflow: hidden; color: #00a99e; font-size: 9px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; }
.clinical-lesson-card strong { display: -webkit-box; overflow: hidden; margin-top: 7px; color: var(--ink); font-size: 12px; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.clinical-lesson-card small { display: block; margin-top: 7px; color: #72849a; font-size: 9px; }
.clinical-lesson-card i { position: absolute; right: 12px; bottom: 12px; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: #00beaf; font-style: normal; }
.clinical-slider-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 34px;
  height: 48px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: rgba(16, 40, 97, .88);
  box-shadow: 0 7px 18px rgba(16, 40, 97, .2);
  font-size: 25px;
  transform: translateY(-50%);
}
.clinical-slider-arrow.previous { left: -12px; }
.clinical-slider-arrow.next { right: -12px; }
.clinical-loading-card { grid-row: 1 / 4; display: grid; place-items: center; color: #75869d; font-size: 12px; }
.clinical-lessons-empty {
  grid-row: 1 / 4;
  grid-column: 1 / 3;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px;
  border: 1px dashed rgba(5, 178, 169, .35);
  border-radius: 21px;
  text-align: center;
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(235,253,250,.76));
}
.clinical-lessons-empty strong { color: var(--ink); font-size: 15px; line-height: 1.25; }
.clinical-lessons-empty span { max-width: 270px; margin-top: 8px; color: #71839a; font-size: 11px; line-height: 1.5; }
.clinical-lessons-empty span b { color: #078d83; }
.clinical-lessons-empty button {
  margin-top: 15px;
  padding: 11px 16px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, #00c5b3, #078fc7);
  font-size: 11px;
  font-weight: 850;
}

.clinical-history-section { margin-top: 31px; }
.clinical-history-list { display: grid; gap: 10px; }
.clinical-history-card {
  display: grid;
  grid-template-columns: 1fr auto 18px;
  align-items: center;
  gap: 12px;
  padding: 15px;
  border: 1px solid #dfebf2;
  border-radius: 18px;
  text-align: left;
  background: #fff;
}
.clinical-history-card div { min-width: 0; }
.clinical-history-card div > span { display: block; color: #00a99d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.clinical-history-card div > strong { display: block; overflow: hidden; margin: 4px 0; color: var(--ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.clinical-history-card div > small { color: #8390a3; font-size: 9px; }
.clinical-history-card > b { color: #087f82; font-size: 21px; }
.clinical-history-card > b small { font-size: 9px; opacity: .7; }
.clinical-history-card > i { color: #04b7aa; font-size: 23px; font-style: normal; }
.clinical-history-empty { padding: 24px; border: 1px dashed #cae1e6; border-radius: 19px; text-align: center; background: rgba(255,255,255,.65); }
.clinical-history-empty strong,.clinical-history-empty span { display: block; }
.clinical-history-empty strong { color: var(--ink); font-size: 14px; }
.clinical-history-empty span { margin-top: 5px; color: #7c8ca0; font-size: 10px; }

.clinical-theme-modal .modal-content { overflow: hidden; border: 0; border-radius: 24px; }
.clinical-theme-modal header { display: flex; align-items: center; gap: 11px; padding: 18px 18px 12px; background: linear-gradient(145deg,#effffc,#eef6ff); }
.clinical-theme-modal header img { width: 55px; height: 55px; object-fit: contain; }
.clinical-theme-modal header div { flex: 1; }
.clinical-theme-modal header p,.clinical-theme-modal header h2 { margin: 0; }
.clinical-theme-modal header p { color: #00a99d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.clinical-theme-modal header h2 { color: var(--ink); font-size: 18px; font-weight: 900; }
.clinical-theme-modal .modal-body > p { color: #5e7188; font-size: 12px; line-height: 1.5; }
.clinical-theme-modal textarea { width: 100%; min-height: 135px; padding: 14px; border: 1px solid #d8e6ef; border-radius: 16px; outline: 0; font: inherit; font-size: 13px; }
.clinical-theme-input { position: relative; }
.clinical-theme-input textarea { padding-right: 58px; }
.clinical-theme-input > button {
  position: absolute;
  right: 11px;
  bottom: 11px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, #00cbb8, #078fd0);
  box-shadow: 0 8px 18px rgba(0, 169, 174, .24);
}
.clinical-theme-input > button svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.clinical-theme-input > button.is-listening {
  background: linear-gradient(145deg, #ff4e73, #e62c54);
  animation: clinical-mic-pulse 1.2s ease-in-out infinite;
}
.clinical-theme-voice-status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 9px;
  color: #078d83;
  font-size: 11px;
  font-weight: 800;
}
.clinical-theme-voice-status[hidden] { display: none; }
.clinical-theme-voice-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #00c3ad;
  box-shadow: 0 0 0 5px rgba(0,195,173,.13);
}
@keyframes clinical-mic-pulse {
  50% { transform: scale(.94); box-shadow: 0 0 0 7px rgba(238,54,91,.15); }
}
.clinical-theme-modal footer { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9px; padding: 13px 18px 18px; }
.clinical-theme-modal footer button { min-height: 46px; border: 1px solid #dce7ef; border-radius: 14px; background: #fff; color: var(--ink); font-size: 11px; font-weight: 850; }
.clinical-theme-modal footer button:last-child { border: 0; color: #fff; background: linear-gradient(135deg,#00c9b5,#078dcc); }

.simulado-hub-screen {
  background: linear-gradient(180deg, #f4fbff 0, #f8fbff 42%, #fff 100%);
}

.simulado-hub-header {
  background:
    radial-gradient(circle at 92% 2%, rgba(81, 124, 255, .16), transparent 33%),
    radial-gradient(circle at 5% 28%, rgba(0, 201, 181, .15), transparent 28%);
}

.simulado-hub-hero {
  background:
    linear-gradient(135deg, rgba(255,255,255,.97), rgba(237,247,255,.92)),
    repeating-linear-gradient(135deg, rgba(0,188,174,.08) 0 1px, transparent 1px 12px);
}

.simulado-selection-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  margin: 20px 0 26px;
  padding: 18px;
  border: 1px solid rgba(26, 112, 205, .14);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(31, 78, 129, .09);
}

.simulado-selection-panel h2,
.simulado-selection-panel p {
  margin: 0;
}

.simulado-selection-panel h2 {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.08;
  font-weight: 930;
}

.simulado-selection-panel p {
  margin-top: 7px;
  color: #697d95;
  font-size: 11px;
  line-height: 1.45;
}

.simulado-selection-summary {
  width: 76px;
  min-height: 76px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.24), transparent 30%),
    linear-gradient(145deg, #13c9a9, #176fd3);
}

.simulado-selection-summary strong {
  font-size: 27px;
  line-height: 1;
  font-weight: 950;
}

.simulado-selection-summary span {
  margin-top: 3px;
  font-size: 10px;
  font-weight: 850;
}

.simulado-selected-chips {
  grid-column: 1 / -1;
  min-height: 42px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 9px;
  border-radius: 16px;
  background: #f3f8fc;
}

.simulado-selected-chips small {
  align-self: center;
  color: #7c8da1;
  font-size: 11px;
}

.simulado-selected-chips button {
  max-width: 100%;
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 7px;
  padding: 8px 8px 8px 11px;
  border: 1px solid rgba(0, 190, 174, .22);
  border-radius: 999px;
  background: #fff;
  color: #153052;
  font-size: 10.5px;
  font-weight: 800;
}

.simulado-selected-chips button span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.simulado-selected-chips button b {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #0bb8ab;
  font-size: 12px;
  line-height: 1;
}

.simulado-generate-button {
  grid-column: 1 / -1;
  min-height: 50px;
  border: 0;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #15d9a1, #078fd0);
  box-shadow: 0 12px 24px rgba(7, 143, 208, .18);
  font-size: 13px;
  font-weight: 900;
}

.simulado-generate-button:disabled {
  opacity: .46;
  box-shadow: none;
}

.simulado-lesson-card.selected {
  border-color: rgba(23, 111, 211, .42);
  background: linear-gradient(145deg, #effdfa, #eef5ff);
  box-shadow: inset 0 0 0 2px rgba(0, 190, 174, .11), 0 11px 25px rgba(32, 78, 113, .1);
}

.simulado-lesson-card.selected i {
  background: linear-gradient(145deg, #15d9a1, #176fd3);
}

.simulado-history-list {
  padding-bottom: 8px;
}

.simulado-history-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding: 0;
  background: transparent;
  border: 0;
}

.simulado-history-card > button:first-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 15px;
  border: 1px solid #dfebf2;
  border-radius: 18px;
  text-align: left;
  background: #fff;
}

.simulado-history-card > button:first-child b {
  color: #087f82;
  font-size: 21px;
}

.simulado-history-card > button:first-child b small {
  font-size: 9px;
  opacity: .7;
}

.simulado-history-card > button:first-child i {
  color: #04b7aa;
  font-size: 23px;
  font-style: normal;
}

.simulado-redo-link {
  min-width: 82px;
  padding: 0 12px;
  border: 1px solid rgba(23, 111, 211, .2);
  border-radius: 16px;
  background: #eef5ff;
  color: #176fd3;
  font-size: 11px;
  font-weight: 900;
}

.simulado-question-card h3 {
  white-space: pre-line;
}

.simulado-result .mentorship-result-score {
  background:
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(145deg, #12aa95, #254c9f);
}

.simulado-review h4 {
  margin: 12px 0 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 850;
  white-space: pre-line;
}

.simulado-answer-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.simulado-answer-line span {
  padding: 7px 9px;
  border-radius: 999px;
  background: #f1f6fb;
  color: #60738c;
  font-size: 11px;
  font-weight: 800;
}

.simulado-answer-line span b {
  color: var(--ink);
}

.simulado-review.correct .simulado-answer-line span:first-child {
  background: #e8f8f3;
  color: #078d83;
}

.simulado-review.wrong .simulado-answer-line span:first-child {
  background: #ffedf0;
  color: #c4374c;
}

.seminar-screen { background: linear-gradient(180deg,#f3fcff 0,#f7fbff 42%,#fff 100%); }
.seminar-scroll { padding: 0 20px 108px; }
.seminar-hero {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  display: flex;
  align-items: center;
  margin: 12px 0 20px;
  padding: 24px 42% 24px 20px;
  border: 1px solid rgba(0,188,174,.2);
  border-radius: 26px;
  background: linear-gradient(145deg,#fff,#eafffb);
  box-shadow: 0 18px 45px rgba(30,102,139,.1);
}
.seminar-hero img { position: absolute; right: -18px; bottom: -8px; width: 48%; max-height: 220px; object-fit: contain; }
.seminar-hero p { margin: 0 0 8px; color: #00a99e; font-size: 10px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; }
.seminar-hero h1 { margin: 0; color: var(--ink); font-size: clamp(24px,6.5vw,34px); line-height: 1; font-weight: 950; }
.seminar-hero span { display: block; margin-top: 10px; color: #62748c; font-size: 12px; line-height: 1.45; }
.seminar-chat-panel {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid #dcecf2;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 15px 34px rgba(23,72,120,.08);
}
.seminar-iara-bubble { display: grid; grid-template-columns: 58px 1fr; gap: 10px; align-items: center; }
.seminar-iara-bubble img { width: 58px; height: 58px; object-fit: contain; border-radius: 18px; background: #edfffb; }
.seminar-iara-bubble p { margin: 0; padding: 13px; border: 1px solid rgba(0,188,174,.22); border-radius: 17px; background: #f0fffc; color: var(--ink); font-size: 12px; line-height: 1.45; font-weight: 700; }
.seminar-form { display: grid; gap: 11px; }
.seminar-voice-interview {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid rgba(8,174,177,.2);
  border-radius: 18px;
  background: linear-gradient(145deg,#f8fffd,#f3f8ff);
}
.seminar-voice-interview > button {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(145deg,#15d9a1,#078fd0);
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(7,143,208,.16);
}
.seminar-voice-interview > button:disabled { opacity: .72; }
.seminar-voice-interview > button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}
.seminar-voice-modal .modal-dialog {
  width: min(92vw, 390px);
  margin-inline: auto;
}
.seminar-voice-modal .modal-content {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(8,184,172,.24);
  border-radius: 28px;
  background: #061522;
  box-shadow: 0 28px 80px rgba(4,22,43,.34);
}
.seminar-voice-card {
  min-height: min(650px, calc(100dvh - 34px));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 38px 28px 30px;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 50% 22%, rgba(21,217,161,.3), transparent 34%),
    radial-gradient(circle at 80% 72%, rgba(57,107,255,.2), transparent 34%),
    linear-gradient(180deg,#0b293a,#061522);
}
.seminar-voice-card > img {
  width: min(72%, 215px);
  margin: -18px 0 -14px;
  filter: drop-shadow(0 20px 25px rgba(0,0,0,.3));
}
.seminar-voice-card > p {
  margin: 0 0 8px;
  color: #21e0c3;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.seminar-voice-card > h2 {
  max-width: 290px;
  margin: 0 0 18px;
  color: #fff;
  font-size: 24px;
  line-height: 1.08;
  font-weight: 900;
}
.seminar-voice-card .seminar-voice-state {
  color: rgba(255,255,255,.82);
}
.seminar-voice-card .seminar-voice-retry,
.seminar-voice-finish {
  width: 100%;
  min-height: 50px;
  margin-top: 12px;
}
.seminar-voice-card .seminar-voice-retry[hidden],
.seminar-voice-finish[hidden] {
  display: none;
}
.seminar-voice-finish {
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.seminar-voice-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 30px;
  color: #536980;
  text-align: center;
  font-size: 11px;
  line-height: 1.35;
}
.seminar-voice-state span {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #15d9a1;
  box-shadow: 0 0 0 5px rgba(21,217,161,.12);
}
.seminar-voice-interview[data-state="speaking"] .seminar-voice-state span,
.seminar-voice-interview[data-state="processing"] .seminar-voice-state span,
.seminar-voice-card[data-state="speaking"] .seminar-voice-state span,
.seminar-voice-card[data-state="processing"] .seminar-voice-state span {
  animation: onboarding-voice-pulse 1s ease-in-out infinite;
}
.seminar-voice-interview[data-state="listening"] .seminar-voice-state,
.seminar-voice-card[data-state="listening"] .seminar-voice-state {
  color: #087f82;
}
.seminar-voice-interview[data-state="listening"] .seminar-voice-state span,
.seminar-voice-card[data-state="listening"] .seminar-voice-state span {
  background: #ff4968;
  box-shadow: 0 0 0 5px rgba(255,73,104,.12);
  animation: onboarding-voice-pulse .75s ease-in-out infinite;
}
.seminar-voice-card[data-state="listening"] .seminar-voice-state {
  color: #a8fff4;
}
.seminar-voice-waves {
  margin-top: 0;
  height: 24px;
}
.seminar-form label { color: var(--ink); font-size: 11px; font-weight: 900; }
.seminar-form input,.seminar-form textarea,.seminar-form select {
  width: 100%;
  margin-top: 6px;
  padding: 13px 14px;
  border: 1px solid #dce8f1;
  border-radius: 15px;
  outline: 0;
  background: #f9fcff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
}
.seminar-upload { padding: 13px; border: 1px dashed rgba(0,188,174,.35); border-radius: 18px; background: #f7fffd; }
.seminar-upload span { display: block; margin-top: 7px; color: #76889d; font-size: 10px; line-height: 1.35; }
.seminar-actions { display: grid; grid-template-columns: .9fr 1.4fr; gap: 10px; }
.seminar-actions button,.clinical-section-head > button,.seminar-ppt-button,.seminar-download {
  min-height: 48px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(145deg,#15d9a1,#078fd0);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}
.seminar-actions button:first-child { display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #dce8f1; background: #fff; color: var(--ink); }
.seminar-actions button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 2; }
.seminar-actions button.is-listening { color: #fff; background: linear-gradient(145deg,#ff4e73,#e62c54); }
.seminar-editor { margin-top: 26px; }
.seminar-slide-list { display: grid; gap: 13px; }
.seminar-slide-card {
  padding: 15px;
  border: 1px solid #dfebf2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(31,78,129,.06);
}
.seminar-slide-card header { display: grid; grid-template-columns: 1fr 125px 62px; gap: 8px; align-items: center; margin-bottom: 10px; }
.seminar-slide-card header span { color: #00a99d; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.seminar-slide-card header button { min-height: 38px; border: 0; border-radius: 12px; background: #ffedf0; color: #c4374c; font-size: 10px; font-weight: 900; }
.seminar-slide-card label { display: block; margin-top: 9px; color: var(--ink); font-size: 10px; font-weight: 900; }
.seminar-slide-card input,.seminar-slide-card textarea,.seminar-slide-card select {
  width: 100%;
  margin-top: 5px;
  padding: 10px 11px;
  border: 1px solid #dce8f1;
  border-radius: 13px;
  background: #f9fcff;
  color: #223850;
  font: inherit;
  font-size: 12px;
}
.seminar-sources { margin: 24px 0 14px; }
.seminar-sources h2 { margin: 0 0 10px; color: var(--ink); font-size: 19px; font-weight: 930; }
.seminar-sources div { display: grid; gap: 8px; }
.seminar-sources a { display: block; padding: 12px; border: 1px solid #e1ebf3; border-radius: 15px; background: #fff; text-decoration: none; }
.seminar-sources strong { display: block; color: var(--ink); font-size: 12px; line-height: 1.35; }
.seminar-sources span { display: block; margin-top: 5px; color: #72849a; font-size: 10px; }
.seminar-ppt-button,.seminar-download { width: 100%; display: grid; place-items: center; margin-top: 10px; }
.seminar-download[hidden] { display: none; }

@media (max-width: 380px) {
  .seminar-scroll { padding-right: 14px; padding-left: 14px; }
  .seminar-hero { padding-left: 16px; padding-right: 40%; }
  .seminar-actions { grid-template-columns: 1fr; }
  .seminar-slide-card header { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  .clinical-hub-scroll { padding-right: 14px; padding-left: 14px; }
  .clinical-hub-header { margin-right: -14px; margin-left: -14px; padding-right: 14px; padding-left: 14px; }
  .clinical-hub-hero { padding-left: 16px; }
  .clinical-create-panel { grid-template-columns: 1fr 92px; padding: 15px; }
  .clinical-lessons-slider {
    grid-template-columns: repeat(2, calc((100% - 8px) / 2));
    grid-auto-columns: calc((100% - 8px) / 2);
    gap: 8px;
  }
  .simulado-selection-panel {
    grid-template-columns: minmax(0, 1fr) 66px;
    padding: 15px;
  }
  .simulado-selection-summary {
    width: 66px;
    min-height: 66px;
  }
  .simulado-history-card {
    grid-template-columns: 1fr;
  }
  .simulado-redo-link {
    min-height: 42px;
  }
}

.mentorship-case-evaluation {
  margin-top: 11px;
  padding: 16px;
  border: 1px solid #dfe9f1;
  border-radius: 17px;
  background: #fff;
}

.mentorship-case-evaluation > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mentorship-case-evaluation > header span {
  color: #08aeb1;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.mentorship-case-evaluation > header strong {
  color: #087f82;
  font-size: 22px;
}

.mentorship-case-evaluation > header strong small {
  font-size: 11px;
  opacity: .65;
}

.mentorship-case-evaluation h4 {
  margin: 8px 0 12px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 880;
}

.student-case-answer {
  padding: 12px;
  border-radius: 13px;
  background: #f5f8fb;
}

.student-case-answer b,
.case-evaluation-grid b {
  color: #687991;
  font-size: 10px;
  text-transform: uppercase;
}

.student-case-answer p,
.case-feedback,
.case-evaluation-grid p {
  margin: 6px 0 0;
  color: #53657b;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-line;
}

.case-feedback {
  margin-top: 13px;
}

.case-evaluation-grid {
  display: grid;
  gap: 8px;
  margin-top: 13px;
}

.case-evaluation-grid > div {
  padding: 11px;
  border-radius: 12px;
  background: #effaf7;
}

.case-evaluation-grid > div:last-child {
  background: #fff6ed;
}

@media (min-width: 620px) {
  .case-evaluation-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.mentorship-summary-body {
  background:
    radial-gradient(circle at 8% 6%, rgba(21,217,161,.12), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(28,124,243,.12), transparent 28%),
    #edf5fb;
}

.mentorship-summary-screen {
  background: transparent;
}

.mentorship-summary-scroll {
  padding: 18px 14px 110px;
}

.summary-topbar {
  min-height: 58px;
  display: grid;
  grid-template-columns: 92px 1fr 92px;
  align-items: center;
  margin-bottom: 14px;
}

.summary-topbar > button {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(205,220,234,.9);
  border-radius: 13px;
  background: rgba(255,255,255,.86);
  color: var(--ink);
  box-shadow: 0 8px 20px rgba(15,46,84,.06);
  justify-self: end;
}

.summary-topbar > button svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.summary-topbar-navigation {
  display: flex;
  align-items: center;
  gap: 8px;
}

.summary-topbar-navigation > button,
.summary-topbar-navigation > a {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
}

.summary-topbar .brand {
  justify-self: center;
}

.mentorship-summary-document {
  overflow: hidden;
  border: 1px solid rgba(206,222,237,.9);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15,46,84,.11);
}

.summary-cover {
  min-height: 390px;
  position: relative;
  overflow: hidden;
  display: grid;
  align-items: end;
  padding: 30px 24px;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(6,36,59,.98), rgba(7,78,92,.96)),
    #06243b;
}

.summary-cover::before,
.summary-cover::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(46,228,196,.18);
}

.summary-cover::before {
  width: 310px;
  height: 310px;
  top: -130px;
  right: -120px;
  box-shadow: 0 0 0 34px rgba(46,228,196,.035), 0 0 0 68px rgba(46,228,196,.025);
}

.summary-cover::after {
  width: 220px;
  height: 220px;
  bottom: -150px;
  left: -100px;
}

.summary-cover-copy {
  position: relative;
  z-index: 2;
}

.summary-cover-copy > p,
.summary-content-section header p,
.summary-overview > div > p:first-child,
.summary-list-card > p,
.summary-fixation > div > p {
  margin: 0 0 8px;
  color: #22ddc0;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.summary-cover h1 {
  max-width: 520px;
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 9vw, 48px);
  line-height: 1.02;
  font-weight: 900;
}

.summary-cover-copy > span {
  display: block;
  max-width: 510px;
  margin-top: 13px;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.45;
}

.summary-cover-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
}

.summary-cover-meta b {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(34,221,192,.14);
  color: #62f0d8;
  font-size: 11px;
}

.summary-cover-meta small {
  color: rgba(255,255,255,.54);
  font-size: 11px;
}

.summary-cover-visual {
  position: absolute;
  z-index: 1;
  top: 15px;
  right: -28px;
  width: 210px;
  height: 230px;
}

.summary-cover-visual i {
  position: absolute;
  inset: 24px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(34,221,192,.23), transparent 68%);
}

.summary-cover-visual img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 22px 24px rgba(0,0,0,.28));
}

.summary-overview,
.summary-content-section {
  padding: 30px 22px;
  border-bottom: 1px solid #e8f0f6;
}

.summary-overview {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  background: linear-gradient(145deg, rgba(235,255,251,.72), #fff 60%);
}

.summary-section-icon,
.summary-content-section header > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 9px 20px rgba(8,174,177,.2);
}

.summary-overview h2,
.summary-content-section h2,
.summary-list-card h2,
.summary-fixation h2 {
  margin: 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.08;
  font-weight: 900;
}

.summary-paragraph {
  margin: 14px 0 0;
  color: #52647b;
  font-size: 14px;
  line-height: 1.62;
}

.summary-content-section header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  margin-bottom: 20px;
}

.summary-content-section header p {
  margin-bottom: 5px;
  color: #08aeb1;
}

.summary-topic-grid {
  display: grid;
  gap: 11px;
}

.summary-topic-grid article {
  position: relative;
  padding: 18px 17px 18px 48px;
  border: 1px solid #e0ebf4;
  border-radius: 17px;
  background: #f9fcff;
}

.summary-topic-grid article > b {
  position: absolute;
  top: 18px;
  left: 15px;
  color: #10b8a7;
  font-size: 11px;
}

.summary-topic-grid h3,
.summary-concepts strong {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  font-weight: 880;
}

.summary-topic-grid p,
.summary-concepts article p,
.summary-questions details p {
  margin: 7px 0 0;
  color: #607087;
  font-size: 13px;
  line-height: 1.5;
}

.summary-concepts > div {
  display: grid;
  gap: 10px;
}

.summary-concepts article {
  padding: 16px;
  border-left: 4px solid #17cbb0;
  border-radius: 5px 15px 15px 5px;
  background: #f1fbf9;
}

.summary-questions details {
  margin-top: 10px;
  padding: 15px 16px;
  border: 1px solid #e0eaf3;
  border-radius: 15px;
  background: #fff;
}

.summary-questions summary {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 850;
}

.summary-two-columns {
  display: grid;
}

.summary-list-card {
  padding: 27px 22px;
  border-bottom: 1px solid #e8f0f6;
}

.summary-list-card.attention {
  background: linear-gradient(145deg, #fff9ec, #fff);
}

.summary-list-card.review {
  background: linear-gradient(145deg, #eef7ff, #fff);
}

.summary-list-card > p {
  color: #db8d00;
}

.summary-list-card.review > p {
  color: #2478da;
}

.summary-list-card ul,
.summary-list-card ol,
.summary-fixation ul {
  display: grid;
  gap: 11px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.summary-list-card li,
.summary-fixation li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 9px;
  color: #53647a;
  font-size: 13px;
  line-height: 1.45;
}

.summary-list-card ul li i,
.summary-fixation li i {
  width: 19px;
  height: 19px;
  margin-top: 1px;
  border-radius: 50%;
  background: #ffc65c;
}

.summary-list-card ul li i::after,
.summary-fixation li i::after {
  content: "!";
  display: grid;
  place-items: center;
  height: 100%;
  color: #704700;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.summary-list-card ol li b {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: #dbeaff;
  color: #2478da;
  font-size: 10px;
}

.summary-fixation {
  padding: 30px 22px;
  color: #fff;
  background: linear-gradient(145deg, #0b4257, #087f82);
}

.summary-fixation h2 {
  color: #fff;
}

.summary-fixation > div > p {
  color: #59efd7;
}

.summary-fixation > div > span {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
}

.summary-fixation li {
  color: rgba(255,255,255,.88);
}

.summary-fixation li i {
  background: rgba(255,255,255,.14);
}

.summary-fixation li i::after {
  content: "?";
  color: #fff;
}

.summary-document-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  background: #f5f9fc;
}

.summary-document-footer p {
  max-width: 260px;
  margin: 0;
  color: #8290a2;
  font-size: 10px;
  line-height: 1.35;
  text-align: right;
}

.summary-bottom-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 15px;
}

.summary-bottom-actions a,
.summary-bottom-actions button {
  min-height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid #d9e6ef;
  border-radius: 15px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.summary-bottom-actions button {
  border: 0;
  background: linear-gradient(145deg, #15d9a1, #08aeb1);
  color: #fff;
}

@media (min-width: 720px) {
  .mentorship-summary-scroll {
    width: min(100%, 940px);
    margin: 0 auto;
    padding-top: 28px;
  }

  .summary-cover {
    min-height: 430px;
    padding: 48px;
  }

  .summary-cover-visual {
    top: 40px;
    right: 16px;
    width: 310px;
    height: 320px;
  }

  .summary-overview,
  .summary-content-section {
    padding: 42px 48px;
  }

  .summary-topic-grid,
  .summary-concepts > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .summary-two-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .summary-list-card {
    padding: 38px;
  }

  .summary-fixation {
    padding: 42px 48px;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 36px;
  }

  .summary-fixation ul {
    margin-top: 0;
  }

  .summary-bottom-actions {
    grid-template-columns: 1fr 1.35fr;
  }
}

@media print {
  .mentorship-summary-body {
    background: #fff !important;
  }

  .mentorship-summary-scroll {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .mentorship-summary-document {
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .summary-cover,
  .summary-overview,
  .summary-content-section,
  .summary-list-card,
  .summary-fixation {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .summary-topic-grid article,
  .summary-concepts article,
  .summary-questions details {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

@media screen and (max-width: 760px) {
  .app-scroll,
  .home-scroll,
  .studies-scroll,
  .mentorship-scroll,
  .aula-scroll {
    padding-bottom: calc(132px + env(safe-area-inset-bottom)) !important;
  }

  .bottom-nav,
  .unified-bottom-nav {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    width: min(calc(100% - 22px), 430px) !important;
    min-height: 70px !important;
    padding: 7px 7px calc(8px + env(safe-area-inset-bottom)) !important;
    border-radius: 22px !important;
    transform: translateX(-50%) !important;
    z-index: 80 !important;
  }

  .bottom-nav a,
  .unified-bottom-nav a {
    min-height: 52px !important;
    padding: 0 2px !important;
    gap: 3px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .bottom-nav svg,
  .unified-bottom-nav > a > svg {
    width: 22px !important;
    height: 22px !important;
  }

  .bottom-nav-iara-orbit {
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
  }

  .luzia-tutor-shell {
    padding-bottom: calc(98px + env(safe-area-inset-bottom));
  }

  .luzia-chat {
    max-height: min(47vh, 360px);
  }

  .luzia-composer {
    position: sticky;
    bottom: calc(92px + env(safe-area-inset-bottom));
    z-index: 20;
    margin: 0 10px 10px;
    border: 1px solid rgba(210,224,239,.92);
    border-radius: 22px;
    box-shadow: 0 14px 30px rgba(15,46,84,.12);
  }

  .luzia-toolbar {
    width: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin: 12px 14px 14px !important;
  }

  .luzia-toolbar button {
    min-height: 50px !important;
    padding: 8px 10px !important;
    border-radius: 15px !important;
    white-space: normal !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
  }

  .luzia-composer {
    display: none !important;
  }
}

/* Mapa de estudos visual: uma única arte vertical, pronta para tela e impressão. */
.mind-map-infographic .mind-map-toolbar{position:sticky;top:0;z-index:3;gap:10px}
.mind-map-infographic .mind-map-actions{display:flex;align-items:center;gap:8px}
.mind-map-infographic .mind-map-actions a,.mind-map-infographic .mind-map-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:0;border-radius:14px;background:linear-gradient(135deg,#00c7ad,#2869ff);color:#fff;font-weight:800;text-decoration:none}
.mind-map-infographic .mind-map-image-document{width:min(100%,920px);max-width:920px;margin:0 auto;padding:14px;background:#eefcff}
.mind-map-image-document>img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 20px 55px rgba(10,40,82,.16)}
.mind-map-image-document>p{margin:12px 0 0;color:#63738f;font-size:12px;text-align:center}
@media(max-width:620px){.mind-map-infographic .mind-map-toolbar{flex-wrap:wrap}.mind-map-infographic .mind-map-toolbar>strong{order:-1;width:100%;text-align:center}.mind-map-infographic .mind-map-actions{flex:1}.mind-map-infographic .mind-map-actions a,.mind-map-infographic .mind-map-actions button{flex:1;padding-inline:9px;font-size:12px}.mind-map-infographic .mind-map-image-document{padding:7px}}
/* Gerador de mapas mentais por documento na home */
.home-map-trigger {
  width: 100%;
  border: 0;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.home-map-modal {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0, 202, 182, .35);
  border-radius: 30px;
  background: linear-gradient(145deg, #fff 0%, #effdff 100%);
  box-shadow: 0 28px 80px rgba(8, 31, 70, .25);
}

.home-map-gallery { min-height: 560px; max-height: min(90vh, 920px); padding: 34px; overflow: auto; }
.home-map-gallery[hidden],
.home-map-picker[hidden], .home-map-picker-body[hidden],
.home-map-processing[hidden], .home-map-upload[hidden], .home-map-result[hidden] { display: none !important; }
.home-map-gallery > header { position: sticky; z-index: 3; top: -34px; margin: -34px -34px 24px; padding: 32px 72px 22px 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #d9eef1; background: rgba(248,254,255,.96); backdrop-filter: blur(12px); }
.home-map-gallery > header p { margin: 0 0 4px; color: #00a99d; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.home-map-gallery > header h2 { margin: 0; color: #071d44; font-size: clamp(25px,4vw,38px); font-weight: 900; }
.home-map-gallery > header span { display: block; margin-top: 5px; color: #65748e; font-size: 14px; font-weight: 650; }
.home-map-gallery > header button,
.home-map-gallery-empty button { min-height: 48px; padding: 10px 18px; border: 0; border-radius: 15px; color: #fff; background: linear-gradient(120deg,#00cdb0,#3068ff); font-weight: 850; white-space: nowrap; box-shadow: 0 12px 24px rgba(36,104,211,.2); }
.home-map-gallery-status { min-height: 320px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: #61718d; font-weight: 800; }
.home-map-gallery-status i { width: 34px; height: 34px; border: 4px solid #d7eeee; border-top-color: #00bba8; border-radius: 50%; animation: iaraClassLoadingSpin .8s linear infinite; }
.home-map-gallery-status.is-error { color: #b50038; }
.home-map-gallery-status.is-error i { display: none; }
.home-map-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.home-map-gallery-card { min-width: 0; padding: 10px; display: grid; grid-template-columns: 1fr auto; gap: 10px; border: 1px solid #cce8eb; border-radius: 20px; background: #fff; box-shadow: 0 12px 28px rgba(8,50,88,.08); }
.home-map-gallery-card > button { position: relative; grid-column: 1 / -1; height: 230px; padding: 0; overflow: hidden; border: 0; border-radius: 14px; background: #e8f4f6; cursor: pointer; }
.home-map-gallery-card > button img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .25s ease; }
.home-map-gallery-card > button:hover img { transform: scale(1.025); }
.home-map-gallery-card > button span { position: absolute; right: 10px; bottom: 10px; padding: 7px 11px; border-radius: 11px; color: #fff; background: rgba(7,29,68,.88); font-size: 12px; font-weight: 850; }
.home-map-gallery-card > div { min-width: 0; }
.home-map-gallery-card strong { display: block; color: #0b2149; font-size: 14px; line-height: 1.2; }
.home-map-gallery-card small { display: block; margin-top: 5px; overflow: hidden; color: #6c7991; font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.home-map-gallery-card > a { align-self: center; padding: 8px 11px; border-radius: 11px; color: #087f78; background: #defaf6; font-size: 12px; font-weight: 850; text-decoration: none; }
.home-map-gallery-empty { grid-column: 1 / -1; min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px; text-align: center; }
.home-map-gallery-empty img { width: 130px; }
.home-map-gallery-empty strong { color: #0c2149; font-size: 20px; }
.home-map-gallery-empty span { max-width: 450px; margin: 7px 0 18px; color: #687791; }

.home-map-upload { padding: 34px; }
.home-map-upload > header { display: flex; align-items: center; gap: 20px; padding-right: 44px; }
.home-map-upload > header img { width: 112px; height: 112px; object-fit: contain; }
.home-map-upload > header p,
.home-map-processing > p { margin: 0 0 4px; color: #00a99d; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.home-map-upload h2,
.home-map-processing h2 { margin: 0; color: #071d44; font-size: clamp(24px, 4vw, 38px); font-weight: 900; }
.home-map-upload > header span { display: block; margin-top: 8px; color: #61718e; font-weight: 650; }
.home-map-upload form { margin-top: 26px; }
.home-map-drop { display: grid; place-items: center; min-height: 210px; padding: 24px; border: 2px dashed #56d8d0; border-radius: 24px; background: rgba(255,255,255,.78); text-align: center; cursor: pointer; transition: .2s ease; }
.home-map-drop:hover { border-color: #3167ff; transform: translateY(-2px); box-shadow: 0 14px 34px rgba(20, 80, 150, .12); }
.home-map-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.home-map-drop-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 12px; border-radius: 19px; color: #fff; background: linear-gradient(135deg, #00d4b1, #3167ff); font-size: 32px; }
.home-map-drop strong { color: #10254d; font-size: 18px; overflow-wrap: anywhere; }
.home-map-drop small { margin-top: 6px; color: #6b7891; }
.home-map-note { margin: 15px 0; padding: 12px 16px; border-radius: 14px; color: #086f69; background: #dcfbf7; font-size: 14px; font-weight: 700; }
.home-map-error { margin: 0 0 14px; padding: 12px 16px; border: 1px solid #ffc1d1; border-radius: 14px; color: #b50038; background: #fff1f5; font-size: 14px; font-weight: 800; }
.home-map-upload .primary-action { width: 100%; min-height: 54px; }
.home-map-upload .primary-action:disabled { opacity: .45; cursor: not-allowed; }
.home-map-library { display: block; margin-top: 16px; color: #173e8b; font-weight: 800; text-align: center; }

.home-map-picker { min-height: 590px; max-height: min(90vh, 920px); padding: 30px; overflow: auto; }
.home-map-picker > header { display: flex; align-items: center; gap: 18px; padding: 0 48px 22px 0; border-bottom: 1px solid #d7ecef; }
.home-map-picker > header img { width: 104px; height: 104px; object-fit: contain; }
.home-map-picker > header p { margin: 0 0 4px; color: #00a99d; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.home-map-picker > header h2 { margin: 0; color: #071d44; font-size: clamp(25px,4vw,38px); font-weight: 900; }
.home-map-picker > header span { display: block; max-width: 720px; margin-top: 6px; color: #65748e; font-size: 14px; font-weight: 650; }
.home-map-picker-status { min-height: 350px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: #61718d; font-weight: 800; }
.home-map-picker-status i { width: 34px; height: 34px; border: 4px solid #d7eeee; border-top-color: #00bba8; border-radius: 50%; animation: iaraClassLoadingSpin .8s linear infinite; }
.home-map-picker-status.is-error { color: #b50038; }
.home-map-picker-status.is-error i { display: none; }
.home-map-picker-body { padding-top: 22px; }
.home-map-picker-columns { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 18px; }
.home-map-picker-columns > section { min-width: 0; padding: 17px; border: 1px solid #d4e9ef; border-radius: 22px; background: rgba(255,255,255,.78); }
.home-map-step { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.home-map-step > b { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 13px; color: #fff; background: linear-gradient(135deg,#00ceb2,#2f67ff); }
.home-map-step strong, .home-map-step small { display: block; }
.home-map-step strong { color: #0b2149; font-size: 16px; }
.home-map-step small { margin-top: 2px; color: #71809a; font-size: 12px; }
.home-map-options { display: flex; flex-direction: column; gap: 9px; max-height: 355px; overflow: auto; scrollbar-width: thin; }
.home-map-option { width: 100%; min-height: 68px; padding: 10px; display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid #d2e7ed; border-radius: 16px; color: #10254d; background: #fff; text-align: left; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; }
.home-map-option:hover { transform: translateY(-1px); border-color: #69d8d2; }
.home-map-option.is-selected { border-color: #00cbb2; background: #e8fffa; box-shadow: 0 8px 20px rgba(0,185,165,.12); }
.home-map-option-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: #087f78; background: #dcfaf7; font-size: 12px; font-weight: 900; }
.home-map-option strong, .home-map-option small { display: block; }
.home-map-option strong { font-size: 14px; line-height: 1.24; }
.home-map-option small { margin-top: 4px; color: #72809a; font-size: 11px; line-height: 1.25; }
.home-map-option > b { color: #2463ef; font-size: 12px; }
.home-map-option > em { padding: 6px 8px; border-radius: 9px; color: #008878; background: #d8fbf4; font-size: 11px; font-style: normal; font-weight: 900; white-space: nowrap; }
.home-map-empty-list { min-height: 92px; display: grid; place-items: center; padding: 18px; border: 1px dashed #bfdde3; border-radius: 15px; color: #74819a; font-size: 13px; font-weight: 700; text-align: center; }
.home-map-picker-body > footer { position: sticky; bottom: -30px; z-index: 2; margin: 20px -30px -30px; padding: 15px 30px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #d5e9ee; background: rgba(248,254,255,.96); backdrop-filter: blur(10px); }
.home-map-picker-body > footer a { color: #173e8b; font-size: 13px; font-weight: 850; }
.home-map-picker-body > footer button { width: min(360px,55%); min-height: 52px; }
.home-map-picker-body > footer button:disabled { opacity: .48; cursor: not-allowed; }
.home-map-picker-body > footer button.is-ready { background: linear-gradient(120deg,#00bfa7,#008b80); }

.home-map-processing { min-height: 540px; padding: 60px 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.home-map-processing img { width: 180px; animation: homeMapFloat 2.2s ease-in-out infinite; }
.home-map-processing > span { margin-top: 14px; color: #65748e; font-weight: 700; }
.home-map-processing > div { width: min(420px, 90%); height: 8px; margin: 24px 0 14px; overflow: hidden; border-radius: 999px; background: #dbeaf3; }
.home-map-processing > div i { display: block; width: 42%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #00d8b2, #3167ff); animation: homeMapProgress 1.7s ease-in-out infinite; }
.home-map-processing > strong { color: #ed174f; font-size: 13px; }
.home-map-result { max-height: min(90vh, 980px); overflow: auto; background: #edf5f8; }
.home-map-result .mind-map-toolbar { position: sticky; top: 0; z-index: 3; }
.home-map-result .mind-map-document { max-width: 860px; margin: 24px auto; }
.home-map-result .mind-map-image-document img { width: 100%; }
.standalone-map-page { margin: 0; background: #eaf3f7; }
.standalone-map-shell { width: min(980px, 100%); margin: 0 auto; }
.standalone-map-shell .mind-map-toolbar { position: sticky; top: 0; z-index: 2; }
.standalone-map-shell .mind-map-document { margin: 24px auto; }

@keyframes homeMapFloat { 50% { transform: translateY(-9px); } }
@keyframes homeMapProgress { 0% { transform: translateX(-110%); } 100% { transform: translateX(340%); } }

@media (max-width: 680px) {
  .home-map-modal { min-height: 100dvh; border-radius: 0; }
  #homeMindMapModal .modal-dialog { margin: 0; min-height: 100%; }
  .home-map-upload { padding: 64px 18px 24px; }
  .home-map-picker { min-height: 100dvh; max-height: 100dvh; padding: 54px 14px 92px; }
  .home-map-picker > header { align-items: flex-start; gap: 8px; padding: 0 36px 16px 0; }
  .home-map-picker > header img { width: 68px; height: 68px; }
  .home-map-picker > header h2 { font-size: 24px; line-height: 1.08; }
  .home-map-picker-columns { grid-template-columns: 1fr; gap: 12px; }
  .home-map-picker-columns > section { padding: 12px; border-radius: 18px; }
  .home-map-options { max-height: 265px; }
  .home-map-picker-body > footer { bottom: -92px; margin: 15px -14px -92px; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); flex-direction: column-reverse; }
  .home-map-picker-body > footer button { width: 100%; }
  .home-map-gallery { min-height: 100dvh; max-height: 100dvh; padding: 22px 14px 90px; }
  .home-map-gallery > header { top: -22px; margin: -22px -14px 16px; padding: 55px 56px 16px 16px; align-items: stretch; flex-direction: column; gap: 12px; }
  .home-map-gallery > header button { width: 100%; }
  .home-map-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .home-map-gallery-card { padding: 7px; grid-template-columns: 1fr; }
  .home-map-gallery-card > button { height: 190px; }
  .home-map-gallery-card > a { width: 100%; text-align: center; }
  .home-map-upload > header { align-items: flex-start; gap: 10px; padding-right: 15px; }
  .home-map-upload > header img { width: 72px; height: 72px; }
  .home-map-upload h2 { font-size: 25px; }
  .home-map-drop { min-height: 180px; }
  .home-map-result .mind-map-toolbar { align-items: flex-start; flex-wrap: wrap; }
  .home-map-result .mind-map-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
}

@media print {
  .standalone-map-page { background: #fff; }
  .standalone-map-shell .mind-map-toolbar,
  .standalone-map-shell .mind-map-document p { display: none !important; }
  .standalone-map-shell .mind-map-document { margin: 0; padding: 0; box-shadow: none; }
  .standalone-map-shell img { width: 100%; max-height: 100vh; object-fit: contain; }
}

/* Entrada principal da mentoria na home */
.home-primary-actions { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:stretch; gap:16px; margin:18px 20px 8px; }
.home-primary-actions .home-iara-focus { min-width:0; margin:0; padding-right:145px; }
.home-primary-actions .home-iara-focus-form { grid-template-columns:1fr; }
.home-primary-actions .home-iara-focus-form button { min-height:50px; }
.home-primary-actions .home-iara-focus > img { right:-4px; width:150px; }
.home-question-shortcut { position:relative; isolation:isolate; display:flex; min-width:0; flex-direction:column; justify-content:space-between; overflow:hidden; padding:25px 24px 22px; border:1px solid rgba(88,101,242,.44); border-radius:28px; color:#fff; background:radial-gradient(circle at 100% 0,rgba(64,224,255,.35),transparent 38%),linear-gradient(145deg,#10245c 0%,#2655c8 58%,#3878ee 100%); box-shadow:0 18px 42px rgba(22,58,141,.2); }
.home-question-shortcut::after { content:"?"; position:absolute; z-index:-1; right:18px; top:-43px; color:rgba(255,255,255,.08); font-size:210px; font-weight:950; line-height:1; transform:rotate(8deg); }
.home-question-shortcut-copy { position:relative; z-index:1; }
.home-question-shortcut-copy > p { margin:0 0 7px; color:#7effe3; font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.home-question-shortcut-copy h2 { max-width:440px; margin:0; color:#fff; font-size:clamp(25px,3vw,38px); font-weight:900; line-height:1.04; letter-spacing:-.035em; }
.home-question-shortcut-copy > span { display:block; max-width:520px; margin-top:10px; color:#dce9ff; font-size:14px; font-weight:650; line-height:1.45; }
.home-question-shortcut-actions { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); gap:9px; margin-top:20px; }
.home-question-shortcut-actions label { min-width:0; min-height:66px; display:flex; align-items:center; gap:11px; padding:11px 13px; border-radius:17px; cursor:pointer; transition:transform .16s ease,box-shadow .16s ease; }
.home-question-shortcut-actions label:hover { transform:translateY(-2px); }
.home-question-shortcut-actions input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.home-question-shortcut-actions svg { width:25px; height:25px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.home-question-shortcut-actions span { min-width:0; display:grid; gap:2px; }
.home-question-shortcut-actions strong { overflow-wrap:anywhere; font-size:13px; font-weight:900; line-height:1.15; }
.home-question-shortcut-actions small { color:inherit; opacity:.72; font-size:10px; font-weight:700; }
.home-question-shortcut-main { color:#133373; background:#fff; box-shadow:0 10px 24px rgba(4,22,72,.22); }
.home-question-shortcut-camera { border:1px solid rgba(255,255,255,.28); color:#fff; background:rgba(255,255,255,.12); backdrop-filter:blur(8px); }
.home-question-shortcut-status { position:relative; z-index:2; margin:12px 0 0; padding:9px 11px; border-radius:12px; color:#e8f2ff; background:rgba(2,18,66,.28); font-size:11px; font-weight:800; line-height:1.35; }
.home-question-shortcut-status[data-type="error"] { color:#7d1835; background:#fff0f4; }
.home-question-photo-preview { position:relative; z-index:3; display:grid; grid-template-columns:88px minmax(0,1fr); gap:12px; align-items:center; margin-top:14px; padding:10px; border:1px solid rgba(255,255,255,.32); border-radius:19px; background:rgba(3,22,72,.42); box-shadow:0 12px 30px rgba(2,17,60,.2); backdrop-filter:blur(10px); }
.home-question-photo-preview[hidden] { display:none; }
.home-question-photo-preview > img { width:88px; height:88px; display:block; object-fit:cover; border:2px solid rgba(255,255,255,.8); border-radius:14px; background:#fff; }
.home-question-photo-copy { min-width:0; display:grid; gap:3px; }
.home-question-photo-copy small { color:#7effe3; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.home-question-photo-copy strong { color:#fff; font-size:13px; font-weight:900; line-height:1.25; }
.home-question-photo-copy span { overflow:hidden; color:#d7e5ff; font-size:10px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.home-question-photo-actions { grid-column:1/-1; display:grid; grid-template-columns:.8fr 1.2fr; gap:8px; }
.home-question-photo-actions button { min-height:44px; border:1px solid rgba(255,255,255,.28); border-radius:13px; color:#fff; background:rgba(255,255,255,.1); font-size:12px; font-weight:900; cursor:pointer; }
.home-question-photo-actions button.is-confirm { border-color:transparent; color:#113374; background:#fff; box-shadow:0 8px 20px rgba(2,18,65,.2); }
.home-question-photo-actions button:disabled { opacity:.58; cursor:wait; }
.home-iara-focus { position: relative; isolation: isolate; margin: 18px 20px 8px; padding: 25px 190px 24px 24px; overflow: hidden; border: 1px solid rgba(0,199,178,.38); border-radius: 28px; background: radial-gradient(circle at 88% 14%,rgba(83,255,220,.35),transparent 32%),linear-gradient(135deg,#f8ffff 0%,#e4fff9 52%,#dbeaff 100%); box-shadow: 0 18px 42px rgba(13,89,123,.14); }
.home-iara-focus::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.4; background:repeating-linear-gradient(135deg,transparent 0 19px,rgba(0,174,165,.075) 20px 21px); }
.home-iara-focus-copy { position:relative; z-index:2; max-width:720px; }
.home-iara-focus-copy > p { margin:0 0 7px; color:#009f91; font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.home-iara-focus-copy h2 { max-width:620px; margin:0; color:#0a1946; font-size:clamp(25px,3vw,38px); font-weight:900; line-height:1.04; letter-spacing:-.035em; }
.home-iara-focus-copy > span { display:block; max-width:650px; margin-top:10px; color:#526889; font-size:14px; font-weight:650; line-height:1.45; }
.home-iara-focus-form { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:10px; max-width:760px; margin-top:18px; padding:7px; border:1px solid #c8e4ec; border-radius:20px; background:rgba(255,255,255,.93); box-shadow:0 10px 26px rgba(20,68,112,.1); }
.home-iara-focus-form textarea { width:100%; min-height:58px; max-height:130px; resize:vertical; padding:12px 14px; border:0; outline:0; color:#10244a; background:transparent; font-family:inherit; font-size:14px; font-weight:700; line-height:1.4; }
.home-iara-focus-form textarea::placeholder { color:#8a9ab3; font-weight:600; }
.home-iara-focus-form button { min-width:190px; padding:10px 16px; display:flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:15px; color:#fff; background:linear-gradient(120deg,#00cdb0,#008fdc 58%,#385cff); box-shadow:0 10px 23px rgba(0,170,177,.25); font-size:13px; font-weight:900; cursor:pointer; }
.home-iara-focus-form button b { display:grid; place-items:center; width:27px; height:27px; border-radius:9px; background:rgba(255,255,255,.19); font-size:18px; }
.home-iara-focus > img { position:absolute; z-index:1; right:14px; bottom:-22px; width:185px; filter:drop-shadow(0 13px 15px rgba(6,81,105,.2)); pointer-events:none; }

/* Confirmação necessária para liberar áudio da mentoria no navegador */
.mentorship-entry-modal { position:fixed; inset:0; z-index:1300; display:grid; place-items:center; padding:18px; transition:opacity .18s ease; }
.mentorship-entry-modal.is-leaving { opacity:0; pointer-events:none; }
.mentorship-entry-backdrop { position:absolute; inset:0; background:rgba(3,18,45,.66); backdrop-filter:blur(8px); }
.mentorship-entry-card { position:relative; width:min(760px,100%); display:grid; grid-template-columns:230px minmax(0,1fr); overflow:hidden; border:1px solid rgba(153,242,230,.7); border-radius:30px; background:#fff; box-shadow:0 30px 90px rgba(3,24,60,.32); }
.mentorship-entry-iara { min-height:390px; padding:25px 16px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:linear-gradient(155deg,#00cbb0,#078fd4 65%,#315eff); text-align:center; }
.mentorship-entry-iara img { width:190px; max-width:100%; filter:drop-shadow(0 15px 18px rgba(0,31,73,.25)); }
.mentorship-entry-iara span { margin-top:12px; font-size:13px; font-weight:900; letter-spacing:.03em; }
.mentorship-entry-copy { padding:35px 32px; display:flex; flex-direction:column; justify-content:center; }
.mentorship-entry-copy > p { margin:0 0 7px; color:#00a997; font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.mentorship-entry-copy h2 { margin:0; color:#0a1946; font-size:28px; font-weight:900; line-height:1.08; }
.mentorship-entry-copy blockquote { max-height:150px; margin:18px 0 10px; padding:14px 16px; overflow:auto; border-left:4px solid #00cbb0; border-radius:0 15px 15px 0; color:#17305c; background:#ebfbfa; font-size:15px; font-weight:750; line-height:1.45; }
.mentorship-entry-copy small { color:#687994; font-size:12px; line-height:1.4; }
.mentorship-entry-copy button { width:100%; min-height:54px; margin-top:18px; border:0; }

@media (max-width: 680px) {
  .home-primary-actions { grid-template-columns:1fr; gap:12px; margin:14px 12px 6px; }
  .home-question-shortcut { min-height:295px; padding:20px 16px 17px; border-radius:24px; }
  .home-question-shortcut-copy h2 { max-width:300px; font-size:28px; }
  .home-question-shortcut-copy > span { max-width:315px; font-size:13px; }
  .home-question-shortcut-actions { margin-top:16px; }
  .home-question-shortcut-actions label { min-height:64px; padding:10px; }
  .home-question-photo-preview { grid-template-columns:76px minmax(0,1fr); }
  .home-question-photo-preview > img { width:76px; height:76px; }
  .home-primary-actions .home-iara-focus { margin:0; padding:20px 16px 108px; }
  .home-iara-focus { margin:14px 12px 6px; padding:20px 16px 108px; border-radius:24px; }
  .home-iara-focus-copy h2 { max-width:300px; font-size:28px; }
  .home-iara-focus-copy > span { max-width:290px; font-size:13px; }
  .home-iara-focus-form { grid-template-columns:1fr; margin-top:14px; }
  .home-iara-focus-form textarea { min-height:72px; padding-right:84px; }
  .home-iara-focus-form button { min-width:0; min-height:50px; }
  .home-iara-focus > img { right:-4px; bottom:49px; width:112px; opacity:.95; }
  .mentorship-entry-modal { padding:10px; }
  .mentorship-entry-card { max-height:calc(100dvh - 20px); grid-template-columns:1fr; overflow:auto; border-radius:25px; }
  .mentorship-entry-iara { min-height:150px; padding:12px; flex-direction:row; gap:8px; }
  .mentorship-entry-iara img { width:125px; }
  .mentorship-entry-copy { padding:23px 18px calc(20px + env(safe-area-inset-bottom)); }
  .mentorship-entry-copy h2 { font-size:24px; }
  .mentorship-entry-copy blockquote { max-height:130px; margin-top:14px; }
}
@media (min-width:681px) and (max-width:980px) {
  .home-primary-actions { grid-template-columns:1fr; }
  .home-primary-actions .home-iara-focus-form { grid-template-columns:minmax(0,1fr) auto; }
}
.mentorship-document-layer{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px}.mentorship-document-layer[hidden]{display:none}.mentorship-document-backdrop{position:absolute;inset:0;background:rgba(5,20,48,.76);backdrop-filter:blur(7px)}.mentorship-document-panel{position:relative;width:min(600px,100%);max-height:min(88vh,820px);overflow:auto;border:1px solid rgba(63,211,197,.55);border-radius:28px;background:linear-gradient(145deg,#fff 55%,#e9fffb);box-shadow:0 30px 90px rgba(4,24,60,.35);padding:24px}.mentorship-document-panel>header{display:flex;align-items:center;gap:15px;margin:0 35px 20px 0}.mentorship-document-panel>header img{width:82px;height:82px;object-fit:contain;border-radius:22px;background:#dffff9}.mentorship-document-panel>header small{display:block;color:#00a99c;font-weight:900;letter-spacing:.11em;font-size:11px}.mentorship-document-panel>header h2{margin:3px 0 5px;color:#081c49;font-size:26px;font-weight:900}.mentorship-document-panel>header p{margin:0;color:#637590;font-size:13px;line-height:1.45}.mentorship-document-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:0;border-radius:50%;background:#edf4fa;color:#173052;font-size:24px}.mentorship-document-panel form{display:grid;gap:15px}.mentorship-document-panel form>label:not(.mentorship-document-drop){display:grid;gap:7px;color:#142751;font-weight:800;font-size:13px}.mentorship-document-panel textarea{width:100%;resize:vertical;border:1px solid #c9dcea;border-radius:16px;padding:13px;color:#10224b;background:#fff;outline:none}.mentorship-document-panel textarea:focus{border-color:#00c9b5;box-shadow:0 0 0 3px rgba(0,201,181,.13)}.mentorship-document-drop{display:grid;place-items:center;text-align:center;min-height:130px;padding:18px;border:2px dashed #72dace;border-radius:20px;background:#effdfa;cursor:pointer}.mentorship-document-drop input{position:absolute;width:1px;height:1px;opacity:0}.mentorship-document-drop strong{color:#007f75;font-size:16px}.mentorship-document-drop span{margin-top:6px;color:#64758e;font-size:12px;overflow-wrap:anywhere}.mentorship-document-error{margin:0;padding:10px 12px;border-radius:12px;background:#fff0f3;color:#d10045;font-size:12px;font-weight:800}.mentorship-document-processing{display:flex;gap:14px;align-items:center;padding:18px;border-radius:18px;background:#e7fbf8;color:#0b3150}.mentorship-document-processing>span{width:34px;height:34px;flex:none;border:4px solid #b9eee7;border-top-color:#00bca9;border-radius:50%;animation:mentorshipDocumentSpin .8s linear infinite}.mentorship-document-processing div{display:grid;gap:3px}.mentorship-document-processing small{color:#60758f;line-height:1.4}@keyframes mentorshipDocumentSpin{to{transform:rotate(360deg)}}.mentorship-document-panel.is-result{width:min(900px,100%)}.mentorship-document-result-body{display:grid;gap:14px;color:#173052}.mentorship-document-result-body section,.mentorship-document-result-body article{padding:17px;border:1px solid #d2e7ef;border-radius:18px;background:#fff}.mentorship-document-result-body h3,.mentorship-document-result-body h4{color:#071d44;font-weight:900}.mentorship-document-result-body p{white-space:pre-line;line-height:1.62}.mentorship-document-answer{margin-top:10px;padding:12px;border-radius:13px;background:#e8fbf7}.mentorship-document-panel.is-result>footer{position:sticky;bottom:-24px;display:flex;gap:10px;margin:20px -24px -24px;padding:15px 24px;background:rgba(255,255,255,.96);border-top:1px solid #dce9f0}.mentorship-document-panel.is-result>footer>*{flex:1}@media(max-width:600px){.mentorship-document-layer{padding:8px}.mentorship-document-panel{max-height:94vh;border-radius:22px;padding:18px}.mentorship-document-panel>header{align-items:flex-start}.mentorship-document-panel>header img{width:62px;height:62px}.mentorship-document-panel>header h2{font-size:21px}.mentorship-document-panel.is-result>footer{bottom:-18px;margin:16px -18px -18px;padding:12px 18px;flex-direction:column}}
/* Onboarding de grade IAra */
.onboarding-start-actions{width:min(360px,100%);display:grid;gap:9px;margin:18px auto 0}
.onboarding-start-actions>button{min-height:52px;padding:11px 18px;border:0;border-radius:16px;font-size:11px;font-weight:900;cursor:pointer}
.onboarding-start-actions>[data-start-onboarding]{display:flex;align-items:center;justify-content:center;gap:9px;color:#053249;background:linear-gradient(135deg,#61f2d7,#48bfff);box-shadow:0 14px 30px rgba(31,160,192,.2)}
.onboarding-start-actions>[data-start-onboarding] svg{width:18px;height:18px;fill:currentColor}
.onboarding-start-actions>.onboarding-start-text{border:1px solid #cce2eb;background:#fff;color:#0b4260}
.onboarding-skip-link{display:block;margin:12px auto 0;padding:7px 10px;border:0;background:transparent;color:#74869d;font-size:10px;font-weight:800;text-decoration:underline;cursor:pointer}
.onboarding-start>.onboarding-skip-link{width:auto;min-height:0;display:block;margin-top:12px;padding:7px 10px;border-radius:0;background:transparent;color:#74869d;font-size:10px;box-shadow:none}
.conversation-skip{margin-bottom:14px}
.onboarding-grade-review{position:fixed;inset:0;z-index:14020;width:auto;margin:0;padding:12px;display:grid;place-items:center}
.onboarding-grade-review[hidden],.onboarding-finish[hidden]{display:none}
.onboarding-grade-backdrop{position:absolute;inset:0;border:0;background:rgba(4,22,53,.64);backdrop-filter:blur(7px)}
.onboarding-grade-dialog{--grade-footer-space:108px;position:relative;width:min(720px,100%);height:min(820px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;padding-bottom:var(--grade-footer-space);border:1px solid #bfe6e5;border-radius:26px;background:linear-gradient(180deg,#fff,#f5fbff);box-shadow:0 28px 80px rgba(5,35,67,.32)}
.onboarding-grade-review header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 15px;border-bottom:1px solid #e0edf2;background:rgba(255,255,255,.97)}
.onboarding-grade-review header>div{min-width:0}
.onboarding-grade-review header small{color:#00a99d;font-size:8px;font-weight:950;letter-spacing:.12em}
.onboarding-grade-review header h2{margin:4px 0;color:#092a50;font-size:22px;font-weight:950}
.onboarding-grade-review header p{margin:0;color:#778aa1;font-size:10px}
.onboarding-grade-close{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #d5e5ec;border-radius:13px;background:#eff6fa;color:#28445f;font-size:25px;line-height:1;cursor:pointer}
.onboarding-grade-scroll{min-height:0;flex:1 1 0;overflow-y:auto;overflow-anchor:none;overscroll-behavior:contain;padding:8px 20px 18px;scrollbar-gutter:stable}
.onboarding-grade-scroll::-webkit-scrollbar{width:7px}.onboarding-grade-scroll::-webkit-scrollbar-thumb{border-radius:10px;background:#9fded7}.onboarding-grade-scroll::-webkit-scrollbar-track{background:#edf5f7}
.onboarding-grade-add{margin:7px 0 14px;padding:12px;border:1px solid #d7e9ee;border-radius:16px;background:#f4fbfc}
.onboarding-grade-add>label{display:block;margin-bottom:7px;color:#0b3157;font-size:10px;font-weight:900}
.onboarding-grade-add>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.onboarding-grade-add input{min-width:0;height:43px;padding:0 12px;border:1px solid #c7dce5;border-radius:12px;outline:0;background:#fff;color:#0b3157;font:inherit;font-size:11px;font-weight:750}
.onboarding-grade-add input:focus{border-color:#19c8b3;box-shadow:0 0 0 3px rgba(25,200,179,.11)}
.onboarding-grade-add button{min-width:92px;border:0;border-radius:12px;background:#0b8e9c;color:#fff;font-size:10px;font-weight:900;cursor:pointer}
.onboarding-grade-add>small{display:block;margin-top:6px;color:#71849a;font-size:8.5px;line-height:1.35}
.onboarding-grade-add>small.is-error{color:#c13355;font-weight:800}
.onboarding-grade-add>small.is-success{color:#087f78;font-weight:800}
.onboarding-subject-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}
.onboarding-subject-list h3{grid-column:1/-1;margin:8px 0 0;color:#087f78;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.onboarding-subject-card{min-width:0;display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #d9e7ed;border-radius:14px;background:#fff;cursor:pointer;transition:.18s ease}
.onboarding-subject-card:hover{border-color:#73dccf}
.onboarding-subject-card.is-selected{border-color:#20cdb7;background:#eafff9;box-shadow:0 7px 18px rgba(0,174,154,.09)}
.onboarding-subject-card input{position:absolute;opacity:0;pointer-events:none}
.onboarding-subject-check{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border:1px solid #bcd0db;border-radius:9px;color:transparent;background:#f7fbfd;font-size:12px;font-weight:950}
.onboarding-subject-card.is-selected .onboarding-subject-check{border-color:#13baa7;color:#fff;background:#13baa7}
.onboarding-subject-card>span:last-child{min-width:0;display:grid;gap:3px}
.onboarding-subject-card strong{overflow-wrap:anywhere;color:#0b3157;font-size:11px;line-height:1.18}
.onboarding-subject-card small{overflow-wrap:anywhere;color:#71849a;font-size:8.5px;line-height:1.3}
.onboarding-grade-dialog>footer{position:absolute;z-index:4;left:0;right:0;bottom:0;min-height:var(--grade-footer-space);padding:12px 20px calc(14px + env(safe-area-inset-bottom));overflow-anchor:none;border-top:1px solid #dcebf0;background:rgba(255,255,255,.98);box-shadow:0 -10px 24px rgba(21,67,91,.07)}
.onboarding-grade-count{margin:0 0 8px;color:#087f78;font-size:10px;font-weight:850;text-align:center}
.onboarding-confirm-grade{width:100%;min-height:52px;border:0;border-radius:15px;background:linear-gradient(135deg,#00cbb5,#2477f5);color:#fff;font-size:11px;font-weight:950;cursor:pointer}
.onboarding-finish{width:min(680px,calc(100% - 28px));margin:30px auto;padding:28px;text-align:center;border:1px solid #bce9e5;border-radius:28px;background:radial-gradient(circle at 50% 0,rgba(63,238,204,.23),transparent 35%),#fff;box-shadow:0 24px 60px rgba(18,67,100,.14)}
.onboarding-finish>img{width:125px;height:125px;object-fit:contain}
.onboarding-finish>p{margin:4px 0;color:#00a99d;font-size:8px;font-weight:950;letter-spacing:.12em}
.onboarding-finish>h1{margin:5px 0 14px;color:#092a50;font-size:28px;font-weight:950}
.onboarding-finish-message{padding:17px;border-radius:18px;background:#f1fbfa;color:#536b7f;font-size:11px;line-height:1.65;text-align:left}
.onboarding-finish-message p{margin:0}
.onboarding-finish-message strong{display:block;margin-top:10px;color:#087f78}
.onboarding-finish-message .onboarding-finish-subjects{margin:0 0 11px;padding:10px 12px;border:1px solid #bce8e1;border-radius:12px;background:#e6faf6;color:#086d67;line-height:1.45}
.onboarding-finish>button{width:100%;min-height:52px;margin-top:15px;border:0;border-radius:15px;background:linear-gradient(135deg,#00cbb5,#2477f5);color:#fff;font-size:11px;font-weight:950}
.onboarding-skip-modal .onboarding-audio-icon{font-size:22px;font-weight:950}
.onboarding-skip-modal .onboarding-modal-secondary{margin-top:7px;border:1px solid #cfe0e8;background:#fff;color:#52677d;box-shadow:none}
body.onboarding-grade-modal-open{overflow:hidden}
.onboarding-fluid-screen.is-finish-visible{display:block;height:100vh;height:100dvh;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(24px,env(safe-area-inset-bottom))}
.onboarding-fluid-screen.is-finish-visible .onboarding-top{position:sticky;z-index:5;top:0;background:rgba(247,252,255,.9);backdrop-filter:blur(12px)}
.onboarding-fluid-screen.is-finish-visible .onboarding-finish{margin-top:14px;margin-bottom:28px}
@media(max-width:680px){.onboarding-subject-list{grid-template-columns:1fr}.onboarding-grade-review{padding:7px}.onboarding-grade-dialog{--grade-footer-space:102px;height:calc(100dvh - 14px);max-height:calc(100dvh - 14px);border-radius:23px}.onboarding-grade-review header{padding:16px 15px 12px}.onboarding-grade-review header h2{font-size:21px}.onboarding-grade-close{width:38px;height:38px;flex-basis:38px}.onboarding-grade-scroll{padding:7px 15px 14px}.onboarding-grade-add>div{grid-template-columns:1fr}.onboarding-grade-add button{min-height:41px}.onboarding-grade-dialog>footer{padding:10px 15px calc(11px + env(safe-area-inset-bottom))}.onboarding-confirm-grade{min-height:49px}.onboarding-finish{padding:22px 17px}.onboarding-finish>h1{font-size:25px}}
@media(min-width:1025px){.onboarding-fluid-screen .onboarding-conversation{overflow-y:auto}.onboarding-grade-review{flex:0 0 auto}}

/* Home: leitura mais confortável em monitores, sem alterar o mobile. */
@media (min-width: 1025px) {
  .app-scroll.home-scroll {
    width: min(calc(100% - 64px), 1180px);
    max-width: 1180px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 24px;
    padding-left: 24px;
  }

  .home-initial-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
    margin-top: 24px;
  }

  .home-initial-pair .home-studies-section,
  .home-initial-pair .home-question-feature {
    min-width: 0;
    margin-top: 0;
    margin-bottom: 8px;
  }

  .home-initial-pair .home-question-feature {
    padding-top: 54px;
  }

  .home-initial-pair .home-studies-showcase,
  .home-initial-pair .home-question-feature-card {
    height: 250px;
    min-height: 250px;
  }
}
.lesson-source-options{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:12px}.lesson-source-options .lesson-document-upload{margin:0}.lesson-book-source{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;width:100%;padding:13px;border:1px solid #cfe1ef;border-radius:16px;background:linear-gradient(145deg,#fff,#eef8ff);color:#153957;text-align:left}.lesson-book-source .lesson-document-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#12c7b1,#277df0);color:#fff}.lesson-book-source svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.8}.lesson-book-source strong,.lesson-book-source small{display:block}.lesson-book-source strong{font-size:12px;font-weight:900}.lesson-book-source small{margin-top:3px;color:#6a8197;font-size:9px}.lesson-book-source>b{color:#087fba;font-size:10px}.lesson-book-source.is-selected{border-color:#0fc4ab;background:#edfff9}.lesson-library-modal{z-index:1070}.lesson-library-modal .modal-dialog{width:min(720px,calc(100% - 20px));max-width:720px}.lesson-library-modal .modal-content{max-height:88dvh;overflow:hidden;border:1px solid #cbe5eb;border-radius:25px;background:linear-gradient(150deg,#fff,#f1fbfc);box-shadow:0 28px 80px rgba(3,27,59,.32)}.lesson-library-head{display:grid;grid-template-columns:42px 1fr 42px;gap:10px;align-items:center;padding:18px 20px 12px;border-bottom:1px solid #deebef}.lesson-library-head>button{width:40px;height:40px;border:0;border-radius:12px;background:#e7f2f6;color:#143858;font-size:22px;font-weight:900}.lesson-library-head>button[hidden]{display:block;visibility:hidden}.lesson-library-head small{color:#049b8b;font-size:9px;font-weight:950;letter-spacing:.13em}.lesson-library-head h2{margin:2px 0 0;color:#102d52;font-size:23px;font-weight:950}.lesson-library-modal .modal-content>p{margin:0;padding:0 20px 12px;color:#647c91;font-size:11px}.lesson-library-content{display:grid;gap:9px;overflow-y:auto;padding:3px 20px 22px}.lesson-library-books{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lesson-library-book,.lesson-library-chapter{display:grid;gap:11px;align-items:center;width:100%;padding:13px;border:1px solid #d5e6ed;border-radius:16px;background:#fff;color:#153756;text-align:left}.lesson-library-book{grid-template-columns:46px 1fr}.lesson-library-book>i,.lesson-library-chapter>i{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#09bca7,#2b7dec);font-style:normal;font-weight:950}.lesson-library-book>i{width:46px;height:52px;border-radius:8px 13px 13px 8px;font-size:21px}.lesson-library-chapter{grid-template-columns:40px minmax(0,1fr) auto}.lesson-library-chapter>i{width:40px;height:40px;border-radius:12px}.lesson-library-book b,.lesson-library-book small,.lesson-library-chapter b,.lesson-library-chapter small{display:block}.lesson-library-book small,.lesson-library-chapter small{margin-top:3px;color:#71879a;font-size:9px}.lesson-library-chapter>em{padding:6px 8px;border-radius:9px;background:#e5faf5;color:#078b7d;font-size:8px;font-style:normal;font-weight:900}.lesson-library-empty{padding:24px;border:1px dashed #bcdde2;border-radius:16px;color:#657e91;text-align:center}@media(max-width:620px){.lesson-source-options,.lesson-library-books{grid-template-columns:1fr}.lesson-library-modal .modal-dialog{width:calc(100% - 10px);margin:5px}.lesson-library-modal .modal-content{max-height:calc(100dvh - 10px);border-radius:22px}.lesson-library-content{padding-inline:13px}.lesson-library-head{padding-inline:13px}.lesson-library-modal .modal-content>p{padding-inline:13px}.lesson-library-chapter{grid-template-columns:38px minmax(0,1fr)}.lesson-library-chapter>em{grid-column:2}}

/* Financeiro: mesma composicao de descontos usada na home publica. */
.finance-price-full{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #dbe8ee}.finance-price-full span{color:#62728a;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.finance-price-full del{color:#53627a;font-size:14px;font-weight:850}.finance-price-saving{margin-top:8px;padding:8px 9px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;border-radius:11px}.finance-price-saving>b{padding:4px 6px;border-radius:7px;font-size:10px}.finance-price-saving>span{font-size:9px;font-weight:850;line-height:1.2}.finance-price-saving>strong{font-size:10px;white-space:nowrap}.finance-price-saving.platform{color:#725000;background:#fff3c9}.finance-price-saving.platform>b{color:#5c4000;background:#ffda67}.finance-price-saving.coupon{color:#006f65;background:#dffaf4}.finance-price-saving.coupon>b{color:#fff;background:#08aa94}.finance-price-discount-total{margin-top:9px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:9px;border:1px solid #a9e5d9;border-radius:11px;color:#07594f;background:#f0fffb}.finance-price-discount-total span{font-size:9px;font-weight:850;text-transform:uppercase}.finance-price-discount-total strong{font-size:12px;font-weight:950}.finance-plan-price .finance-final-label{display:block;margin-top:13px;color:#63738a;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.finance-plan-price>.finance-final-installment{margin-top:5px}.finance-plan-price>.finance-final-installment b{font-size:29px}.finance-price-total{margin-top:12px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;color:#51627a;background:#fff}.finance-price-total>span{font-size:10px;font-weight:850}.finance-price-total>div{display:flex;align-items:baseline;gap:7px}.finance-price-total del{color:#8190a4;font-size:10px;font-weight:750}.finance-price-total b{color:#09234d;font-size:15px;font-weight:950}.finance-plan-card.premium .finance-plan-price{background:#fffaf0}.finance-plan-card.premium .finance-price-total{background:#fff}.finance-plan-card.premium .finance-price-discount-total{background:#f2fff9}
@media(max-width:420px){.finance-price-saving{grid-template-columns:auto 1fr}.finance-price-saving>strong{grid-column:2}.finance-price-total{align-items:flex-start}.finance-price-total>div{flex-direction:column;align-items:flex-end;gap:2px}}

/* Financeiro: hierarquia visual dos planos e totais. */
.plans-section{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,249,255,.94));box-shadow:0 18px 48px rgba(20,64,102,.09)}
.finance-plan-grid{gap:22px}
.finance-plan-card{overflow:hidden;border-width:2px;padding:30px;background:linear-gradient(155deg,#f5fffc 0%,#fff 48%);box-shadow:0 20px 45px rgba(13,58,96,.11);transition:transform .2s ease,box-shadow .2s ease}
.finance-plan-card:hover{transform:translateY(-3px);box-shadow:0 27px 58px rgba(13,58,96,.16)}
.finance-plan-card.premium{background:linear-gradient(155deg,#fff9df 0%,#fff 52%)}
.finance-plan-card>span{color:#007f74;font-size:15px;letter-spacing:.09em}
.finance-plan-card .best-plan{margin-bottom:18px;padding:7px 12px;font-size:10px}
.finance-plan-card .finance-plan-description{min-height:58px;margin-top:12px;font-size:15px;line-height:1.55}
.finance-plan-periods{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:7px;border-radius:18px}
.finance-plan-card .finance-period-option{min-height:66px;border-radius:13px}
.finance-plan-card .finance-period-option b{font-size:12px}
.finance-plan-card .finance-period-option small{font-size:9px}
.finance-plan-card .finance-period-option.active{border-width:2px;background:linear-gradient(145deg,#fff,#ecfffa);box-shadow:0 9px 20px rgba(9,146,130,.15)}
.finance-plan-price{padding:19px;border:1px solid #d7e9ef;border-radius:20px;background:linear-gradient(145deg,#f5fbfd,#eaf7fa)}
.finance-plan-card.premium .finance-plan-price{border-color:#f0dfad;background:linear-gradient(145deg,#fffdf5,#fff6da)}
.finance-plan-price>.finance-final-installment{padding:4px 0 2px}
.finance-plan-price>.finance-final-installment small{padding:6px 8px;border-radius:8px;color:#006f66;background:#d6faf1}
.finance-plan-price>.finance-final-installment b{font-size:36px;letter-spacing:-.04em}
.finance-price-totals{margin-top:14px;display:grid;grid-template-columns:1fr 1.12fr;gap:9px}
.finance-price-totals>div{min-width:0;min-height:80px;padding:12px;border-radius:14px;display:flex;flex-direction:column;justify-content:center}
.finance-price-totals span{display:block;margin-bottom:6px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.finance-price-total-original{border:1px solid #dbe5ea;color:#728096;background:#fff}
.finance-price-total-original del{color:#65748b;font-size:16px;font-weight:850;text-decoration-thickness:2px}
.finance-price-total-final{border:1px solid #56ddc8;color:#006f64;background:linear-gradient(135deg,#dffff7,#ecfff9);box-shadow:0 8px 18px rgba(7,165,143,.12)}
.finance-price-total-final b{color:#052b48;font-size:22px;font-weight:950;letter-spacing:-.025em}
.finance-total-economy{margin-top:9px;padding:9px 12px;border-radius:11px;color:#5f4a00;background:#fff0b9;font-size:10px;font-weight:800;text-align:center}
.finance-total-economy strong{color:#443400;font-size:12px;font-weight:950}
.finance-plan-card ul{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px;padding-top:3px;border-top:1px solid #e5edf1}
.finance-plan-card li{line-height:1.4}
.finance-checkout-button{min-height:60px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(115deg,#09c6a8,#237cf3);box-shadow:0 16px 30px rgba(24,134,206,.27);font-size:14px}
.finance-checkout-button b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:rgba(255,255,255,.24)}
@media(max-width:900px){.finance-plan-periods{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-plan-card ul{grid-template-columns:1fr}}
@media(max-width:750px){.finance-plan-card{padding:21px}.finance-plan-periods{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-plan-card .finance-period-option{min-height:54px;flex-direction:column}.finance-price-totals{grid-template-columns:1fr}.finance-price-totals>div{min-height:68px}.finance-plan-price>.finance-final-installment b{font-size:30px}}
