@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b1835;--blue:#2451d6;--ink:#17233b;--muted:#71809b;--line:#e7ebf2;--bg:#f5f7fc;--gold:#d8a94c;--green:#178661}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Outfit,sans-serif}button,input,select,textarea{font:inherit}.app{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#aab8d5;padding:28px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{color:white;font-family:Outfit;font-size:23px;font-weight:800;display:flex;align-items:center;gap:12px;padding:5px 12px 35px}.brand-icon{background:linear-gradient(135deg,#406cf7,#152f75);border:1px solid #6684eb;border-radius:12px;width:40px;height:40px;display:grid;place-items:center;color:#fff;font-weight:800}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--gold)}.nav-heading{font-size:10px;letter-spacing:2px;padding:20px 15px 10px;color:#657595;font-weight:800}.nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:11px;font-size:13px;font-weight:600;margin-bottom:4px}.nav a:hover,.nav a.active{background:#21365c;color:white}.nav a.active{box-shadow:inset 3px 0 var(--gold)}.nav .ico{width:22px;text-align:center;font-size:18px}.main{min-width:0}.top{height:80px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:12px}.top .left{color:var(--muted);font-size:13px}.top strong{color:var(--ink)}.top .right{display:flex;align-items:center;gap:15px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e9efff;color:var(--blue);font-weight:800}.content{max-width:1430px;margin:auto;padding:35px 38px}.eyebrow{color:var(--blue);font-size:12px;text-transform:uppercase;letter-spacing:1.6px;font-weight:800}.page-title{font-size:29px;margin-bottom:6px}.subtitle{color:var(--muted);font-size:14px;margin-bottom:27px}.hero{border-radius:19px;background:linear-gradient(105deg,#111e43,#234996);padding:35px 38px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px;overflow:hidden}.hero h2{font-size:28px;max-width:470px;margin:10px 0}.hero p{color:#d6e2ff;font-size:14px;line-height:1.8}.hero-art{font-size:100px;filter:drop-shadow(0 10px 20px #07163277)}.btn{border:0;background:var(--blue);color:white;padding:12px 18px;display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:10px;font-weight:700;font-size:13px;cursor:pointer}.btn.alt{background:white;color:var(--blue)}.btn.soft{background:#eaf0ff;color:var(--blue)}.btn.gold{background:var(--gold);color:#122143}.btn.danger{background:#ffecef;color:#ac3045}.btn.sm{padding:8px 12px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.stat,.panel,.course,.form-card{border:1px solid var(--line);background:white;border-radius:15px;box-shadow:0 3px 17px #16294905}.stat{padding:23px}.stat .icon{background:#ecf1ff;color:var(--blue);width:43px;height:43px;display:grid;place-items:center;border-radius:12px;font-size:23px;margin-bottom:20px}.stat strong{display:block;font-size:30px;font-family:Outfit}.stat span{color:var(--muted);font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:34px 0 17px}.section-head h2{margin:0;font-size:21px}.section-head a{color:var(--blue);font-weight:800;font-size:13px}.courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course{overflow:hidden}.cover{height:158px;background:linear-gradient(130deg,#0e2b61,#4783dc);position:relative;display:flex;align-items:center;justify-content:center;color:white;font-size:66px}.cover:after{content:'RVH ACADEMY';position:absolute;bottom:13px;left:18px;color:#ffffffa0;letter-spacing:3px;font-size:10px;font-weight:800}.course-body{padding:20px}.tag{display:inline-block;background:#edf1ff;color:#3459c5;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:7px 9px;border-radius:6px;margin-bottom:12px}.course h3{font-size:17px;line-height:1.4;margin-bottom:11px}.meta{font-size:12px;color:var(--muted);margin-bottom:15px}.progress{width:100%;height:7px;border-radius:20px;background:#e8edf5;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,#336be9,#63a6ee);border-radius:20px}.progress-label{font-size:12px;color:var(--muted);margin:10px 0 16px}.panel{padding:24px}.columns{display:grid;grid-template-columns:2fr 1fr;gap:20px}.field{margin-bottom:17px}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid #dce3ee;background:white;padding:12px 13px;border-radius:9px;outline-color:#7295ea}.field textarea{min-height:110px}.form-card{padding:26px;max-width:650px}.notice{border-radius:10px;padding:13px 16px;margin-bottom:20px;background:#eaf8f2;color:#166246;font-size:13px}.notice.error{background:#ffebef;color:#9e2442}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:15px 18px}th{color:#71809b;font-size:11px;text-transform:uppercase;letter-spacing:.8px}tr:last-child td{border-bottom:0}.muted{color:var(--muted)}.empty{padding:30px;text-align:center;color:var(--muted)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.video{aspect-ratio:16/9;background:#101d38;color:white;border-radius:15px;overflow:hidden;display:grid;place-items:center}.video iframe{width:100%;height:100%;border:0}.video .placeholder{font-size:60px}.lesson-nav .module-title{font-size:13px;font-weight:800;margin:17px 0 8px}.lesson-nav a{display:block;padding:11px 12px;font-size:13px;border-radius:8px;color:#53617e}.lesson-nav a.active{background:#eaf0ff;color:var(--blue);font-weight:800}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-side{background:linear-gradient(145deg,#0b1835,#284c9a);color:white;padding:13%;display:flex;flex-direction:column;justify-content:center}.login-side h1{font-size:52px}.login-side p{line-height:1.8;color:#d4dff6}.login-box{align-self:center;width:min(450px,90%);justify-self:center}.login-box h2{font-size:32px}.public-header{background:white;border-bottom:1px solid var(--line);padding:18px max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center}.public-main{max-width:1120px;margin:45px auto;padding:0 24px}.cert{max-width:900px;background:white;border:10px double #d3ab5a;text-align:center;padding:65px 25px;margin:auto}.cert h1{font-size:45px;color:#162d5e}.cert h2{font-size:32px}.print-only{display:none}.hamburger{display:none}.inline-form{display:inline}.tiny{font-size:12px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}.courses{grid-template-columns:repeat(2,1fr)}.sidebar{width:220px}.app{grid-template-columns:220px minmax(0,1fr)}}@media(max-width:760px){.app{display:block}.sidebar{display:none;position:fixed;z-index:100;width:280px;height:100vh}.sidebar.open{display:block}.hamburger{display:block;background:none;border:0;font-size:24px}.top{padding:0 19px;height:66px}.content{padding:22px 17px}.grid,.courses,.columns,.lesson-layout{grid-template-columns:1fr}.hero{padding:25px}.hero-art{display:none}.page-title{font-size:25px}.login-page{grid-template-columns:1fr}.login-side{padding:40px 26px}.login-side h1{font-size:32px}.login-box{padding:45px 0}}@media print{.sidebar,.top,.no-print,.public-header{display:none!important}.app{display:block}.content{padding:0}.cert{box-shadow:none;margin-top:0}.print-only{display:block}}

/* RVH V6 — Leitura editorial e questionários */
.reading-banner{min-height:186px;background:radial-gradient(circle at 92% 14%,#517cbf66,transparent 38%),linear-gradient(115deg,#102147,#233f75);border-radius:18px;padding:33px;color:white;display:flex;flex-direction:column;justify-content:center;gap:12px;margin-bottom:20px}.reading-banner span{font-size:10px;font-weight:800;letter-spacing:2px;color:#dabf87}.reading-banner strong{font-size:clamp(20px,2.6vw,28px);max-width:540px}.reading-banner small{color:#becfee}.reader-summary{background:#edf3ff;border-radius:10px;padding:13px 16px;color:#29476e;font-size:13px;margin:18px 0}.reader-topic{margin:22px 0;border:1px solid #e0e8f3;border-radius:17px;overflow:hidden;scroll-margin-top:20px;background:#fff}.reader-topic-hero{display:flex;align-items:center;gap:18px;padding:20px;background:#f2f6fd;border-bottom:1px solid #e1e8f2}.reader-topic-hero img{width:92px;height:92px;object-fit:cover;border-radius:14px;flex:none}.reader-topic-hero h3{font-size:20px;margin:6px 0;line-height:1.35}.topic-index{font-size:10px;color:#4164a3;letter-spacing:1.6px;font-weight:900}.reader-topic-body{padding:23px 26px}.reader-topic-body p{font-size:15px;line-height:1.92;color:#30415d;margin:0 0 19px}.reader-bullet{padding:10px 14px 10px 29px;background:#f5f8fd;border-radius:8px;margin-bottom:9px;position:relative;font-size:14px;line-height:1.7}.reader-bullet:before{content:'•';position:absolute;left:14px;color:#315eca}.reader-highlight{border-left:4px solid #d8a94c;background:#fffbf1;border-radius:0 9px 9px 0;padding:18px;font-size:14px;line-height:1.8;font-weight:600;margin:20px 0}.reader-toc{padding:14px;background:#f3f7fd;border-radius:12px;margin-bottom:23px;max-height:370px;overflow:auto}.reader-toc h3{margin:0 0 8px}.reader-toc a{display:block;font-size:12px;border-bottom:1px solid #e5ebf4;padding:9px 4px;line-height:1.45}.reader-toc a:hover{color:#2451d6}.lesson-nav{align-self:start;position:sticky;top:16px;max-height:calc(100vh - 35px);overflow:auto}.lesson-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.quiz-card{margin-bottom:15px}.quiz-choice{display:flex;align-items:flex-start;gap:12px;padding:13px;margin:9px 0;border:1px solid #e1e7f0;border-radius:10px;cursor:pointer;font-size:14px}.quiz-choice:has(input:checked){background:#edf4ff;border-color:#5e8fe4}.quiz-choice input{margin-top:3px}@media(max-width:760px){.reader-topic-hero{padding:14px;gap:13px}.reader-topic-hero img{width:68px;height:68px}.reader-topic-hero h3{font-size:17px}.reader-topic-body{padding:17px}.lesson-nav{position:static;max-height:none}}

/* V7 — plano de aula no estilo portal educacional, com coluna de conteúdos à esquerda */
@media(min-width:761px){body:has(.rvh-plano-aula) .app{grid-template-columns:0 minmax(0,1fr)}body:has(.rvh-plano-aula) .sidebar{display:none}body:has(.rvh-plano-aula) .content{max-width:none;padding:20px 24px}body:has(.rvh-plano-aula) .lesson-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:22px}body:has(.rvh-plano-aula) .lesson-layout>aside{grid-column:1;grid-row:1}body:has(.rvh-plano-aula) .lesson-layout>section{grid-column:2;grid-row:1;min-width:0}}
.rvh-plano-aula .lesson-nav{background:#fff;border-radius:14px;border:1px solid #dfe7ee;padding:12px;top:12px}.rvh-plano-aula .lesson-nav .module-title{background:#eaf2ff;padding:10px 12px;border-radius:8px;color:#163e83}.rvh-plano-aula .lesson-nav>a:not(.btn){border-bottom:1px solid #edf1f6;border-radius:5px;line-height:1.6}.rvh-plano-aula .lesson-nav>a.active{border-left:4px solid #199565;background:#e4f7ed}.rvh-plano-aula .lesson-layout>section>.panel{padding:25px}.rvh-plano-aula .lesson-nav .reader-toc{max-height:245px}
