/* ============================================================
   Revisou — Home (CSS do toolkit funcional v1, fonte de verdade da Home)
   Componentes desenhados em HTML/CSS. Arte (Revi/avatares/logo/banner)
   = arquivos em ./assets (PNG). Trocar PNG = muda a página, sem mexer no código.
   ============================================================ */
:root{
  --font: Nunito, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg:#F7F8FC; --surface:#FFFFFF; --text:#07123F; --text2:#26345F; --muted:#667085; --line:#E8EBF3;
  --teal:#00A889; --tealSoft:#E9FBF8; --purple:#6C63FF; --purpleSoft:#F0EEFF;
  --green:#16B86F; --greenDark:#0FA35B; --greenSoft:#EAF8F0;
  --orange:#F6A400; --orangeDark:#E68A00; --orangeSoft:#FFF4DE;
  --red:#FF3D3D; --redDark:#E63B3B; --redSoft:#FFEAEA; --blue:#075DFF;
  --shadowSm:0 2px 8px rgba(20,20,43,.04); --shadowMd:0 2px 8px rgba(20,20,43,.04); --pill:999px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);font-family:var(--font);color:var(--text);line-height:1.45;font-weight:500}
button{font-family:inherit}
.doc-shell{display:grid;grid-template-columns:272px 1fr;min-height:100vh}
.doc-nav{position:sticky;top:0;height:100vh;overflow:auto;background:#07152F;color:white;padding:24px 16px}
.doc-nav h1{font-size:18px;margin:0 0 4px}.doc-nav p{font-size:12px;color:#B9C2D5;margin:0 0 18px}
.doc-nav a{display:block;color:#EAF0FF;text-decoration:none;font-size:13px;padding:8px 10px;border-radius:9px}
.doc-group{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7F8BA3;font-weight:800;margin:18px 10px 7px}
.doc-main{max-width:1320px;padding:34px 42px 90px}.doc-section{margin-top:42px}
.doc-hero,.example{background:white;border:1px solid var(--line);box-shadow:var(--shadowMd);border-radius:28px;padding:26px;margin-bottom:22px}
.example{box-shadow:var(--shadowSm);border-radius:22px}
.doc-hero h2{font-size:38px;line-height:1.06;letter-spacing:-.04em;margin:0 0 10px;font-weight:800}
.doc-section h2{font-size:27px;line-height:1.12;letter-spacing:-.03em;margin:0 0 10px;font-weight:800}
.doc-section p{margin:0;color:var(--muted)}.label{font-size:11.5px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.stack{display:grid;gap:14px}.note{background:#E9FBF8;border:1px solid #C8F3EC;color:#087869;border-radius:16px;padding:13px 15px;font-size:14px;margin-top:14px}.code{background:#0B1220;color:#EAF0FF;border-radius:16px;padding:16px;font-size:12.5px;line-height:1.55;white-space:pre-wrap;overflow:auto;margin-top:12px}
.asset-box{min-height:220px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadowSm);padding:18px}.asset-box img{display:block;max-width:100%;height:auto}.asset-logo{width:210px}.asset-revi{width:260px}.asset-avatar{width:86px}.asset-community{width:330px}
.btn{height:40px;border:1px solid transparent;border-radius:12px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:760;cursor:pointer;background:#fff;color:var(--text)}.btn-primary{background:var(--purple);color:white;box-shadow:0 10px 20px rgba(108,99,255,.18)}.btn-teal{background:var(--teal);color:white}.btn-ghost{border-color:#DDE3EE;background:white}.btn-soft{background:#F4F7FF;color:var(--blue)}.btn-danger{border-color:#FFD7D2;background:var(--redSoft);color:#D92D20}
.pill{height:28px;border-radius:var(--pill);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:760;white-space:nowrap}.pill-green{background:var(--greenSoft);color:var(--greenDark)}.pill-orange{background:var(--orangeSoft);color:var(--orangeDark)}.pill-red{background:var(--redSoft);color:var(--redDark)}.pill-purple{background:var(--purpleSoft);color:var(--purple)}
.progress{height:8px;background:#E8ECF3;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;border-radius:999px;background:var(--green)}.progress-orange span{background:var(--orange)}.progress-red span{background:var(--red)}.progress-purple span{background:var(--purple)}
.ring{--p:82;--c:var(--green);width:70px;height:70px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),#E8ECF3 0);display:grid;place-items:center;position:relative}.ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:white}.ring b{position:relative;font-size:17px;font-weight:800;color:var(--text)}.ring.orange{--c:var(--orange)}.ring.red{--c:var(--red)}
.ring.purple{--c:var(--purple)}
.icon-circle{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:white;background:var(--green);box-shadow:0 10px 20px rgba(22,184,111,.16)}.icon-circle.orange{background:var(--orange)}.icon-circle.red{background:var(--red)}
.i{width:22px;height:22px;display:inline-block;flex:0 0 auto;background:currentColor;-webkit-mask:var(--mi) center/contain no-repeat;mask:var(--mi) center/contain no-repeat}.i-home{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2010.5%2012%203l9%207.5M5%209.5V20a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V9.5%27/%3E%3C/svg%3E")}.i-clipboard{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%278%27%20y%3D%273%27%20width%3D%278%27%20height%3D%274%27%20rx%3D%271%27/%3E%3Cpath%20d%3D%27M9%205H6a1%201%200%200%200-1%201v14a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V6a1%201%200%200%200-1-1h-3%27/%3E%3Cpath%20d%3D%27M9%2012l2%202%204-4%27/%3E%3C/svg%3E")}.i-book{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%205a2%202%200%200%201%202-2h13v16H6a2%202%200%200%200-2%202z%27/%3E%3Cpath%20d%3D%27M4%2019a2%202%200%200%201%202-2h13%27/%3E%3C/svg%3E")}.i-users{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%278%27%20r%3D%273.2%27/%3E%3Cpath%20d%3D%27M3.5%2020c0-3%202.5-5%205.5-5s5.5%202%205.5%205%27/%3E%3Cpath%20d%3D%27M16%205.5a3%203%200%200%201%200%205.5M17%2020c0-2-.7-3.6-1.8-4.7%27/%3E%3C/svg%3E")}.i-chart{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2020V4M4%2020h16%27/%3E%3Crect%20x%3D%277%27%20y%3D%2712%27%20width%3D%273%27%20height%3D%275%27/%3E%3Crect%20x%3D%2712%27%20y%3D%278%27%20width%3D%273%27%20height%3D%279%27/%3E%3Crect%20x%3D%2717%27%20y%3D%2714%27%20width%3D%273%27%20height%3D%273%27/%3E%3C/svg%3E")}.i-globe{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27/%3E%3Cpath%20d%3D%27M3%2012h18M12%203c2.5%202.5%202.5%2015%200%2018M12%203c-2.5%202.5-2.5%2015%200%2018%27/%3E%3C/svg%3E")}.i-user{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%273.6%27/%3E%3Cpath%20d%3D%27M5%2020c0-3.4%203.1-6%207-6s7%202.6%207%206%27/%3E%3C/svg%3E")}.i-bell{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209a6%206%200%200%201%2012%200c0%205%202%206%202%206H4s2-1%202-6%27/%3E%3Cpath%20d%3D%27M10.5%2019a1.8%201.8%200%200%200%203%200%27/%3E%3C/svg%3E")}.i-check{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012.5l4.5%204.5L19%207.5%27/%3E%3C/svg%3E")}.i-clock{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278.5%27/%3E%3Cpath%20d%3D%27M12%207.5V12l3%202%27/%3E%3C/svg%3E")}.i-warning{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%204l9%2016H3z%27/%3E%3Cpath%20d%3D%27M12%2010v4M12%2017.2v.1%27/%3E%3C/svg%3E")}.i-chevron{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%206l6%206-6%206%27/%3E%3C/svg%3E")}
.app{width:100%;min-height:900px;display:grid;grid-template-columns:196px minmax(0,1fr);background:var(--bg);border:0;border-radius:0;overflow:visible}.sidebar{background:#FFFFFF;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;align-self:start;overflow-y:auto}.sidebar-logo{height:60px;display:flex;align-items:center}.sidebar-logo img{width:150px}.nav{display:grid;gap:6px}.nav-item{height:56px;border-radius:14px;display:flex;align-items:center;gap:12px;padding:0 14px;color:#4F5C85;font-weight:600;font-size:14px}.nav-item.is-active{background:var(--tealSoft);color:var(--teal);font-weight:700}.nav-spacer{flex:1}.premium-card{background:#F6F0FF;border:1px solid #E8EBF3;border-radius:20px;padding:16px;box-shadow:none}.premium-card h4{margin:0 0 6px;font-size:14px;color:var(--text);font-weight:700}.premium-card p{font-size:12px;color:var(--text2);line-height:1.45;font-weight:500}
.main{padding:32px 36px;min-width:0}.topbar{height:52px;display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-bottom:16px}.user-head{display:flex;align-items:center;gap:12px}.user-head b{font-size:15px;display:block;color:var(--text);font-weight:700;line-height:1.1}.user-head small{font-size:13px;color:var(--text2);font-weight:500}.user-head img{width:44px;border-radius:50%}.icon-btn{width:38px;height:38px;border:0;background:transparent;display:grid;place-items:center;color:var(--text);position:relative}.notify{position:absolute;right:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--red);color:white;font-size:10px;display:grid;place-items:center;border:2px solid white}
.home-grid{display:grid;grid-template-columns:1fr 420px;gap:20px}.home-hero{min-height:380px;border:1px solid #E8EBF3;background:linear-gradient(135deg,#EAFBF6,#FFFFFF);border-radius:24px;box-shadow:var(--shadowSm);padding:40px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;overflow:visible}.home-hero img{width:240px;max-width:100%;height:auto}.home-hero h1{font-size:32px;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;font-weight:700;color:var(--text)}.home-hero p{font-size:14px;line-height:1.55;color:var(--text2);font-weight:500}.insight-bubble{background:white;border:1px solid var(--line);box-shadow:var(--shadowSm);border-radius:16px;padding:16px;margin-top:20px}.insight-bubble p{font-size:14px;line-height:1.45;font-weight:500}
.status-card{min-height:380px;border:1px solid var(--line);background:white;border-radius:24px;box-shadow:var(--shadowSm);padding:32px}.status-card>h3{font-size:16px;font-weight:700;margin:0}.status-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin-top:8px}.status-head strong{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--text)}.status-head span{font-size:26px;font-weight:800;color:var(--teal)}.status-row{display:grid;grid-template-columns:48px 1fr 18px;gap:14px;align-items:center;height:72px;border-radius:16px;padding:0 16px;margin-bottom:10px;background:var(--greenSoft)}.status-row.r-green{background:#F1FCF6}.status-row.r-orange{background:#FFF8EA}.status-row.r-red{background:#FFF2F1}.status-row h3{margin:0;font-size:15px;font-weight:800;line-height:1.15}.status-row p{margin:2px 0 0;font-size:13px;color:var(--text2);font-weight:600;line-height:1.2}.status-row .icon-circle{width:40px;height:40px}.status-row>div:nth-child(2){display:flex;flex-direction:column;justify-content:center}
.section-card{background:white;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadowSm);padding:24px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-title h2{font-size:18px;margin:0;font-weight:700;letter-spacing:-.01em}.section-title a{font-size:13px;color:var(--blue);font-weight:700}
.exam-timeline{display:grid;grid-template-columns:104px 1fr;gap:16px}.timeline-days{display:grid;gap:12px}.day{height:116px;display:grid;grid-template-columns:1fr 22px;gap:12px;align-items:center}
.day .date{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1}
.day .date strong{font-size:30px;line-height:1;font-weight:800;color:var(--text)}
.day .date .mon{font-size:13px;font-weight:700;color:var(--text2);margin-top:5px;letter-spacing:.02em}
.day .date .wk{font-size:11px;font-weight:600;color:var(--text2);opacity:.7;margin-top:3px;letter-spacing:.03em}
.day .track{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}
.day .track::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:0;bottom:0;width:2px;background:#E2E6F0}
.day:first-child .track::before{top:50%}
.day:last-child .track::before{bottom:50%}
.day:not(:last-child) .track::before{bottom:-12px}
.dot{position:relative;z-index:1;width:14px;height:14px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #fff}.dot.orange{background:var(--orange)}.dot.red{background:var(--red)}
.exam-list{display:grid;gap:12px}.exam-card{height:116px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadowSm);display:grid;grid-template-columns:72px 1fr auto 64px 24px;gap:16px;align-items:center;padding:0 20px}.exam-card img{width:72px}.exam-card h3{font-size:18px;line-height:1.1;margin:2px 0 5px;font-weight:700}.exam-card small{font-size:13px;color:var(--text2);font-weight:500}.exam-card .child{font-size:16px;font-weight:600;color:var(--text2)}
.child-card{min-height:116px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadowSm);display:grid;grid-template-columns:64px 1fr 64px 24px;gap:16px;align-items:center;padding:18px}.child-card img{width:64px}.child-card h3{font-size:18px;margin:0 0 6px;font-weight:700;display:flex;align-items:center;gap:8px}.child-card p{font-size:13px;color:var(--text2);margin-top:4px;line-height:1.5;font-weight:500}
.community-card{background:#F3F0FF;border:1px solid #E8EBF3;border-radius:24px;box-shadow:var(--shadowSm);padding:32px;display:grid;grid-template-columns:45% 1fr;gap:24px;align-items:center}.community-card img{width:100%;max-width:200px}.community-card h2{font-size:20px;line-height:1.2;margin:0 0 12px;font-weight:700;letter-spacing:-.01em}.community-card p{font-size:13px;color:var(--text2);line-height:1.5;font-weight:500}
.review-header{display:flex;align-items:center;gap:18px;margin-bottom:18px}.back{width:36px;height:36px;border-radius:50%;background:white;border:1px solid var(--line);display:grid;place-items:center;box-shadow:var(--shadowSm);font-size:20px;color:var(--text)}.subject-icon{width:70px;height:70px;border-radius:50%;background:var(--purpleSoft);color:var(--purple);display:grid;place-items:center;font-size:30px;font-weight:800;letter-spacing:-.07em}.review-title h1{font-size:32px;letter-spacing:-.035em;line-height:1;margin:0;color:var(--text);font-weight:800}.review-title p{font-size:15px;color:var(--text2);margin-top:7px;font-weight:600}.prep-hero{min-height:116px;background:linear-gradient(135deg,#F4FFFA,#FFFFFF);border:1px solid #BEEBDD;border-radius:14px;padding:22px 52px;display:grid;grid-template-columns:1fr 180px;align-items:center;gap:24px;box-shadow:var(--shadowSm)}
@media(max-width:1100px){.doc-shell{grid-template-columns:1fr}.doc-nav{position:relative;height:auto}.doc-main{padding:24px 16px}.grid2,.grid3,.grid4,.home-grid,.exam-timeline,.home-hero,.exam-card,.child-card,.community-card,.prep-hero{grid-template-columns:1fr}.app{grid-template-columns:1fr}.sidebar{display:none}}

/* ============================================================
   INTERAÇÃO — tudo que é clicável tem cursor, hover e foco
   ============================================================ */
a{color:inherit;text-decoration:none}
.nav-item{cursor:pointer;transition:background .15s,color .15s}
.nav-item:hover:not(.is-active){background:#F4F6FB;color:var(--text)}
.exam-card,.child-card{cursor:pointer;color:inherit;transition:box-shadow .15s,transform .15s,border-color .15s}
.exam-card:hover,.child-card:hover{box-shadow:0 10px 26px rgba(20,20,43,.10);border-color:#D9DEEA;transform:translateY(-2px)}
.status-row{cursor:pointer;transition:filter .15s}
.status-row:hover{filter:brightness(.975)}
.user-head{cursor:pointer;border-radius:14px;padding:4px 6px;transition:background .15s}
.user-head:hover{background:#F4F6FB}
.icon-btn{cursor:pointer}
.section-title a{cursor:pointer}
.btn{cursor:pointer;transition:filter .15s,transform .12s}
.btn:hover{filter:brightness(.96)}
.btn:active{transform:translateY(1px)}
.link-quiet{cursor:pointer}
:focus-visible{outline:2px solid var(--purple);outline-offset:2px;border-radius:8px}

/* Toast leve para ações ainda não implementadas */
#rv-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);
  background:#07123F;color:#fff;font-size:14px;font-weight:600;padding:12px 20px;border-radius:12px;
  box-shadow:0 12px 30px rgba(8,15,44,.3);opacity:0;pointer-events:none;transition:.25s;z-index:999}
#rv-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.i-logout{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M15%204h3a2%202%200%200%201%202%202v12a2%202%200%200%201-2%202h-3%27/%3E%3Cpath%20d%3D%27M10%2017l-5-5%205-5%27/%3E%3Cpath%20d%3D%27M5%2012h11%27/%3E%3C/svg%3E")}
.nav-logout{color:var(--redDark)}
.nav-logout:hover{background:var(--redSoft)!important;color:var(--redDark)!important}

/* ícones extra — Agenda/disciplinas */
.i-calendar{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2716%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M3%209h18M8%203v4M16%203v4%27/%3E%3C/svg%3E")}
.i-calc{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%275%27%20y%3D%273%27%20width%3D%2714%27%20height%3D%2718%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M8%207h8M8%2011h.01M12%2011h.01M16%2011h.01M8%2015h.01M12%2015h.01M16%2015v2M8%2018h4%27/%3E%3C/svg%3E")}
.i-flask{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%203h6M10%203v6l-5%209a2%202%200%200%200%201.8%203h10.4a2%202%200%200%200%201.8-3l-5-9V3%27/%3E%3Cpath%20d%3D%27M7.5%2014h9%27/%3E%3C/svg%3E")}
.i-speech{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%205a2%202%200%200%201%202-2h12a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202H9l-5%204z%27/%3E%3C/svg%3E")}
.i-pencil{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14%204l6%206M3%2021l4-1L20.5%206.5a2.1%202.1%200%200%200-3-3L4%2017z%27/%3E%3C/svg%3E")}

/* ============================================================
   TOOLKIT — componentes chamáveis + canvas 13"
   ============================================================ */
:root{--sidebar-w:240px}
.app{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
rv-sidebar,rv-topbar{display:contents}

/* ============================================================
   AGENDA ESCOLAR
   ============================================================ */
.agenda-head h1{font-size:32px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px;color:var(--text)}
.agenda-head p{font-size:14px;color:var(--muted);font-weight:500;margin:0 0 20px}
.agenda-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:20px;align-items:start}
.agenda-grid > div{min-width:0}
.cal{min-width:0}

/* Calendário */
.cal{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadowSm);padding:20px}
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.seg{display:inline-flex;background:#F4F6FB;border:1px solid var(--line);border-radius:12px;padding:3px}
.seg button{border:0;background:transparent;font-family:inherit;font-weight:700;font-size:13px;color:var(--text2);padding:7px 16px;border-radius:9px;cursor:pointer}
.seg button.on{background:var(--green);color:#fff}
.cal-nav{display:flex;align-items:center;gap:6px}
.navbtn{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:var(--text);font-size:16px;font-weight:800}
.cal-month{font-size:15px;font-weight:800;min-width:130px;text-align:center}
.btn-hoje{height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 16px;font-weight:700;font-size:13px;cursor:pointer;color:var(--text)}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cal-weekday{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--muted);text-align:left;padding:10px 12px;background:#FBFCFE;border-bottom:1px solid var(--line)}
.cal-cell{min-height:120px;min-width:0;border-right:1px solid #EEF2F7;border-bottom:1px solid #EEF2F7;padding:8px;display:flex;flex-direction:column;gap:6px;background:#fff;transition:background .12s}
.cal-cell:hover{background:#FAFBFE}
.cal-cell:nth-child(7n){border-right:0}
.cal-daynum{font-size:13px;font-weight:700;color:var(--text)}
.cal-cell.dim .cal-daynum{color:#C0C8D8}
.cal-cell.today .cal-daynum{background:var(--green);color:#fff;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}
.cal-cell.sel{box-shadow:inset 0 0 0 2px var(--green);border-radius:10px}

/* Evento (mini-card) — cor por disciplina via --dc/--db */
.cal-event{background:var(--db,#F0EEFF);border-radius:10px;padding:8px 10px;cursor:pointer;transition:filter .12s}
.cal-event:hover{filter:brightness(.97)}
.cal-event .ev-title{display:flex;align-items:flex-start;gap:6px;font-size:11.5px;font-weight:800;color:var(--dc,#6C63FF);line-height:1.15}
.cal-event .ev-name{min-width:0;overflow-wrap:break-word;hyphens:auto}
.cal-event .ev-title .i{margin-top:1px}
.cal-event .ev-title .i{width:14px;height:14px;background:var(--dc,#6C63FF)}
.cal-event .ev-aa{font-size:12px;font-weight:900}
.cal-event .ev-child{font-size:11px;color:var(--text2);font-weight:600;margin-top:3px}
.cal-event .ev-status{font-size:11px;font-weight:700;margin-top:4px;display:flex;align-items:center;gap:5px}
.ev-ok{color:#16A34A}.ev-no{color:#94A3B8}
.ev-dot{width:9px;height:9px;border-radius:50%;background:#CBD5E1;flex:0 0 auto}
.ev-check{width:14px;height:14px;flex:0 0 auto}
.disc-port{--dc:#FF6B6B;--db:#FFF2F2}.disc-mat{--dc:#3B82F6;--db:#F2F7FF}.disc-hist{--dc:#8B5CF6;--db:#F6F0FF}
.disc-geo{--dc:#22C55E;--db:#F2FFF6}.disc-cie{--dc:#F59E0B;--db:#FFF8EC}.disc-ing{--dc:#14B8A6;--db:#F1FFFD}
.disc-red{--dc:#A855F7;--db:#FAF5FF}.disc-evt{--dc:#16B86F;--db:#EAF8F0}

/* Card de sincronização (abaixo do calendário) */
.sync-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadowSm);padding:22px;margin-top:24px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}
.sync-card .ic{width:56px;height:56px;border-radius:50%;background:var(--greenSoft);color:var(--greenDark);display:grid;place-items:center}
.sync-card h3{font-size:16px;font-weight:800;margin:0 0 4px}
.sync-card p{font-size:13px;color:var(--muted);font-weight:500;line-height:1.5}
.sync-providers{display:grid;gap:8px}
.sync-prov{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text)}
.sync-prov .ok{color:#16A34A}

/* Painel lateral direito */
.side-panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadowSm);padding:24px;position:sticky;top:24px}
.sp-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.sp-top .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--db);color:var(--dc);flex:0 0 auto;font-weight:900}
.sp-top h2{font-size:22px;font-weight:800;margin:0;line-height:1.1;color:var(--text)}
.sp-meta{font-size:13px;color:var(--text2);font-weight:600;margin-top:4px}
.sp-sub{font-size:13px;color:var(--muted);font-weight:500;margin-top:2px}
.sp-close{margin-left:auto;width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer;color:var(--muted);font-size:16px;font-weight:800}
.sp-sec{margin-top:18px}
.sp-sec h4{font-size:13px;font-weight:800;color:var(--text);margin:0 0 10px;text-transform:none}
.sp-list{margin:0;padding-left:18px;color:var(--text2);font-size:14px;font-weight:500;line-height:1.7}
.sp-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:8px}
.sp-row .ic{width:34px;height:34px;border-radius:9px;background:var(--purpleSoft);color:var(--purple);display:grid;place-items:center;flex:0 0 auto}
.sp-row h5{margin:0;font-size:13px;font-weight:700;color:var(--text)}
.sp-row p{margin:1px 0 0;font-size:12px;color:var(--muted);font-weight:500}
.sp-row .dl{margin-left:auto;color:var(--muted);cursor:pointer}
.sp-revisou{background:#F4FBF8;border:1px solid #CFEBDD;border-radius:16px;padding:16px;margin-top:18px}
.sp-revisou .hd{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px;color:var(--greenDark)}
.sp-revisou p{font-size:13px;color:var(--text2);font-weight:500;margin:6px 0 12px}
.sp-syncinfo{margin-top:18px;font-size:13px;font-weight:600;color:var(--text)}
.sp-syncinfo .line{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--text2)}
.sp-syncinfo .ok{color:#16A34A}
.sp-foot{margin-top:18px}

@media(max-width:1180px){
  .agenda-grid{grid-template-columns:1fr}
  .side-panel{position:static}
  .sync-card{grid-template-columns:1fr;gap:14px}
}

.cal-event .ev-tag{margin-left:auto;font-size:9px;font-weight:800;background:rgba(0,0,0,.06);color:var(--text2);padding:1px 5px;border-radius:6px;flex:0 0 auto}

/* ============================================================
   SUBJECT ICON — círculo pastel + glifo na cor da disciplina (v2)
   ============================================================ */
.subject-icon{--size:44px;width:var(--size);height:var(--size);border-radius:999px;display:inline-grid;place-items:center;flex:0 0 auto;position:relative;color:var(--c)}
.subject-icon::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--c);opacity:.14}
.subject-icon svg{width:58%;height:58%;display:block;position:relative}
.subject-icon svg .stroke{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.subject-icon svg .fill{fill:currentColor}
.subject-icon svg text{fill:currentColor;font-family:Nunito,Inter,sans-serif}
/* no mini-card de evento o ícone fica no topo do título */
.cal-event .ev-title{align-items:center}
.cal-event .subject-icon{--size:22px}

/* ============================================================
   AGENDA — ajustes visuais (feedback)
   ============================================================ */
.cal-grid{border-color:#F1F4F8}
.cal-cell{border-color:#F1F4F8}
.cal-event{background:linear-gradient(135deg,var(--db),#FFFFFF)}     /* menos "post-it" */
/* Drawer direito = sequência de cards (como a Home), gap 20 */
.rv-drawer{display:flex;flex-direction:column;gap:20px}
.drawer-head{display:flex;align-items:flex-start;gap:14px}
.drawer-title{font-size:20px;font-weight:800;margin:0;line-height:1.15;color:var(--text)}
.drawer-meta{font-size:13px;color:var(--text2);font-weight:700;margin-top:4px}
.drawer-sub{font-size:13px;color:var(--muted);font-weight:500;margin-top:2px}
.drawer-h{font-size:13px;font-weight:800;margin:0 0 12px;color:var(--text)}
.src-row{display:flex;align-items:center;gap:12px}
.src-row .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}
.src-row b{font-size:14px;font-weight:700;display:block}
.src-row span{font-size:12px;color:var(--muted);font-weight:500}
/* Título da Agenda com asset pequeno (personalidade Revi) */
.agenda-head .head-row{display:flex;align-items:center;gap:14px}
.agenda-head .head-row img{width:52px;height:52px;object-fit:contain;flex:0 0 auto}

.sync-prov .prov-logo{width:20px;height:20px;object-fit:contain;flex:0 0 auto}
.sync-prov{display:flex;align-items:center;gap:8px}

.sync-prov .prov-logo{width:auto;height:18px;object-fit:contain}

/* ícones utilitários — Tabler (download, file) */
.i-download{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2017v2a2%202%200%200%200%202%202h12a2%202%200%200%200%202%20-2v-2%22/%3E%3Cpath%20d%3D%22M7%2011l5%205l5%20-5%22/%3E%3Cpath%20d%3D%22M12%204l0%2012%22/%3E%3C/svg%3E")}
.i-file{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22/%3E%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202%22/%3E%3Cpath%20d%3D%22M9%209l1%200%22/%3E%3Cpath%20d%3D%22M9%2013l6%200%22/%3E%3Cpath%20d%3D%22M9%2017l6%200%22/%3E%3C/svg%3E")}

/* ============================================================
   DRAWER DO EVENTO (agenda) — replica a referência aprovada
   ============================================================ */
.side-panel{padding:28px}
.dw-div{height:1px;background:#EEF2F7;margin:22px 0;border:0}
.dw-head{display:flex;align-items:flex-start;gap:14px}
.dw-title{font-size:22px;font-weight:800;color:#07123F;margin:0;line-height:1.15}
.dw-meta{font-size:14px;color:#34405F;font-weight:700;margin-top:5px}
.dw-sub{font-size:14px;color:#667085;font-weight:500;margin-top:2px}
.dw-close{margin-left:auto;width:36px;height:36px;border:1px solid #E8ECF4;border-radius:12px;background:#fff;cursor:pointer;color:#667085;font-size:15px;font-weight:800;flex:0 0 auto}
.dw-sec{margin-top:20px}
.dw-sec-title{font-size:13px;font-weight:800;color:#07123F;margin:0 0 10px}
.dw-box{background:#fff;border:1px solid #E8ECF4;border-radius:12px;padding:14px 16px}
.dw-box ul{margin:0;padding-left:18px}
.dw-box li{font-size:14px;line-height:1.7;color:#34405F}
.dw-source{min-height:58px;border:1px solid #E8ECF4;border-radius:12px;padding:12px 14px;display:flex;gap:12px;align-items:center}
.dw-source .ic{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:#F0EEFF;color:#6C63FF}
.dw-source b{font-size:14px;font-weight:800;display:block;color:#07123F}
.dw-source span{font-size:13px;color:#667085;font-weight:500}
.dw-files{border:1px solid #E8ECF4;border-radius:12px;overflow:hidden}
.dw-file{height:52px;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid #EEF2F7;cursor:pointer}
.dw-file:last-child{border-bottom:0}
.dw-file .nm{flex:1;font-size:14px;font-weight:600;color:#07123F}
.dw-revisou{background:#F3FCF8;border:1px solid #BFEBD9;border-radius:14px;padding:16px}
.dw-revisou .hd{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:#0FA35B}
.dw-revisou .ck{width:24px;height:24px;border-radius:50%;background:#0FA35B;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:900;flex:0 0 auto}
.dw-revisou p{font-size:13px;color:#34405F;font-weight:500;margin:8px 0 14px;line-height:1.5}
.dw-btn-green{display:flex;align-items:center;justify-content:center;gap:8px;height:42px;border:1px solid #0FA35B;background:#fff;color:#0FA35B;border-radius:10px;font-weight:800;font-size:14px;width:100%;cursor:pointer;text-decoration:none}
.dw-sync .line{display:flex;align-items:center;gap:8px;font-size:13px;color:#34405F;font-weight:600;margin-top:10px}
.dw-sync .line .ck{width:18px;height:18px;border-radius:50%;background:#16A34A;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;flex:0 0 auto}
.dw-sync .line img{width:22px;height:22px;flex:0 0 auto}
.dw-copy{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;width:100%;background:#fff;border:1px solid #E8ECF4;border-radius:12px;font-weight:700;font-size:14px;color:#07123F;cursor:pointer}

/* ============================================================
   AGENDA — mais espaço pro calendário, texto maior nos eventos
   ============================================================ */
.agenda-grid{grid-template-columns:minmax(0,1fr) 300px;gap:18px}
.cal-cell{padding:7px}
.cal-event{padding:7px 9px}
.cal-event .ev-title{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:13px;line-height:1.2}
.cal-event .ev-name{overflow-wrap:break-word;hyphens:manual}
.cal-event .subject-icon{--size:22px}
.cal-event .ev-child{font-size:12px;margin-top:2px}
.cal-event .ev-status{font-size:12px;margin-top:3px}
.cal-daynum{font-size:14px}
@media(max-width:1180px){ .agenda-grid{grid-template-columns:1fr} }

/* ============================================================
   CalendarSyncCard (horizontal) — 3 estados
   ============================================================ */
.rv-sync2{background:#fff;border:1px solid #E8ECF4;border-radius:24px;box-shadow:0 8px 22px rgba(17,26,77,.055);
  padding:28px;display:grid;grid-template-columns:72px 1fr 300px;gap:24px;align-items:center;margin-top:24px}
.rv-sync2 .s-ic{width:56px;height:56px;border-radius:999px;display:grid;place-items:center}
.rv-sync2 .s-ic svg{width:26px;height:26px}
.rv-sync2 h3{font-size:18px;font-weight:800;color:#07123F;margin:0 0 6px;line-height:1.2}
.rv-sync2 .s-desc{font-size:15px;font-weight:500;color:#34405F;line-height:1.5;margin:0 0 14px;max-width:520px}
.rv-sync2 .s-meta{display:flex;gap:22px;flex-wrap:wrap}
.rv-sync2 .s-meta .m{display:flex;align-items:center;gap:8px;font-size:14px;color:#667085;font-weight:500}
.rv-sync2 .s-meta .m .i{width:18px;height:18px;background:#98A2B3}
.rv-sync2 .s-plabel{font-size:14px;font-weight:700;color:#07123F;margin:0 0 8px}
.rv-sync2 .s-prov{display:flex;align-items:center;gap:12px;height:34px;font-size:14px;font-weight:600;color:#07123F}
.rv-sync2 .s-prov img{width:24px;height:24px;object-fit:contain;flex:0 0 auto}
.rv-sync2 .s-prov .ck{margin-left:auto;display:inline-flex}
.rv-sync2 .s-btn{height:44px;border-radius:12px;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;cursor:pointer;border:1px solid #0FA35B;background:#fff;color:#0FA35B;font-family:inherit}
.rv-sync2 .s-btn:hover{background:#F3FCF8}
.rv-sync2 .s-btn[disabled]{background:#F8FAFC;border-color:#E8ECF4;color:#B8C0D4;cursor:not-allowed}
.rv-sync2 .s-ics{display:block;text-align:center;margin-top:10px;font-size:13px;color:#667085;font-weight:600;cursor:pointer}
.rv-sync2 .s-ics:hover{color:#07123F}
/* ============================================================
   CalendarSyncCard — 3 colunas de distribuição (feedback)
   [ícone] · IDENTIDADE (título+descrição) · PROVEDORES (lista) ·
   AÇÃO (metadados+botão+.ics). Usa a horizontal toda, sem empilhar.
   ============================================================ */
.rv-sync2{padding:28px 32px;grid-template-columns:72px minmax(200px,1fr) auto max-content;
  gap:32px;align-items:center}
.rv-sync2 h3{font-size:22px;margin-bottom:6px}
.rv-sync2 .s-desc{font-size:16px;line-height:1.45;max-width:none;margin:0}
/* col 3 — provedores em lista vertical */
.rv-sync2 .s-provs{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.rv-sync2 .s-plabel{font-size:14px;font-weight:700;color:#07123F;margin:0 0 2px}
.rv-sync2 .s-prov{display:inline-flex;align-items:center;gap:10px;height:auto;font-size:16px;font-weight:700;color:#07123F;white-space:nowrap}
.rv-sync2 .s-prov img{width:22px;height:22px}
.rv-sync2 .s-prov .ck{margin-left:6px;display:inline-flex}
/* col 4 — ação: metadados + botão + .ics */
.rv-sync2 .s-right{display:flex;flex-direction:column;align-items:center}
.rv-sync2 .s-meta{display:block;font-size:13px;line-height:1.5;color:#8A94AD;font-weight:600;margin:0 0 12px;text-align:center}
.rv-sync2 .s-btn{height:48px;width:auto;padding:0 24px;font-size:16px;border-radius:14px;margin-top:0;white-space:nowrap}
.rv-sync2 .s-ics{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;color:#8A94AD;font-weight:600;margin-top:10px;text-align:center}
.rv-sync2 .s-ics svg{width:15px;height:15px;flex:0 0 auto}
/* colapso: ≤1180px vira 2 colunas; ≤760px empilha tudo */
@media(max-width:1180px){
  .rv-sync2{grid-template-columns:56px 1fr;gap:18px 22px;align-items:start}
  .rv-sync2 .s-ic{display:grid}
  .rv-sync2 .s-provs{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px}
  .rv-sync2 .s-right{grid-column:1 / -1;align-items:stretch;padding-top:16px;border-top:1px solid #E8ECF4}
  .rv-sync2 .s-meta{text-align:left}
}
@media(max-width:760px){
  .rv-sync2{grid-template-columns:1fr}
  .rv-sync2 .s-ic{display:none}
}

/* ícones extra — Configurações (Tabler) */
.i-settings{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.325%204.317c.426%20-1.756%202.924%20-1.756%203.35%200a1.724%201.724%200%200%200%202.573%201.066c1.543%20-.94%203.31%20.826%202.37%202.37a1.724%201.724%200%200%200%201.065%202.572c1.756%20.426%201.756%202.924%200%203.35a1.724%201.724%200%200%200%20-1.066%202.573c.94%201.543%20-.826%203.31%20-2.37%202.37a1.724%201.724%200%200%200%20-2.572%201.065c-.426%201.756%20-2.924%201.756%20-3.35%200a1.724%201.724%200%200%200%20-2.573%20-1.066c-1.543%20.94%20-3.31%20-.826%20-2.37%20-2.37a1.724%201.724%200%200%200%20-1.065%20-2.572c-1.756%20-.426%20-1.756%20-2.924%200%20-3.35a1.724%201.724%200%200%200%201.066%20-2.573c-.94%20-1.543%20.826%20-3.31%202.37%20-2.37c1%20.608%202.296%20.07%202.572%20-1.065%22/%3E%3Cpath%20d%3D%22M9%2012a3%203%200%201%200%206%200a3%203%200%200%200%20-6%200%22/%3E%3C/svg%3E")}
.i-lock{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2013a2%202%200%200%201%202%20-2h10a2%202%200%200%201%202%202v6a2%202%200%200%201%20-2%202h-10a2%202%200%200%201%20-2%20-2v-6%22/%3E%3Cpath%20d%3D%22M11%2016a1%201%200%201%200%202%200a1%201%200%200%200%20-2%200%22/%3E%3Cpath%20d%3D%22M8%2011v-4a4%204%200%201%201%208%200v4%22/%3E%3C/svg%3E")}
.i-shield{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203a12%2012%200%200%200%208.5%203a12%2012%200%200%201%20-8.5%2015a12%2012%200%200%201%20-8.5%20-15a12%2012%200%200%200%208.5%20-3%22/%3E%3Cpath%20d%3D%22M11%2011a1%201%200%201%200%202%200a1%201%200%201%200%20-2%200%22/%3E%3Cpath%20d%3D%22M12%2012l0%202.5%22/%3E%3C/svg%3E")}
.i-device{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%205a1%201%200%200%201%201%20-1h16a1%201%200%200%201%201%201v10a1%201%200%200%201%20-1%201h-16a1%201%200%200%201%20-1%20-1v-10%22/%3E%3Cpath%20d%3D%22M7%2020h10%22/%3E%3Cpath%20d%3D%22M9%2016v4%22/%3E%3Cpath%20d%3D%22M15%2016v4%22/%3E%3C/svg%3E")}
.i-dbexport{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206c0%201.657%203.582%203%208%203s8%20-1.343%208%20-3s-3.582%20-3%20-8%20-3s-8%201.343%20-8%203%22/%3E%3Cpath%20d%3D%22M4%206v6c0%201.657%203.582%203%208%203c1.118%200%202.183%20-.086%203.15%20-.241%22/%3E%3Cpath%20d%3D%22M20%2012v-6%22/%3E%3Cpath%20d%3D%22M4%2012v6c0%201.657%203.582%203%208%203c.157%200%20.312%20-.002%20.466%20-.005%22/%3E%3Cpath%20d%3D%22M16%2019h6%22/%3E%3Cpath%20d%3D%22M19%2016l3%203l-3%203%22/%3E%3C/svg%3E")}
.i-trash{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207l16%200%22/%3E%3Cpath%20d%3D%22M10%2011l0%206%22/%3E%3Cpath%20d%3D%22M14%2011l0%206%22/%3E%3Cpath%20d%3D%22M5%207l1%2012a2%202%200%200%200%202%202h8a2%202%200%200%200%202%20-2l1%20-12%22/%3E%3Cpath%20d%3D%22M9%207v-3a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v3%22/%3E%3C/svg%3E")}
.i-camera{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%207h1a2%202%200%200%200%202%20-2a1%201%200%200%201%201%20-1h6a1%201%200%200%201%201%201a2%202%200%200%200%202%202h1a2%202%200%200%201%202%202v9a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2v-9a2%202%200%200%201%202%20-2%22/%3E%3Cpath%20d%3D%22M9%2013a3%203%200%201%200%206%200a3%203%200%200%200%20-6%200%22/%3E%3C/svg%3E")}
.i-school{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%209l-10%20-4l-10%204l10%204l10%20-4v6%22/%3E%3Cpath%20d%3D%22M6%2010.6v5.4a6%203%200%200%200%2012%200v-5.4%22/%3E%3C/svg%3E")}
.i-chevron-r{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%206l6%206l-6%206%22/%3E%3C/svg%3E")}

.i-mail{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v10a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2v-10%22/%3E%3Cpath%20d%3D%22M3%207l9%206l9%20-6%22/%3E%3C/svg%3E")}
.i-phone{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%204h4l2%205l-2.5%201.5a11%2011%200%200%200%205%205l1.5%20-2.5l5%202v4a2%202%200%200%201%20-2%202a16%2016%200%200%201%20-15%20-15a2%202%200%200%201%202%20-2%22/%3E%3C/svg%3E")}

.i-church{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021l18%200%22/%3E%3Cpath%20d%3D%22M10%2021v-4a2%202%200%200%201%204%200v4%22/%3E%3Cpath%20d%3D%22M10%205l4%200%22/%3E%3Cpath%20d%3D%22M12%203l0%205%22/%3E%3Cpath%20d%3D%22M6%2021v-7m-2%202l8%20-8l8%208m-2%20-2v7%22/%3E%3C/svg%3E")}
.i-bookmark{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%207v14l-6%20-4l-6%204v-14a4%204%200%200%201%204%20-4h4a4%204%200%200%201%204%204%22/%3E%3C/svg%3E")}
.i-clock2{--mi:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22/%3E%3Cpath%20d%3D%22M12%207v5l3%203%22/%3E%3C/svg%3E")}

/* ============================================================================
   ACESSIBILIDADE POR NECESSIDADE — camada de apresentação (classes no <body>)
   Aplicada por window.rvApplyNeeds(perfil) lendo profiles.needs. 0 token.
   ============================================================================ */
/* Baixa visão: texto maior, mais contraste, alvos maiores, mais respiro */
body.rv-baixavisao{ --muted:#3A4256; }                 /* secundário mais escuro = contraste */
body.rv-baixavisao .st-q{ font-size:23px; line-height:1.58; }
body.rv-baixavisao .st-opt{ font-size:18px; padding:17px 16px; }
body.rv-baixavisao .st-bn, body.rv-baixavisao .st-th b{ font-size:18px; }
body.rv-baixavisao .st-self button{ font-size:17px; }
body.rv-baixavisao .jr-node b, body.rv-baixavisao .jr-ch b{ font-size:17px; }
body.rv-baixavisao .st-fb{ font-size:16px; line-height:1.6; }

/* Dislexia: espaçamento generoso, alinhado à esquerda, linha curta */
body.rv-dislexia .st-q, body.rv-dislexia .st-opt, body.rv-dislexia .st-fb,
body.rv-dislexia .st-ta, body.rv-dislexia .jr-desc{
  letter-spacing:.035em; word-spacing:.11em; line-height:1.85; text-align:left;
}
body.rv-dislexia .st-q, body.rv-dislexia .st-fb{ max-width:60ch; }

/* TDAH / Autismo: menos estímulo — sem animação, sombra suave, foco calmo */
body.rv-calm *, body.rv-calm *::before, body.rv-calm *::after{ animation:none !important; transition:none !important; }
body.rv-calm .st-card{ box-shadow:0 2px 8px rgba(15,23,42,.05); }

/* Selo discreto de que a adaptação está ativa (some se nada aplicado) */
body.rv-a11y .rv-a11y-tag{ display:inline-flex; }
.rv-a11y-tag{ display:none; align-items:center; gap:5px; font-size:11px; font-weight:800;
  color:#6C63FF; background:#F0EEFF; border-radius:99px; padding:3px 9px; }
