/* Home: approved navy/gold reference, 2026-09-29.
   Rules are scoped to the existing shell and hero; study modules keep their styles. */
:root { --home2-navy:#031f38; --home2-gold:#ffca3f; --home2-ink:#08164f; }
html[data-patrulha-boot="ready"] .appShell { display:grid; grid-template-columns:230px minmax(0,1fr); }
.appMain { min-width:0; }
body[data-layer="inicio"] .appMain { background:linear-gradient(180deg,#fff 0%,#fffdf9 100%); min-height:100vh; color:var(--home2-ink); }
body .appShell .sideNav { padding:18px 11px; background:linear-gradient(180deg,#021d34,#00243f); border-right:1px solid #174565; box-shadow:none; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#d79516 transparent; }
body .sideBrand { gap:10px; padding:0 8px 15px; }
body .sideBrand img { width:54px; height:54px; object-fit:contain; border:1px solid #795424; border-radius:13px; box-shadow:none; }
body .sideBrand div { display:block; }
body .sideBrand strong { font-size:17px; letter-spacing:.06em; color:#fff; }
body .sideBrand span { font-size:14px; color:#ffc532; }
body .appShell .sideNav nav { display:grid; gap:3px; }
body .appShell .sideNav nav a { display:flex; justify-content:flex-start; gap:12px; min-height:46px; padding:10px 12px; border:1px solid transparent; border-radius:10px; color:#f0f4fb; font-size:14px; }
body .appShell .sideNav nav a span { display:block; font-size:14px; }
body .appShell .sideNav nav a em { display:block; font-size:12px; background:#28372f; color:#ffcf38; }
body .appShell .sideNav nav a:is(:hover,.active,.layerActive) { border-color:#ffbd24; background:linear-gradient(90deg,#293936b8,#20394380); color:#ffd137; box-shadow:inset 0 0 0 1px #ffc62820; }
body .navGroupLabel { color:#f5f7ff; font-size:11px; font-weight:700; letter-spacing:.10em; margin:18px 10px 7px; }
body .premiumSide { background:#082941; border-color:#9e742b; margin-top:24px; }
body .premiumSide :is(b,span,strong) { display:block; }
body .premiumSide b { color:#ffd04b; }
body .premiumSide strong { background:linear-gradient(#ffd764,#ffbe2d); color:#092744; }
body .appMain .topbar { height:78px; padding:0 28px; gap:20px; background:#011b36; border-bottom:1px solid #123755; box-shadow:none; }
body .appMain .globalSearch { max-width:550px; min-width:160px; height:44px; border:1px solid #174564; background:linear-gradient(100deg,#042647,#00365e); color:#f3f7ff; }
body .appMain .globalSearch input { color:#f6f8ff; font-size:13px; }
body .appMain .globalSearch input::placeholder { color:#dfe9f3; opacity:1; }
body .topActions { gap:12px; flex-shrink:0; }
body .appMain .syncStatus { background:#01273d; color:#f2f5fa; border:1px solid #175570; border-radius:24px; font-size:12px; min-height:42px; }
body .appMain .premiumTop { background:linear-gradient(#fbb331,#ba6d08); color:#fff; border:1px solid #fbc23e; border-radius:24px; box-shadow:inset 0 1px 0 #ffe69566; font-size:14px; padding:10px 20px; }
body .appMain .profile { background:linear-gradient(#075ac9,#0645a7); border:1px solid #125dc3; border-radius:24px; color:white; min-height:42px; padding:10px 22px; }
body[data-layer="inicio"] :is(#desempenho,#homeClassRanking,#homePrivateLessons,#concursos) { display:none!important; }

/* Whole-width photo, real HTML foreground. Extra class avoids old runtime hero rules. */
body[data-layer="inicio"] .hero.heroV2 {
  display:block; position:relative; isolation:isolate; width:auto; max-width:none;
  min-height:390px; margin:0 14px; padding:0; border:0; border-radius:8px;
  background:#021a31; color:white; box-shadow:none; overflow:hidden;
}
body .hero.heroV2:after { display:none; }
.heroV2Visual { position:absolute; inset:0; z-index:-2; overflow:hidden; background:#031d32; }
.heroHumanImage { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.heroV2Visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#01182f55 0%,#01182f20 39%,transparent 64%); }
.heroV2Copy { position:relative; z-index:1; width:58%; padding:32px 0 27px 48px; }
body .hero.heroV2 .heroV2Eyebrow { display:none; }
body[data-layer="inicio"] .hero.heroV2 h1 {
  margin:0 0 16px; font-size:clamp(42px,4.55vw,68px); font-weight:900;
  line-height:.99; letter-spacing:-.025em; text-transform:uppercase; color:#fff;
  text-shadow:0 3px 6px #00101d33; max-width:none;
}
body[data-layer="inicio"] .hero.heroV2 h1 em { display:block; margin-top:5px; font-style:normal; color:#ffca3d; white-space:nowrap; text-shadow:0 2px 1px #99600544; }
body[data-layer="inicio"] .hero.heroV2 p { font-size:clamp(18px,1.6vw,24px); line-height:1.33; color:#f6f7fc; max-width:490px; margin:0; }
body[data-layer="inicio"] .hero.heroV2 .heroV2Actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 0; }
body[data-layer="inicio"] .hero.heroV2 .heroV2Actions a {
  display:inline-flex; align-items:center; justify-content:center; width:auto; min-height:50px;
  padding:12px 22px; border-radius:12px; text-decoration:none; font-size:16px; font-weight:750;
  line-height:1.3; transition:filter .15s,transform .15s;
}
body[data-layer="inicio"] .hero.heroV2 .heroV2Primary {
  background:linear-gradient(180deg,#ffdc61,#ffc52c); color:#071c40; border:1px solid #ffdd67; box-shadow:0 6px 18px #00111d26;
}
body[data-layer="inicio"] .hero.heroV2 .heroV2Secondary {
  background:linear-gradient(#fff,#f8fafc); color:#0050db; border:1px solid #d9e2ed; box-shadow:0 6px 18px #00111d26;
}
body .heroV2Actions a:hover { filter:brightness(1.06); transform:translateY(-1px); }
body .heroV2Trust { display:flex; gap:26px; align-items:center; margin-top:27px; }
.heroV2Trust>div { display:flex; gap:12px; align-items:center; min-width:0; }
.heroV2Trust i { display:grid; place-items:center; width:39px; height:39px; border:2px solid #f4f7fc; border-radius:11px; font-style:normal; flex:0 0 39px; color:#fff; }
.heroV2Trust svg { width:24px; height:24px; }
.heroV2Trust span { font-size:14px; line-height:1.4; color:white; max-width:126px; }
.heroV2HiddenHook { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body .heroV2 #continueStudy:not(.hidden) { background:#fff; color:#0752b9; border:1px solid #dbe5f0; }
body .appMain .homeQuickAccess { max-width:none; margin:0; padding:16px 18px 24px; color:var(--home2-ink); background:transparent; }
body .appMain .homeQuickAccess .homeQuickHead { display:none; }
body .appMain .homeQuickAccess .homeQuickGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
body .appMain .homeQuickAccess .homeQuickCard {
  display:grid; grid-template-columns:62px minmax(0,1fr) 12px; align-items:center;
  column-gap:18px; min-height:88px; padding:12px 18px; border:1px solid #e6eaf0;
  border-radius:15px; background:#fff; color:var(--home2-ink); text-decoration:none; box-shadow:0 3px 12px #18395d03;
}
.homeQuickIcon { display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:#fff3dd; color:#08174e; }
.homeQuickIcon svg { width:31px; height:31px; }
.homeQuickCopy { display:grid; gap:4px; min-width:0; }
body .appMain .homeQuickAccess .homeQuickCard strong { margin:0; font-size:16px; font-weight:750; line-height:1.25; color:#080e4b; letter-spacing:-.025em; }
body .appMain .homeQuickAccess .homeQuickCard .homeQuickCopy>span { font-size:13px; line-height:1.4; color:#506a9c; }
.homeQuickArrow { font-size:27px; color:#061351; line-height:1; }
body .appMain .homeQuickAccess .homeQuickCard:hover { border-color:#e4b45a; background:#fffefa; transform:translateY(-2px); }
body :is(.heroV2Actions a,.homeQuickCard,.sideNav a):focus-visible { outline:3px solid #edac18; outline-offset:3px; }
@media(min-width:1600px) {
  body[data-layer="inicio"] .hero.heroV2 { min-height:440px; }
  .heroV2Copy { padding:45px 0 38px 56px; }
}
@media(min-width:821px) and (max-width:1190px) {
  html[data-patrulha-boot="ready"] .appShell { grid-template-columns:205px minmax(0,1fr); }
  body .sideBrand { gap:7px; padding-left:0; padding-right:0; }
  body .sideBrand img { width:43px; height:43px; }
  body .sideBrand strong { font-size:15px; }
  body .sideBrand span { font-size:12px; }
  body .appMain .topbar { padding:0 18px; gap:14px; }
  body .topActions { gap:8px; }
  body .appMain .syncStatus { font-size:11px; padding:8px; }
  body .appMain .premiumTop { padding:10px 14px; font-size:12px; }
  .heroV2Copy { width:67%; padding:34px 0 32px 28px; }
  body[data-layer="inicio"] .hero.heroV2 h1 { font-size:clamp(35px,4.3vw,51px); }
  body[data-layer="inicio"] .hero.heroV2 p { font-size:18px; max-width:390px; }
  body[data-layer="inicio"] .hero.heroV2 .heroV2Actions a { padding:11px 14px; font-size:13px; min-height:46px; }
  .heroV2Trust { gap:13px; }
  .heroV2Trust>div { gap:7px; }
  .heroV2Trust span { font-size:12px; max-width:103px; }
  body .appMain .homeQuickAccess .homeQuickCard { grid-template-columns:42px minmax(0,1fr) 10px; gap:9px; padding:12px; }
  .homeQuickIcon { width:42px; height:42px; }
  .homeQuickIcon svg { width:25px; height:25px; }
  body .appMain .homeQuickAccess .homeQuickCard strong { font-size:14px; }
}
@media(max-width:820px) {
  html[data-patrulha-boot="ready"] .appShell { display:block; }
  body .appMain .topbar { height:68px; padding:0 16px; gap:10px; }
  body .appMain .globalSearch, body .appMain .premiumTop { display:none; }
  body .topActions { gap:6px; }
  body .mobileBrand { min-width:0; max-width:calc(100% - 78px); color:white; }
  body .mobileBrand strong { font-size:13px; }
  body .appMain .profile { padding:9px 17px; min-height:40px; }
  body[data-layer="inicio"] .hero.heroV2 { min-height:610px; margin:0 12px; border-radius:10px; display:flex; align-items:flex-end; }
  .heroV2Visual { inset:0 0 auto; height:310px; }
  .heroHumanImage { object-position:75% center; }
  .heroV2Visual:after { background:linear-gradient(180deg,transparent 50%,#021a31 100%); }
  .heroV2Copy { width:100%; padding:260px 24px 26px; }
  body[data-layer="inicio"] .hero.heroV2 h1 { font-size:clamp(32px,6.6vw,47px); line-height:1.02; }
  body[data-layer="inicio"] .hero.heroV2 p { font-size:18px; max-width:520px; }
  body[data-layer="inicio"] .hero.heroV2 .heroV2Actions { flex-wrap:wrap; margin-top:20px; }
  body[data-layer="inicio"] .hero.heroV2 .heroV2Actions a { flex:1 1 220px; font-size:15px; width:100%; padding:13px 15px; }
  body .heroV2Trust { gap:14px; margin-top:22px; align-items:flex-start; justify-content:space-between; }
  .heroV2Trust>div { flex:1; flex-direction:column; align-items:flex-start; gap:8px; }
  .heroV2Trust span { font-size:12px; max-width:115px; }
  .heroV2Trust i { width:32px; height:32px; flex-basis:32px; border-radius:9px; }
  .heroV2Trust svg { width:21px; height:21px; }
  body .appMain .homeQuickAccess { padding:14px 12px 24px; }
  body .appMain .homeQuickAccess .homeQuickGrid { grid-template-columns:1fr; gap:10px; }
  body .appMain .homeQuickAccess .homeQuickCard { min-height:92px; padding:14px 18px; }
}
@media(max-width:360px) {
  .heroV2Copy { padding-left:18px; padding-right:18px; }
  body[data-layer="inicio"] .hero.heroV2 h1 { font-size:29px; }
  body .mobileBrand strong { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  body :is(.heroV2Actions a,.homeQuickCard) { transition:none; }
}

/* Protect the reference against legacy themes loaded after this stylesheet. */
body[data-layer="inicio"] #mainContent .hero.heroV2 { margin:0 14px!important; min-height:390px!important; padding:0!important; border-radius:8px!important; }
body[data-layer="inicio"] #mainContent .hero.heroV2 h1 { color:#fff!important; font-weight:900!important; text-shadow:0 2px 5px #00101d33!important; }
body[data-layer="inicio"] #mainContent .hero.heroV2 h1 em { color:#ffca3d!important; }
body[data-layer="inicio"] #mainContent .hero.heroV2 p { color:#f6f7fc!important; }
body[data-layer="inicio"] #mainContent .hero.heroV2 .heroV2Primary { background:linear-gradient(#ffdc61,#ffc52c)!important; color:#071c40!important; border-color:#ffdd67!important; }
body[data-layer="inicio"] #mainContent .hero.heroV2 .heroV2Secondary { background:#fff!important; color:#0050db!important; border-color:#d9e2ed!important; }
body[data-layer="inicio"] #mainContent .heroV2 #continueStudy { display:none!important; }
body[data-layer="inicio"] #mainContent #homeQuickAccess { margin:0!important; padding:16px 18px 24px!important; background:transparent!important; }
body[data-layer="inicio"] #mainContent #homeQuickAccess .homeQuickGrid { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:14px!important; }
body[data-layer="inicio"] #mainContent #homeQuickAccess .homeQuickCard {
  grid-template-columns:60px minmax(0,1fr) 12px!important; grid-template-rows:1fr!important; min-height:88px!important;
  height:auto!important; padding:12px 18px!important; border:1px solid #e6eaf0!important; border-radius:15px!important;
  background:#fff!important; box-shadow:0 3px 12px #18395d03!important;
}
body[data-layer="inicio"] #mainContent #homeQuickAccess .homeQuickCard strong { color:#080e4b!important; }
body[data-layer="inicio"] #mainContent #homeQuickAccess .homeQuickCopy>span { color:#506a9c!important; }
body[data-layer="inicio"] #mainContent #homeQuickAccess :is(.homeQuickIcon,.homeQuickArrow) { color:#08174e!important; }
body .appShell .sideBrand span { font-size:12px!important; letter-spacing:-.02em; white-space:nowrap; color:#ffc532!important; }
/* Existing course controls remain below the quick links with the same actions/content. */
body[data-layer="inicio"] #mainContent #publicCourseChooser.publicCourseChooser {
  background:transparent!important; margin:0 18px 26px!important; padding:22px 18px!important; border:0!important; box-shadow:none!important; color:#08164f!important;
}
body[data-layer="inicio"] #publicCourseChooser .publicCourseChooserHead .eyebrow { color:#b16a00!important; background:transparent!important; border:0!important; padding:0!important; letter-spacing:.1em; }
body[data-layer="inicio"] #publicCourseChooser .publicCourseChooserHead h2 { color:#080e4b!important; font-size:clamp(27px,2.6vw,38px)!important; margin:8px 0!important; }
body[data-layer="inicio"] #publicCourseChooser .publicCourseChooserHead p { color:#617ba6!important; }
body[data-layer="inicio"] #publicCourseChooser .publicCourseCard { background:#fff!important; color:#08164f!important; border:1px solid #e8eaf0!important; border-radius:16px!important; box-shadow:0 5px 20px #122f4f04!important; }
body[data-layer="inicio"] #publicCourseChooser .publicCourseCard :is(h3,.publicCourseCount) { color:#08164f!important; }
body[data-layer="inicio"] #publicCourseChooser .publicCourseCard :is(p,small,.esaCardBenefits) { color:#506a91!important; }
body[data-layer="inicio"] #publicCourseChooser .publicCourseAction { background:linear-gradient(#ffd966,#ffc52f)!important; color:#071c40!important; border:1px solid #ffcd50!important; }
body[data-layer="inicio"] #publicCourseChooser .publicCourseBadge { background:#e3f6e5!important; color:#1e642b!important; border:0!important; }
body[data-layer="inicio"] #publicCourseChooser .esaCardBody { background:#fff!important; }
body[data-layer="inicio"] #publicCourseChooser :is(.esaCardProofs span,.esaCardFlow span) { background:#f5f7fb!important; color:#435e86!important; border-color:#e3e8f0!important; }
@media(min-width:821px) and (max-width:1190px) {
 body[data-layer="inicio"] #mainContent #homeQuickAccess .homeQuickCard { grid-template-columns:42px minmax(0,1fr) 10px!important; padding:12px!important; }
}
@media(max-width:820px) {
 body[data-layer="inicio"] #mainContent .hero.heroV2 { margin:0 12px!important; min-height:610px!important; }
 body[data-layer="inicio"] #mainContent #homeQuickAccess { padding:14px 12px 24px!important; }
 body[data-layer="inicio"] #mainContent #homeQuickAccess .homeQuickGrid { grid-template-columns:1fr!important; }
 body[data-layer="inicio"] #mainContent #homeQuickAccess .homeQuickCard { min-height:92px!important; padding:14px 18px!important; }
 body[data-layer="inicio"] #mainContent #publicCourseChooser.publicCourseChooser { margin:0 12px 24px!important; padding:18px 8px!important; }
}
