:root {
  --bg: #0d1110;
  --surface: #141b19;
  --panel: #18211e;
  --text: #f7f1e8;
  --muted: #b7aa99;
  --line: rgba(255,255,255,.11);
  --brand: #d9a441;
  --brand-dark: #9f6f20;
  --accent: #48a47f;
  --danger: #9d2c2c;
  --ok: #54bd83;
  --shadow: 0 18px 50px rgba(0, 0, 0, .35);
}

.canonical-course .study-classroom-outline { max-height:calc(100vh - 74px); }
.canonical-stage { display:grid; align-content:start; gap:22px; min-width:0; padding:30px clamp(18px,4vw,48px) 48px; }
.canonical-lesson-header { display:grid; gap:8px; padding:28px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(135deg,rgba(217,164,65,.1),rgba(111,181,151,.07)),rgba(255,255,255,.025); }
.canonical-lesson-header small,.canonical-count,.canonical-refs { color:#d9a441; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.canonical-lesson-header h1 { max-width:860px; margin:0; font-size:clamp(32px,4vw,52px); line-height:1.06; letter-spacing:-.025em; }
.canonical-lesson-header p { margin:0; color:var(--muted); }
.canonical-moment-progress { display:grid; align-self:start; gap:8px; padding:13px 16px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.025); }
.canonical-moment-progress span { color:#d9a441; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.canonical-moment-progress div { height:5px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }
.canonical-moment-progress i { display:block; width:0; height:100%; background:linear-gradient(90deg,#72bd98,#d9a441); transition:width .22s ease; }
.canonical-moment { position:relative; display:grid; gap:17px; padding:clamp(24px,4vw,42px); border:1px solid var(--line); border-radius:14px; background:#121a17; box-shadow:var(--shadow); scroll-margin-top:20px; }
.canonical-moment-short { justify-self:center; width:min(100%,820px); gap:14px; padding:clamp(22px,3vw,32px); box-shadow:0 14px 36px rgba(0,0,0,.2); }
.canonical-moment[hidden] { display:none; }
.canonical-moment.is-active { animation:canonicalFade .18s ease-out; }
.canonical-moment h2 { max-width:860px; margin:0; font-size:clamp(25px,3vw,40px); line-height:1.12; letter-spacing:-.02em; }
.canonical-moment-short h2 { font-size:clamp(22px,2.4vw,31px); line-height:1.18; }
.canonical-moment h3 { margin:0; font-size:17px; line-height:1.25; }
.canonical-moment p,.canonical-moment li,.canonical-reflection { margin:0; color:#c9beae; font-size:15px; line-height:1.75; }
.canonical-lead { max-width:820px; color:#eee4d5 !important; font-size:19px !important; }
.canonical-moment-short .canonical-lead { font-size:17px !important; line-height:1.65; }
.canonical-count { justify-self:start; padding:5px 8px; border:1px solid rgba(217,164,65,.24); border-radius:999px; background:rgba(217,164,65,.06); }
.canonical-type-hero { min-height:520px; align-content:end; color:#fff7e8; background:linear-gradient(180deg,rgba(15,22,19,.15),rgba(15,22,19,.95)),linear-gradient(135deg,#476b57,#101714 72%); }
.canonical-type-hero.canonical-moment-short { min-height:340px; align-content:center; }
.canonical-grid,.canonical-columns,.canonical-map,.canonical-list-grid { display:grid; align-items:stretch; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.canonical-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.canonical-map { grid-template-columns:repeat(4,minmax(0,1fr)); }
.canonical-panel { position:relative; display:grid; align-content:start; gap:9px; min-width:0; padding:17px; border:1px solid rgba(255,255,255,.09); border-radius:10px; background:rgba(255,255,255,.035); cursor:pointer; }
.canonical-panel-static { cursor:default; }
.canonical-panel:focus { outline:2px solid rgba(217,164,65,.75); outline-offset:2px; }
.canonical-panel-indicator { justify-self:start; margin-bottom:2px; padding:3px 7px; border-radius:999px; color:#172019; background:#d9a441; font-size:9px; font-weight:850; text-transform:uppercase; }
.canonical-panel p,.canonical-panel ul,.canonical-panel .canonical-refs { display:none; }
.canonical-panel.is-open p,.canonical-panel.is-open ul,.canonical-panel.is-open .canonical-refs { display:block; }
.canonical-panel ul { margin:0; padding-left:18px; }
.canonical-panel .canonical-refs { margin-top:auto; color:#b9965e; font-size:10px; text-transform:none; letter-spacing:0; }
.canonical-chips { display:flex; flex-wrap:wrap; gap:9px; }
.canonical-chips .canonical-panel { display:block; padding:9px 11px; border-color:rgba(217,164,65,.18); border-radius:999px; background:rgba(217,164,65,.06); }
.canonical-chips .canonical-panel p { color:#ddd2c1; font-size:13px; line-height:1.35; }
.canonical-highlights { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start; padding:12px; border:1px solid rgba(217,164,65,.14); border-radius:8px; background:rgba(217,164,65,.035); }
.canonical-highlights span { display:inline-flex; align-items:center; min-height:34px; padding:8px 11px; border:1px solid rgba(217,164,65,.24); border-radius:7px; color:#ead7a6; background:rgba(217,164,65,.07); font-size:13px; font-weight:750; line-height:1.35; }
.canonical-moment blockquote { margin:0; padding:20px 22px; border-left:3px solid #d9a441; border-radius:0 10px 10px 0; background:rgba(217,164,65,.08); color:#eee1c8; font-size:17px; line-height:1.65; }
.canonical-moment cite { display:block; margin-top:8px; color:#d9a441; font-size:12px; font-style:normal; }
.canonical-reflection { display:grid; gap:11px; }
.canonical-reflection-card { padding:18px; border:1px solid rgba(217,164,65,.18); border-radius:10px; background:rgba(217,164,65,.045); }
.canonical-reflection strong { color:#eee4d5; font-size:17px; line-height:1.45; }
.canonical-reflection textarea { width:100%; min-height:150px; padding:14px; border:1px solid var(--line); border-radius:10px; color:var(--text); background:#0d1311; font:inherit; resize:vertical; }
.canonical-scripture-body,.canonical-compare-body,.canonical-callout-body { color:#e3d8c7; font-size:16px; line-height:1.75; }
.canonical-scripture-body { padding:18px 20px; border-left:3px solid #d9a441; border-radius:0 8px 8px 0; background:rgba(217,164,65,.07); }
.canonical-scripture-expander { overflow:hidden; border:1px solid rgba(217,164,65,.18); border-radius:10px; background:rgba(217,164,65,.045); }
.canonical-scripture-expander summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; cursor:pointer; list-style:none; }
.canonical-scripture-expander summary::-webkit-details-marker { display:none; }
.canonical-scripture-expander summary span { color:#d9a441; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.canonical-scripture-expander summary strong { flex-shrink:0; color:#f2dfb5; font-size:10px; font-weight:850; }
.canonical-scripture-passages { display:grid; gap:12px; padding:0 15px 15px; }
.canonical-scripture-passages article { display:grid; gap:9px; padding:15px; border:1px solid rgba(255,255,255,.08); border-radius:8px; background:rgba(8,14,11,.34); }
.canonical-scripture-passages header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.07); }
.canonical-scripture-passages header strong { color:#f1dfb7; font-size:12px; }
.canonical-scripture-passages header a { color:#90cdb1; font-size:9px; font-weight:850; }
.canonical-scripture-passages p { margin:0; color:#e6dccd; font-size:14px; line-height:1.68; }
.canonical-scripture-passages sup { margin-right:6px; color:#d9a441; font-size:10px; font-weight:850; }
.canonical-scripture-passages small { color:#958a7c; font-size:9px; }
.canonical-compare-body { padding:18px; border:1px solid rgba(111,181,151,.2); border-radius:10px; background:linear-gradient(135deg,rgba(111,181,151,.08),rgba(255,255,255,.025)); }
.canonical-callout-body { padding:20px; border:1px solid rgba(217,164,65,.22); border-radius:10px; background:linear-gradient(135deg,rgba(217,164,65,.09),rgba(255,255,255,.025)); color:#eee1c8; }
.canonical-type-pastoral_application,.canonical-type-pastoral_note,.canonical-type-pastoral_warning,.canonical-type-application,.canonical-type-synthesis,.canonical-type-final,.canonical-type-completion { border-color:rgba(217,164,65,.22); }
.canonical-type-bible_interaction,.canonical-type-bible_interactive,.canonical-type-interactive_bible,.canonical-type-scripture,.canonical-type-bible { border-color:rgba(111,181,151,.24); }
.canonical-type-reflection,.canonical-type-journal,.canonical-type-formation_journal,.canonical-type-question { border-color:rgba(150,135,204,.22); }
.canonical-actions { display:flex; flex-wrap:wrap; gap:10px; }
.canonical-actions button { min-height:42px; padding:0 15px; border:1px solid rgba(217,164,65,.22); border-radius:9px; color:#172019; background:#d9a441; font-weight:850; cursor:pointer; }
.canonical-actions button+button { color:#eee4d5; background:rgba(255,255,255,.04); }
.canonical-moment-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); }
.canonical-moment-actions button { min-height:44px; padding:0 17px; border:1px solid rgba(255,255,255,.13); border-radius:9px; color:#eee4d5; background:rgba(255,255,255,.045); font-weight:850; cursor:pointer; }
.canonical-moment-actions button:last-child { color:#172019; border-color:#d9a441; background:#d9a441; }
.canonical-moment-actions button:disabled { opacity:.35; cursor:not-allowed; }
.canonical-save-status { flex:1; min-width:80px; color:#78c9a4; font-size:10px; font-weight:850; text-align:center; }
.canonical-completion[hidden] { display:none; }
@keyframes canonicalFade { from { opacity:.01; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:980px) {
  .canonical-grid,.canonical-columns,.canonical-map,.canonical-list-grid { grid-template-columns:1fr; }
  .canonical-stage { padding:18px 14px 38px; }
  .canonical-type-hero { min-height:430px; }
  .canonical-moment-actions { flex-direction:column-reverse; }
  .canonical-moment-actions button { width:100%; }
  .canonical-save-status { width:100%; text-align:center; }
}

* { box-sizing: border-box; }
html, body { max-width: 100%; }
html { overflow-x: clip; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 80% 0%, rgba(72, 164, 127, .16), transparent 30%),
    linear-gradient(180deg, #121a17 0%, var(--bg) 380px);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; }
.sidebar {
  background: rgba(10, 16, 14, .95);
  color: #f7f1e8;
  padding: 24px 18px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.sidebar::-webkit-scrollbar { width: 0; height: 0; }
.sidebar-head {
  display: block;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 28px;
}
.brand-logo {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  flex-shrink: 0;
  object-fit: contain;
  object-position: center center;
  display: block;
  align-self: center;
  margin-top: 2px;
}
.brand span {
  line-height: 1;
}
.menu-toggle {
  display: none;
}
.nav { display: grid; gap: 6px; }
.nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: #e9dfcf;
}
.nav a:hover, .nav a.active { background: rgba(217, 164, 65, .16); color: #fff; }
.nav-sync-form { display: contents; }
.nav-sync-form button {
  all: unset;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: #e9dfcf;
  font: inherit;
  cursor: pointer;
  width: 100%;
}
.nav-sync-form button:hover, .nav-sync-form button.active { background: rgba(217, 164, 65, .16); color: #fff; }

/* Badge "Novo" com gradiente e shimmer */
.nav-new {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 2px 8px; border-radius: 20px;
  font-size: 0.6rem; font-weight: 800; letter-spacing: .05em;
  text-transform: uppercase; line-height: 1.6;
  color: #0d1110;
  background: linear-gradient(120deg, #48a47f 0%, #d9a441 100%);
  position: relative; overflow: hidden;
  flex-shrink: 0; align-self: center;
  vertical-align: middle;
}
.nav-new::after {
  content: '';
  position: absolute;
  top: 0; left: -75%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.6) 50%,
    transparent 100%);
  transform: skewX(-15deg);
  animation: nav-shimmer 2.2s ease-in-out infinite;
}
@keyframes nav-shimmer {
  0%      { left: -75%; }
  55%,100% { left: 130%; }
}

.logout-form { margin-top: 28px; }
.main { padding: 26px; min-width: 0; overflow: hidden; }
.main.page-bible { padding: 0; overflow: visible; }
.topbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 24px;
}
.eyebrow { color: var(--muted); margin: 0 0 4px; font-size: 14px; }
h1, h2, h3 { line-height: 1.15; margin: 0; }
h1 { font-size: 32px; }
h2 { font-size: 22px; margin-bottom: 14px; }
h3 { font-size: 17px; }
.muted { color: var(--muted); }
.grid { display: grid; gap: 16px; }
.grid.cards { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.card, .panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.card { overflow: hidden; }
.card-cover {
  aspect-ratio: 16 / 10;
  background:
    linear-gradient(135deg, rgba(31, 77, 66, .95), rgba(196, 138, 54, .76)),
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.25), transparent 28%);
  display: flex;
  align-items: end;
  padding: 16px;
  color: white;
}
.card-body, .panel { padding: 18px; }
.actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.button, button {
  border: 0;
  background: var(--brand);
  color: #18120a;
  padding: 10px 14px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
}
.button.secondary { background: #ebe2d4; color: var(--text); }
.button.secondary { background: rgba(255,255,255,.12); color: #fff; }
.button.danger { background: var(--danger); }
.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  background: rgba(255,255,255,.12);
  color: #e8dac5;
  font-size: 12px;
  font-weight: 700;
}
.badge.ok { background: rgba(84, 189, 131, .15); color: #8be5b0; }
.badge.warn { background: rgba(217, 164, 65, .15); color: #ffd284; }
.badge.danger, .badge.error { background: rgba(157, 44, 44, .18); color: #ff9a9a; }
form { display: grid; gap: 14px; }
form > button, form > .button { justify-self: start; }
.purchase-form {
  display: inline-flex;
  width: auto;
  margin-top: 12px;
}
.purchase-form .button {
  flex: 0 0 auto;
}
label { display: grid; gap: 6px; font-weight: 600; color: var(--muted); }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 12px;
  background: rgba(255,255,255,.06);
  color: var(--text);
  font: inherit;
}
select {
  color-scheme: dark;
}
select option,
select optgroup {
  background: #18211e;
  color: #f2e7d6;
}
select option:checked {
  background: #315f4f;
  color: #fff8e9;
}
textarea { min-height: 120px; resize: vertical; }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
th, td { text-align: left; padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { background: rgba(255,255,255,.08); font-size: 13px; color: #e8dac5; }
tr.subscription-row-warning td {
  background: rgba(255, 224, 138, .16);
  border-bottom-color: rgba(255, 224, 138, .26);
}
tr.subscription-row-danger td {
  background: rgba(255, 131, 118, .18);
  border-bottom-color: rgba(255, 131, 118, .3);
}
.admin-material {
  display: grid;
  grid-template-columns: 52px minmax(140px, 1fr);
  gap: 12px;
  align-items: center;
}
.admin-thumb {
  width: 52px;
  aspect-ratio: 248 / 500;
  border-radius: 6px;
  background-color: #18211e;
  background-image: linear-gradient(135deg, rgba(72, 164, 127, .9), rgba(217, 164, 65, .85));
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid rgba(255,255,255,.12);
}
.notice { padding: 12px 14px; border-radius: 8px; background: rgba(84, 189, 131, .12); color: #a5efc2; border: 1px solid rgba(84, 189, 131, .25); }
.notice.error { background: rgba(157, 44, 44, .16); color: #ffb7ae; border-color: rgba(157, 44, 44, .32); }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.login-card { width: min(440px, 100%); }
.signup-card { width: min(520px, 100%); }
.auth-card-header {
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
  margin-bottom: 22px;
}
.auth-card-header h1,
.auth-card-header p {
  margin: 0;
}
.auth-brand-mark {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(217, 164, 65, .95), rgba(84, 189, 131, .85)),
    #d9a441;
  color: #18120a;
  font-family: Georgia, serif;
  font-size: 31px;
  font-weight: 700;
  box-shadow: 0 16px 34px rgba(0,0,0,.24);
}

.hero {
  min-height: 360px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  display: grid;
  align-items: end;
  margin-bottom: 28px;
  background:
    linear-gradient(90deg, rgba(8, 12, 11, .95) 0%, rgba(8, 12, 11, .72) 45%, rgba(8, 12, 11, .08) 100%),
    linear-gradient(135deg, #264c3f, #b47422 55%, #23201d);
  box-shadow: var(--shadow);
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  background: linear-gradient(180deg, transparent, var(--bg));
}
.hero-content {
  position: relative;
  z-index: 1;
  width: min(680px, 100%);
  padding: 34px;
}
.hero h1 {
  font-size: clamp(34px, 5vw, 64px);
  letter-spacing: 0;
  margin-bottom: 12px;
}
.hero p { font-size: 18px; color: #e8dac5; }
.module-row { margin: 0 0 30px; min-width: 0; }
.module-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 12px;
}
.carousel {
  position: relative;
  min-width: 0;
}
.rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(124px, calc((100% - 96px) / 6.5), 174px);
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 48px 16px 2px;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  scroll-behavior: smooth;
  width: 100%;
  max-width: 100%;
}
.rail::-webkit-scrollbar {
  display: none;
}
.stream-card {
  border-radius: 8px;
  overflow: hidden;
  background: #18211e;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: var(--shadow);
  transition: transform .16s ease, border-color .16s ease;
  scroll-snap-align: start;
}
.stream-card:hover {
  transform: translateY(-4px);
  border-color: rgba(217, 164, 65, .42);
}
.stream-art {
  aspect-ratio: 248 / 500;
  display: block;
  background-color: #18211e;
  background-image:
    linear-gradient(135deg, rgba(72, 164, 127, .92), rgba(217, 164, 65, .86)),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.2), transparent 26%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.carousel-btn {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: none;
  width: 38px;
  min-height: 64px;
  padding: 0;
  border-radius: 8px;
  transform: translateY(-50%);
  background: rgba(8, 12, 11, .72);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(6px);
}
.carousel.can-scroll:not(.at-start) .carousel-btn.prev,
.carousel.can-scroll:not(.at-end) .carousel-btn.next {
  display: inline-flex;
}
.carousel-btn:hover { background: rgba(8, 12, 11, .9); }
.carousel-btn.prev { left: 4px; }
.carousel-btn.next { right: 4px; }
.stream-card:nth-child(3n+2) .stream-art {
  background-image: linear-gradient(135deg, rgba(73, 92, 143, .9), rgba(217, 164, 65, .82));
}
.stream-card:nth-child(3n+3) .stream-art {
  background-image: linear-gradient(135deg, rgba(91, 56, 110, .9), rgba(72, 164, 127, .8));
}
.stream-meta {
  padding: 14px;
}
.stream-meta h3 {
  min-height: 44px;
  margin-bottom: 8px;
}
.detail-cover {
  min-height: 320px;
  border-radius: 8px;
  padding: 34px;
  display: grid;
  align-items: end;
  background-size: cover;
  background-position: center;
  background:
    linear-gradient(90deg, rgba(8,12,11,.92), rgba(8,12,11,.25)),
    linear-gradient(135deg, #315b4f, #c58a34);
}
.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
.site-footer div,
.site-footer nav {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.site-footer strong {
  color: #f1e6d4;
}
.site-footer a {
  color: #e8dac5;
}
.site-footer a:hover {
  color: #fff;
}



@media (max-width: 860px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar {
    position: relative;
    top: auto;
    z-index: 20;
    height: auto;
    padding: 10px 14px;
    border-bottom: 1px solid var(--line);
  }
  .sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .brand {
    font-size: 16px;
    margin-bottom: 0;
  }
  .brand-logo {
    width: 28px;
    height: 28px;
  }
  .menu-toggle {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 38px;
    padding: 8px 11px;
    background: rgba(255,255,255,.1);
    color: #fff;
    border: 1px solid rgba(255,255,255,.14);
  }
  .menu-icon {
    display: grid;
    gap: 4px;
  }
  .menu-icon span {
    display: block;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 99px;
  }
  .nav {
    display: none;
    gap: 8px;
    margin-top: 12px;
    overflow: visible;
    padding-bottom: 0;
  }
  .sidebar.menu-open .nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .nav a {
    min-height: 40px;
    padding: 9px 11px;
    white-space: normal;
    flex-wrap: wrap;
    gap: 4px;
  }
  .nav-sync-form button {
    min-height: 40px;
    padding: 9px 11px;
    white-space: normal;
    flex-wrap: wrap;
    gap: 4px;
  }
  .logout-form { display: none; margin-top: 10px; }
  .sidebar.menu-open .logout-form { display: grid; }
  .logout-form button {
    min-height: 38px;
    width: 100%;
  }
  .topbar { align-items: flex-start; flex-direction: column; }
  .main { padding: 14px; }
  h1 { font-size: 28px; }
  h2 { font-size: 20px; }
  .panel { padding: 15px; }
  .table-wrap {
    margin-inline: -14px;
    padding-inline: 14px;
  }
  table { min-width: 680px; }
  th, td { padding: 10px; }
  .rail { grid-auto-columns: clamp(118px, calc((100% - 32px) / 2.5), 160px); padding-right: 38px; }
  .carousel-btn { width: 34px; min-height: 54px; }
  .module-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .module-heading h2 { margin-bottom: 8px; }
  .hero {
    min-height: 300px;
    margin-bottom: 22px;
  }
  .hero-content { padding: 24px; }
  .hero h1 { font-size: 32px; }
  .hero p { font-size: 16px; }
  .site-footer {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 28px;
  }
}

@media (max-width: 520px) {
  .sidebar { padding: 10px 12px; }
  .sidebar.menu-open .nav {
    grid-template-columns: 1fr;
  }
  .main { padding: 12px; }
  .topbar { gap: 10px; margin-bottom: 16px; }
  .actions { width: 100%; }
  .actions .button,
  .actions button {
    flex: 1 1 auto;
  }
  .hero {
    min-height: 270px;
    border-radius: 0;
    margin-inline: -12px;
  }
  .hero-content { padding: 20px 16px; }
  .hero h1 { font-size: 28px; }
  .hero p { font-size: 15px; }
  .rail {
    grid-auto-columns: clamp(112px, calc((100% - 18px) / 2.35), 148px);
    gap: 12px;
    padding-right: 32px;
  }
  .module-row { margin-bottom: 24px; }
}

/* Guia Enxertados */
.guide-page { max-width: 1180px; margin: 0 auto; }
.guide-hero {
  display: flex; align-items: center; gap: 22px;
  padding: 28px 30px; margin-bottom: 18px;
  border: 1px solid rgba(217,164,65,.24); border-radius: 18px;
  background:
    radial-gradient(circle at 90% 20%, rgba(72,164,127,.16), transparent 35%),
    linear-gradient(135deg, rgba(217,164,65,.12), rgba(18,31,27,.9));
}
.guide-mark {
  width: 62px; height: 62px; flex: 0 0 62px; display: grid; place-items: center;
  border-radius: 18px; color: #172018; font-size: 30px;
  background: linear-gradient(135deg, #e3b85d, #62bd93);
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
}
.guide-mark.small { width: 38px; height: 38px; flex-basis: 38px; border-radius: 11px; font-size: 19px; box-shadow: none; }
.guide-kicker { color: #e8d8ba; font-weight: 800; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 7px; }
.guide-kicker span { margin-left: 6px; padding: 3px 8px; border-radius: 99px; background: rgba(72,164,127,.18); color: #8de0bb; font-size: 10px; }
.guide-hero h1 { font-size: clamp(27px, 4vw, 44px); margin-bottom: 8px; letter-spacing: -.025em; }
.guide-hero p { color: var(--muted); font-size: 16px; margin: 0; max-width: 760px; line-height: 1.55; }
.guide-search {
  padding: 20px 22px; margin-bottom: 28px; border: 1px solid var(--line);
  border-radius: 14px; background: var(--panel);
}
.guide-search label { color: #f1e6d4; font-size: 14px; }
.guide-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: stretch; }
.guide-search textarea { min-height: 74px; resize: none; background: rgba(255,255,255,.045); line-height: 1.5; }
.guide-search button { min-width: 205px; gap: 12px; }
.guide-search small { color: var(--muted); font-size: 12px; }
.guide-section-heading span { color: var(--brand); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.guide-section-heading h2 { margin-top: 5px; font-size: 25px; }
.guide-intents { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0 24px; }
.guide-intent {
  position: relative; display: grid; gap: 8px; min-height: 128px; padding: 18px;
  color: var(--text); border: 1px solid var(--line); border-radius: 13px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  transition: transform .16s,border-color .16s,background .16s;
}
.guide-intent:hover { transform: translateY(-3px); border-color: rgba(217,164,65,.5); background: rgba(217,164,65,.07); }
.guide-intent strong { font-size: 15px; }
.guide-intent span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.guide-intent b { color: var(--brand); font-size: 18px; position: absolute; right: 16px; bottom: 13px; }
.guide-capabilities { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.guide-capabilities article { padding: 20px; border-top: 1px solid var(--line); }
.guide-capabilities article > span { color: var(--brand); font-size: 12px; font-weight: 800; }
.guide-capabilities strong { display: block; margin: 7px 0; }
.guide-capabilities p { color: var(--muted); font-size: 13px; margin: 0; }
.guide-conversation { max-width: 980px; margin: 0 auto; }
.guide-user-message { display: flex; gap: 12px; align-items: flex-start; max-width: 720px; margin: 0 0 18px auto; }
.guide-avatar { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 50%; background: #3d4b46; font-weight: 800; }
.guide-user-message > div:last-child { width: 100%; }
.guide-user-message span,.guide-answer-head span { display: block; font-size: 12px; color: var(--muted); font-weight: 700; margin-bottom: 5px; }
.guide-user-message p { margin: 0; padding: 13px 16px; border-radius: 13px 4px 13px 13px; background: rgba(255,255,255,.08); line-height: 1.5; }
.guide-answer { padding: 24px; border: 1px solid rgba(217,164,65,.23); border-radius: 18px; background: linear-gradient(145deg,rgba(24,35,31,.98),rgba(15,24,21,.98)); box-shadow: var(--shadow); }
.guide-answer-head { display: flex; gap: 11px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.guide-answer-head span { color: #f2e7d4; margin: 0; font-size: 14px; }
.guide-answer-head small { color: var(--muted); }
.guide-answer-title { display: flex; gap: 13px; align-items: center; margin: 24px 0 12px; }
.guide-answer-title > span { font-size: 30px; }
.guide-answer-title small { color: var(--brand); text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.guide-answer-title h2 { margin: 4px 0 0; }
.guide-lead { color: #e4d8c6; font-size: 17px; line-height: 1.75; max-width: 850px; }
.guide-block { margin-top: 22px; padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }
.guide-block h3 { display: flex; gap: 8px; align-items: center; margin-bottom: 15px; }
.guide-block p { color: #d8ccba; line-height: 1.68; margin: 0; }
.guide-block > small { display: block; color: var(--muted); margin-top: 10px; }
.guide-passages { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.guide-passages a { display: grid; gap: 7px; padding: 14px; color: inherit; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); }
.guide-passages a:hover { border-color: rgba(217,164,65,.5); }
.guide-passages strong { color: #f0c76d; }
.guide-passages span { color: var(--muted); font-size: 13px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.guide-passages b { color: #e7d7b9; font-size: 12px; }
.guide-passages.compact { margin-top: 18px; }
.guide-two-cols { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; }
.guide-practice { background: linear-gradient(145deg,rgba(72,164,127,.1),rgba(255,255,255,.02)); border-color: rgba(72,164,127,.25); }
.guide-questions { margin: 0; padding-left: 22px; color: #d8ccba; }
.guide-questions li { padding-left: 5px; margin-bottom: 11px; line-height: 1.55; }
.guide-comment-sources { display: grid; gap: 11px; }
.guide-comment-sources article { padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); }
.guide-comment-sources article > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.guide-comment-sources strong { color: #f0c76d; }
.guide-comment-sources small { color: var(--muted); font-size: 11px; text-align: right; }
.guide-comment-sources p { font-size: 14px; line-height: 1.65; }
.guide-comment-full { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 10px; }
.guide-comment-full summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--brand); font-size: 12px; font-weight: 800; cursor: pointer; list-style: none; }
.guide-comment-full summary::-webkit-details-marker { display: none; }
.guide-comment-full summary span { transition: transform .16s ease; }
.guide-comment-full[open] summary span { transform: rotate(180deg); }
.guide-comment-full > div { margin-top: 12px; padding: 14px; border-radius: 9px; background: rgba(0,0,0,.16); color: #ddd1bf; font-size: 14px; line-height: 1.75; white-space: normal; }
.guide-comment-full-body p { margin-bottom: 10px; }
.guide-comment-full-body p:last-child { margin-bottom: 0; }
.guide-linked-resources { margin-top: 8px; }
.guide-linked-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 14px; }
.guide-linked-card { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03); }
.guide-linked-card small { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brand); }
.guide-linked-card strong { font-size: 15px; line-height: 1.3; color: var(--text); }
.guide-linked-card p { font-size: 13px; color: var(--muted); margin: 0; flex: 1; }
.guide-linked-card a, .guide-linked-card button { margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--accent); background: none; border: none; cursor: pointer; padding: 0; text-align: left; }
.guide-linked-card a:hover, .guide-linked-card button:hover { text-decoration: underline; }
.guide-intents-divider { display: flex; align-items: center; gap: 12px; margin: 6px 0 0; }
.guide-intents-divider::before, .guide-intents-divider::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.guide-intents-divider span { font-size: 11px; color: var(--muted); white-space: nowrap; }
.guide-guidance-intents { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.guide-guidance-intent { display: flex; align-items: center; gap: 7px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 99px; font-size: 13px; font-weight: 500; color: var(--muted); transition: border-color .15s, color .15s; }
.guide-guidance-intent:hover { border-color: rgba(72,164,127,.5); color: var(--text); }
.guide-guidance-intent span { font-size: 15px; }
.guide-qa-answer { display: grid; gap: 14px; margin-bottom: 24px; }
.guide-qa-answer p { margin: 0; line-height: 1.75; color: var(--text); font-size: 15px; }
.guide-acolhimento { font-size: 17px; line-height: 1.7; color: var(--text); }
.guide-guidance-anchor-note { background: rgba(72,164,127,.07); border-color: rgba(72,164,127,.25); }
.guide-guidance-anchor-note p { margin: 0; font-size: 14px; line-height: 1.65; color: #c8d8c4; font-style: italic; }
.guide-guidance-hope { }
.guide-guidance-hope p { line-height: 1.75; }
.guide-anchor-scripture { border-left: 3px solid rgba(72,164,127,.45); }
.guide-insights { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.guide-insights li { padding-left: 17px; border-left: 2px solid rgba(72,164,127,.55); color: #e5dac8; line-height: 1.6; }
.guide-insights small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.guide-synthesis { background: linear-gradient(145deg,rgba(72,164,127,.11),rgba(217,164,65,.04)); border-color: rgba(72,164,127,.27); }
.guide-synthesis-label { color: #91dfbd; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 9px; }
.guide-synthesis-lead { color: #f0e5d3 !important; font-size: 17px; line-height: 1.7 !important; margin-bottom: 18px !important; }
.guide-synthesis-points { display: grid; gap: 10px; }
.guide-synthesis-points article { display: grid; grid-template-columns: 34px 1fr; gap: 11px; padding: 13px; border-radius: 10px; background: rgba(0,0,0,.13); }
.guide-synthesis-points article > span { color: var(--brand); font-size: 11px; font-weight: 900; padding-top: 3px; }
.guide-synthesis-points p { margin: 0 !important; color: #e2d7c6 !important; font-size: 14px; line-height: 1.6 !important; }
.guide-synthesis-points small { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }
.guide-synthesis-caution { margin-top: 13px; padding: 12px 14px; border-left: 2px solid var(--brand); background: rgba(217,164,65,.07); color: #d9cdbb; font-size: 13px; line-height: 1.55; }
.guide-doctrine-common ul { margin: 0; padding-left: 21px; color: #ddd2c1; }
.guide-doctrine-common li { margin-bottom: 8px; line-height: 1.55; }
.guide-doctrine-classification { display: flex; align-items: center; gap: 8px; margin-top: 22px; }
.guide-doctrine-classification span,.guide-doctrine-classification strong { padding: 5px 9px; border-radius: 99px; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.guide-doctrine-classification span { color: #9be0c0; background: rgba(72,164,127,.13); }
.guide-doctrine-classification strong { color: #e7c982; background: rgba(217,164,65,.1); font-weight: 800; }
.guide-doctrine-positions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.guide-doctrine-positions.count-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.guide-doctrine-positions > article { display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }
.guide-doctrine-position-head small { color: var(--brand); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.guide-doctrine-position-head h3 { margin-top: 5px; }
.guide-doctrine-positions p { color: #d8ccba; font-size: 14px; line-height: 1.62; }
.guide-doctrine-refs { display: flex; flex-wrap: wrap; gap: 5px; margin: 5px 0 12px; }
.guide-doctrine-refs span { padding: 4px 7px; border-radius: 6px; background: rgba(217,164,65,.09); color: #dfca9e; font-size: 10px; }
.guide-doctrine-positions .guide-comment-full { margin-top: auto; }
.guide-doctrine-source-note { display: block; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.45; }
.guide-doctrine-pastoral { margin-top: 14px; padding: 15px 17px; border: 1px solid rgba(215,115,88,.28); border-radius: 12px; background: rgba(135,58,40,.11); }
.guide-doctrine-pastoral strong { color: #f0ae96; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.guide-doctrine-pastoral p { margin: 7px 0 0; color: #e1cfc5; font-size: 13px; line-height: 1.6; }
.guide-doctrine-review { border-color: rgba(217,164,65,.3); background: rgba(217,164,65,.055); }
.guide-doctrine-review ul { margin: 0; padding-left: 21px; color: #ddd2c1; }
.guide-doctrine-review li { margin-bottom: 8px; line-height: 1.55; }
@media(max-width:900px) { .guide-doctrine-positions { grid-template-columns: 1fr; } }
.guide-scripture { padding: 20px 22px; border-left: 3px solid var(--brand); background: rgba(217,164,65,.06); border-radius: 0 12px 12px 0; }
.guide-scripture p { margin: 0 0 8px; color: #eee3d2; font-family: Georgia,serif; font-size: 17px; line-height: 1.7; }
.guide-scripture sup { color: var(--brand); font-family: inherit; font-weight: 800; }
.guide-scripture a { display: inline-block; color: var(--brand); margin-top: 10px; font-size: 13px; font-weight: 700; }
.guide-materials { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.guide-materials a { display: grid; grid-template-columns: 58px 1fr; gap: 12px; color: inherit; padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
.guide-materials a:hover { border-color: rgba(217,164,65,.5); }
.guide-material-cover { width: 58px; aspect-ratio: 248/500; border-radius: 5px; background: linear-gradient(145deg,#356c5b,#bd8235); background-size: cover; background-position: center; }
.guide-materials a > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.guide-materials small { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.guide-materials strong { margin: 5px 0; font-size: 13px; line-height: 1.35; }
.guide-materials b { color: var(--brand); font-size: 11px; margin-top: auto; }
.guide-ecosystem-block {
  background:
    radial-gradient(circle at 100% 0, rgba(72,164,127,.12), transparent 34%),
    linear-gradient(145deg,rgba(217,164,65,.07),rgba(255,255,255,.02));
  border-color: rgba(217,164,65,.28);
}
.guide-ecosystem-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.guide-ecosystem-heading h3 { margin: 4px 0 0; }
.guide-ecosystem-heading small { color: #91dfbd; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.guide-ecosystem-heading > span { padding: 5px 9px; border: 1px solid rgba(72,164,127,.28); border-radius: 99px; color: #9fd9bd; font-size: 10px; white-space: nowrap; }
.guide-material-matches { display: grid; gap: 11px; }
.guide-material-matches article { padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: rgba(5,10,8,.2); }
.guide-material-match-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
.guide-source-badge { padding: 4px 7px; border-radius: 5px; background: rgba(72,164,127,.13); color: #9be0c0; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.guide-material-matches h4 { margin: 11px 0 8px; color: #f2e5d1; font-size: 16px; }
.guide-material-matches blockquote { margin: 0 0 12px; padding: 11px 14px; border-left: 2px solid var(--brand); color: #d8ccba; background: rgba(255,255,255,.025); font-family: Georgia,serif; font-size: 14px; line-height: 1.65; }
.guide-material-matches article > p { margin: 0 0 12px; color: var(--muted); font-size: 13px; }
.guide-material-matches article > a { color: var(--brand); font-size: 12px; font-weight: 800; }
.guide-material-matches article > a span { margin-left: 4px; }
.guide-material-matches article.is-locked { border-style: dashed; }
.guide-next { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.guide-next div { display: flex; flex-wrap: wrap; gap: 8px; }
.guide-next a { padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; color: #eadfcf; font-size: 12px; }
.guide-next a:hover { border-color: var(--brand); color: var(--brand); }
@media(max-width:900px) {
  .guide-intents { grid-template-columns: repeat(2,1fr); }
  .guide-capabilities { grid-template-columns: repeat(2,1fr); }
  .guide-materials { grid-template-columns: 1fr; }
}
@media(max-width:640px) {
  .guide-hero { align-items: flex-start; padding: 21px 18px; }
  .guide-mark { width: 46px; height: 46px; flex-basis: 46px; border-radius: 13px; font-size: 23px; }
  .guide-search { padding: 16px; }
  .guide-search-row { grid-template-columns: 1fr; }
  .guide-search button { width: 100%; min-width: 0; }
  .guide-intents,.guide-capabilities,.guide-passages,.guide-two-cols { grid-template-columns: 1fr; }
.guide-intent { min-height: 106px; }
  .guide-answer { padding: 17px; margin-inline: -2px; }
  .guide-user-message { margin-left: 18px; }
  .guide-ecosystem-heading,.guide-material-match-meta { align-items: flex-start; flex-direction: column; }
  .guide-next { align-items: flex-start; flex-direction: column; }
}

/* Leitor interno de materiais */
.reader-page-shell { padding: 12px; }
.reader-page-shell .site-footer { display: none; }
.material-reader {
  height: calc(100vh - 24px);
  min-height: 620px;
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #101714;
  box-shadow: var(--shadow);
}
.material-reader-head {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px 17px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg,rgba(217,164,65,.09),rgba(72,164,127,.05));
}
.material-reader-back {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: #eadfce;
  background: rgba(255,255,255,.035);
}
.material-reader-back span:first-child { color: var(--brand); font-size: 18px; }
.material-reader-title { min-width: 0; }
.material-reader-title small { color: #8dd8b6; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.material-reader-title h1 { margin: 3px 0; overflow: hidden; color: #f3e8d7; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
.material-reader-title > span { display: block; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.material-reader-head-actions { display: flex; gap: 7px; }
.material-reader-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 14px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.025);
}
.material-reader-toolbar label { margin: 0; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.material-reader-toolbar label > span { display: block; margin-bottom: 4px; }
.material-reader-toolbar select,.material-reader-toolbar input {
  min-height: 36px;
  padding: 7px 9px;
  border-radius: 7px;
  background: #18221e;
  color: #eee2d1;
}
.material-reader-file { flex: 1 1 320px; max-width: 470px; }
.material-reader-file select { width: 100%; }
.material-reader-pages { display: flex; align-items: center; gap: 7px; }
.material-reader-pages button {
  width: 36px;
  min-height: 36px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: #f0c76d;
  background: rgba(255,255,255,.035);
}
.material-reader-pages button:disabled,.material-reader-mobile-nav button:disabled { opacity: .35; cursor: default; }
.material-reader-pages label { display: flex; align-items: center; gap: 6px; }
.material-reader-pages label > span { margin: 0; }
.material-reader-pages input { width: 66px; text-align: center; }
.material-reader-pages > span { color: var(--muted); font-size: 11px; white-space: nowrap; }
.material-reader-stage { position: relative; min-height: 0; background: #262c29; }
.material-reader-stage iframe { width: 100%; height: 100%; display: block; border: 0; background: #303532; }
.material-reader-loading { position: absolute; inset: 0; z-index: 2; display: grid; place-content: center; justify-items: center; gap: 12px; color: #dfd2bf; background: #171e1b; transition: opacity .2s,visibility .2s; }
.material-reader-loading.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.material-reader-loading span { width: 30px; height: 30px; border: 3px solid rgba(255,255,255,.12); border-top-color: var(--brand); border-radius: 50%; animation: reader-spin .7s linear infinite; }
@keyframes reader-spin { to { transform: rotate(360deg); } }
.material-reader-mobile-nav { display: none; }
.reader-blocked {
  max-width: 680px;
  margin: clamp(30px,10vh,110px) auto;
  padding: clamp(24px,5vw,46px);
  text-align: center;
  border: 1px solid rgba(217,164,65,.28);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0,rgba(217,164,65,.12),transparent 38%),
    linear-gradient(145deg,rgba(24,35,31,.98),rgba(15,24,21,.98));
  box-shadow: var(--shadow);
}
.reader-blocked-icon { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 15px; border-radius: 17px; background: rgba(217,164,65,.11); font-size: 27px; }
.reader-blocked > small { color: var(--brand); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.reader-blocked h1 { margin: 8px auto 12px; max-width: 540px; font-size: clamp(25px,4vw,38px); }
.reader-blocked > p { max-width: 540px; margin: 0 auto; color: var(--muted); line-height: 1.7; }
.reader-blocked > p strong { color: #e8ddcc; }
.reader-blocked-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.reader-blocked-note { margin-top: 17px !important; color: #91d7b7 !important; font-size: 12px; }
@media(max-width:860px) {
  .reader-page-shell { padding: 8px; }
  .material-reader { height: calc(100dvh - 74px); min-height: 520px; border-radius: 12px; grid-template-rows: auto auto minmax(0,1fr) auto; }
  .material-reader-head { grid-template-columns: auto minmax(0,1fr); gap: 10px; padding: 10px; }
  .material-reader-back { min-height: 38px; padding: 6px 9px; }
  .material-reader-back span:last-child { display: none; }
  .material-reader-title h1 { font-size: 15px; }
  .material-reader-head-actions { display: none; }
  .material-reader-toolbar { align-items: center; padding: 7px 9px; }
  .material-reader-pages { display: none; }
  .material-reader-file { max-width: none; min-width: 0; }
  .material-reader-zoom { flex: 0 0 128px; }
  .material-reader-toolbar select { width: 100%; min-width: 0; font-size: 11px; }
  .material-reader-mobile-nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; padding: 8px; border-top: 1px solid var(--line); background: #141c18; }
  .material-reader-mobile-nav button { min-height: 39px; padding: 7px; border: 1px solid var(--line); border-radius: 8px; color: #e9d8b8; background: rgba(255,255,255,.04); }
  .material-reader-mobile-nav strong { color: var(--muted); font-size: 10px; white-space: nowrap; }
  .reader-blocked { margin: 20px auto; padding: 27px 18px; }
  .reader-blocked-actions { display: grid; }
}

/* Guia 2.0 — síntese, memória e jornadas */
.guide-unified { margin-top: 22px; padding: 22px; border: 1px solid rgba(72,164,127,.3); border-radius: 15px; background: linear-gradient(145deg,rgba(72,164,127,.12),rgba(217,164,65,.035)); }
.guide-unified-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.guide-unified-top small,.guide-actions-lab small,.guide-memory-card small { color: #91dfbd; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.guide-unified-top h2 { margin: 5px 0 0; }
.guide-confidence { padding: 6px 10px; border-radius: 99px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.guide-confidence.strong { color: #a9e6c9; background: rgba(72,164,127,.16); }
.guide-confidence.debate { color: #edce89; background: rgba(217,164,65,.13); }
.guide-confidence.review { color: #e8a994; background: rgba(190,91,60,.14); }
.guide-confidence.guided { color: #c7c4e9; background: rgba(116,107,180,.15); }
.guide-unified-direct { margin: 17px 0; color: #f0e4d2; font-size: 17px; line-height: 1.75; }
.guide-unified-line { display: grid; grid-template-columns: 110px 1fr; gap: 13px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.07); }
.guide-unified-line strong { color: var(--brand); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.guide-unified-line p { margin: 0; color: #d8ccba; line-height: 1.62; }
.guide-source-meter { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.guide-source-meter span { padding: 5px 8px; border-radius: 6px; color: #d9cdbb; background: rgba(0,0,0,.15); font-size: 10px; }
.guide-source-meter small { flex-basis: 100%; margin-top: 4px; color: var(--muted); }
.guide-intent-daily { border-color: rgba(217,164,65,.32); background: linear-gradient(145deg,rgba(217,164,65,.1),rgba(72,164,127,.05)); }
.guide-daily-scripture { margin-top: 18px; }
.guide-daily-reflection { border-color: rgba(217,164,65,.24); }
.guide-daily-prayer { background: linear-gradient(145deg,rgba(90,78,145,.11),rgba(255,255,255,.02)); }
.guide-daily-note { display: block; margin-top: 14px; color: var(--muted); line-height: 1.55; }
.guide-sensitive { margin-top: 20px; padding: 16px 18px; border-radius: 12px; border: 1px solid rgba(220,125,89,.32); background: rgba(155,63,40,.12); }
.guide-sensitive strong { color: #f0ae96; }
.guide-sensitive p { margin: 7px 0 0; color: #ead8ce; line-height: 1.65; }
.guide-sensitive.urgent { border-color: rgba(231,81,69,.48); background: rgba(150,37,33,.18); }
.guide-actions-lab { margin-top: 22px; padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }
.guide-actions-lab h3 { margin: 5px 0 14px; }
.guide-actions-lab form { display: flex; align-items: end; gap: 9px; }
.guide-actions-lab label { flex: 1; color: var(--muted); font-size: 11px; }
.guide-actions-lab select { display: block; width: 100%; margin-top: 5px; }
.guide-context-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.guide-context-links a { padding: 5px 8px; border: 1px solid var(--line); border-radius: 7px; color: #d8cbb7; font-size: 10px; }
.guide-feedback { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 17px; padding: 15px 18px; border-radius: 12px; background: rgba(0,0,0,.13); }
.guide-feedback strong,.guide-feedback span { display: block; }
.guide-feedback span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.guide-feedback form { display: flex; gap: 7px; }
.guide-feedback button { min-height: 36px; padding: 7px 10px; background: rgba(255,255,255,.05); border: 1px solid var(--line); color: #eadfce; }
.guide-memory-card { max-width: 980px; margin: 0 auto 20px; padding: 20px; border: 1px solid rgba(72,164,127,.28); border-radius: 14px; background: rgba(72,164,127,.07); }
.guide-memory-card h2 { margin: 5px 0; }
.guide-memory-card > div > p { color: var(--muted); }
.guide-memory-card article { padding: 15px; border-radius: 10px; background: rgba(0,0,0,.13); }
.guide-memory-card article strong,.guide-memory-card article span { display: block; }
.guide-memory-card article span { color: var(--brand); font-size: 11px; margin: 4px 0 9px; }
.guide-memory-card article p { color: #d8ccba; line-height: 1.55; }
.guide-history { margin-top: 28px; }
.guide-history-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 13px; }
.guide-history-list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; color: #e6dac8; background: rgba(255,255,255,.025); }
.guide-history-list small { color: var(--muted); white-space: nowrap; }
.guide-admin-stats small { color: var(--muted); }
.guide-admin-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 18px; margin-top: 18px; }
.guide-admin-bars { display: grid; gap: 8px; }
.guide-admin-bars div,.guide-admin-gaps li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 8px; background: rgba(255,255,255,.03); }
.guide-admin-gaps { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.guide-admin-gaps strong { color: var(--brand); }
@media(max-width:700px) {
  .guide-unified-top,.guide-feedback { align-items: flex-start; flex-direction: column; }
  .guide-confidence { white-space: normal; }
  .guide-unified-line { grid-template-columns: 1fr; gap: 5px; }
  .guide-actions-lab form,.guide-feedback form { width: 100%; flex-direction: column; align-items: stretch; }
  .guide-history-list,.guide-admin-grid { grid-template-columns: 1fr; }
}

/* Minhas Jornadas */
.journeys-page,.journey-detail { max-width: 1180px; margin: 0 auto; }
.journeys-hero { display:flex; align-items:end; justify-content:space-between; gap:28px; padding:34px; border:1px solid rgba(217,164,65,.22); border-radius:20px; background:radial-gradient(circle at 90% 0,rgba(217,164,65,.18),transparent 34%),linear-gradient(145deg,#1a2924,#111916); box-shadow:var(--shadow); }
.journeys-hero h1 { max-width:680px; margin:8px 0; font-size:38px; }
.journeys-hero p { max-width:720px; margin:0; color:#cfc3b2; line-height:1.65; }
.journeys-kicker,.journeys-heading small,.journeys-builder small { color:#91dfbd; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.journeys-kicker b { margin-left:7px; padding:3px 7px; border-radius:99px; color:#161b18; background:var(--brand); }
.journeys-section { margin-top:32px; }
.journeys-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:15px; }
.journeys-heading h2,.journeys-builder h2 { margin:5px 0 0; }
.journeys-heading p { margin:0; color:var(--muted); }
.journeys-user-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.journey-card,.journey-template { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:#17211e; }
.journey-card { min-height:230px; padding:23px; box-shadow:var(--shadow); transition:transform .16s ease,border-color .16s ease; }
.journey-card:hover { transform:translateY(-2px); border-color:rgba(217,164,65,.36); }
.journey-card::before,.journey-template::before,.journey-detail-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 90% 0,rgba(255,255,255,.13),transparent 35%); }
.theme-forest { background-color:#173127; background-image:linear-gradient(145deg,rgba(31,91,70,.75),rgba(13,25,21,.97)); }
.theme-gold { background-color:#3b2a15; background-image:linear-gradient(145deg,rgba(145,99,35,.7),rgba(29,22,14,.97)); }
.theme-violet { background-color:#29233e; background-image:linear-gradient(145deg,rgba(84,69,133,.68),rgba(24,20,38,.97)); }
.theme-amber { background-color:#3d2818; background-image:linear-gradient(145deg,rgba(157,92,37,.66),rgba(32,21,14,.97)); }
.theme-sky { background-color:#19333a; background-image:linear-gradient(145deg,rgba(43,109,124,.66),rgba(15,27,31,.97)); }
.theme-slate { background-color:#252c30; background-image:linear-gradient(145deg,rgba(70,84,91,.65),rgba(20,25,28,.97)); }
.journey-card-top,.journey-template>div { position:relative; display:flex; justify-content:space-between; gap:12px; color:#d9c6a6; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.journey-card h3,.journey-template h3 { position:relative; margin:25px 0 8px; color:#fff3df; font-size:23px; }
.journey-card p,.journey-template p { position:relative; color:#d6cbbd; line-height:1.55; }
.journey-progress,.journey-detail-progress>div { overflow:hidden; height:6px; margin-top:22px; border-radius:99px; background:rgba(255,255,255,.13); }
.journey-progress i,.journey-detail-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6fd0a5,#f0bd5d); }
.journey-card footer { display:flex; justify-content:space-between; margin-top:9px; color:#d8ccbb; font-size:11px; }
.journeys-featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.journeys-featured-grid .journey-template { min-height:315px; }
.journeys-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.journey-template { min-height:280px; padding:22px; }
.journey-template form { position:absolute; left:22px; right:22px; bottom:20px; }
.journey-plan-level { position:relative; display:block; margin:12px 0 58px; color:#ead39f; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.journey-library-tools { display:grid; grid-template-columns:1fr 260px; gap:15px; align-items:end; margin-bottom:15px; }
.journey-category-tabs { display:flex; gap:7px; overflow-x:auto; padding-bottom:3px; scrollbar-width:none; }
.journey-category-tabs::-webkit-scrollbar { display:none; }
.journey-category-tabs button { flex:0 0 auto; padding:9px 12px; border:1px solid var(--line); border-radius:99px; color:#c8bdad; background:rgba(255,255,255,.025); font-size:10px; font-weight:800; cursor:pointer; white-space:nowrap; }
.journey-category-tabs button:hover,.journey-category-tabs button.active { color:#18211d; border-color:var(--brand); background:var(--brand); }
.journey-plan-search { margin:0; }
.journey-plan-search span { display:block; margin-bottom:5px; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.journey-library-card[hidden] { display:none !important; }
.journey-show-all { display:block; margin:16px auto 0; padding:10px 16px; border:1px solid var(--line); border-radius:9px; color:#d9cdbc; background:rgba(255,255,255,.03); font-weight:700; cursor:pointer; }
.journey-show-all:hover { border-color:rgba(217,164,65,.4); }
.journey-no-results { padding:28px; border:1px dashed var(--line); border-radius:13px; text-align:center; color:var(--muted); }
.journey-no-results strong,.journey-no-results span { display:block; }
.journey-no-results strong { color:#e8ddcd; margin-bottom:5px; }
.journey-template button,.journeys-builder button,.journey-step form button { width:100%; border:0; border-radius:9px; padding:12px 16px; color:#172019; background:var(--brand); font-weight:800; cursor:pointer; }
.journeys-builder { display:grid; grid-template-columns:.75fr 1.25fr; gap:28px; margin:34px 0; padding:27px; border:1px solid var(--line); border-radius:17px; background:var(--panel); }
.journeys-builder p { color:var(--muted); line-height:1.55; }
.journeys-builder form { display:grid; grid-template-columns:1.2fr .8fr .9fr; gap:10px; align-items:end; }
.journeys-builder label { margin:0; font-size:11px; }
.journeys-builder button { grid-column:1/-1; }
.journey-back { display:inline-block; margin-bottom:15px; color:#cbbfae; font-size:13px; }
.journey-detail-hero { position:relative; display:grid; grid-template-columns:1fr 260px; gap:30px; padding:32px; border-radius:20px; border:1px solid rgba(255,255,255,.11); box-shadow:var(--shadow); }
.journey-detail-hero>div { position:relative; }
.journey-detail-hero span { color:#efd08c; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.journey-detail-hero h1 { margin:8px 0; color:#fff3df; }
.journey-detail-hero p { margin:0; color:#d7cabc; line-height:1.6; }
.journey-detail-progress { align-self:end; }
.journey-detail-progress strong { display:block; color:#fff; font-size:34px; }
.journey-detail-progress span { color:#d7cabb; text-transform:none; letter-spacing:0; }
.journey-detail-layout { display:grid; grid-template-columns:285px minmax(0,1fr); gap:22px; margin-top:22px; align-items:start; }
.journey-days { position:sticky; top:18px; padding:18px; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.journey-days>div small,.journey-step section small { display:block; color:#91dfbd; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.journey-days>div strong { display:block; margin-top:5px; }
.journey-days nav { display:grid; gap:5px; margin:16px 0; }
.journey-days nav a { display:flex; align-items:center; gap:10px; padding:9px; border-radius:9px; color:#cfc4b4; }
.journey-days nav a:hover,.journey-days nav a.current { background:rgba(72,164,127,.1); }
.journey-days nav a>span { display:grid; place-items:center; width:27px; height:27px; flex:0 0 27px; border-radius:50%; border:1px solid var(--line); font-size:10px; }
.journey-days nav a.done>span { color:#132019; border-color:#66c99e; background:#66c99e; }
.journey-days nav small { display:block; color:var(--muted); font-size:9px; }
.journey-days nav strong { display:block; overflow:hidden; max-width:185px; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.journey-management { display:grid; gap:8px; padding-top:13px; border-top:1px solid var(--line); }
.journey-management form { margin:0; }
.journey-management button { width:100%; }
.journey-delete-button { padding:10px 12px; border:1px solid rgba(221,105,78,.28); border-radius:8px; color:#e9a08d; background:rgba(150,55,38,.08); font-size:11px; font-weight:700; cursor:pointer; }
.journey-delete-button:hover { border-color:rgba(221,105,78,.52); background:rgba(150,55,38,.15); }
.journey-management-mobile { display:none; gap:8px; margin-top:16px; }
.journey-management-mobile form { margin:0; }
.journey-management-mobile button { width:100%; }
.journey-step-list { display:grid; gap:16px; }
.journey-day-rail { display:none; gap:8px; margin-top:18px; padding:5px 2px 10px; overflow-x:auto; scrollbar-width:none; }
.journey-day-rail::-webkit-scrollbar { display:none; }
.journey-day-rail a { min-width:62px; display:grid; place-items:center; gap:4px; padding:9px 8px; border:1px solid var(--line); border-radius:11px; color:#bfb4a5; background:rgba(255,255,255,.025); }
.journey-day-rail a span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; border:1px solid currentColor; font-size:10px; font-weight:800; }
.journey-day-rail a small { font-size:9px; white-space:nowrap; }
.journey-day-rail a.selected { color:#f0c76d; border-color:rgba(217,164,65,.42); background:rgba(217,164,65,.09); }
.journey-day-rail a.done { color:#91dfbd; }
.journey-step-stage { min-width:0; }
.journey-page-position { display:flex; align-items:center; gap:14px; margin:0 3px 10px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.journey-page-position>div { flex:1; height:3px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.08); }
.journey-page-position i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6fd0a5,#f0bd5d); }
.journey-step-single { min-height:560px; }
.journey-pagination { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:14px; }
.journey-pagination>a { display:flex; min-height:75px; flex-direction:column; justify-content:center; padding:14px 16px; border:1px solid var(--line); border-radius:12px; color:#d6cab9; background:rgba(255,255,255,.025); }
.journey-pagination>a:hover { border-color:rgba(217,164,65,.34); background:rgba(217,164,65,.055); }
.journey-pagination>a.next { align-items:flex-end; text-align:right; }
.journey-pagination span { color:var(--muted); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.journey-pagination strong { margin-top:5px; font-size:12px; }
.journey-step { scroll-margin-top:20px; padding:25px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,rgba(24,35,31,.98),rgba(15,24,21,.98)); }
.journey-step.is-current { border-color:rgba(217,164,65,.4); box-shadow:0 0 0 1px rgba(217,164,65,.08); }
.journey-step.is-complete { opacity:.78; }
.journey-step>header { display:flex; align-items:start; justify-content:space-between; gap:15px; }
.journey-step>header small { color:#d5b66d; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.journey-step>header h2 { margin:5px 0 0; }
.journey-step>header>span { padding:5px 8px; border-radius:99px; color:#9fe0c1; background:rgba(72,164,127,.14); font-size:9px; font-weight:800; text-transform:uppercase; }
.journey-reading-link { display:grid; grid-template-columns:110px 1fr auto; align-items:center; gap:12px; margin:19px 0; padding:14px; border-radius:11px; color:#f1dfbd; background:rgba(217,164,65,.08); }
.journey-reading-link span { color:var(--brand); font-size:10px; font-weight:800; text-transform:uppercase; }
.journey-reading-link b { font-size:11px; }
.journey-step section { padding:15px 0; border-top:1px solid rgba(255,255,255,.07); }
.journey-step section p { margin:7px 0 0; color:#d9cdbd; line-height:1.68; }
.journey-note { margin:5px 0 15px; border:1px solid rgba(217,164,65,.18); border-radius:11px; background:rgba(217,164,65,.035); }
.journey-note summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; color:#e8d7b8; cursor:pointer; list-style:none; font-size:12px; font-weight:800; }
.journey-note summary::-webkit-details-marker { display:none; }
.journey-note summary small { color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.journey-note[open] summary { border-bottom:1px solid rgba(255,255,255,.07); }
.journey-note form { margin:0; padding:15px; }
.journey-note label { margin:0 0 7px; color:#bfb3a3; font-size:11px; }
.journey-note textarea { min-height:125px; background:rgba(0,0,0,.13); line-height:1.55; }
.journey-note form>div { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:9px; }
.journey-note form>div small { color:var(--muted); font-size:9px; }
.journey-note button { width:auto; padding:10px 14px; border:0; border-radius:8px; color:#182019; background:var(--brand); font-weight:800; cursor:pointer; }
.journey-step .journey-practice { margin-top:4px; padding:15px; border:0; border-radius:10px; background:rgba(72,164,127,.08); }
.journey-step .journey-prayer { font-family:Georgia,serif; font-style:italic; }
.journey-step form { margin-top:16px; }
@media(max-width:900px) {
  .journeys-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .journeys-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .journey-library-tools { grid-template-columns:1fr; }
  .journeys-builder,.journey-detail-layout { grid-template-columns:1fr; }
  .journey-days { position:relative; top:auto; padding:14px; }
  .journey-days>div { padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid var(--line); }
  .journey-days nav { display:flex; flex-direction:row; overflow-x:auto; gap:6px; margin:0; padding-bottom:4px; scrollbar-width:none; }
  .journey-days nav::-webkit-scrollbar { display:none; }
  .journey-days nav a { flex:0 0 auto; flex-direction:column; align-items:center; justify-content:center; padding:8px 10px; min-width:50px; border-radius:10px; }
  .journey-days nav strong,.journey-days nav small { display:none; }
  .journey-days nav a>span { width:32px; height:32px; }
  .journey-management-mobile { display:grid; }
}
@media(max-width:640px) {
  .journeys-hero { align-items:flex-start; flex-direction:column; padding:23px; }
  .journeys-hero h1 { font-size:30px; }
  .journeys-user-grid,.journeys-featured-grid,.journeys-library-grid,.journeys-builder form,.journey-detail-hero { grid-template-columns:1fr; }
  .journey-detail-hero { padding:23px; }
  .journey-reading-link { grid-template-columns:1fr; gap:5px; }
  .journey-step { padding:18px; }
  .journey-step-single { min-height:0; }
  .journey-pagination { grid-template-columns:1fr; }
  .journey-pagination>span { display:none; }
  .journey-note form>div { align-items:stretch; flex-direction:column; }
  .journey-note button { width:100%; }
}

/* Meus Estudos */
.studies-page,.formation-page,.personal-study-page { max-width:1240px; margin:0 auto; padding:32px 34px 64px; }
.studies-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(270px,.6fr); gap:32px; overflow:hidden; padding:52px; border:1px solid rgba(217,164,65,.2); border-radius:24px; background:radial-gradient(circle at 15% 0%,rgba(217,164,65,.16),transparent 38%),linear-gradient(135deg,#18231f,#101714); box-shadow:var(--shadow); }
.studies-hero:after { content:""; position:absolute; right:-90px; bottom:-150px; width:340px; height:340px; border:1px solid rgba(217,164,65,.12); border-radius:50%; box-shadow:0 0 0 38px rgba(217,164,65,.025),0 0 0 80px rgba(217,164,65,.018); pointer-events:none; }
.studies-kicker { display:inline-flex; align-items:center; gap:9px; color:#eac36d; font-size:11px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.studies-kicker b { padding:3px 7px; border-radius:99px; color:#173025; background:#77c9a5; font-size:8px; }
.studies-hero h1 { max-width:760px; margin:15px 0 17px; font-size:clamp(36px,5vw,58px); font-weight:800; line-height:1.04; letter-spacing:-.035em; }
.studies-hero-copy>p { max-width:720px; margin:0; color:#c9beae; font-size:16px; line-height:1.75; }
.studies-hero nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:27px; }
.studies-hero nav a { padding:12px 17px; border-radius:9px; color:#172019; background:#e0ad4c; font-size:12px; font-weight:850; }
.studies-hero nav a.secondary { border:1px solid var(--line); color:#eee4d5; background:rgba(255,255,255,.035); }
.studies-principle { align-self:end; position:relative; z-index:1; padding:22px; border-left:2px solid rgba(217,164,65,.6); background:rgba(0,0,0,.11); }
.studies-principle>span,.studies-heading small,.studies-notebook-intro>span,.personal-study-page>header span { color:#d9a441; font-size:9px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.studies-principle blockquote { margin:12px 0; font-size:18px; font-weight:650; line-height:1.42; }
.studies-principle small { color:var(--muted); }
.studies-areas { display:grid; grid-template-columns:1fr 1fr; margin:18px 0 50px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.025); }
.studies-area-card { display:grid; grid-template-columns:auto 1fr; gap:18px; padding:22px 25px; color:inherit; text-decoration:none; transition:background .16s; }
.studies-area-card:hover { background:rgba(217,164,65,.06); }
.studies-area-card+.studies-area-card { border-left:1px solid var(--line); }
.studies-area-card>span { color:rgba(217,164,65,.55); font-size:25px; font-weight:750; }
.studies-areas small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.studies-areas h2 { margin:2px 0; font-size:17px; }
.studies-areas p { margin:0; color:#bdb1a1; font-size:12px; }
.studies-section { margin-top:48px; scroll-margin-top:30px; }
.studies-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:18px; }
.studies-heading h2 { margin:3px 0 0; font-size:29px; font-weight:750; letter-spacing:-.02em; }
.studies-heading>p { max-width:460px; margin:0; color:var(--muted); font-size:12px; text-align:right; }
.studies-continue-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.study-resume-card { padding:23px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,rgba(29,42,36,.97),rgba(15,22,19,.97)); }
.study-resume-card>div:first-child,.formation-card-meta { display:flex; justify-content:space-between; gap:10px; color:#d3c6b4; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.study-resume-card h3 { margin:16px 0 5px; font-size:20px; font-weight:750; letter-spacing:-.015em; }
.study-resume-card p { margin:0; color:var(--muted); font-size:11px; }
.study-progress { height:5px; margin:16px 0; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.08); }
.study-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#54bd83,#e0ad4c); }
.study-resume-card footer { display:flex; justify-content:space-between; color:#e8cf97; font-size:11px; font-weight:800; }
.formation-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.formation-card { grid-column:span 2; display:flex; min-height:340px; flex-direction:column; overflow:hidden; padding:24px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(150deg,rgba(27,39,34,.98),rgba(14,21,18,.98)); }
.formation-card:first-child,.formation-card:nth-child(2) { grid-column:span 3; min-height:365px; }
.formation-card.theme-violet,.formation-hero.theme-violet { background:radial-gradient(circle at 100% 0%,rgba(137,92,190,.21),transparent 34%),linear-gradient(145deg,#211c29,#121417); }
.formation-card.theme-gold,.formation-hero.theme-gold { background:radial-gradient(circle at 100% 0%,rgba(217,164,65,.21),transparent 34%),linear-gradient(145deg,#282217,#141713); }
.formation-card.theme-sky,.formation-hero.theme-sky { background:radial-gradient(circle at 100% 0%,rgba(75,149,190,.2),transparent 34%),linear-gradient(145deg,#17252b,#111719); }
.formation-card.theme-slate,.formation-hero.theme-slate { background:radial-gradient(circle at 100% 0%,rgba(157,170,178,.15),transparent 34%),linear-gradient(145deg,#22282a,#121617); }
.formation-card.theme-forest,.formation-hero.theme-forest { background:radial-gradient(circle at 100% 0%,rgba(72,164,127,.2),transparent 34%),linear-gradient(145deg,#17271f,#111914); }
.formation-card-body { margin:auto 0; }
.formation-card h3 { margin:20px 0 7px; font-size:23px; font-weight:750; line-height:1.15; letter-spacing:-.02em; }
.formation-card-body>strong { display:block; color:#dfc98f; font-size:12px; line-height:1.5; }
.formation-card p { color:#bdb1a1; font-size:12px; line-height:1.65; }
.formation-card footer { margin-top:16px; padding-top:15px; border-top:1px solid rgba(255,255,255,.08); }
.formation-card footer a { display:flex; justify-content:space-between; color:#f0d794; font-size:11px; font-weight:850; }
.formation-card footer>span { color:#928a80; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.formation-card.is-preparing { opacity:.72; }
.studies-notebook { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:38px; margin-top:65px; padding:42px; border:1px solid rgba(115,190,155,.2); border-radius:22px; background:radial-gradient(circle at 0 0,rgba(72,164,127,.13),transparent 32%),#121a17; scroll-margin-top:25px; }
.studies-notebook-intro h2 { margin:11px 0 14px; font-size:32px; font-weight:750; line-height:1.12; letter-spacing:-.025em; }
.studies-notebook-intro p { color:#c1b6a7; font-size:13px; line-height:1.7; }
.studies-notebook-intro ul { margin:22px 0 0; padding:0; list-style:none; }
.studies-notebook-intro li { padding:8px 0; border-top:1px solid rgba(255,255,255,.07); color:#aebfae; font-size:11px; }
.study-create-form { padding:24px; border:1px solid var(--line); border-radius:15px; background:rgba(6,12,9,.28); }
.study-create-form>div small,.personal-studies-list>div small { color:#d9a441; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.study-create-form h3 { margin:4px 0 18px; font-size:20px; font-weight:750; letter-spacing:-.015em; }
.study-create-form label,.personal-study-editor label { display:grid; gap:6px; margin-top:12px; color:#c9beae; font-size:10px; font-weight:750; }
.study-create-form label span { color:#827b71; font-weight:500; }
.study-create-form input,.study-create-form textarea,.personal-study-editor input,.personal-study-editor textarea { width:100%; border:1px solid var(--line); border-radius:9px; color:var(--text); background:rgba(0,0,0,.18); font:inherit; }
.study-create-form input,.personal-study-editor input { padding:12px; }
.study-create-form textarea,.personal-study-editor textarea { padding:12px; resize:vertical; }
.study-create-form button,.personal-study-editor button,.formation-hero button { margin-top:14px; padding:11px 16px; border:0; border-radius:8px; color:#152019; background:#d9a441; font-weight:850; cursor:pointer; }
.personal-studies-list { margin-top:18px; }
.personal-studies-list>div { display:flex; justify-content:space-between; margin-bottom:7px; }
.personal-studies-list>div span { color:var(--muted); font-size:10px; }
.personal-studies-list>a { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:12px; padding:14px 4px; border-top:1px solid var(--line); }
.personal-study-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:#86d5b1; background:rgba(72,164,127,.1); }
.personal-studies-list h3 { margin:0; font-size:13px; }
.personal-studies-list p { max-width:520px; margin:3px 0 0; overflow:hidden; color:var(--muted); font-size:10px; white-space:nowrap; text-overflow:ellipsis; }
.personal-studies-list>a small { color:var(--muted); font-size:9px; }
.personal-studies-empty { display:flex; align-items:center; gap:14px; margin-top:15px; padding:17px; border:1px dashed rgba(255,255,255,.13); border-radius:12px; color:#c1b7a8; }
.personal-studies-empty>span { font-size:28px; color:#69b992; }
.personal-studies-empty p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.studies-course-notes { margin-top:34px; }
.course-notes-list { display:grid; gap:12px; }
.course-notes-group { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.022); }
.course-notes-group>header { padding:16px 18px; border-bottom:1px solid rgba(255,255,255,.07); }
.course-notes-group>header small { color:#d9a441; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.course-notes-group h3 { margin:5px 0 0; font-size:15px; }
.course-notes-group>div { display:grid; }
.course-note-item { display:grid; grid-template-columns:90px minmax(0,1fr) 135px; gap:13px; align-items:start; padding:14px 18px; border-top:1px solid rgba(255,255,255,.055); }
.course-note-item:first-child { border-top:0; }
.course-note-item:hover { background:rgba(217,164,65,.045); }
.course-note-item span { color:#d9a441; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.course-note-item p { margin:0; color:#ddd1c0; font-size:12px; line-height:1.55; }
.course-note-item small { color:var(--muted); font-size:9px; text-align:right; }
.course-notes-empty { padding:18px; border:1px dashed rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.018); }
.course-notes-empty p { margin:5px 0 0; color:var(--muted); font-size:12px; }

.formation-hero { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:35px; margin-top:12px; padding:43px; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }
.formation-hero-main>span { color:#e1bb67; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.formation-hero h1 { margin:12px 0 6px; font-size:42px; font-weight:800; line-height:1.06; letter-spacing:-.03em; }
.formation-hero-main>strong { color:#e0cfad; font-size:14px; }
.formation-hero-main>p { max-width:720px; color:#bfb3a4; font-size:13px; line-height:1.7; }
.formation-facts { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.formation-facts span { padding:6px 9px; border:1px solid var(--line); border-radius:99px; color:#c9beae; font-size:9px; }
.formation-hero aside { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:23px; border:1px solid rgba(255,255,255,.1); border-radius:15px; background:rgba(4,9,7,.26); }
.formation-hero aside>small { color:#d4c5af; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.formation-hero aside>strong { margin-top:4px; font-size:34px; font-weight:800; letter-spacing:-.025em; }
.formation-hero aside>p { margin:4px 0; color:var(--muted); font-size:11px; }
.formation-hero aside>a { margin-top:12px; color:#edcf87; font-size:11px; font-weight:850; }
.formation-intent { display:grid; grid-template-columns:250px 1fr; gap:35px; margin:42px 0; }
.formation-intent h2 { margin:5px 0; font-size:27px; font-weight:750; letter-spacing:-.02em; }
.formation-intent small { color:#d9a441; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.formation-method { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }
.formation-method article { padding:17px; border-left:1px solid rgba(217,164,65,.25); }
.formation-method span { color:#9b7940; font-weight:750; }
.formation-method strong { display:block; margin-top:15px; font-size:12px; }
.formation-method p { margin:4px 0; color:var(--muted); font-size:10px; line-height:1.55; }
.formation-module-shell { display:grid; gap:12px; margin:0 0 16px; }
.formation-module-tabs { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:9px; }
.formation-module-tabs button { display:grid; align-content:start; gap:6px; min-height:84px; padding:13px 14px; border:1px solid var(--line); border-radius:9px; color:#cfc2ae; background:rgba(255,255,255,.025); text-align:left; cursor:pointer; }
.formation-module-tabs button[aria-selected="true"] { color:#f1d99c; border-color:rgba(217,164,65,.48); background:rgba(217,164,65,.09); box-shadow:inset 0 0 0 1px rgba(217,164,65,.12); }
.formation-module-tabs span { display:block; color:#d5ac55; font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.formation-module-tabs strong { display:block; overflow-wrap:anywhere; font-size:12px; line-height:1.3; }
.formation-module-nav { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid rgba(255,255,255,.07); border-radius:9px; background:rgba(4,9,7,.18); }
.formation-module-nav span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.formation-module-nav button { padding:9px 11px; border:1px solid rgba(217,164,65,.28); border-radius:8px; color:#e4c578; background:transparent; font-size:10px; font-weight:850; cursor:pointer; }
.formation-module-nav button:disabled { opacity:.38; cursor:not-allowed; }
.formation-module[hidden] { display:none; }
.formation-module { overflow:hidden; margin-bottom:13px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.022); }
.formation-module>header { display:grid; grid-template-columns:90px 1fr auto; align-items:center; gap:18px; padding:21px 23px; border-bottom:1px solid var(--line); }
.formation-module>header>span { color:#d5ac55; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.formation-module h3 { margin:0; font-size:16px; }
.formation-module header p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.formation-module header>small { color:var(--muted); font-size:9px; }
.formation-lessons { padding:0 23px; }
.formation-lesson { display:grid; grid-template-columns:42px minmax(0,1fr) auto auto; align-items:center; gap:13px; min-height:82px; border-bottom:1px solid rgba(255,255,255,.065); scroll-margin-top:20px; }
.formation-lesson:last-child { border-bottom:0; }
.formation-lesson-number { display:grid; place-items:center; width:31px; height:31px; border:1px solid rgba(217,164,65,.3); border-radius:50%; color:#d8b86d; font-size:9px; font-weight:850; }
.formation-lesson.is-complete .formation-lesson-number { color:#173025; border-color:#73c7a0; background:#73c7a0; }
.formation-lesson small { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.05em; }
.formation-lesson h4 { margin:3px 0 0; font-size:12px; }
.formation-lesson>a { padding:8px 10px; color:#e4c578; font-size:10px; font-weight:800; }
.formation-lesson form { margin:0; }
.formation-lesson button { padding:8px 10px; border:1px solid var(--line); border-radius:7px; color:#c9beae; background:transparent; font-size:9px; font-weight:750; cursor:pointer; }
.formation-lesson.is-complete button { color:#91d8b6; border-color:rgba(84,189,131,.26); background:rgba(84,189,131,.07); }

.personal-study-page>header { display:flex; align-items:end; justify-content:space-between; gap:25px; margin:15px 0 24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.personal-study-page>header h1 { margin:8px 0 5px; font-size:36px; font-weight:800; letter-spacing:-.025em; }
.personal-study-page>header p { max-width:720px; margin:0; color:var(--muted); }
.personal-study-page>header>small { color:var(--muted); font-size:9px; }
.personal-study-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:20px; }
.personal-study-editor section { margin-bottom:15px; padding:24px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.022); }
.personal-study-editor section>small,.personal-study-layout aside section>small { color:#d9a441; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.personal-note-heading { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:12px; }
.personal-note-heading h2 { margin:3px 0 0; font-size:24px; font-weight:750; letter-spacing:-.015em; }
.personal-note-heading>span { color:var(--muted); font-size:11px; font-style:italic; }
.personal-study-note { min-height:390px; line-height:1.7; }
.personal-study-editor footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; }
.personal-study-editor footer small { color:var(--muted); font-size:9px; }
.personal-study-editor footer button { margin:0; }
.personal-study-layout aside section { margin-bottom:13px; padding:20px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.022); }
.study-sources h2 { margin:9px 0 0; font-size:36px; font-weight:800; letter-spacing:-.025em; }
.study-sources>p { margin:0; color:var(--muted); font-size:10px; line-height:1.6; }
.study-sources>div { display:flex; gap:10px; margin-top:15px; padding:13px; border-radius:9px; background:rgba(72,164,127,.06); }
.study-sources>div span { color:#76c6a1; font-size:22px; }
.study-sources>div p { margin:0; color:#abb5aa; font-size:9px; line-height:1.55; }
.study-next-connections ul { margin:12px 0 0; padding:0; list-style:none; }
.study-next-connections li { padding:8px 0; border-top:1px solid rgba(255,255,255,.06); color:#aea497; font-size:10px; }
.study-delete { width:100%; padding:10px; border:1px solid rgba(157,44,44,.28); border-radius:8px; color:#d78f8f; background:rgba(157,44,44,.06); cursor:pointer; }
.guide-study-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:16px; padding:20px; border:1px solid rgba(72,164,127,.22); border-radius:13px; background:linear-gradient(120deg,rgba(72,164,127,.09),rgba(72,164,127,.025)); }
.guide-study-actions small { color:#7ac8a4; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.guide-study-actions h3 { margin:4px 0; font-size:19px; font-weight:750; letter-spacing:-.015em; }
.guide-study-actions p { max-width:650px; margin:0; color:var(--muted); font-size:10px; }
.guide-study-actions form { flex-shrink:0; margin:0; }
.guide-study-actions button { padding:11px 14px; border:1px solid rgba(111,202,160,.27); border-radius:8px; color:#dff4e9; background:rgba(72,164,127,.13); font-size:10px; font-weight:850; cursor:pointer; }

/* Bottom sheet — elementos base (ocultos no desktop) */
.course-sheet-handle { display:none; }
.course-sheet-head-row { display:flex; align-items:center; justify-content:space-between; }
.course-sheet-close-btn { display:none; }
.course-sheet-backdrop { display:none; }
.course-outline-mobile-btn { display:none; }

/* Sala de aula de Meus Estudos */
.main.study-classroom-shell { padding:0; overflow:visible; }
.main.study-classroom-shell>.notice { margin:15px 25px; }
.study-classroom { min-height:calc(100vh - 65px); background:linear-gradient(180deg,rgba(15,23,20,.98),#0d1110); }
.study-classroom-top { position:sticky; top:0; z-index:12; display:grid; grid-template-columns:180px minmax(0,1fr) minmax(250px,340px); align-items:center; gap:18px; min-height:65px; padding:10px 28px; border-bottom:1px solid var(--line); background:rgba(10,16,14,.96); backdrop-filter:blur(15px); }
.study-classroom-top>a { color:#c6bbaa; font-size:10px; font-weight:750; }
.study-classroom-top>div:nth-child(2) { display:flex; align-items:center; justify-content:center; gap:12px; overflow:hidden; }
.study-classroom-top strong { overflow:hidden; font-size:11px; white-space:nowrap; text-overflow:ellipsis; }
.study-classroom-top span { color:var(--muted); font-size:9px; }
.study-classroom-tools { display:grid; grid-template-columns:auto auto auto minmax(70px,1fr); align-items:center; gap:8px; }
.study-classroom-tools button { min-height:34px; padding:0 10px; border:1px solid rgba(255,255,255,.12); border-radius:8px; color:#eee4d5; background:rgba(255,255,255,.045); font-size:9px; font-weight:850; cursor:pointer; white-space:nowrap; }
.study-classroom-tools button[aria-pressed="true"] { border-color:rgba(217,164,65,.36); color:#f4dfb1; background:rgba(217,164,65,.1); }
.study-classroom-progress { height:4px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.08); }
.study-classroom-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#54bd83,#d9a441); }
.study-classroom-layout { display:grid; grid-template-columns:275px minmax(0,1fr); max-width:1450px; min-height:calc(100vh - 65px); margin:0 auto; }
.study-classroom-outline { position:sticky; top:65px; align-self:start; height:calc(100vh - 65px); overflow-y:auto; padding:25px 20px; border-right:1px solid var(--line); background:rgba(8,14,11,.38); scrollbar-width:none; -ms-overflow-style:none; }
.study-classroom-outline::-webkit-scrollbar { width:0; height:0; }
.course-fullscreen-active { overflow:hidden; }
.course-fullscreen-active .sidebar,.course-fullscreen-active .site-footer { display:none; }
.course-fullscreen-active .app-shell { display:block; min-height:100vh; padding-top:0 !important; }
.course-fullscreen-active .main.study-classroom-shell { position:fixed; inset:0; z-index:1000; padding:0; overflow:auto; background:#0d1110; }
.study-classroom.is-course-fullscreen { min-height:100vh; }
.study-classroom.is-course-fullscreen .study-classroom-layout { max-width:none; min-height:calc(100vh - 65px); }
.study-classroom.is-outline-collapsed .study-classroom-layout { grid-template-columns:0 minmax(0,1fr); }
.study-classroom.is-outline-collapsed .study-classroom-outline { width:0; min-width:0; padding:0; border-right:0; overflow:hidden; }
.study-classroom.is-outline-collapsed .canonical-stage { max-width:1120px; width:100%; margin:0 auto; }
.study-classroom-outline>div { display:flex; align-items:center; justify-content:space-between; padding:0 5px 16px; }
.study-classroom-outline>div small,.study-classroom-outline section>span { color:#d9a441; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.study-classroom-outline>div strong { color:var(--muted); font-size:8px; }
.outline-module { border-top:1px solid rgba(255,255,255,.07); }
.outline-module-summary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:14px 4px; cursor:pointer; list-style:none; user-select:none; }
.outline-module-summary::-webkit-details-marker { display:none; }
.outline-module-summary span { color:#d9a441; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.outline-module-summary strong { display:block; margin-top:2px; font-size:13px; line-height:1.4; color:#e8ddcc; }
.outline-module-summary small { flex-shrink:0; color:var(--muted); font-size:11px; white-space:nowrap; }
.outline-module[open] .outline-module-summary { padding-bottom:8px; }
.outline-module nav { padding-bottom:12px; }
.study-classroom-outline nav { display:grid; gap:3px; }
.study-classroom-outline nav a { display:grid; grid-template-columns:20px 1fr; align-items:start; gap:5px; padding:8px; border-radius:8px; color:#a99f92; font-size:12px; line-height:1.45; }
.study-classroom-outline nav a:hover { background:rgba(255,255,255,.035); }
.study-classroom-outline nav a.current { color:#f1dfb7; background:rgba(217,164,65,.1); }
.study-classroom-outline nav a.done b { color:#78c9a4; }
.study-classroom-outline nav b { color:#7e776e; text-align:center; }
.study-lesson-stage { width:100%; max-width:900px; margin:0 auto; padding:42px 42px 70px; }
.study-lesson-reader { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,rgba(25,35,31,.98),rgba(15,22,19,.98)); box-shadow:0 20px 55px rgba(0,0,0,.22); }
.study-lesson-reader>header { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; padding:35px 42px 28px; border-bottom:1px solid rgba(255,255,255,.075); }
.study-lesson-reader>header small { color:#d6ad58; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.study-lesson-reader h1 { max-width:690px; margin:8px 0 0; font-size:34px; line-height:1.12; letter-spacing:-.025em; }
.study-lesson-reader>header>span { flex-shrink:0; padding:6px 9px; border:1px solid var(--line); border-radius:99px; color:var(--muted); font-size:8px; }
.study-lesson-page-position { display:flex; align-items:center; gap:15px; padding:16px 42px 0; }
.study-lesson-page-position>span { flex-shrink:0; color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.study-lesson-page-position>div { width:100%; height:3px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.07); }
.study-lesson-page-position i { display:block; height:100%; border-radius:inherit; background:#d9a441; }
.study-lesson-content { padding:29px 42px 38px; }
.study-lesson-content p { margin:0 0 20px; color:#e1d8ca; font-size:15px; line-height:1.9; }
.study-lesson-content p:first-child::first-letter { float:left; margin:7px 8px 0 0; color:#d9a441; font-size:44px; font-weight:800; line-height:.75; }
.study-lesson-source { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 42px; border-top:1px solid rgba(255,255,255,.07); color:var(--muted); background:rgba(0,0,0,.1); }
.study-lesson-source span { color:#90cdb1; font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.study-lesson-source small { font-size:8px; text-align:right; }
.study-page-pagination { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.study-page-pagination>a,.study-complete-form button { display:flex; width:100%; min-height:76px; flex-direction:column; justify-content:center; padding:14px 17px; border:1px solid var(--line); border-radius:11px; color:#d5cabc; background:rgba(255,255,255,.025); text-align:left; cursor:pointer; }
.study-page-pagination>a.next,.study-complete-form button { align-items:flex-end; border-color:rgba(217,164,65,.28); background:rgba(217,164,65,.06); text-align:right; }
.study-page-pagination>a.complete { border-color:rgba(84,189,131,.27); background:rgba(84,189,131,.07); }
.study-page-pagination span,.study-complete-form span { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.study-page-pagination strong,.study-complete-form strong { margin-top:5px; font-size:11px; }
.study-complete-form { margin:0; }
.canonical-notes-drawer { position:sticky; top:78px; z-index:10; justify-self:end; width:min(100%,420px); margin:-8px 0 0; border:1px solid rgba(217,164,65,.18); border-radius:10px; background:rgba(12,18,16,.96); box-shadow:0 18px 42px rgba(0,0,0,.24); }
.canonical-notes-drawer[hidden] { display:none; }
.canonical-notes-drawer form { display:grid; gap:10px; margin:0; padding:14px; }
.canonical-notes-drawer header,.canonical-notes-drawer footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.canonical-notes-drawer small { display:block; color:#d9a441; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.canonical-notes-drawer strong { display:block; margin-top:3px; color:#eee4d5; font-size:12px; }
.canonical-notes-drawer header button { padding:7px 9px; border:1px solid rgba(255,255,255,.1); border-radius:7px; color:#cfc4b5; background:rgba(255,255,255,.035); font-size:9px; font-weight:850; cursor:pointer; }
.canonical-notes-drawer textarea { width:100%; min-height:145px; padding:12px; border:1px solid rgba(255,255,255,.12); border-radius:8px; color:#f4eadb; background:#0d1311; font:inherit; font-size:13px; line-height:1.55; resize:vertical; }
.canonical-notes-drawer footer span { color:#9fb7aa; font-size:9px; }
.canonical-notes-drawer footer button { min-height:36px; padding:0 12px; border:1px solid rgba(217,164,65,.35); border-radius:8px; color:#172019; background:#d9a441; font-size:10px; font-weight:850; cursor:pointer; }

@media(max-width:980px) {
  .studies-hero,.studies-notebook,.formation-hero,.personal-study-layout { grid-template-columns:1fr; }
  .studies-principle { max-width:520px; }
  .formation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .formation-card,.formation-card:first-child,.formation-card:nth-child(2) { grid-column:span 1; }
  .formation-intent { grid-template-columns:1fr; }
  .study-classroom-layout { grid-template-columns:1fr; }
  .study-classroom-outline { position:relative; top:auto; height:auto; overflow:visible; border-right:0; border-bottom:1px solid var(--line); }
  .study-classroom-outline section { display:none; }
  .outline-modules-scroll { display:none; }
  .study-classroom.is-outline-collapsed .study-classroom-layout { grid-template-columns:1fr; }
  .study-classroom.is-outline-collapsed .study-classroom-outline { display:none; }
}

/* ── Bottom sheet: menu de aulas no mobile ── */
@media(max-width:860px) {
  .study-classroom-outline {
    position:fixed !important;
    inset:auto 0 0 0;
    z-index:200;
    height:82dvh;
    max-height:82dvh;
    display:flex !important;
    flex-direction:column;
    overflow:hidden;
    border-radius:20px 20px 0 0;
    border:1px solid rgba(255,255,255,.15);
    border-bottom:0;
    background:#111916;
    transform:translateY(100%);
    transition:transform .32s cubic-bezier(.32,.72,0,1);
    padding:0;
  }
  /* Cabeçalho fixo do sheet — flex-shrink:0 para não comprimir */
  .study-classroom-outline>div:first-child {
    flex-shrink:0;
    background:#111916;
  }

  /* Drag handle */
  .course-sheet-handle {
    display:block;
    width:40px; height:4px;
    margin:12px auto 8px;
    border-radius:99px;
    background:rgba(255,255,255,.2);
  }

  /* Linha com título + botão fechar */
  .course-sheet-head-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 20px 14px;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .course-sheet-head-row small { color:#91dfbd; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }
  .course-sheet-head-row strong { display:block; margin-top:3px; font-size:14px; color:#f0e4d2; }

  /* Área de módulos — display:block para cancelar o flex herdado de
     .study-classroom-outline>div, que tornaria os <details> lado a lado */
  .outline-modules-scroll {
    display:block !important;
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:4px 4px 24px;
    scrollbar-width:none;
  }
  .outline-modules-scroll::-webkit-scrollbar { display:none; }

  /* Mostrar módulos dentro do sheet */
  .study-classroom-outline .outline-module { display:block; }

  /* Botão fechar */
  .course-sheet-close-btn {
    display:grid;
    place-items:center;
    width:34px; height:34px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:99px;
    background:rgba(255,255,255,.06);
    color:#cfc4b5;
    font-size:14px;
    cursor:pointer;
  }

  /* Aberto */
  .study-classroom.is-sheet-open .study-classroom-outline { transform:translateY(0); }

  /* Backdrop */
  .course-sheet-backdrop {
    display:block;
    position:fixed;
    inset:0;
    z-index:199;
    background:rgba(0,0,0,.6);
    opacity:0;
    pointer-events:none;
    transition:opacity .32s;
    backdrop-filter:blur(2px);
  }
  .study-classroom.is-sheet-open .course-sheet-backdrop { opacity:1; pointer-events:auto; }

  /* Botão "Aulas" na barra do topo — só mobile */
  .course-outline-mobile-btn { display:block; }

  /* Ocultar botão desktop de recolher no mobile */
  [data-course-outline-toggle] { display:none; }

  /* Collapsed não esconde o outline (agora é sheet) */
  .study-classroom.is-outline-collapsed .study-classroom-outline { display:flex !important; transform:translateY(100%); }
}
@media(max-width:700px) {
  .studies-page,.formation-page,.personal-study-page { padding:22px 16px 45px; }
  .studies-hero { padding:28px 23px; border-radius:18px; }
  .studies-hero h1 { font-size:38px; }
  .studies-areas,.studies-continue-grid,.formation-grid,.formation-method { grid-template-columns:1fr; }
  .course-note-item { grid-template-columns:1fr; gap:6px; }
  .course-note-item small { text-align:left; }
  .studies-area-card+.studies-area-card { border-top:1px solid var(--line); border-left:0; }
  .studies-heading { align-items:start; flex-direction:column; }
  .studies-heading>p { text-align:left; }
  .studies-notebook { padding:25px 20px; }
  .formation-hero { padding:28px 22px; }
  .formation-hero h1 { font-size:35px; }
  .formation-module>header { grid-template-columns:1fr; gap:6px; }
  .formation-lessons { padding:0 16px; }
  .formation-lesson { grid-template-columns:36px 1fr; padding:14px 0; }
  .formation-lesson>a,.formation-lesson form { grid-column:2; }
  .formation-lesson button { width:100%; }
  .personal-study-page>header,.personal-note-heading,.personal-study-editor footer { align-items:flex-start; flex-direction:column; }
  .guide-study-actions { align-items:stretch; flex-direction:column; }
  .guide-study-actions button { width:100%; }
  .personal-study-note { min-height:300px; }
  .study-classroom-top { position:relative; grid-template-columns:1fr; gap:6px; padding:13px 17px; }
  .study-classroom-top>div:nth-child(2) { justify-content:space-between; }
  .study-classroom-tools { grid-template-columns:1fr 1fr; }
  .study-classroom-tools .study-classroom-progress { grid-column:1 / -1; }
  .canonical-notes-drawer { position:relative; top:auto; justify-self:stretch; width:100%; margin:0; }
  .study-classroom-outline { padding:14px 16px; }
  .study-classroom-outline>div { padding:0; }
  .study-lesson-stage { padding:18px 14px 45px; }
  .study-lesson-reader>header { padding:24px 20px 19px; }
  .study-lesson-reader h1 { font-size:27px; }
  .study-lesson-reader>header>span { display:none; }
  .study-lesson-page-position { padding:14px 20px 0; }
  .study-lesson-content { padding:23px 20px 28px; }
  .study-lesson-content p { font-size:14px; line-height:1.82; }
  .study-lesson-source { align-items:flex-start; flex-direction:column; padding:13px 20px; }
  .study-lesson-source small { text-align:left; }
  .study-page-pagination { grid-template-columns:1fr; }
  .study-page-pagination>span { display:none; }
}

/* ─── Caderno de Anotações — card de entrada ─── */
.studies-notebook-card { display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:20px; padding:24px 26px; border:1px solid rgba(217,164,65,.22); border-radius:18px; background:linear-gradient(145deg,rgba(217,164,65,.08),rgba(72,164,127,.04)); color:inherit; text-decoration:none; transition:border-color .16s,background .16s; }
.studies-notebook-card:hover { border-color:rgba(217,164,65,.42); background:linear-gradient(145deg,rgba(217,164,65,.12),rgba(72,164,127,.06)); }
.studies-notebook-card-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:14px; background:rgba(217,164,65,.11); color:#d9a441; font-size:22px; flex-shrink:0; }
.studies-notebook-card-body span { color:#d9a441; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.studies-notebook-card-body strong { display:block; margin:3px 0 4px; font-size:17px; color:#f0e4d2; }
.studies-notebook-card-body p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.studies-notebook-card-arrow { color:#d9a441; font-size:18px; opacity:.7; }

/* ─── Caderno de Anotações — página dedicada ─── */
.notebook-page-header { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:end; padding:36px 42px; margin-bottom:32px; border:1px solid rgba(217,164,65,.2); border-radius:22px; background:radial-gradient(circle at 90% 0,rgba(217,164,65,.15),transparent 38%),linear-gradient(145deg,#1c2920,#111714); box-shadow:var(--shadow); }
.notebook-page-header h1 { margin:12px 0 10px; font-size:clamp(28px,4vw,44px); font-weight:800; line-height:1.08; letter-spacing:-.03em; }
.notebook-page-header>div>p { max-width:600px; margin:0; color:#c1b6a7; font-size:14px; line-height:1.7; }
.notebook-page-meta { display:flex; flex-direction:column; align-items:flex-end; gap:14px; }
.notebook-page-meta>div { text-align:right; }
.notebook-page-meta strong { display:block; font-size:36px; font-weight:800; letter-spacing:-.025em; color:#f0d794; line-height:1; }
.notebook-page-meta span { color:var(--muted); font-size:10px; }
.notebook-empty { display:flex; align-items:center; gap:22px; padding:36px 32px; border:1px dashed rgba(255,255,255,.14); border-radius:18px; }
.notebook-empty>span { font-size:36px; color:#d9a441; opacity:.6; flex-shrink:0; }
.notebook-empty strong { display:block; font-size:16px; color:#e8ddcc; margin-bottom:6px; }
.notebook-empty p { margin:0 0 14px; color:var(--muted); font-size:13px; line-height:1.6; }
.notebook-empty a { padding:10px 16px; border-radius:9px; color:#172019; background:var(--brand); font-size:12px; font-weight:850; }
.notebook-formations { display:grid; gap:14px; }
.notebook-formation { overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:rgba(255,255,255,.022); }
.notebook-formation[open] { border-color:rgba(217,164,65,.28); }
.notebook-formation-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; cursor:pointer; list-style:none; user-select:none; transition:background .14s; }
.notebook-formation-header::-webkit-details-marker { display:none; }
.notebook-formation-header:hover { background:rgba(255,255,255,.03); }
.notebook-formation-info span { color:#d9a441; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.notebook-formation-info strong { display:block; margin-top:3px; font-size:17px; color:#f0e4d2; }
.notebook-formation-count { display:flex; align-items:baseline; gap:5px; flex-shrink:0; }
.notebook-formation-count b { font-size:26px; font-weight:800; color:#e4c578; letter-spacing:-.02em; }
.notebook-formation-count span { color:var(--muted); font-size:10px; }
.notebook-chevron { display:inline-block; color:var(--muted); font-size:14px; transition:transform .2s; margin-left:6px; }
.notebook-formation[open] .notebook-chevron { transform:rotate(180deg); }
.notebook-formation-body { border-top:1px solid rgba(255,255,255,.07); }
.notebook-module { padding:20px 24px; }
.notebook-module+.notebook-module { border-top:1px solid rgba(255,255,255,.06); }
.notebook-module-title { margin:0 0 12px; color:#8dd8b6; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }
.notebook-lesson { overflow:hidden; margin-bottom:8px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.015); }
.notebook-lesson[open] { border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.03); }
.notebook-lesson-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; cursor:pointer; list-style:none; color:#d8ccba; font-size:13px; font-weight:650; user-select:none; }
.notebook-lesson-header::-webkit-details-marker { display:none; }
.notebook-lesson-header b { flex-shrink:0; padding:3px 8px; border-radius:99px; color:#c8a84f; background:rgba(217,164,65,.1); font-size:9px; font-weight:850; }
.notebook-notes { display:grid; gap:1px; border-top:1px solid rgba(255,255,255,.07); background:rgba(0,0,0,.08); }
.notebook-note { display:grid; gap:7px; padding:15px 18px; background:rgba(14,20,17,.6); color:inherit; text-decoration:none; transition:background .14s; }
.notebook-note:first-child { border-radius:0; }
.notebook-note:hover { background:rgba(217,164,65,.06); }
.notebook-note-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.notebook-note-meta span { color:#d9a441; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.notebook-note-meta small { color:var(--muted); font-size:9px; }
.notebook-note p { margin:0; color:#ddd1c0; font-size:13px; line-height:1.62; }
.notebook-note-link { color:#8dd8b6; font-size:10px; font-weight:750; }
.notebook-note:hover .notebook-note-link { color:#a8e8cc; }

@media(max-width:700px) {
  .notebook-page-header { grid-template-columns:1fr; gap:20px; padding:26px 20px; border-radius:16px; }
  .notebook-page-meta { flex-direction:row; align-items:center; }
  .notebook-page-meta>div { text-align:left; }
  .notebook-formation-header { padding:16px 18px; }
  .notebook-formation-info strong { font-size:15px; }
  .notebook-module { padding:16px 18px; }
  .notebook-lesson-header { padding:12px 14px; font-size:12px; }
  .notebook-note { padding:13px 16px; }
  .studies-notebook-card { grid-template-columns:44px 1fr auto; gap:14px; padding:18px 18px; border-radius:14px; }
  .studies-notebook-card-icon { width:44px; height:44px; font-size:18px; border-radius:11px; }
  .studies-notebook-card-body strong { font-size:15px; }
}

/* ─── Journey completion banner ─── */
.journey-completion-banner { margin-top:18px; padding:26px 24px; border:1px solid rgba(72,164,127,.32); border-radius:16px; background:linear-gradient(145deg,rgba(72,164,127,.13),rgba(217,164,65,.04)); text-align:center; }
.journey-completion-banner strong { display:block; font-size:20px; letter-spacing:-.01em; }
.journey-completion-banner p { margin:8px auto 18px; max-width:440px; color:#c1b8a8; line-height:1.65; }
.journey-completion-banner a { display:inline-block; padding:12px 20px; border-radius:9px; color:#172019; background:var(--brand); font-weight:850; }

/* ═══════════════════════════════════════════════════════
   MOBILE DESIGN — preserva a identidade visual no mobile
   Problema: grids colapsam mas perdem o "card feel".
   Solução: elevation, backgrounds mais opacos, hierarquia
   tipográfica mais forte, separação de zonas com cor.
   ═══════════════════════════════════════════════════════ */

/* Elevação base de cards no mobile — aplica a todos os tamanhos menores */
@media(max-width:860px) {
  .journey-card,.journey-template,.study-resume-card,.formation-card {
    border-color:rgba(255,255,255,.14);
    box-shadow:0 4px 20px rgba(0,0,0,.35);
  }
  .journey-step {
    border-color:rgba(255,255,255,.12);
    box-shadow:0 2px 14px rgba(0,0,0,.28);
  }
  .journey-step.is-current {
    border-color:rgba(217,164,65,.5);
    box-shadow:0 4px 20px rgba(217,164,65,.1);
  }
  .guide-unified {
    border-color:rgba(72,164,127,.45);
    box-shadow:0 4px 20px rgba(0,0,0,.28);
  }
  .guide-actions-lab {
    background:rgba(255,255,255,.05);
    border-color:rgba(255,255,255,.12);
  }
  .guide-memory-card {
    border-color:rgba(72,164,127,.4);
    box-shadow:0 4px 18px rgba(0,0,0,.25);
  }
  .studies-notebook {
    border-color:rgba(115,190,155,.32);
    box-shadow:0 6px 28px rgba(0,0,0,.3);
  }
  .formation-hero {
    border-color:rgba(255,255,255,.16);
    box-shadow:0 6px 28px rgba(0,0,0,.32);
  }
  .formation-module {
    border-color:rgba(255,255,255,.12);
    box-shadow:0 2px 12px rgba(0,0,0,.2);
  }
  .study-lesson-reader {
    border-color:rgba(255,255,255,.12);
    box-shadow:0 8px 32px rgba(0,0,0,.35);
  }
  .studies-areas {
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.13);
  }
  .study-create-form {
    background:rgba(6,12,9,.55);
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    box-shadow:0 4px 18px rgba(0,0,0,.28);
  }
  .course-notes-group {
    border-color:rgba(255,255,255,.1);
    box-shadow:0 2px 10px rgba(0,0,0,.2);
  }
}

@media(max-width:600px) {
  /* ── Guia ── */
  .guide-page { padding:16px 14px 52px; }
  .guide-hero { padding:24px 18px; border-radius:18px; }
  .guide-hero h1 { font-size:26px; line-height:1.15; }
  .guide-hero>p { font-size:14px; }
  .guide-search-row { gap:10px; flex-direction:column; }
  .guide-search-row textarea { min-height:88px; font-size:15px; line-height:1.6; border-radius:11px; }
  .guide-search-row button[type=submit] { width:100%; min-height:50px; font-size:14px; border-radius:11px; }
  .guide-intents { grid-template-columns:1fr 1fr; gap:8px; margin-top:24px; }
  .guide-intent-card { min-height:0; padding:14px 12px; border-radius:12px; }
  .guide-intent-card strong { font-size:11px; }
  .guide-capabilities { grid-template-columns:1fr 1fr; gap:8px; }
  .guide-answer { padding:20px 16px; border-radius:16px; }
  .guide-answer h2 { font-size:21px; line-height:1.25; }
  .guide-answer>p { font-size:14px; }
  .guide-unified { padding:18px 16px; border-radius:14px; }
  .guide-unified-top h2 { font-size:19px; }
  .guide-unified-direct { font-size:15px; line-height:1.78; }
  .guide-unified-line { grid-template-columns:1fr; gap:3px; padding:11px 0; }
  .guide-unified-line strong { font-size:9px; }
  .guide-source-meter { gap:5px; }
  .guide-source-meter span { font-size:9px; padding:4px 7px; }
  .guide-actions-lab { padding:16px; border-radius:13px; }
  .guide-actions-lab h3 { font-size:15px; }
  .guide-feedback { padding:14px 16px; border-radius:12px; gap:12px; }
  .guide-feedback strong { font-size:13px; }
  .guide-history-list { grid-template-columns:1fr; gap:7px; }
  .guide-history-list a { padding:13px 14px; border-radius:10px; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.04); }
  .guide-memory-card { padding:18px 16px; border-radius:14px; }
  .guide-memory-card h2 { font-size:19px; }
  .guide-memory-card article { padding:14px; border-radius:10px; background:rgba(0,0,0,.2); }
  .guide-sensitive { padding:14px 16px; border-radius:11px; }
  .guide-admin-grid { grid-template-columns:1fr; }

  /* ── Jornadas — index ── */
  .journeys-page { padding:16px 14px 52px; }
  .journeys-hero { flex-direction:column; align-items:flex-start; padding:22px 18px; border-radius:18px; gap:16px; }
  .journeys-hero h1 { font-size:28px; line-height:1.12; margin:6px 0; }
  .journeys-hero p { font-size:13px; line-height:1.65; }
  .journeys-section { margin-top:28px; }
  .journeys-heading { align-items:flex-start; flex-direction:column; gap:6px; margin-bottom:12px; }
  .journeys-heading h2 { font-size:22px; }
  .journeys-featured-grid,.journeys-library-grid { grid-template-columns:1fr; gap:10px; }
  .journey-template,.journey-card { min-height:0; padding:20px; border-radius:14px; }
  .journey-card h3,.journey-template h3 { font-size:20px; margin:18px 0 7px; }
  .journey-card p,.journey-template p { font-size:13px; }
  .journey-plan-level { margin-bottom:52px; }
  .journeys-builder { padding:20px 16px; border-radius:14px; gap:20px; background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.11); }
  .journeys-builder h2 { font-size:20px; }
  .journeys-builder form { grid-template-columns:1fr; gap:10px; }
  .journey-library-tools { gap:10px; }
  .journey-show-all { padding:12px 16px; border-radius:10px; font-size:12px; }

  /* ── Jornadas — detalhe ── */
  .journey-detail { padding:14px 14px 52px; }
  .journey-back { font-size:12px; margin-bottom:12px; }
  .journey-detail-hero { padding:20px 18px; border-radius:16px; gap:16px; }
  .journey-detail-hero h1 { font-size:24px; line-height:1.15; margin:6px 0; }
  .journey-detail-hero p { font-size:13px; }
  .journey-detail-progress strong { font-size:28px; }
  .journey-days { padding:14px; border-radius:13px; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.045); }
  .journey-days>div strong { font-size:13px; }
  .journey-days nav a { min-width:48px; padding:8px; border-radius:9px; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.04); }
  .journey-days nav a.current { background:rgba(217,164,65,.14); border-color:rgba(217,164,65,.45); }
  .journey-days nav a.done>span { box-shadow:0 0 0 1px #66c99e; }
  .journey-page-position { margin-bottom:12px; }
  .journey-step-list { gap:12px; }
  .journey-step { padding:18px 16px; border-radius:14px; }
  .journey-step>header { gap:10px; }
  .journey-step>header h2 { font-size:18px; margin-top:4px; }
  .journey-step>header>span { font-size:8px; padding:4px 7px; }
  .journey-reading-link { padding:14px 12px; border-radius:11px; font-size:13px; gap:8px; background:rgba(217,164,65,.1); border:1px solid rgba(217,164,65,.2); }
  .journey-reading-link span { font-size:9px; }
  .journey-note { border-radius:11px; }
  .journey-note summary { padding:13px 14px; font-size:12px; min-height:48px; }
  .journey-note form { padding:14px; }
  .journey-note textarea { min-height:110px; }
  .journey-pagination { gap:9px; }
  .journey-pagination>a { min-height:64px; padding:12px 14px; border-radius:11px; }
  .journey-pagination>a span { font-size:8px; }
  .journey-pagination strong { font-size:12px; margin-top:4px; }
  .journey-completion-banner { padding:24px 18px; border-radius:15px; }
  .journey-completion-banner strong { font-size:18px; }
  .journey-completion-banner p { font-size:13px; }
  .journey-management-mobile button { min-height:46px; }

  /* ── Meus Estudos — index ── */
  .studies-page { padding:16px 14px 52px; }
  .studies-hero { padding:24px 18px; border-radius:18px; gap:20px; }
  .studies-hero h1 { font-size:30px; line-height:1.07; letter-spacing:-.03em; margin:12px 0 14px; }
  .studies-hero-copy>p { font-size:14px; line-height:1.72; }
  .studies-kicker { font-size:10px; }
  .studies-hero nav { gap:9px; margin-top:20px; }
  .studies-hero nav a { padding:12px 16px; font-size:12px; border-radius:9px; }
  .studies-principle { padding:18px 16px; border-left-width:3px; }
  .studies-principle blockquote { font-size:15px; line-height:1.5; }
  .studies-areas { margin:16px 0 32px; border-radius:14px; background:rgba(255,255,255,.055); border-color:rgba(255,255,255,.13); overflow:hidden; }
  .studies-area-card { padding:18px; gap:14px; }
  .studies-area-card:active { background:rgba(217,164,65,.07); }
  .studies-area-card>span { font-size:22px; color:rgba(217,164,65,.7); }
  .studies-areas h2 { font-size:15px; }
  .studies-areas p { font-size:12px; line-height:1.6; }
  .studies-section { margin-top:36px; scroll-margin-top:20px; }
  .studies-heading { margin-bottom:14px; }
  .studies-heading h2 { font-size:22px; letter-spacing:-.02em; }
  .studies-heading>p { font-size:12px; }
  .studies-continue-grid { grid-template-columns:1fr; gap:10px; }
  .study-resume-card { padding:20px 18px; border-radius:14px; background:linear-gradient(145deg,rgba(35,52,44,.97),rgba(19,28,24,.97)); border-color:rgba(255,255,255,.13); box-shadow:0 4px 18px rgba(0,0,0,.32); }
  .study-resume-card h3 { font-size:18px; margin:14px 0 4px; }
  .study-resume-card footer { font-size:12px; }
  .formation-grid { grid-template-columns:1fr; gap:10px; }
  .formation-card { padding:20px 18px; border-radius:15px; min-height:0; border-color:rgba(255,255,255,.14); box-shadow:0 4px 20px rgba(0,0,0,.35); }
  .formation-card h3 { font-size:20px; line-height:1.2; margin:16px 0 6px; }
  .formation-card-body>strong { font-size:12px; }
  .formation-card p { font-size:12px; }
  .formation-card footer { padding-top:13px; margin-top:14px; }
  .formation-card.is-preparing { opacity:.65; }
  .studies-notebook { padding:22px 16px; border-radius:16px; gap:22px; }
  .studies-notebook-intro h2 { font-size:24px; line-height:1.15; }
  .studies-notebook-intro p { font-size:13px; }
  .studies-notebook-intro li { font-size:12px; }
  .study-create-form { padding:20px 16px; }
  .study-create-form h3 { font-size:18px; }
  .study-create-form input,.study-create-form textarea { font-size:14px; }
  .study-create-form button { padding:13px 16px; font-size:13px; min-height:46px; }
  .personal-studies-list>a { padding:14px 4px; }
  .personal-studies-list h3 { font-size:14px; }
  .studies-course-notes { margin-top:28px; }
  .course-notes-group { border-radius:13px; }
  .course-notes-group>header { padding:14px 16px; }
  .course-notes-group h3 { font-size:14px; }
  .course-note-item { padding:12px 16px; }

  /* ── Formação — página do curso ── */
  .formation-page { padding:16px 14px 52px; }
  .formation-hero { padding:24px 18px; border-radius:18px; gap:20px; }
  .formation-hero-main>span { font-size:9px; }
  .formation-hero h1 { font-size:28px; line-height:1.1; margin:10px 0 5px; }
  .formation-hero-main>strong { font-size:13px; }
  .formation-hero-main>p { font-size:13px; }
  .formation-hero aside { padding:18px 16px; border-radius:13px; background:rgba(4,9,7,.38); }
  .formation-hero aside>strong { font-size:28px; }
  .formation-facts { gap:6px; }
  .formation-facts span { padding:5px 9px; font-size:9px; border-radius:99px; }
  .formation-intent { margin:28px 0; gap:16px; }
  .formation-intent h2 { font-size:22px; }
  .formation-intent>div:first-child small { font-size:9px; }
  .formation-method { gap:0; }
  .formation-method article { padding:14px 0; border-left:0; border-top:1px solid rgba(217,164,65,.18); }
  .formation-method article:first-child { border-top:0; }
  .formation-method span { font-size:12px; }
  .formation-method strong { font-size:12px; margin-top:8px; }
  .formation-module-shell { gap:10px; margin-bottom:14px; }
  .formation-module-tabs { gap:7px; }
  .formation-module-tabs button { min-height:72px; padding:12px; border-radius:10px; }
  .formation-module-tabs strong { font-size:11px; }
  .formation-module-nav { padding:9px 12px; }
  .formation-module-nav span { font-size:9px; }
  .formation-module-nav button { padding:8px 10px; font-size:9px; }
  .formation-module { border-radius:14px; }
  .formation-module>header { padding:16px 18px; gap:8px; }
  .formation-module>header h3 { font-size:15px; }
  .formation-module header p { font-size:10px; }
  .formation-lessons { padding:0 18px; }
  .formation-lesson { grid-template-columns:34px 1fr; padding:14px 0; min-height:64px; gap:10px; }
  .formation-lesson>a,.formation-lesson form { grid-column:2; }
  .formation-lesson>a { padding:8px 0; font-size:11px; }
  .formation-lesson button { width:100%; padding:9px 12px; font-size:10px; min-height:38px; }
  .formation-lesson h4 { font-size:12px; line-height:1.4; }
  .formation-lesson small { font-size:8px; }
  .formation-lesson-number { width:28px; height:28px; font-size:9px; }

  /* ── Sala de aula ── */
  .study-classroom-top { grid-template-columns:1fr; gap:8px; padding:12px 14px; position:relative; }
  .study-classroom-top>a { font-size:11px; }
  .study-classroom-top>div:nth-child(2) { justify-content:space-between; }
  .study-classroom-top strong { font-size:12px; }
  .study-classroom-tools { grid-template-columns:repeat(3,1fr); gap:6px; }
  .study-classroom-tools button { min-height:40px; font-size:9px; padding:0 8px; border-radius:8px; }
  .study-classroom-tools .study-classroom-progress { grid-column:1 / -1; }
  .study-classroom-outline { padding:14px 16px; border-radius:0; }
  .study-classroom-outline>div { padding:0 0 12px; }
  .study-classroom-outline h2 { font-size:12px; }
  .study-classroom-outline nav a { font-size:9px; border-radius:7px; }
  .study-lesson-stage { padding:16px 12px 48px; }
  .study-lesson-reader { border-radius:15px; }
  .study-lesson-reader>header { padding:22px 18px 16px; gap:12px; }
  .study-lesson-reader>header>span { display:none; }
  .study-lesson-reader h1 { font-size:22px; line-height:1.18; margin:6px 0 0; }
  .study-lesson-reader>header small { font-size:8px; }
  .study-lesson-page-position { padding:13px 18px 0; gap:10px; }
  .study-lesson-content { padding:20px 18px 26px; }
  .study-lesson-content p { font-size:14px; line-height:1.85; margin-bottom:18px; }
  .study-lesson-content p:first-child::first-letter { font-size:38px; }
  .study-lesson-source { padding:12px 18px; }
  .study-lesson-source small { text-align:left; font-size:8px; }
  .study-page-pagination { grid-template-columns:1fr; gap:9px; }
  .study-page-pagination>span { display:none; }
  .study-page-pagination>a,.study-complete-form button { min-height:66px; padding:13px 15px; border-radius:11px; }
  .study-page-pagination strong,.study-complete-form strong { font-size:12px; }
  .canonical-notes-drawer { border-radius:12px; }
  .canonical-notes-drawer form { padding:14px; }
  .canonical-notes-drawer textarea { min-height:120px; font-size:13px; }
}

@media(max-width:400px) {
  .journeys-hero h1 { font-size:24px; }
  .journey-detail-hero h1 { font-size:21px; }
  .journey-step>header h2 { font-size:16px; }
  .studies-hero h1 { font-size:26px; }
  .formation-hero h1 { font-size:24px; }
  .formation-module-tabs { grid-template-columns:1fr; }
  .guide-hero h1 { font-size:22px; }
  .guide-intents,.guide-capabilities { grid-template-columns:1fr; }
  .guide-intent-card { flex-direction:row; align-items:center; gap:12px; min-height:56px; }
  .journey-days nav a { min-width:44px; }
  .journey-days nav a>span { width:30px; height:30px; font-size:10px; }
  .study-classroom-tools { grid-template-columns:1fr 1fr; }
}
