/* 01 · Design tokens e fundamentos */
:root{--bg:#f7f7f3;--panel:#fff;--ink:#1d2924;--muted:#526358;--soft:#ecf0eb;--line:#e5e9e2;--accent:#275b4a;--accent-deep:#153f32;--gold:#c7aa76;--shadow:0 12px 45px rgba(27,46,37,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{opacity:.87}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}svg{vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em}h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.15;font-weight:620}h2{font-size:1.42rem;line-height:1.27;font-weight:620}h3{font-size:1.06rem;letter-spacing:-.02em;line-height:1.4}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-weight:730;letter-spacing:.18em;color:#526358;font-size:.68rem;line-height:1.5;margin-bottom:14px}.eyebrow.light{color:#d3dcd1}.icon{flex-shrink:0}
/* 02 · Marca e identidade */
.brand-seal{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid rgba(44,86,66,.32);color:var(--accent);border-radius:13px;font:italic 27px Georgia,"Times New Roman",serif;box-shadow:inset 0 0 0 4px rgba(38,91,72,.03)}.wordmark,.auth-brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:800;letter-spacing:.21em;line-height:1.05;white-space:nowrap}.wordmark small,.auth-brand small{display:block;margin-top:8px;font-size:8.5px;letter-spacing:.2em;font-weight:620;color:#526358}
/* 03 · Estrutura e navegação */
.app-shell{display:flex;min-height:100vh}.sidebar{width:264px;padding:38px 20px 21px 24px;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;flex:none}.sidebar .wordmark{margin:0 6px 66px}.sidebar-section{font-size:10px;font-weight:720;letter-spacing:.12em;color:#526358;margin:0 12px 17px}.sidebar-section.second{margin-top:37px}.nav-link{display:flex;gap:13px;align-items:center;padding:13px 14px;margin-bottom:6px;border-radius:12px;color:#526358;font-size:13px;font-weight:560;transition:.15s ease}.nav-link:hover{background:#f4f6f1;opacity:1}.nav-link.on{background:#edf2eb;color:#214d3d;font-weight:720}.nav-link.on .icon{stroke-width:2}.sidebar-bottom{margin-top:auto}.side-user{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.avatar,.record-avatar{width:43px;height:43px;border-radius:50%;background:#deebe1;color:#2f644e;display:flex;align-items:center;justify-content:center;font-weight:740;flex-shrink:0}.avatar.small{width:35px;height:35px}.user-info{min-width:0}.user-info strong{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.user-info span{color:var(--muted);display:block;font-size:10px;line-height:1.7}.logout-btn{margin:15px 0 0 4px;border:0;background:transparent;color:#718076;display:flex;align-items:center;gap:8px;font-size:12px;padding:8px;transition:.2s}.logout-btn:hover{color:#b44b4b}
/* 04 · Conteúdo e páginas */
.app-main{min-width:0;flex:1;display:flex;flex-direction:column}.main-content{max-width:1430px;width:100%;margin:0 auto;padding:54px clamp(24px,4.7vw,75px) 80px;flex:1}.footer{font-size:11px;color:#929e95;text-align:center;padding:20px;border-top:1px solid #ebeee8}.mobile-top,.mobile-nav{display:none}.page-heading{margin:0 0 35px;max-width:850px}.page-heading h1{margin-bottom:13px}.page-heading p{color:var(--muted);line-height:1.7;max-width:725px;margin-bottom:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:43px 0 21px}.section-head h2{margin:0;font-size:1.46rem}.section-head .eyebrow{margin-bottom:6px}.section-head.more-space{margin-top:55px}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:13px;font-weight:740}.welcome-panel{background:linear-gradient(115deg,#1f4f3e,#284e42 60%,#345c4b);border-radius:22px;position:relative;overflow:hidden;display:flex;align-items:center;padding:clamp(35px,5vw,70px);min-height:290px;color:#fff}.welcome-panel>div:first-child{position:relative;z-index:1;max-width:575px}.welcome-panel h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(1.9rem,3.2vw,2.9rem);letter-spacing:-.035em;line-height:1.16;margin-bottom:16px}.welcome-panel p{max-width:520px;font-size:14px;color:#d8e6da;line-height:1.72;margin-bottom:24px}.welcome-decoration{position:absolute;inset:0 0 0 auto;width:49%;pointer-events:none;opacity:.84}.welcome-decoration span{border:1px solid rgba(225,220,183,.29);border-radius:50%;position:absolute;top:50%;left:57%;transform:translate(-50%,-50%)}.welcome-decoration span:nth-child(1){width:240px;height:240px}.welcome-decoration span:nth-child(2){width:360px;height:360px}.welcome-decoration span:nth-child(3){width:500px;height:500px}.welcome-decoration:after{content:"✦";position:absolute;top:34%;left:48%;font-family:Georgia,serif;font-size:97px;color:#c5b995;opacity:.58}
/* 05 · Ações e botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;border:1px solid transparent;border-radius:11px;font-size:13px;line-height:1.4;font-weight:680;min-height:45px;transition:.16s ease;text-align:center}.btn:hover{transform:translateY(-1px);opacity:1}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#1c493b}.btn-inverse{background:#fafbf6;color:#21503f}.btn-outline{background:white;border-color:#d3dfd3;color:var(--accent)}.btn-outline:hover{background:#f6f9f4}
/* 06 · Catálogo e cartões */
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.course-card{min-width:0;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}.course-card:hover{transform:translateY(-3px);box-shadow:0 15px 36px #2b4c3215}.course-art{height:170px;position:relative;overflow:hidden;isolation:isolate;color:#6d6857;background:#e9e8dd}.art-ideas{background:linear-gradient(125deg,#e8e5d6,#c6d4c6);color:#617664}.art-ethics{background:linear-gradient(130deg,#e4e7df,#bfcfca);color:#607d75}.art-history{background:linear-gradient(130deg,#e9e1d3,#c8c4b4);color:#857b61}.art-culture{background:linear-gradient(130deg,#e9dde1,#d6c4c9);color:#946e81}.art-research{background:linear-gradient(130deg,#dfe7e4,#b6c9c9);color:#58838c}.art-nature{background:linear-gradient(130deg,#e0eadf,#b6d0b5);color:#4f835f}.art-rings{position:absolute;inset:0;z-index:0}.art-rings span{position:absolute;width:190px;height:190px;border-radius:50%;border:1px solid currentColor;opacity:.3;top:50%;left:50%;transform:translate(-50%,-50%)}.art-rings span:nth-child(2){width:285px;height:285px;opacity:.23}.art-rings span:nth-child(3){width:400px;height:400px;opacity:.13}.art-symbol{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);font:normal 95px Georgia,serif;opacity:.65;line-height:1}.art-caption{position:absolute;bottom:17px;left:20px;font-size:9px;letter-spacing:.13em;font-weight:750;opacity:.68}.course-info{padding:20px 21px 17px}.course-state{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:19px;font-size:11px}.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:730;background:#edf3ea;color:#4c725b;white-space:nowrap}.course-info h3{font-size:18px;margin-bottom:9px;font-weight:720;letter-spacing:-.035em}.course-info p{color:#758179;font-size:12.5px;line-height:1.65;min-height:61px;max-height:82px;overflow:hidden;margin-bottom:19px}.card-footer{border-top:1px solid #edf0ea;display:flex;align-items:center;justify-content:space-between;padding-top:14px;color:#536a5b;font-size:11px;font-weight:650}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feature-item{background:white;border:1px solid var(--line);padding:23px;border-radius:16px}.feature-item .icon{color:#567966;margin-bottom:12px}.feature-item h3{font-size:15px;margin-bottom:6px}.feature-item p{font-size:12px;color:var(--muted);margin-bottom:15px}.feature-item span{font-size:10px;font-weight:740;color:#6d8a73;letter-spacing:.06em}
/* 07 · Formulários, gestão e utilitários */
.content-two{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.3fr);gap:24px;align-items:start}.surface{background:#fff;border:1px solid var(--line);border-radius:17px;padding:25px;box-shadow:var(--shadow);margin-bottom:20px}.surface h2{font-size:18px;letter-spacing:-.03em;margin-bottom:18px}.surface p.muted{font-size:13px;line-height:1.75}.profile-cover{height:105px;background:linear-gradient(130deg,#dfe9da,#c6d6ca);border-radius:12px;position:relative;margin-bottom:43px}.profile-avatar{position:absolute;left:18px;bottom:-30px;width:63px;height:63px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:4px solid white;background:#426b54;color:white;font-size:23px;font-weight:750}.surface .role-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.profile-note{color:#91a094;font-size:12px;margin:30px 0 0}.form-stack{display:flex;flex-direction:column;gap:17px}.form-stack label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#4c5c51;font-weight:710}.form-stack input,.form-stack textarea,.form-stack select{display:block;width:100%;border:1px solid #dce4dd;background:#fff;border-radius:9px;min-height:44px;padding:11px 12px;outline:none;color:#26362b;font-size:13px;font-weight:450;transition:.2s}.form-stack textarea{min-height:88px;resize:vertical}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{border-color:#5d9178;box-shadow:0 0 0 3px #edf4ed}.form-stack input::placeholder,.form-stack textarea::placeholder{color:#a6ada7}.form-stack .hint{color:#9aa59c;font-size:10px;font-weight:450}.form-stack .btn{align-self:flex-start}.form-stack .btn-primary{min-width:145px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.section-divider{border-top:1px solid var(--line);margin:5px 0;padding-top:14px;color:#829587;font-weight:710;font-size:12px}.checkbox-group{border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:10px}.checkbox-group legend{font-weight:710;font-size:12px;padding:0 6px}.form-stack .checkline{display:flex;align-items:center;flex-direction:row;gap:9px;color:var(--ink);font-size:12px;font-weight:540}.form-stack .checkline input{width:16px;height:16px;min-height:0;accent-color:var(--accent)}.narrow-section{max-width:665px;margin-top:20px}.footnote{color:#94a098;font-size:11px;line-height:1.65;margin:12px 0 0}.notice{padding:12px 16px;border-radius:10px;border:1px solid #d8e7d8;background:#edf8ed;color:#326b40;margin-bottom:22px;font-size:12.5px}.notice-error{color:#974d45;border-color:#edd2c9;background:#fff1ed}.record{display:flex;gap:12px;padding:13px 0;border-top:1px solid var(--line);align-items:center}.record strong{font-size:13px;display:block}.record small{display:block;color:var(--muted);font-size:11px;line-height:1.8}.record-avatar{width:40px;height:40px;font-size:14px}.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.manage-card{margin-bottom:0}.course-mini{display:flex;align-items:center;gap:12px;margin-bottom:20px}.course-mini strong{display:block;font-size:14px}.course-mini small{display:block;color:var(--muted)}.mini-dot{width:41px;height:41px;border-radius:12px;flex-shrink:0}.empty{padding:40px;background:#fff;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}
.auth-page{min-height:100vh;background:#f5f6f2}.auth-split{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-story{position:relative;background:linear-gradient(125deg,#153c32,#2b5b46);padding:55px clamp(35px,7vw,100px);color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.auth-story:before,.auth-story:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(234,223,173,.16);width:550px;height:550px;right:-245px;top:16%}.auth-story:after{width:370px;height:370px;right:-155px;top:30%}.auth-story .auth-brand{position:relative;z-index:1}.auth-story .brand-seal{color:#e5debd;border-color:#899e88}.auth-story .auth-brand small{color:#d0d7c8}.auth-story-inner{z-index:1;max-width:580px}.auth-story-inner h1{font:400 clamp(2.8rem,5.3vw,5.6rem)/1.06 Georgia,"Times New Roman",serif;letter-spacing:-.055em;margin-bottom:25px}.auth-story-inner>p{font-size:15px;color:#d0e0d1;max-width:430px;line-height:1.85}.story-line{display:flex;gap:26px;color:#dfebd8;font-size:11px;font-weight:740;letter-spacing:.12em;margin-top:45px}.story-line span+span:before{content:"•";color:#d1c3a0;margin-right:26px}.auth-story-foot{font-size:11px;letter-spacing:.1em;color:#b8d1be;z-index:1}.auth-form-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 34px}.auth-form-panel{max-width:412px;width:100%}.auth-form-panel h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:13px}.auth-form-panel>p{margin:0 0 30px;line-height:1.7;font-size:13px}.auth-form-panel .form-stack .btn{width:100%;justify-content:space-between;margin-top:7px;padding:15px 19px}.auth-form-panel .footnote{margin-top:27px}.auth-footer{font-size:11px;color:#94a095;margin-top:65px}.auth-panel{background:#fff;border:1px solid #e3e7e0;box-shadow:var(--shadow);border-radius:19px;padding:35px;width:min(650px,100%)}.auth-panel.narrow{width:min(470px,calc(100% - 32px));margin:auto}.auth-panel.narrow .auth-brand{margin-bottom:35px}.auth-panel h1{font-size:34px}.auth-panel p{font-size:13px}.setup-shell{width:min(760px,calc(100% - 32px));margin:0 auto;padding:48px 0}.setup-shell>.auth-brand{margin:0 0 35px}.setup-shell .auth-panel{width:100%}.setup-shell .form-stack .btn{align-self:stretch;margin-top:6px}
@media(min-width:1500px){.course-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.sidebar{width:225px;padding-left:16px}.main-content{padding:38px 29px 70px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manage-grid{grid-template-columns:1fr}}
@media(max-width:760px){body{font-size:14px}.sidebar{display:none}.mobile-top{height:65px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-bottom:1px solid var(--line);background:#fff}.mobile-top .brand-seal{width:32px;height:32px;border-radius:10px;font-size:24px}.mobile-top .wordmark{font-size:14px}.mobile-nav{display:flex;position:fixed;z-index:50;bottom:0;left:0;right:0;min-height:67px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.96);border-top:1px solid var(--line);justify-content:space-around;align-items:center;box-shadow:0 -8px 25px #00000008}.mobile-nav a{display:flex;flex-direction:column;gap:4px;align-items:center;color:#6a756c;font-size:10px;min-width:55px}.main-content{padding:32px 18px 110px}.footer{padding-bottom:89px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:32px}.welcome-panel{min-height:0;padding:31px 25px}.welcome-panel h2{font-size:28px}.welcome-decoration{opacity:.23}.section-head{margin-top:34px}.course-grid{grid-template-columns:1fr;gap:16px}.course-art{height:165px}.features-grid{grid-template-columns:1fr;gap:12px}.content-two{grid-template-columns:1fr;gap:0}.surface{padding:19px}.manage-grid{grid-template-columns:1fr}.auth-split{grid-template-columns:1fr}.auth-story{min-height:280px;padding:28px 30px}.auth-story-inner h1{font-size:35px;margin-bottom:10px}.auth-story-inner>p{font-size:12px;margin-bottom:0}.auth-story-foot,.story-line{display:none}.auth-form-wrap{padding:39px 25px}.auth-footer{margin-top:40px}.form-grid.two{grid-template-columns:1fr}.setup-shell{padding:25px 0}}
@media(min-width:761px) and (max-width:900px){.content-two{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* ESTUDO 1.1 — convites pessoais e detalhes do catálogo */
.invite-print-card{max-width:900px;border:1px solid #d6e1d6;background:linear-gradient(135deg,#fff,#f5f8f4);padding:28px 30px}.invite-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.invite-head h2{font:normal clamp(1.5rem,3vw,2.2rem)/1.12 Georgia,serif;margin:0 0 6px}.invite-present{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:24px 0}.invite-description strong{display:block;font-size:1.3rem}.invite-description p{font-size:13px}.invite-qr{width:230px;height:230px;background:#fff;padding:10px;border:1px solid var(--line);border-radius:12px;flex:none;display:grid;place-items:center}.invite-qr svg{width:100%;height:100%;display:block}.invite-url-label{display:block;font-size:12px;font-weight:700;color:#596b60}.invite-url-input{margin-top:8px;display:block;width:100%;padding:12px;border:1px solid #d9e2da;background:white;border-radius:9px;color:#264c3a;font-size:12px}.invite-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.invite-tip{padding:13px;border:1px solid #e2e9df;background:#f6f8f4;border-radius:10px;color:#6d7e71;font-size:12px}.invite-grid{margin-top:21px}.invite-record{border-top:1px solid var(--line);padding:13px 0;display:flex;gap:12px;justify-content:space-between;align-items:center}.invite-record-info{min-width:0;overflow-wrap:anywhere}.invite-record-info strong{font-size:13px;display:block}.invite-record-info small{display:block;color:var(--muted);font-size:11px;line-height:1.8}.invite-record-actions{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.pill-neutral{color:#68736b;background:#f1f2ed}.link-danger{border:0;background:transparent;color:#a65048;font-size:11px;text-decoration:underline;padding:4px}.course-card .card-footer:hover{text-decoration:underline}.course-detail{display:grid;grid-template-columns:minmax(245px,.85fr) minmax(330px,1.15fr);gap:24px;align-items:start;max-width:1020px}.course-detail>.course-art{border-radius:18px;height:360px}.course-detail .surface{height:100%;min-height:360px}.course-detail .surface p{font-size:14px;line-height:1.8}.course-summary{display:flex;gap:22px;margin:25px 0;color:var(--muted);font-size:12px}.course-summary span{display:flex;gap:7px;align-items:center}
@media(max-width:760px){.invite-present{flex-direction:column;align-items:flex-start}.invite-qr{width:220px;height:220px}.invite-print-card{padding:20px}.course-detail{grid-template-columns:1fr}.course-detail>.course-art{height:200px}.course-detail .surface{min-height:auto}}
@media print{.sidebar,.mobile-top,.mobile-nav,.footer,.page-heading,.invite-grid,.invite-actions,.no-print,.notice,.nav-link{display:none!important}.app-shell,.app-main,.main-content{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.invite-print-card{display:block!important;margin:0 auto!important;border:1px solid #ccc!important;box-shadow:none!important;width:175mm!important;max-width:none!important}.invite-qr{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:#fff!important}}
/* ESTUDO 1.2 — aprendizagem e gestão acadêmica */
.learning-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px}.learning-actions form{margin:0}.learning-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.learning-head h2{margin-bottom:6px}.learning-head p{font-size:12px;margin-bottom:0}.learning-module{margin-top:23px}.learning-module .learning-head{margin-bottom:17px}.learning-subtitle{font-size:14px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px;margin-bottom:15px}.learning-compact-form{max-width:650px;margin:15px 0 25px;padding:18px;background:#f8faf7;border:1px solid var(--line);border-radius:12px}.learning-item{border:1px solid var(--line);border-radius:10px;margin:8px 0;background:#fff;overflow:hidden}.learning-item summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 17px;list-style:none;font-size:13px}.learning-item summary::-webkit-details-marker{display:none}.learning-item summary strong{font-weight:600}.learning-item summary span{white-space:nowrap;font-size:11px}.learning-detail{padding:18px;border-top:1px solid var(--line);background:#fafbf9}.learning-detail .form-stack{max-width:730px;margin-bottom:15px}.learning-new{border:1px dashed #bbcebe;border-radius:10px;margin:13px 0 25px}.learning-new>summary{list-style:none;padding:13px 16px;color:var(--accent);font-size:13px;font-weight:650;cursor:pointer}.learning-new[open]{padding-bottom:20px}.learning-new>.form-stack{padding:8px 17px;max-width:740px}.learning-danger{border:0;background:none;color:#ae655d;font-size:12px;text-decoration:underline;padding:8px 0}.learning-options p{font-size:12px;margin-bottom:5px}.learning-roster-item{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.learning-roster-item strong{font-size:13px}.learning-roster-item small{display:block;color:var(--muted);font-size:11px}.learning-progress{background:#edf0eb;display:block;width:100%;height:9px;border-radius:20px;overflow:hidden;margin:12px 0 5px}.learning-progress>span{display:block;height:100%;background:#59856b;border-radius:20px}.learning-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.learning-small-card{padding:23px;display:block}.learning-small-card strong,.learning-small-card .muted{display:block;font-size:13px}.learning-small-card .muted{font-size:12px;margin:7px 0}.learning-outline{max-width:980px}.learning-step{border-bottom:1px solid var(--line);padding:16px 0;display:flex;gap:13px;align-items:center;font-size:13px}.learning-step>span:nth-child(2),.learning-step>div{flex:1;min-width:0}.learning-step small{color:var(--muted);font-size:11px;display:block}.learning-step>small{margin-left:auto}.learning-reader{max-width:960px}.lesson-body{white-space:normal;font-size:17px;line-height:1.95;color:#2b392f;max-width:75ch;margin:27px 0 35px;overflow-wrap:anywhere}.learning-question{border:0;border-top:1px solid var(--line);padding:24px 0;margin:0}.learning-question legend{font-size:15px;font-weight:650;padding-top:18px}.form-stack .learning-choice{display:flex;flex-direction:row;align-items:center;gap:12px;background:#fafbf8;border:1px solid var(--line);padding:12px 14px;border-radius:10px;margin-top:9px;font-size:13px;cursor:pointer}.form-stack .learning-choice input{width:16px;min-height:0;height:16px;flex:none;accent-color:var(--accent)}.learning-choice span{font-weight:450}.learning-choice strong{margin-right:5px}.course-detail .learning-progress{margin:14px 0}
@media(max-width:760px){.learning-head{flex-direction:column;align-items:stretch}.learning-mini-grid{grid-template-columns:1fr}.learning-step{flex-wrap:wrap}.learning-step .btn{margin-left:32px}.learning-item summary{align-items:flex-start}.learning-actions .btn{font-size:12px}}

.learning-meter{display:block;appearance:none;-webkit-appearance:none;width:100%;height:9px;border:none;border-radius:20px;overflow:hidden;background:#edf0eb;margin:12px 0 6px}.learning-meter::-webkit-progress-bar{background:#edf0eb;border-radius:20px}.learning-meter::-webkit-progress-value{background:#59856b;border-radius:20px}.learning-meter::-moz-progress-bar{background:#59856b;border-radius:20px}
.learning-step-locked{color:#87928a;background:#fafbf9;border-radius:9px;padding-left:10px;padding-right:10px}.learning-step-locked small{white-space:nowrap}.learning-step-locked .icon{opacity:.65}
/* ESTUDO 1.3 — tutoria com histórico preservado e interface adaptável */
.support-conversation{max-width:990px}
.support-conversation-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:18px}
.support-conversation-head .eyebrow{margin-bottom:6px}
.support-conversation-head h2{margin-bottom:7px}
.support-conversation-head .pill{flex:none;margin-top:6px}
.support-pending{background:#fff3d6;color:#785a20}
.support-messages{background:#f8faf7;border:1px solid var(--line);border-radius:14px;padding:18px;min-height:125px;max-height:650px;overflow-y:auto;display:flex;flex-direction:column;gap:15px;overscroll-behavior:contain}
.support-messages>.muted{margin:auto;text-align:center}
.support-bubble{border-radius:13px;padding:14px 17px;width:fit-content;max-width:min(88%,690px);border:1px solid #e1e8e0;background:white;overflow-wrap:anywhere}
.support-bubble.mine{align-self:flex-end;background:#eaf3ea;border-color:#d5e8d6}
.support-bubble.theirs{align-self:flex-start}
.support-message-info{display:flex;flex-wrap:wrap;gap:5px 14px;align-items:center;margin-bottom:7px;color:#496252;font-size:11px}
.support-message-info strong{font-weight:700}.support-message-info time{color:#6f8173;font-size:10px}
.support-text{font-size:14px;line-height:1.75;white-space:normal;color:#26372c}
.support-compose{border-top:1px solid var(--line);padding-top:20px;margin-top:23px}
.support-compose textarea{font-size:14px!important;line-height:1.6!important}
.support-form-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.support-form-actions .footnote{margin:0}
.support-footer{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:22px;font-size:12px}
.support-close{display:flex;justify-content:flex-end;margin-top:18px}
.support-queue-item{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:15px 2px;transition:background .15s}
.support-queue-item:hover{background:#f8faf7;opacity:1}.support-queue-item strong{display:block;font-size:14px;font-weight:650;overflow-wrap:anywhere}.support-queue-item small{display:block;margin-top:4px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.support-course-links{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}
.support-course-links .btn{font-size:12px}
.support-assignment{padding:13px 0;border-top:1px solid var(--line);display:flex;gap:15px;align-items:center;justify-content:space-between}
.support-assignment strong,.support-assignment small{display:block}.support-assignment strong{font-size:13px}.support-assignment small{color:var(--muted);font-size:11px}
.support-guidance{font-size:12px;color:var(--muted);max-width:920px;margin:12px 0 20px;line-height:1.7}
@media(max-width:760px){.support-messages{padding:12px;max-height:560px}.support-bubble{max-width:96%;padding:12px}.support-message-info{display:block}.support-message-info time{display:block;margin-top:2px}.support-form-actions .btn{width:100%;justify-content:center}.support-conversation-head{flex-direction:column}.support-conversation-head .pill{margin-top:0}.support-queue-item{gap:9px}.support-close .btn{width:100%}.support-assignment{align-items:flex-start;flex-direction:column}.support-assignment form{align-self:flex-end}.mobile-nav a{min-width:48px}}

/* ESTUDO 1.4 — certificados */
.cert-row{padding:18px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
.cert-row strong{display:block;overflow-wrap:anywhere;font-size:14px}.cert-row small{display:block;color:var(--muted);margin-top:5px;font-size:11px;overflow-wrap:anywhere}
.cert-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cert-actions .btn{font-size:12px}.cert-revoke{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cert-revoke input{max-width:230px;font-size:12px!important;padding:9px!important}.cert-public-data p{border-top:1px solid var(--line);padding:12px 0;margin:0}.cert-public-data small{display:block;color:var(--muted)}.cert-public-data strong{display:block;font-size:16px;margin-top:5px}.cert-public-data{margin:20px 0}
@media(max-width:760px){.cert-row{align-items:flex-start;flex-direction:column;gap:10px}.cert-actions{width:100%}.cert-revoke input{max-width:100%;width:100%}.cert-revoke{width:100%}.cert-public-data strong{font-size:14px}}

/* ESTUDO 1.5 — painel de relatórios, sem bibliotecas externas */
.report-filter{padding:25px 28px}
.report-filter-title{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:12px;margin-bottom:19px}
.report-filter-title h2{margin-bottom:5px}.report-filter-title .muted{margin:0;max-width:620px}
.report-filter-grid{display:grid;grid-template-columns:minmax(190px,2fr) minmax(125px,1fr) minmax(125px,1fr) auto;gap:14px;align-items:end}
.report-filter-grid .btn{min-height:44px}.report-filter-grid label{min-width:0}
.report-filter-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:15px;font-size:12px}
.report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}
.report-kpi{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 23px;box-shadow:var(--shadow)}
.report-kpi>span{display:block;font-size:12px;font-weight:650;color:#677b6c;margin-bottom:6px}
.report-kpi>strong{display:block;font-size:clamp(26px,2.6vw,38px);line-height:1.2;font-weight:700;letter-spacing:-.05em;color:#24533e}
.report-kpi>small{display:block;color:#87958a;font-size:11px;margin-top:10px}
.report-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:20px}
.report-main-grid>.surface{min-width:0}
.report-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:19px}
.report-section-title h2{margin:0 0 5px}.report-section-title .muted{margin:0}.report-section-title .btn{font-size:12px;min-height:40px;padding:9px 14px}
.report-chart{height:226px;display:grid;grid-template-columns:repeat(12,minmax(33px,1fr));gap:5px;align-items:end;border-bottom:1px solid #e6ede6;padding:6px 0 0}
.report-month{display:flex;flex-direction:column;align-items:center;min-width:0;height:100%;gap:6px}
.report-month-count{font-size:10px;color:#536e5b;font-weight:660;line-height:1.4}
.report-bar-track{flex:1;display:flex;align-items:flex-end;justify-content:center;width:100%;background:linear-gradient(transparent 49.7%,#eff3ee 50%,transparent 50.3%);}
.report-bar{width:min(65%,32px);min-height:0;background:linear-gradient(180deg,#709f7d,#2b644d);border-radius:6px 6px 0 0;transition:height .2s}
.report-month-label{min-height:23px;font-size:9px;color:#78857b;text-align:center;white-space:nowrap}
.report-chart-surface>.footnote{margin:20px 0 0}
.report-definition{margin:0}
.report-definition>div{border-bottom:1px solid var(--line);padding:13px 0}
.report-definition>div:last-child{border:0}
.report-definition dt{font-size:12px;color:#2f5c44;font-weight:720}
.report-definition dd{font-size:11px;color:var(--muted);margin:3px 0 0;line-height:1.7}
.report-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;scrollbar-width:thin}
.report-table{border-collapse:collapse;width:100%;min-width:860px;font-size:12px;text-align:left}
.report-table th,.report-table td{padding:14px 13px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}
.report-table thead{background:#f8faf7}.report-table thead th{font-size:10px;color:#57705d;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;font-weight:730}
.report-table tbody tr:last-child td,.report-table tbody tr:last-child th{border-bottom:0}
.report-table tbody tr:nth-child(even){background:#fcfdfa}
.report-table tbody th{font-size:12px;font-weight:690;min-width:150px}
.report-table tbody th small,.report-table tbody td small{display:block;font-size:10px;color:#8b9a8c;margin-top:3px;font-weight:450}
.report-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.report-table .text-link{font-size:12px}.report-table .learning-meter{height:7px;margin:7px 0 5px}
.report-progress-label{font-weight:700;color:#315b45}
.report-pages{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:19px;color:var(--muted);font-size:12px}
.report-pages>div{display:flex;gap:8px}.report-pages .btn{min-height:38px;padding:8px 14px;font-size:11px}
.report-privacy-note{font-size:11px;color:#7f8f82;line-height:1.8;margin:4px 0 20px}
@media(max-width:1100px){.report-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-grid label:first-child{grid-column:span 3}.report-filter-grid .btn{grid-column:span 3}.report-main-grid{grid-template-columns:1fr}}
@media(max-width:760px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-kpi{padding:16px}.report-kpi>strong{font-size:27px}.report-filter{padding:18px}.report-filter-grid{display:flex;flex-direction:column;align-items:stretch}.report-filter-grid .btn{width:100%}.report-filter-bottom{align-items:flex-start;flex-direction:column}.report-chart{overflow-x:auto;grid-template-columns:repeat(12,minmax(30px,1fr))}.report-month-label{font-size:8px}.report-section-title .btn{width:100%}.mobile-nav{justify-content:flex-start;gap:16px;overflow-x:auto;scrollbar-width:thin;padding-left:14px;padding-right:14px}.mobile-nav a{flex:none;min-width:56px}}
@media print{.report-filter,.report-privacy-note,.report-section-title .btn,.report-pages{display:none!important}.report-scroll{overflow:visible!important}.report-table{min-width:0;font-size:9px}.report-kpi{break-inside:avoid}.report-main-grid{display:block}.report-chart{break-inside:avoid}}

/* ESTUDO 1.6 — comunicados e notificações */
.nav-notice-count,.mobile-notice-count{display:inline-flex;align-items:center;justify-content:center;flex:none;background:#c45136;color:#fff;min-width:20px;height:20px;padding:0 5px;border-radius:11px;font-size:10px;font-weight:800;line-height:1}
.nav-notice-count{margin-left:auto}.mobile-notice-count{position:absolute;top:0;right:0;transform:translate(35%,-15%)}
.mobile-nav a[href="comunicados.php"]{position:relative}
.notices-intro{display:flex;align-items:center;justify-content:space-between;gap:22px}
.notices-intro h2{margin-bottom:8px}.notices-intro p{margin:0;max-width:700px}.notices-intro form{flex:none}
.notices-manage{margin-bottom:16px}.notices-manage-row{display:flex;justify-content:space-between;align-items:start;gap:12px;border-top:1px solid var(--line);padding:14px 0;overflow-wrap:anywhere}
.notices-manage-row strong,.notices-manage-row small{display:block}.notices-manage-row strong{font-size:13px;line-height:1.55}.notices-manage-row small{font-size:11px;color:var(--muted);margin-top:5px}
.notices-manage-row form{flex:none}.notices-manage-row .btn{min-height:35px;padding:7px 11px;font-size:11px}
.notices-list{padding:6px 28px 18px}.notices-list>.muted{padding-top:20px}.notice-item{border-bottom:1px solid var(--line);padding:23px 0;overflow-wrap:anywhere}.notice-item:last-of-type{border-bottom:0}.notice-item-unread{border-left:3px solid #4f8f6d;padding-left:16px;margin-left:-18px}.notice-item-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.notice-item-head h3{font-size:16px;margin:7px 0 3px}.notice-item-head small{font-size:11px;color:var(--muted)}
.notice-category{font-size:10px;font-weight:760;letter-spacing:.06em;color:#477359;text-transform:uppercase}.notice-unread-label{background:#e3f3e5;border-radius:16px;padding:4px 9px;font-weight:750;font-size:10px;color:#276046;white-space:nowrap}.notices-read{font-size:11px}
.notice-message{white-space:normal;color:#34483a;font-size:13px;line-height:1.75;margin-top:14px}.notice-item>.muted{margin:10px 0 0;font-size:12px}.notice-item-action{margin-top:14px}.notice-item-action .btn{min-height:36px;padding:8px 14px;font-size:12px}
.notices-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}.notices-pagination .btn{font-size:12px}
@media(max-width:760px){.notices-intro{display:block}.notices-intro .btn{margin-top:18px}.notices-manage{display:block}.notices-list{padding:4px 19px 16px}.notice-item-unread{margin-left:-9px;padding-left:8px}.notice-item-head{align-items:start}.notice-item-head h3{font-size:15px}}

/* ESTUDO 1.7 — catálogo e matrícula espontânea */
.catalog-intro-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center;margin:0 0 22px}
.catalog-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 28px;padding:18px 21px}
.catalog-search>label{flex:1;min-width:230px;font-size:12px;font-weight:650}
.catalog-search input{display:block;width:100%;margin-top:5px}
.catalog-search>.btn{flex:none;min-height:46px}
.catalog-meta{display:flex;gap:8px;flex-wrap:wrap;color:#426851;font-size:11px;font-weight:600;margin:14px 0}
.catalog-meta>span{background:#edf4ec;border:1px solid #deeadc;border-radius:20px;padding:4px 9px}
.catalog-card-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-top:16px}
.catalog-card-actions>.btn,.catalog-card-actions form>.btn{min-height:40px;padding:8px 12px;font-size:12px}
.catalog-card-actions>form{margin:0;display:flex}
.catalog-mine-section{margin:25px 0 35px}
.catalog-mine-section .learning-small-card .text-link{display:inline-flex;gap:5px;align-items:center;font-size:12px;margin-top:11px}
.catalog-program{border-top:1px solid var(--line);margin:24px 0;padding:20px 0 0}
.catalog-program>h3{font-size:18px}
.catalog-program details,.catalog-outline{border-bottom:1px solid var(--line);padding:12px 0}
.catalog-program summary,.catalog-outline summary{cursor:pointer;font-weight:670;font-size:14px}
.catalog-program ul,.catalog-outline ul{margin:12px 0 4px;padding-left:22px;font-size:13px;color:#475d4f;line-height:1.9}
.catalog-public-page{background:#f7f7f3;min-height:100vh}
.catalog-public-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px max(24px,calc((100vw - 1200px)/2));background:white;border-bottom:1px solid var(--line)}
.catalog-public-header nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.catalog-public-header .btn{min-height:40px;padding:8px 14px;font-size:12px}
.catalog-public-main{width:min(1160px,calc(100% - 36px));margin:0 auto;padding:42px 0 76px}
.catalog-public-hero{max-width:820px;padding:25px 0 32px}
.catalog-public-hero h1{font-size:clamp(30px,4vw,56px);max-width:730px;line-height:1.12}
.catalog-public-hero p{max-width:680px;color:var(--muted);font-size:17px}
.catalog-public-detail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);align-items:start;gap:20px;margin:25px 0 32px}
.catalog-public-cta .btn,.catalog-public-cta form,.catalog-public-cta form>.btn{width:100%}
.catalog-public-cta .btn{display:flex;align-items:center;justify-content:center;gap:6px}
.catalog-public-cta .pill{display:block;width:max-content;margin:12px 0}
.catalog-public-footer{text-align:center;padding:25px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
.catalog-public-footer a{text-decoration:underline}
@media(max-width:760px){.catalog-public-header{padding:14px 16px}.catalog-public-header .wordmark{font-size:14px}.catalog-public-header .wordmark small{font-size:8px}.catalog-public-header nav>.btn{padding:8px 10px}.catalog-public-main{padding-top:24px}.catalog-public-detail{grid-template-columns:1fr}.catalog-search{padding:16px}.catalog-search>label,.catalog-search>.btn{width:100%}.catalog-card-actions .btn{flex:1;justify-content:center}.catalog-card-actions form{flex:1}.catalog-card-actions form>.btn{width:100%}}
.catalog-search input{background:#fff;border:1px solid #dce4dd;border-radius:9px;min-height:44px;padding:11px 12px;outline:none;color:#26362b;font-size:13px;font-weight:450}
.catalog-search input:focus{border-color:#5d9178;box-shadow:0 0 0 3px #edf4ed}
.catalog-public-page .catalog-search{margin-bottom:28px}
.catalog-public-cta>p:not(.footnote){color:#62776b;font-size:13px;line-height:1.7}
.catalog-pages{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:26px 0 15px;color:var(--muted);font-size:12px}
.catalog-pages>div{display:flex;gap:9px}
.catalog-pages .btn{min-height:39px;padding:8px 14px;font-size:12px}


/* ESTUDO 1.9 — painel pessoal e continuidade de estudos. */
.experience-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.experience-stats>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0}
.experience-stats strong{display:block;color:#275a43;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em;line-height:1.15}
.experience-stats span{display:block;margin-top:5px;color:#657769;font-size:12px}
.experience-feature{padding:27px 29px;margin-bottom:28px;border-left:4px solid #548765}
.experience-feature h2{font-size:clamp(21px,2.7vw,29px);overflow-wrap:anywhere;margin:8px 0}
.experience-next{font-size:13px;color:#4b6251;line-height:1.6;margin:12px 0}
.experience-next strong{font-weight:670}
.experience-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:15px 0 0}
.experience-actions a{max-width:100%}
.experience-cert-feature{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 27px}
.experience-cert-feature h2{margin:5px 0 9px;font-size:21px}
.experience-cert-feature p{margin:0}
.experience-cert-feature .btn{flex:none}
.experience-empty{margin-bottom:27px}.experience-empty h2{margin-bottom:8px}
.experience-course-card{padding:22px;min-width:0}
.experience-course-card .muted{display:block;font-size:12px;line-height:1.65;margin-top:8px}
.experience-card-top{display:flex;align-items:flex-start;flex-direction:column;gap:11px}
.experience-card-top strong{font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.experience-course-card .experience-actions{margin-top:18px}
.experience-course-card .experience-actions .btn{font-size:12px}
.experience-course-resume{margin-top:16px}
.experience-step{position:relative;min-width:0;gap:12px}
.experience-step.status-current{background:#eef5ee;border-radius:10px;padding-left:10px;padding-right:10px}
.experience-step.status-done .experience-state-label{color:#287043}
.experience-step.status-pending .experience-state-label,.experience-step.status-ready .experience-state-label{color:#6a5527}
.experience-state-label{display:inline-block;color:#68786c;font-size:11px;font-weight:700;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.mobile-continue{display:none}
@media(max-width:760px){
 .experience-stats{gap:7px;margin:15px 0 21px}
 .experience-stats>div{padding:14px 9px}
 .experience-stats strong{font-size:26px}
 .experience-stats span{font-size:10px}
 .experience-feature{padding:19px;border-left-width:3px}
 .experience-cert-feature{flex-direction:column;align-items:stretch}
 .experience-cert-feature .btn{width:100%;justify-content:center}
 .experience-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
 .experience-actions .btn,.experience-course-card .experience-actions .btn{display:flex;width:100%;justify-content:center;margin:0;min-height:42px;text-align:center}
 .experience-course-card{padding:18px}
 .experience-step .experience-state-label{margin-left:auto;text-align:right}
 .learning-step{align-items:flex-start}
 .mobile-continue{display:inline-flex;color:#245b3f;font-size:11px;font-weight:700;text-decoration:none;background:#eaf2e9;border-radius:15px;padding:7px 9px;margin-left:auto;margin-right:10px}
 .learning-reader{padding:19px 16px}
 .learning-reader .lesson-body{font-size:16px;line-height:1.8;margin:19px 0 25px}
 .learning-question{padding-top:15px}
 .learning-question legend{font-size:14px}
}


/* ESTUDO 2.0 — avaliações de qualidade dos cursos. */
.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px;margin-bottom:28px}
.review-card{padding:23px;min-width:0;scroll-margin-top:25px}
.review-card h2{font-size:19px;line-height:1.35;margin:12px 0 10px;overflow-wrap:anywhere}
.review-card p{font-size:13px;line-height:1.65}
.review-star-picker{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 20px;padding:0;border:0}
.review-star-picker legend{font-size:13px;font-weight:700;padding:0;margin-bottom:9px}
.review-star-picker label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;color:#71531b;font-size:15px;font-weight:700}
.review-star-picker label:has(input:checked){border-color:#b88329;background:#fff2d4;box-shadow:0 0 0 2px #f6e2b4}
.review-star-picker input{accent-color:#a46b16}
.review-card textarea{width:100%;min-height:118px;box-sizing:border-box;border:1px solid #dce4dd;border-radius:10px;background:#fff;padding:13px;color:var(--ink);font:inherit;resize:vertical;margin:7px 0 16px}
.review-card textarea:focus{outline:2px solid #a5c4ad;outline-offset:1px}
.review-star-display{font-size:20px;letter-spacing:3px;color:#b68125;white-space:nowrap}
.review-star-empty{color:#cfd5cf}
.review-course-stats{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.review-course-stats:last-child{border-bottom:0}
.review-course-stats strong,.review-course-stats small{display:block}
.review-course-stats strong{overflow-wrap:anywhere}
.review-course-stats small{color:var(--muted);font-size:12px;margin-top:5px}
.review-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0 25px}
.review-stats>div{background:#f6f8f5;border:1px solid var(--line);padding:15px;border-radius:11px}
.review-stats strong{display:block;font-size:28px;color:#275a43}
.review-stats span{font-size:12px;color:var(--muted)}
.review-entry{border-top:1px solid var(--line);padding:20px 0}
.review-entry:first-child{border-top:0}
.review-entry p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.75}
.review-entry header{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}
.review-entry small{color:var(--muted);display:block;margin-top:5px}
.review-course-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:15px 0 25px}
.review-course-filter label{flex:1;min-width:180px;font-size:12px;font-weight:700}
.review-course-filter select{display:block;width:100%;min-height:41px;border:1px solid #dce4dd;border-radius:9px;padding:8px;background:#fff;margin-top:5px}
.review-course-filter .btn{min-height:41px}
@media(max-width:760px){.review-card{padding:18px}.review-stats{gap:7px}.review-stats>div{padding:12px 8px}.review-stats strong{font-size:23px}.review-stats span{font-size:10px}.review-star-picker{gap:5px}.review-star-picker label{padding:10px 8px}.review-course-filter .btn{width:100%;justify-content:center}}

/* ESTUDO 2.1: biblioteca de materiais complementares */
.material-course-links{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px}
.material-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));gap:16px;margin:20px 0}
.material-resource{padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.material-resource h3{margin:0;font-size:1.18rem;overflow-wrap:anywhere}
.material-resource p{margin:0;overflow-wrap:anywhere}
.material-resource .pill{align-self:flex-start}
.material-resource .btn{align-self:flex-start;max-width:100%}
.material-editor{display:grid;gap:14px;margin:18px 0 24px}
.material-editor label{display:grid;gap:6px;font-weight:600}
.material-editor input,.material-editor select,.material-editor textarea{width:100%;max-width:100%;font:inherit;border:1px solid #d8d7d1;border-radius:9px;padding:12px;background:var(--surface,#fff);color:inherit}
.material-row-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.material-muted{font-size:.86rem;color:var(--muted,#687075)}
.material-manager-item{border:1px solid #dddcd6;border-radius:12px;margin:15px 0;padding:16px}
.material-manager-item summary{cursor:pointer;font-weight:700}
.material-manager-item details[open] summary{margin-bottom:14px}
.material-empty{padding:24px;border:1px dashed #cbc9c1;border-radius:12px}
@media(max-width:650px){.material-resource{padding:16px}.material-editor input,.material-editor select{min-height:44px}}
/* ESTUDO 2.2 — Gestão de convites, responsiva e com cartão imprimível. */
.invite-dashboard{max-width:1180px;margin:20px 0 0}.invite-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 8px}.invite-summary-card{padding:15px 16px}.invite-summary-card span{display:block;color:var(--muted);font-size:12px;min-height:28px}.invite-summary-card strong{display:block;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.2;margin-top:8px;font-variant-numeric:tabular-nums}.invite-summary-note{margin:7px 0 20px;font-size:12px}.invite-create-card,.invite-list-card{margin:20px 0}.invite-check{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:13px;line-height:1.5;font-weight:500}.invite-check input[type=checkbox]{width:17px;height:17px;flex:none;margin:0;accent-color:#276146}.invite-check-small{font-size:11px}.invite-list-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.invite-filter-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:20px 0}.invite-filter-form label{flex:1 1 190px}.invite-filter-form .btn{margin:0 0 2px}.invite-result-note{font-size:12px}.invite-history-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 0}.invite-history-main{min-width:0;overflow-wrap:anywhere}.invite-history-main strong{display:block;font-size:14px}.invite-break{font-size:12px;overflow-wrap:anywhere}.invite-subline{font-size:11px;line-height:1.65}.invite-history-actions{display:flex;align-items:flex-end;flex-direction:column;gap:9px;min-width:140px}.invite-history-actions form{margin:0}.invite-reissue-form{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px}.invite-events summary{font-size:12px;text-decoration:underline;color:var(--muted);cursor:pointer;margin-top:10px}.invite-events ul{font-size:11px;color:var(--muted);line-height:1.7;margin-top:5px}.invite-pagination{display:flex;gap:15px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:20px}.invite-summary-card.surface{min-height:85px}
@media(max-width:1020px){.invite-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.invite-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.invite-summary-card{padding:11px}.invite-history-row{flex-direction:column;gap:9px}.invite-history-actions{flex-direction:row;justify-content:space-between;flex-wrap:wrap;align-items:center}.invite-reissue-form{justify-content:flex-start}.invite-filter-form label{flex:1 1 100%}}
@media print{.invite-dashboard{display:none!important}}
/* Sobrescritas específicas da opção de envio nos formulários existentes. */
.form-stack label.invite-check{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:13px;font-weight:520}
.form-stack label.invite-check input[type=checkbox],.invite-reissue-form label.invite-check input[type=checkbox]{width:17px;height:17px;min-height:0;padding:0;display:inline-block;margin:0;flex:none}
.invite-filter-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#4c5c51;font-weight:650}
.invite-filter-form input,.invite-filter-form select{width:100%;min-height:43px;border:1px solid #dce4dd;border-radius:9px;background:#fff;color:#26362b;padding:9px 11px;font-size:13px}
/* Etapa 14 · controles responsivos de organização e pré-visualização */
.course-manage-links,.course-order-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.course-order-controls .btn{padding:7px 12px;font-size:.86rem}
.course-preview-lesson{padding:16px 0;border-bottom:1px solid var(--line,#e1e1dd)}
.course-preview-lesson h3{margin:0 0 12px}
.course-preview-body{white-space:normal;overflow-wrap:anywhere;line-height:1.75}
.course-preview-question{padding:14px 0;border-top:1px solid var(--line,#e1e1dd)}
.course-preview-question li{margin-top:5px;overflow-wrap:anywhere}
@media(max-width:680px){.course-order-controls .btn{min-height:40px}.course-manage-links .btn{flex:1}}

/* ESTUDO 2.4 — Segurança e manutenção */
.maintenance-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-top:18px}
.maintenance-check{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border,#dfe2e0);border-radius:12px;padding:14px}
.maintenance-check .pill{flex-shrink:0;font-size:.76rem;min-width:48px;text-align:center}
.maintenance-ok{background:#e4f4ea;color:#12663c}
.maintenance-warn{background:#fff1dc;color:#8b4910}
.maintenance-check p{margin:4px 0 0;font-size:.88rem}
.maintenance-table-wrap{overflow-x:auto;max-width:100%;margin-top:14px}
.maintenance-table{width:100%;border-collapse:collapse;text-align:left;min-width:660px;font-size:.88rem}
.maintenance-table td,.maintenance-table th{padding:11px 9px;border-bottom:1px solid #dde2df;vertical-align:top;word-break:break-word}
.maintenance-table th{font-weight:700}
.maintenance-filter{max-width:440px;margin-top:12px}
.maintenance-test-form{margin-top:18px}

/* Etapa 16: external styles compatible with the Content Security Policy. */
.space-top{margin-top:24px}.space-bottom{margin-bottom:24px}.attempt-card{padding:20px 0;border-bottom:1px solid var(--line)}
.sidebar{overflow-y:auto}.sidebar .wordmark{margin-bottom:30px}
.report-height-0{height:0%}
.report-height-1{height:1%}
.report-height-2{height:2%}
.report-height-3{height:3%}
.report-height-4{height:4%}
.report-height-5{height:5%}
.report-height-6{height:6%}
.report-height-7{height:7%}
.report-height-8{height:8%}
.report-height-9{height:9%}
.report-height-10{height:10%}
.report-height-11{height:11%}
.report-height-12{height:12%}
.report-height-13{height:13%}
.report-height-14{height:14%}
.report-height-15{height:15%}
.report-height-16{height:16%}
.report-height-17{height:17%}
.report-height-18{height:18%}
.report-height-19{height:19%}
.report-height-20{height:20%}
.report-height-21{height:21%}
.report-height-22{height:22%}
.report-height-23{height:23%}
.report-height-24{height:24%}
.report-height-25{height:25%}
.report-height-26{height:26%}
.report-height-27{height:27%}
.report-height-28{height:28%}
.report-height-29{height:29%}
.report-height-30{height:30%}
.report-height-31{height:31%}
.report-height-32{height:32%}
.report-height-33{height:33%}
.report-height-34{height:34%}
.report-height-35{height:35%}
.report-height-36{height:36%}
.report-height-37{height:37%}
.report-height-38{height:38%}
.report-height-39{height:39%}
.report-height-40{height:40%}
.report-height-41{height:41%}
.report-height-42{height:42%}
.report-height-43{height:43%}
.report-height-44{height:44%}
.report-height-45{height:45%}
.report-height-46{height:46%}
.report-height-47{height:47%}
.report-height-48{height:48%}
.report-height-49{height:49%}
.report-height-50{height:50%}
.report-height-51{height:51%}
.report-height-52{height:52%}
.report-height-53{height:53%}
.report-height-54{height:54%}
.report-height-55{height:55%}
.report-height-56{height:56%}
.report-height-57{height:57%}
.report-height-58{height:58%}
.report-height-59{height:59%}
.report-height-60{height:60%}
.report-height-61{height:61%}
.report-height-62{height:62%}
.report-height-63{height:63%}
.report-height-64{height:64%}
.report-height-65{height:65%}
.report-height-66{height:66%}
.report-height-67{height:67%}
.report-height-68{height:68%}
.report-height-69{height:69%}
.report-height-70{height:70%}
.report-height-71{height:71%}
.report-height-72{height:72%}
.report-height-73{height:73%}
.report-height-74{height:74%}
.report-height-75{height:75%}
.report-height-76{height:76%}
.report-height-77{height:77%}
.report-height-78{height:78%}
.report-height-79{height:79%}
.report-height-80{height:80%}
.report-height-81{height:81%}
.report-height-82{height:82%}
.report-height-83{height:83%}
.report-height-84{height:84%}
.report-height-85{height:85%}
.report-height-86{height:86%}
.report-height-87{height:87%}
.report-height-88{height:88%}
.report-height-89{height:89%}
.report-height-90{height:90%}
.report-height-91{height:91%}
.report-height-92{height:92%}
.report-height-93{height:93%}
.report-height-94{height:94%}
.report-height-95{height:95%}
.report-height-96{height:96%}
.report-height-97{height:97%}
.report-height-98{height:98%}
.report-height-99{height:99%}
.report-height-100{height:100%}

/* Etapa 17: accessible native preview controls, no inline script or styles. */
.import-guide li{margin:0 0 .65rem;line-height:1.6}
.import-upload{max-width:780px}
.import-module{margin:1.4rem 0;padding:1.1rem;border:1px solid var(--line,#dce3dc);border-radius:12px}
.import-module>summary{font-weight:700;font-size:1.08rem;cursor:pointer;overflow-wrap:anywhere}
.import-lesson{margin-top:1rem;padding:.8rem 0;border-bottom:1px solid #e2e7e2}
.import-lesson>summary{font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.import-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:1rem 0;max-width:85ch}
.import-assessment{margin-top:1.3rem}
.import-question{padding:1rem 0;border-top:1px solid #e2e7e2;overflow-wrap:anywhere}
.import-question h4{margin:.4rem 0;font-size:1rem}
.import-options{list-style:none;padding:0;line-height:1.7}
.import-options li{margin:.4rem 0;white-space:pre-wrap;overflow-wrap:anywhere}
.import-preview summary:focus-visible{outline:3px solid #237352;outline-offset:4px}
@media(max-width:600px){.import-module{padding:.8rem}.import-guide ol{padding-left:1.2rem}}

/* Etapa 17 revisada — course editor and per-lesson checklist. */
.course-settings,.course-manual{margin:1.3rem 0}
.course-settings>summary,.course-manual>summary{font-weight:700;font-size:1.1rem;cursor:pointer}
.course-settings form{margin-top:1.2rem}
.lesson-checklist{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem;margin:1rem 0 1.4rem}
.lesson-checklist li{padding:.65rem .8rem;border:1px solid #dce4dd;border-radius:8px;line-height:1.5}
.lesson-checklist strong{margin-right:.4rem}
.check-ok{color:#24513e;background:#f3f7f3}
.check-error{color:#8c3029;background:#fff4f1}
.lesson-review{margin:1rem 0}
.lesson-review>summary{cursor:pointer;font-weight:600}
.lesson-draft{border-top:1px solid #dfe5de;margin-top:1.5rem;padding-top:1.1rem}
.lesson-draft h3{overflow-wrap:anywhere}
.course-settings summary:focus-visible,.course-manual summary:focus-visible,.lesson-review summary:focus-visible{outline:3px solid #237352;outline-offset:4px}
@media(max-width:600px){.lesson-checklist{grid-template-columns:1fr}.lesson-draft .learning-head{align-items:flex-start}}

/* ESTUDO 2.7 — Etapa 18: leitura confortável, progresso contextual e avaliação. */
.learning-progress-panel{max-width:980px}
.learning-progress-compact{padding:16px 23px;margin-bottom:20px}
.learning-progress-compact .learning-head{margin-bottom:6px}
.learning-progress-compact .learning-head h2{font-size:21px;margin:0 0 2px}
.learning-progress-compact .learning-head .eyebrow{margin-bottom:3px}
.learning-progress-compact .learning-head p{font-size:12px}
.learning-progress-compact .learning-meter{margin:6px 0 0;height:6px}
.lesson-reader{max-width:890px;padding:clamp(23px,3.8vw,48px);min-width:0}
.lesson-reader .reader-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px 16px;color:#6b7f70;font-size:11px;line-height:1.55;letter-spacing:.10em;font-weight:750}
.lesson-reader .reader-state{letter-spacing:0;font-size:11px;padding:4px 10px;border-radius:999px}
.lesson-reader .reader-state.is-done{background:#e7f4e9;color:#235c3f}
.lesson-reader .reader-state.is-pending{background:#f4efe5;color:#735a29}
.lesson-reader h2#lesson-title{font-size:clamp(1.85rem,3.6vw,2.85rem);line-height:1.16;font-weight:680;letter-spacing:-.044em;overflow-wrap:anywhere;margin:18px 0 22px;max-width:21ch}
.reader-module-progress{display:flex;flex-direction:column;gap:7px;margin:0 0 25px;color:#65776b;font-size:12px}
.reader-module-progress progress{width:100%;max-width:440px;height:7px;appearance:none;-webkit-appearance:none;border:0;background:#e7ece5;border-radius:100px;overflow:hidden}
.reader-module-progress progress::-webkit-progress-bar{background:#e7ece5;border-radius:100px}
.reader-module-progress progress::-webkit-progress-value{background:#558e6e;border-radius:100px}
.reader-module-progress progress::-moz-progress-bar{background:#558e6e;border-radius:100px}
.reader-shortcuts{border-block:1px solid #edf0e9;padding:12px 0;margin:0 0 30px;display:flex;flex-wrap:wrap;gap:12px}
.reader-shortcuts a{font-size:12px;font-weight:680;color:#275b4a;display:inline-flex;gap:5px;align-items:center;text-decoration:underline;text-underline-offset:3px}
.reader-section-title{color:#647c69;font-size:11px;letter-spacing:.16em;font-weight:800;padding-bottom:11px;border-bottom:1px solid #e5ebe4;margin-bottom:22px}
.learning-reader .lesson-body{max-width:none;margin:0 0 30px;font-size:16px;line-height:1.87;color:#25352b}
.reader-prose,.reader-summary,.reader-extra{max-width:72ch}
.reader-prose p,.reader-summary p,.reader-extra p{font-size:1em;line-height:inherit;letter-spacing:0;overflow-wrap:anywhere;hyphens:auto;margin:0 0 1.2em}
.reader-prose p:last-child,.reader-summary p:last-child,.reader-extra p:last-child{margin-bottom:0}
.reader-subheading{font-size:1.16em!important;line-height:1.38;letter-spacing:-.025em;font-weight:700;margin:1.4em 0 .7em;color:#234838;overflow-wrap:anywhere}
.reader-summary{background:#f1f6ef;border:1px solid #d6e5d7;border-left:4px solid #5c8b68;border-radius:12px;padding:clamp(19px,3vw,29px);margin:35px 0 26px;scroll-margin-top:20px;color:#2d4738}
.reader-summary-eyebrow{color:#557a5a;font-size:10px;letter-spacing:.16em;font-weight:800;margin-bottom:7px}
.reader-summary h3#reader-summary-title{font-size:clamp(1.18rem,2.5vw,1.45rem);letter-spacing:-.025em;line-height:1.28;margin:0 0 16px;color:#214d38}
.reader-extra{border-top:1px solid #e6ece4;margin:28px 0 0;padding-top:12px;color:#485a4d;font-size:.94em}
.reader-end{border:1px solid #dfe8dc;border-radius:15px;background:#fafcf8;padding:23px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:35px 0 25px}
.reader-end-copy{flex:1 1 250px;min-width:0}
.reader-end-copy h3{font-size:17px;font-weight:710;margin:0 0 6px}
.reader-end-copy p{font-size:13px;color:#65766b;line-height:1.65;margin:0}
.reader-end-actions{flex:0 1 auto}
.reader-end-actions form{margin:0}
.reader-end-actions .btn{max-width:100%;min-height:48px}
.reader-bottom-nav{border-top:1px solid #e8ece6;padding-top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 18px;align-items:center}
.reader-bottom-nav a{font-size:12px;font-weight:700;color:#356a4e;text-decoration:underline;text-underline-offset:3px;padding:5px 0}
.assessment-reader{padding:clamp(20px,3vw,38px);max-width:890px}
.assessment-reader h2{font-size:clamp(1.4rem,2.3vw,1.9rem);overflow-wrap:anywhere;margin-bottom:11px}
.assessment-hint{margin:23px 0 14px;color:#425a49;font-size:14px;line-height:1.65}
.assessment-answer-status{font-size:12px;font-weight:760;color:#426c52;margin-bottom:5px}
.assessment-answer-meter{appearance:none;-webkit-appearance:none;width:100%;height:7px;border:0;background:#e8eee7;border-radius:999px;overflow:hidden;margin:0 0 16px}
.assessment-answer-meter::-webkit-progress-bar{background:#e8eee7;border-radius:999px}
.assessment-answer-meter::-webkit-progress-value{background:#4f8663;border-radius:999px}
.assessment-answer-meter::-moz-progress-bar{background:#4f8663;border-radius:999px}
.assessment-answer-meter[hidden],.assessment-answer-status[hidden]{display:none}
.assessment-reader .learning-question legend{font-size:16px;line-height:1.56;overflow-wrap:anywhere}
.assessment-reader .learning-choice{font-size:14px;line-height:1.65;min-height:48px}
.assessment-reader .learning-choice:has(input:checked){background:#edf5ed;border-color:#6b9d77;color:#244c35}
.assessment-reader .learning-choice input{height:19px;width:19px}
.assessment-reader .form-stack{margin-bottom:21px}
.lesson-reader a:focus-visible,.assessment-reader a:focus-visible,.lesson-reader button:focus-visible,.assessment-reader button:focus-visible,.reader-shortcuts a:focus-visible{outline:3px solid #286947;outline-offset:4px}
@media(max-width:760px){
 .learning-progress-compact{padding:12px 15px;margin-bottom:13px}
 .learning-progress-compact .learning-head{flex-direction:row;align-items:center;gap:8px}
 .learning-progress-compact .learning-head h2{font-size:19px}
 .learning-progress-compact .learning-head p{font-size:11px;line-height:1.5}
 .learning-progress-compact .learning-head .pill{flex:none}
 .lesson-reader{padding:23px 18px}
 .lesson-reader h2#lesson-title{margin:16px 0 20px;max-width:none;font-size:clamp(1.78rem,8vw,2.25rem)}
 .reader-shortcuts{margin-bottom:24px}
 .learning-reader .lesson-body{font-size:16px;line-height:1.85;margin:0 0 26px}
 .reader-summary{padding:19px 17px;margin:30px 0 21px}
 .reader-end{padding:19px 17px;margin:27px 0 22px}
 .reader-end-actions,.reader-end-actions form,.reader-end-actions .btn{width:100%;display:flex;justify-content:center}
 .reader-bottom-nav{justify-content:flex-start;gap:8px 20px}
 .assessment-reader{padding:22px 17px}
 .assessment-reader .learning-question legend{font-size:15px}
 .assessment-reader .learning-choice{font-size:14px}
 .learning-module .experience-step:has(.btn){flex-wrap:wrap}
 .learning-module .experience-step .btn{margin-left:auto;min-height:42px}
}
@media print{
 .reader-end,.reader-bottom-nav,.reader-shortcuts{display:none!important}
 .lesson-reader{max-width:100%;padding:0;border:none;box-shadow:none}
 .reader-summary{break-inside:avoid}
}
/* Proteção contra títulos longos e telas estreitas. */
.page-heading h1{overflow-wrap:anywhere;hyphens:auto}
.learning-progress-compact .learning-head{flex-wrap:wrap}
.learning-progress-compact .learning-head>div{min-width:0}
@media(max-width:380px){
 .learning-detail-links .btn{width:100%;justify-content:center}
 .learning-progress-compact .learning-head{align-items:flex-start}
 .reader-bottom-nav a{padding:8px 0}
}

/* Etapa 19 — questões compostas acessíveis e adaptáveis. */
.question-instruction {font-size:.88rem;font-weight:650;color:var(--muted,#526578);margin:.35rem 0 .8rem}
.question-pair {display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid rgba(111,133,151,.2)}
.question-pair > span:first-child {flex:1;line-height:1.5}
.question-pair select {width:auto;min-width:6.7rem;max-width:13rem;background:var(--surface,#fff);padding:.55rem;border-radius:9px;border:1px solid #bac8d0}
.match-reference {margin:.85rem 0;padding:1rem 1.2rem;border:1px solid #d5e3df;border-radius:14px;background:#f5faf8}
.match-reference ol,.match-reference ul {margin:.55rem 0 0;padding-left:1.45rem}
.match-reference li {margin:.3rem 0;line-height:1.45}
.learning-choice input[type="checkbox"] {width:1.2rem;height:1.2rem;accent-color:#186f69}
@media(max-width:600px){.question-pair{align-items:stretch;flex-direction:column;gap:.45rem}.question-pair select{max-width:100%;width:100%}.match-reference{padding:.8rem}.learning-question{padding:1rem .8rem}}

/* Etapa 21 — acompanhamento pedagógico, legível em computadores e telefones. */
.report-filter-grid{grid-template-columns:minmax(170px,1.8fr) repeat(4,minmax(118px,1fr)) auto}
.report-kpi-attention{border-color:#e0ccaa;background:#fffdf8}
.report-kpi-attention>strong{color:#805c30}
.pedagogy-section{margin-top:22px}
.pedagogy-section .report-section-title{align-items:flex-start}
.pedagogy-section .report-section-title p{max-width:780px;line-height:1.6}
.pedagogy-tally{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 22px}
.pedagogy-tally span{display:inline-block;border:1px solid #dce5dc;background:#f8fbf8;padding:9px 13px;border-radius:11px;color:#365743;font-size:12px;font-weight:650}
.pedagogy-tally .needs-attention{border-color:#e8d5b6;background:#fff7e9;color:#795525}
.pedagogy-risk{font-weight:700;color:#83572e}
.pedagogy-question{max-width:480px;font-weight:600}
.pedagogy-question small{font-weight:400}
.pedagogy-subhead{font-size:12px;line-height:1.55;color:var(--muted);margin:8px 0 18px}
.pedagogy-note{margin:15px 0 0;font-size:12px;color:var(--muted);line-height:1.65}
.pedagogy-exports{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1100px){.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-grid label:first-child{grid-column:span 2}.report-filter-grid .btn{grid-column:span 2}}
@media(max-width:760px){.report-filter-grid{display:flex;flex-direction:column}.pedagogy-section .report-section-title{flex-direction:column}.pedagogy-exports,.pedagogy-exports .btn{width:100%}.pedagogy-tally span{width:100%}}
@media print{.pedagogy-exports{display:none!important}.pedagogy-section{break-before:auto}}

.pedagogy-swipe{display:none;font-size:11px;font-weight:650;color:#607c6b;margin:2px 0 10px}
@media(max-width:760px){.pedagogy-swipe{display:block}}

/* Etapa 22 — navegação inclusiva e apresentação estável no teclado/celular */
.skip-link{position:fixed;z-index:9999;left:12px;top:10px;padding:13px 18px;background:#153f32;color:#fff;border:2px solid #fff;border-radius:10px;transform:translateY(-160%);box-shadow:0 4px 24px rgba(0,0,0,.25);font-weight:750}
.skip-link:focus{transform:translateY(0);opacity:1}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #24694e;outline-offset:3px}
:where(.btn,.nav-link,.mobile-nav a,.learning-choice,.question-pair,.reader-bottom-nav a){-webkit-tap-highlight-color:rgba(39,91,74,.16)}
.mobile-nav a,.logout-btn{min-height:44px}
.assessment-answer-status:focus{outline:3px solid #24694e;outline-offset:4px;border-radius:4px}
#conteudo-principal:focus{outline:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.btn,.pill,.nav-link,.learning-choice,.learning-step{forced-color-adjust:auto;border:1px solid CanvasText}.skip-link{outline:2px solid Highlight}}

.recovery-checklist{padding-left:1.45rem;line-height:1.8}
.recovery-checklist li{margin-bottom:.85rem;max-width:78ch}

/* ESTUDO 2.17.3 — Ajustes discretos: navegação sem título redundante e conta compacta. */
.sidebar{
  width:288px;min-width:288px;height:100vh;height:100dvh;
  padding:18px 17px 6px;overflow:visible;
  display:flex;flex-direction:column;background:#fff;
  border-right:1px solid #e8ede7;z-index:12;
}
.sidebar-brand-row{
  display:flex;flex:none;align-items:center;justify-content:space-between;
  min-height:40px;gap:7px;margin:0 0 7px;
}
.sidebar .sidebar-brand-row .wordmark{min-width:0;margin:0;gap:10px;font-size:15px;letter-spacing:.16em}
.sidebar .sidebar-brand-row .wordmark .brand-seal{flex:none;width:34px;height:34px}
.sidebar .brand-text{white-space:nowrap}
.sidebar .sidebar-brand-row .wordmark small{font-size:8px;letter-spacing:.16em;margin-top:6px}
.sidebar-collapse,.sidebar-mobile-close,.mobile-menu-trigger{
  display:flex;flex:none;align-items:center;justify-content:center;
  border:1px solid transparent;background:transparent;color:#486251;
  border-radius:11px;width:34px;height:38px;
  transition:background .16s,color .16s;
}
.sidebar-mobile-close{display:none}
.sidebar-collapse:hover,.sidebar-mobile-close:hover,.mobile-menu-trigger:hover{background:#edf3ed;color:#1f4f3e}
.sidebar-nav{
  flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;
  padding:0 2px 8px 0;margin-right:-6px;padding-right:6px;
  overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#dce5dc transparent;
}
/* WebKit: uma barra fina, sem trilho permanente e com realce durante a interação. */
.sidebar-nav::-webkit-scrollbar{width:5px}
.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.sidebar-nav::-webkit-scrollbar-thumb{background:#dce5dc;border-radius:10px}
.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#b8cbbb}
.sidebar .sidebar-section{margin:4px 12px 5px;font-size:9.5px;letter-spacing:.10em;color:#718276;font-weight:700}
.sidebar .sidebar-section.second{margin-top:10px;padding-top:10px;border-top:1px solid #edf0eb}
.sidebar .nav-link{
  display:flex;align-items:center;position:relative;gap:12px;
  min-height:36px;padding:6px 11px;margin:0 0 1px;border-radius:11px;
  color:#4e6456;font-size:14px;font-weight:470;line-height:1.35;
  transition:background .16s,color .16s;
}
.sidebar .nav-link:hover{background:#f3f6f1;color:#204f3e;opacity:1}
.sidebar .nav-link.on{background:#edf3eb;color:#214d3d;font-weight:650}
.sidebar .nav-link.on .icon{stroke-width:2}
.sidebar .nav-icon{display:flex;align-items:center;justify-content:center;width:21px;min-width:21px;flex:none}
.sidebar .nav-icon .icon{width:19px;height:19px}
/* Labels longos usam reticências, mas conservam aria-label/title com o texto integral. */
.sidebar .nav-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.sidebar .nav-notice-count{margin-left:auto}
.sidebar-bottom{flex:none;position:relative;padding-top:3px;margin-top:0;border-top:1px solid #e9eee8}
/* ESTUDO 2.18.8 — perfil na navegação; rodapé de conta sem menu suspenso. */
.sidebar-identity{
  display:flex;align-items:center;gap:9px;min-width:0;min-height:44px;
  padding:3px 3px;color:#2d4939;
}
.sidebar-identity .avatar{width:33px;height:33px;font-size:13px}
.sidebar-identity .user-info{flex:1;min-width:0}
.sidebar-identity .user-info strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;line-height:1.25}
.sidebar-identity .user-info span{font-size:11px;line-height:1.3}
.sidebar-logout-form{flex:none;display:flex;margin:0;padding:0}
.sidebar-logout-icon{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:36px;height:38px;padding:0;border:0;border-radius:10px;
  color:#52695a;background:transparent;cursor:pointer;
  transition:background .16s,color .16s;
}
.sidebar-logout-icon:hover{background:#fff2ef;color:#984337}
.sidebar-logout-icon .icon{width:19px;height:19px}
.sidebar-backdrop,.mobile-menu-trigger,.mobile-profile{display:none}
/* Preferência aplicada na leitura do <head>, sem flash visual de menu aberto. */
@media(min-width:761px){
  html.sidebar-pref-collapsed .sidebar,body.sidebar-collapsed .sidebar{
    width:64px;min-width:64px;padding:16px 4px 6px;
  }
  html.sidebar-pref-collapsed .sidebar-brand-row,body.sidebar-collapsed .sidebar-brand-row{
    flex-direction:row;align-items:center;justify-content:center;gap:0;margin-bottom:9px;min-height:36px;
  }
  html.sidebar-pref-collapsed .sidebar .sidebar-brand-row .wordmark,
  body.sidebar-collapsed .sidebar .sidebar-brand-row .wordmark{margin:0;gap:0;flex:none}
  html.sidebar-pref-collapsed .sidebar .sidebar-brand-row .wordmark .brand-seal,
  body.sidebar-collapsed .sidebar .sidebar-brand-row .wordmark .brand-seal{
    width:28px;height:30px;border-radius:9px;font-size:22px;
  }
  html.sidebar-pref-collapsed .sidebar .brand-text,
  body.sidebar-collapsed .sidebar .brand-text{display:none}
  html.sidebar-pref-collapsed .sidebar-collapse,body.sidebar-collapsed .sidebar-collapse{
    width:27px;height:32px;padding:0;border:0;
  }
  html.sidebar-pref-collapsed .sidebar-collapse svg,
  body.sidebar-collapsed .sidebar-collapse svg{width:16px;height:16px;transform:scaleX(-1)}
  html.sidebar-pref-collapsed .sidebar .sidebar-section,
  body.sidebar-collapsed .sidebar .sidebar-section{display:none}
  html.sidebar-pref-collapsed .sidebar .sidebar-section.second,
  body.sidebar-collapsed .sidebar .sidebar-section.second{
    display:block;height:1px;font-size:0;overflow:hidden;margin:9px 6px 7px;padding:0;border-top:1px solid #edf0eb;
  }
  html.sidebar-pref-collapsed .sidebar .nav-link,body.sidebar-collapsed .sidebar .nav-link{
    justify-content:center;padding:6px 4px;min-height:36px;border-radius:11px;
  }
  html.sidebar-pref-collapsed .sidebar .nav-label,body.sidebar-collapsed .sidebar .nav-label{display:none}
  html.sidebar-pref-collapsed .sidebar .nav-notice-count,body.sidebar-collapsed .sidebar .nav-notice-count{
    position:absolute;top:1px;right:0;min-width:16px;height:16px;font-size:9px;padding:0 2px;
  }
  /* 64px: avatar e saída ficam lado a lado, com áreas independentes de clique. */
  html.sidebar-pref-collapsed .sidebar-identity,
  body.sidebar-collapsed .sidebar-identity{
    justify-content:center;gap:1px;padding:4px 0;min-height:44px;
  }
  html.sidebar-pref-collapsed .sidebar-identity .user-info,
  body.sidebar-collapsed .sidebar-identity .user-info{display:none}
  html.sidebar-pref-collapsed .sidebar-identity .avatar,
  body.sidebar-collapsed .sidebar-identity .avatar{width:23px;height:25px;font-size:11px}
  html.sidebar-pref-collapsed .sidebar-logout-icon,
  body.sidebar-collapsed .sidebar-logout-icon{width:27px;height:35px}
  html.sidebar-pref-collapsed .sidebar-logout-icon .icon,
  body.sidebar-collapsed .sidebar-logout-icon .icon{width:17px;height:17px}
}
@media(max-width:760px){
  /* Drawer flutuante no celular. A lista central tem rolagem própria. */
  .app-shell .sidebar{
    display:flex;position:fixed;z-index:102;left:0;top:0;bottom:0;
    width:min(310px,86vw);min-width:0;height:100vh;height:100dvh;
    padding:17px 15px 7px;overflow:visible;
    transform:translateX(-103%);visibility:hidden;
    transition:transform .22s ease,visibility .22s ease;
    box-shadow:12px 0 35px rgba(16,41,27,.12);
  }
  .sidebar-mobile-open .app-shell .sidebar{transform:translateX(0);visibility:visible}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:101;background:rgba(18,34,25,.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  .sidebar-mobile-open .sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .sidebar-mobile-open{overflow:hidden}
  .app-shell .sidebar .brand-text,.app-shell .sidebar .nav-label,.app-shell .sidebar .user-info{display:block}
  .app-shell .sidebar .sidebar-brand-row{flex-direction:row;align-items:center;margin-bottom:13px}
  .app-shell .sidebar .sidebar-mobile-close{display:flex}
  .app-shell .sidebar .sidebar-collapse{display:none}
  .app-shell .sidebar .sidebar-section{display:block;height:auto;font-size:9.5px;overflow:visible;margin:9px 12px 10px}
  .app-shell .sidebar .sidebar-section.second{margin-top:18px;padding-top:13px;border-top:1px solid #edf0eb}
  /* No celular a navegação não é compactada: alvos maiores para o toque. */
  .app-shell .sidebar .nav-link{justify-content:flex-start;min-height:48px;padding:10px 12px;margin-bottom:2px;line-height:1.4}
  .app-shell .sidebar .nav-label{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}
  .app-shell .sidebar .sidebar-identity{min-height:48px;justify-content:flex-start}
  .app-shell .sidebar .sidebar-logout-icon{min-width:44px;min-height:44px}
  .mobile-top{position:sticky;top:0;z-index:25;gap:10px;min-height:65px;height:auto;padding:10px 16px}
  .mobile-menu-trigger{display:flex;width:42px;height:42px;min-width:42px}
  .mobile-top .wordmark{margin-right:auto;letter-spacing:.1em;gap:8px}
  .mobile-continue{margin:0;white-space:nowrap}
  .mobile-profile{display:flex;flex:none}
  .mobile-top .avatar.small{width:34px;height:34px}
  .mobile-nav{display:none!important}
  .main-content{padding-bottom:65px}
  .footer{padding-bottom:20px}
}
.main-content .catalog-internal{width:100%;max-width:1160px;padding:0;margin:0 auto}
/* Tablets com toque e viewport de desktop precisam de áreas de interação amplas. */
@media (min-width:761px) and (pointer:coarse){
  .sidebar .nav-link,html.sidebar-pref-collapsed .sidebar .nav-link,body.sidebar-collapsed .sidebar .nav-link{min-height:44px;padding-top:9px;padding-bottom:9px}
}
@media print{.sidebar-collapse,.sidebar-mobile-close,.mobile-menu-trigger,.sidebar-backdrop{display:none!important}.sidebar-mobile-open{overflow:visible}}
.sidebar button:focus-visible,.mobile-menu-trigger:focus-visible,.mobile-profile:focus-visible,.sidebar .nav-link:focus-visible{
  outline:3px solid #276e50;outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){.app-shell .sidebar,.sidebar-backdrop{transition:none!important}}

/* ESTUDO 2.18.0 — Dashboard acadêmico compacto (somente início autenticado do estudante).
   Escopado: não modifica catálogo, menu, outras páginas, relatórios ou avaliações. */
.main-content:has(> .student-dashboard){padding-top:34px;padding-bottom:42px}
.student-dashboard{width:100%;max-width:1160px;margin:0 auto;color:var(--ink)}
.sd-header{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 22px}
.sd-greeting{min-width:0}
.sd-eyebrow,.sd-panel-kicker{font-size:10px;font-weight:760;letter-spacing:.14em;color:#52705b}
.sd-eyebrow{margin-bottom:7px}
.sd-greeting h1{font-size:clamp(26px,2.5vw,35px);font-weight:650;line-height:1.12;letter-spacing:-.045em;margin:0 0 6px}
.sd-greeting p{margin:0;color:#68786d;font-size:13px;line-height:1.55}
.sd-header-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;min-height:41px;padding:9px 15px;border:1px solid #dce5dc;border-radius:12px;background:#fff;color:#275b46;font-size:12px;font-weight:720;transition:background .15s,border-color .15s}
.sd-header-link:hover{background:#f0f5ed;border-color:#c6d8c6;opacity:1}
.sd-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 17px}
.sd-stat{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:14px;min-height:85px;padding:12px 18px;transition:background .15s,border-color .15s}
.sd-stat:hover{background:#f7faf5;border-color:#cdddcf;opacity:1}
.sd-stat-number{font-size:28px;line-height:1.1;letter-spacing:-.05em;font-weight:760;color:#285e47;font-variant-numeric:tabular-nums}
.sd-stat-caption{font-size:12px;color:#617267;margin-top:5px}
.sd-stat>.icon{position:absolute;top:16px;right:17px;color:#779080}
.sd-panels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.91fr);gap:16px;align-items:stretch}
.sd-focus,.sd-explore{min-width:0;background:#fff;border:1px solid var(--line);border-radius:19px;padding:23px 26px;box-shadow:0 10px 35px rgba(29,58,43,.022)}
.sd-focus{position:relative;display:flex;flex-direction:column;border-top:3px solid #567e65;padding-top:21px}
.sd-panel-kicker{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.sd-panel-kicker .icon{color:#527964}
.sd-focus h2,.sd-explore h2{font-size:clamp(19px,1.6vw,23px);letter-spacing:-.045em;margin:0 0 13px;line-height:1.23}
.sd-course-title{font-size:17px;font-weight:720;line-height:1.28;overflow-wrap:anywhere;margin-bottom:7px}
.sd-panel-details{color:#68786d;font-size:12.5px;line-height:1.6;margin:0 0 10px;max-width:58ch}
.sd-progress-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#5a6c5d;font-size:11px;margin:8px 0 0}
.sd-progress-label strong{font-size:12px;color:#275b45;font-variant-numeric:tabular-nums}
.sd-meter{width:100%;height:7px;display:block;appearance:none;-webkit-appearance:none;border:0;border-radius:20px;overflow:hidden;margin:6px 0 5px;background:#e7eee8}
.sd-meter::-webkit-progress-bar{background:#e7eee8;border-radius:20px}
.sd-meter::-webkit-progress-value{background:#477b5c;border-radius:20px}
.sd-meter::-moz-progress-bar{background:#477b5c;border-radius:20px}
.sd-next{color:#637365;font-size:11.5px;line-height:1.45;margin:3px 0 8px}
.sd-next strong{font-weight:660;color:#334a3d}
.sd-focus-actions{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding-top:14px}
.sd-focus-actions .btn{padding:10px 15px;min-height:41px;font-size:12px;border-radius:10px;gap:11px;justify-content:space-between}
.sd-inline-link{font-size:12px;color:#32634b;font-weight:710;display:inline-flex;align-items:center;gap:6px}
.sd-inline-link:hover{text-decoration:underline;opacity:1}
.sd-explore{display:flex;flex-direction:column;min-height:254px}
.sd-suggestions{display:flex;flex-direction:column;min-width:0}
.sd-suggestion{display:flex;align-items:center;gap:11px;min-width:0;padding:11px 0;border-top:1px solid #ecf0eb;min-height:58px}
.sd-suggestion:first-child{border-top:0;padding-top:3px}
.sd-suggestion:hover{opacity:1}
.sd-suggestion:hover .sd-suggestion-text strong{text-decoration:underline}
.sd-suggestion-icon{width:35px;height:35px;flex:none;display:grid;place-items:center;border-radius:10px;background:#eef3ec;color:#567c62}
.sd-suggestion-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}
.sd-suggestion-text strong{font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#203c2d}
.sd-suggestion-text small{font-size:11px;line-height:1.4;color:#7a877e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.sd-suggestion>.icon{color:#668271}
.sd-empty-recs{font-size:12.5px;color:#6b7b70;line-height:1.65;margin:0;max-width:40ch}
.sd-explore-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #ecf0eb;padding-top:13px;margin-top:auto}
.sd-tutoria{color:#6e8174;font-weight:650}
.student-dashboard a:focus-visible{outline:3px solid #2a7553;outline-offset:3px}
@media(max-width:1040px){.sd-panels{grid-template-columns:1fr}.sd-explore{min-height:0}.sd-focus{min-height:230px}.sd-header{margin-bottom:17px}}
@media(max-width:760px){
 .main-content:has(> .student-dashboard){padding:22px 18px 34px}
 .sd-header{align-items:flex-start;gap:10px;margin-bottom:17px}
 .sd-greeting h1{font-size:27px}
 .sd-greeting p{font-size:12.5px}
 .sd-header-link{min-height:40px;padding:9px;border-radius:10px;font-size:0;gap:0}
 .sd-header-link .icon{width:19px;height:19px}
 .sd-header-link .icon:last-child{display:none}
 .sd-stats{gap:7px;margin-bottom:12px}
 .sd-stat{padding:10px 8px;min-height:73px;border-radius:12px}
 .sd-stat-number{font-size:24px}
 .sd-stat-caption{font-size:10px;margin-top:4px}
 .sd-stat>.icon{top:10px;right:8px;width:15px;height:15px;opacity:.68}
 .sd-panels{gap:12px}
 .sd-focus,.sd-explore{padding:20px;border-radius:15px}
 .sd-focus{padding-top:17px;min-height:225px}
 .sd-explore{min-height:0}
 .sd-focus h2,.sd-explore h2{font-size:20px}
 .sd-panel-details{font-size:12px}
 .sd-focus-actions{gap:12px}
 .sd-focus-actions .btn{min-height:44px}
 .sd-suggestion{min-height:54px}
 .sd-explore-actions{padding-top:12px}
}
@media(max-width:360px){.sd-stat>.icon{display:none}.sd-greeting h1{font-size:24px}.sd-stat-caption{font-size:9.5px}}
@media(prefers-reduced-motion:reduce){.sd-stat,.sd-header-link{transition:none}}


/* ESTUDO 2.18.1 — catálogo autenticado no mesmo padrão compacto do dashboard.
   A vitrine pública, os detalhes do curso e as ações de matrícula não são modificados. */
.main-content:has(> .catalog-internal){padding-top:34px;padding-bottom:42px}
.catalog-internal .catalog-dashboard-header{margin:0 0 18px;min-width:0}
.catalog-internal .catalog-dashboard-header h1{
  font-size:clamp(26px,2.5vw,35px);font-weight:650;line-height:1.12;
  letter-spacing:-.045em;margin:0 0 6px;color:var(--ink)
}
.catalog-internal .catalog-dashboard-header p{margin:0;color:#68786d;font-size:13px;line-height:1.55}
.catalog-internal .catalog-search-compact{
  padding:14px 16px;margin:0 0 19px;gap:10px;align-items:flex-end;
  box-shadow:0 10px 35px rgba(29,58,43,.022);border-radius:15px
}
.catalog-internal .catalog-search-compact>label{font-size:12px;min-width:190px;line-height:1.35}
.catalog-internal .catalog-search-compact input,
.catalog-internal .catalog-search-compact select{margin-top:5px;min-height:42px}
.catalog-internal .catalog-search-compact>.btn{min-height:42px;padding:10px 17px}
.catalog-internal .catalog-search-compact + .course-grid{margin-top:0}
.catalog-internal .catalog-search-compact + .empty{margin-top:0}
.catalog-internal a:focus-visible,
.catalog-internal button:focus-visible,
.catalog-internal input:focus-visible,
.catalog-internal select:focus-visible{outline:3px solid #2a7553;outline-offset:2px}
@media(max-width:760px){
 .main-content:has(> .catalog-internal){padding:22px 18px 34px}
 .catalog-internal .catalog-dashboard-header{margin-bottom:15px}
 .catalog-internal .catalog-dashboard-header h1{font-size:27px}
 .catalog-internal .catalog-dashboard-header p{font-size:12.5px}
 .catalog-internal .catalog-search-compact{padding:13px;margin-bottom:15px;gap:9px}
 .catalog-internal .catalog-search-compact>label{min-width:0;flex-basis:100%}
 .catalog-internal .catalog-search-compact>.btn{min-height:44px}
}

/* ESTUDO 2.18.2 — Meus cursos compacto, estilos isolados do restante da plataforma. */
.main-content:has(> .my-courses){padding-top:34px;padding-bottom:42px}
.my-courses{max-width:1160px;width:100%;margin:0 auto;color:var(--ink);min-width:0}
.mc-header{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:0 0 19px}
.mc-header-text{min-width:0}
.mc-header h1{font-size:clamp(27px,2.6vw,35px);line-height:1.14;letter-spacing:-.044em;margin:0 0 6px;font-weight:670}
.mc-header p{margin:0;font-size:13px;color:#68786d;line-height:1.5}
.mc-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.mc-header-actions .sd-header-link{white-space:nowrap}
.mc-filters{display:flex;align-items:center;gap:7px;margin:0 0 17px;border-bottom:1px solid #e2e8e1;padding:0 0 10px;overflow-x:auto;scrollbar-width:thin}
.mc-filter{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 13px;min-height:39px;border-radius:10px;color:#52665a;background:transparent;font-size:13px;font-weight:620;white-space:nowrap;flex:none;transition:background .15s}
.mc-filter:hover{background:#f0f4ee;color:#1e533d;opacity:1}
.mc-filter.is-active{background:#e9f1e8;color:#20553d;font-weight:750}
.mc-filter-count{font-weight:680;font-size:11px;color:#436a52;background:#f0f5ef;padding:2px 7px;border-radius:20px;min-width:24px;text-align:center}
.mc-filter.is-active .mc-filter-count{background:#dcebdc;color:#24553f}
.mc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:stretch}
.mc-grid:has(> :only-child){grid-template-columns:minmax(0,710px)}
.mc-card{background:#fff;border:1px solid var(--line);border-radius:17px;min-width:0;padding:21px 24px;box-shadow:0 10px 35px rgba(29,58,43,.025);display:flex;flex-direction:column}
.mc-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 5px}
.mc-card-heading h2{font-size:18px;letter-spacing:-.025em;line-height:1.3;overflow-wrap:anywhere;min-width:0;max-width:100%;margin:0}
.mc-status{display:inline-flex;align-items:center;white-space:nowrap;border-radius:20px;background:#eaf2e7;color:#2d6548;font-size:11px;font-weight:730;padding:6px 10px}
.mc-status-active{background:#edf2ea;color:#496a49}
.mc-meta{font-size:12px;color:#68796d;line-height:1.6;margin:0 0 14px;overflow-wrap:anywhere}
.mc-progress-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#65776c;margin:0 0 6px}
.mc-progress-caption strong{font-size:12px;color:#295b43;font-variant-numeric:tabular-nums}
.mc-progress{display:block;width:100%;height:7px;border:0;border-radius:20px;background:#e7eee8;appearance:none;-webkit-appearance:none;overflow:hidden;margin:0 0 7px}
.mc-progress::-webkit-progress-bar{background:#e7eee8;border-radius:20px}
.mc-progress::-webkit-progress-value{background:#59856b;border-radius:20px}
.mc-progress::-moz-progress-bar{background:#59856b;border-radius:20px}
.mc-next{font-size:12px;line-height:1.5;color:#647567;margin:5px 0 0;overflow-wrap:anywhere}
.mc-next strong{color:#344d3c;font-weight:690}
.mc-actions{margin-top:auto;padding-top:17px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mc-actions .btn{min-height:39px;padding:9px 12px;border-radius:10px;font-size:11.5px;line-height:1.25;white-space:normal;text-align:center;gap:7px;justify-content:center}
.mc-actions .icon{flex:none}
.mc-empty{max-width:710px;border:1px solid #e0e7df;background:#fff;border-radius:17px;padding:29px 25px;text-align:center;color:#617467}
.mc-empty-icon{color:#547e66;margin-bottom:8px}
.mc-empty h2{font-size:18px;color:#263c2f;margin:0 0 7px}
.mc-empty p{margin:0 auto 14px;font-size:13px;line-height:1.6;max-width:55ch}
.mc-empty .sd-inline-link,.mc-empty .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.my-courses a:focus-visible{outline:3px solid #2a7553;outline-offset:3px}
@media(max-width:1060px){.mc-header{align-items:flex-start;flex-direction:column;gap:13px}.mc-header-actions{justify-content:flex-start}}
@media(max-width:900px){.mc-grid{grid-template-columns:1fr}.mc-grid:has(> :only-child){grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 .main-content:has(> .my-courses){padding:22px 18px 34px}
 .mc-header{margin-bottom:15px;gap:11px}
 .mc-header h1{font-size:27px}
 .mc-header p{font-size:12.5px}
 .mc-header-actions{gap:7px}
 .mc-header-actions .sd-header-link{min-height:41px;padding:8px 10px;font-size:11.5px}
 .mc-filters{gap:3px;margin-bottom:13px;padding-bottom:8px}
 .mc-filter{min-height:42px;padding:9px 10px;font-size:12px;gap:5px}
 .mc-card{padding:18px 16px}
 .mc-card-heading h2{font-size:17px}
 .mc-actions{gap:8px}
 .mc-actions .btn{min-height:44px;flex:1 1 auto;font-size:11.5px}
 .mc-empty{padding:24px 16px}
}
@media print{.mc-header-actions,.mc-filters,.mc-actions{display:none!important}}


/* ESTUDO 2.18.3 — Tutoria compacta no padrão do dashboard do estudante.
   Escopo isolado: conversas, formulários, estados, controle de acesso e histórico preservados. */
.main-content:has(> .support-dashboard){padding-top:34px;padding-bottom:42px}
.support-dashboard{max-width:1160px;width:100%;margin:0 auto;min-width:0;color:var(--ink)}
.support-dashboard-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;margin:0 0 20px}
.support-dashboard-title{min-width:0;flex:1 1 290px}
.support-dashboard-title h1{font-size:clamp(27px,2.6vw,35px);line-height:1.14;letter-spacing:-.044em;font-weight:670;margin:0 0 6px}
.support-dashboard-title p{margin:0;color:#68786d;font-size:13px;line-height:1.55}
.support-dashboard-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.support-dashboard-actions .btn{min-height:41px;padding:9px 14px;font-size:12px;gap:8px;white-space:normal}
.support-dashboard>.notice{margin-bottom:15px}
.support-dashboard .support-surface{margin:0 0 14px;border-radius:17px;box-shadow:0 10px 35px rgba(29,58,43,.025)}
.support-dashboard .support-list{padding:19px 24px}
.support-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:9px}
.support-list-header h2{font-size:19px;line-height:1.3;margin:0 0 5px;letter-spacing:-.035em}
.support-list-header p.muted{font-size:12px;line-height:1.55;margin:0;color:#68786d}
.support-list-count{align-self:center;flex:none;font-size:11px;color:#78897c;white-space:nowrap}
.support-dashboard .support-queue-item{min-height:61px;gap:12px;padding:10px 2px;border-top:1px solid #edf0eb}
.support-dashboard .support-queue-icon{width:36px;height:36px;display:grid;place-items:center;flex:none;background:#edf3ec;color:#4f7860;border-radius:11px}
.support-dashboard .support-queue-copy{min-width:0;flex:1}
.support-dashboard .support-queue-copy strong{font-size:13px;color:#23382c;line-height:1.4}
.support-dashboard .support-queue-copy small{font-size:11px;line-height:1.55;margin-top:2px;color:#6f8073}
.support-dashboard .support-queue-arrow{display:flex;flex:none;color:#5e7867}
.support-dashboard .support-queue-item:hover{background:#f6f9f5}
.support-dashboard .support-conversation{max-width:990px;padding:22px 25px}
.support-dashboard .support-conversation-head{padding-bottom:14px;margin-bottom:14px}
.support-dashboard .support-conversation-head h2{font-size:21px;margin-bottom:5px}
.support-dashboard .support-conversation-head p.muted{margin:0}
.support-dashboard .support-conversation-head .eyebrow{margin-bottom:6px}
.support-dashboard .support-course-links{margin:12px 0 17px}
.support-dashboard .support-guidance{display:flex;align-items:flex-start;gap:10px;max-width:970px;margin:12px 0 0;color:#748378;font-size:11.5px;line-height:1.65}
.support-dashboard .support-guidance .icon{margin-top:2px;flex:none;color:#89978b}
.support-dashboard .support-guidance p{margin:0}
.support-dashboard a:focus-visible,.support-dashboard button:focus-visible,.support-dashboard textarea:focus-visible{outline:3px solid #2a7553;outline-offset:2px}
@media(max-width:760px){
 .main-content:has(> .support-dashboard){padding:22px 18px 34px}
 .support-dashboard-header{align-items:stretch;gap:12px;margin-bottom:15px}
 .support-dashboard-title h1{font-size:27px}
 .support-dashboard-title p{font-size:12.5px}
 .support-dashboard-actions{width:100%}
 .support-dashboard-actions .btn{min-height:44px;flex:1;padding:10px 12px}
 .support-dashboard .support-list{padding:16px}
 .support-list-header h2{font-size:17px}
 .support-list-count{font-size:10px}
 .support-dashboard .support-queue-item{min-height:58px;gap:10px;padding:10px 0}
 .support-dashboard .support-queue-icon{width:34px;height:34px}
 .support-dashboard .support-conversation{padding:17px 15px}
 .support-dashboard .support-guidance{font-size:11px;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.support-dashboard .support-queue-item{transition:none}}


/* ESTUDO 2.18.4 — Central de Avisos compacta. Exibição isolada; lógica acadêmica preservada. */
.main-content:has(> .notices-dashboard){padding-top:34px;padding-bottom:42px}
.notices-dashboard{max-width:1160px;width:100%;margin:0 auto;min-width:0;color:var(--ink)}
.nd-header{display:flex;justify-content:space-between;align-items:center;gap:15px 20px;flex-wrap:wrap;margin:0 0 17px}
.nd-header-copy{min-width:0;flex:1 1 280px}
.nd-header h1{font-size:clamp(27px,2.6vw,35px);line-height:1.14;letter-spacing:-.044em;font-weight:670;margin:0 0 6px}
.nd-header p{font-size:13px;line-height:1.55;color:#68786d;margin:0}
.nd-header-actions{flex:none;margin:0}
.nd-header-actions .btn{min-height:41px;padding:9px 14px;font-size:12px;gap:8px;white-space:normal}
.nd-filters{display:flex;align-items:center;gap:7px;margin:0 0 19px;padding-bottom:10px;border-bottom:1px solid #e2e8e1;overflow-x:auto;scrollbar-width:thin}
.nd-filter{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:620;white-space:nowrap;color:#52665a;flex:none}
.nd-filter:hover{background:#f0f4ee;color:#1e533d;opacity:1}
.nd-filter.is-active{background:#e9f1e8;color:#20553d;font-weight:750}
.nd-section{margin:0 0 21px}
.nd-section-head{margin:0 0 10px}
.nd-section-head h2{font-size:19px;font-weight:670;letter-spacing:-.03em;margin:0}
.nd-list{background:#fff;border:1px solid var(--line);border-radius:17px;padding:3px 22px;box-shadow:0 10px 35px rgba(29,58,43,.025);overflow:hidden}
.nd-item{display:flex;gap:13px;align-items:flex-start;min-width:0;padding:16px 0;border-bottom:1px solid #e9eee9;overflow-wrap:anywhere}
.nd-item:last-child{border-bottom:0}
.nd-no-more{padding:22px 0;font-size:12px;color:#78877d;margin:0}
.nd-item-icon{width:35px;height:35px;display:grid;place-items:center;flex:none;background:#eff4ed;border-radius:11px;color:#587b64}
.nd-item-main{flex:1;min-width:0}
.nd-item-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:5px 12px}
.nd-kind{font-size:10px;color:#477359;text-transform:uppercase;letter-spacing:.05em;font-weight:760}
.nd-read{font-size:11px;color:#738377;white-space:nowrap}
.nd-read-new{color:#276046;background:#e7f3e7;border-radius:15px;padding:3px 9px;font-weight:750}
.nd-item h3{font-size:14px;line-height:1.4;font-weight:690;color:#273b2f;margin:4px 0}
.nd-meta{font-size:11px;color:#78877d;line-height:1.5}
.nd-message{font-size:12.5px;line-height:1.7;color:#44594a;margin-top:9px;white-space:normal}
.nd-item-action{margin:10px 0 0}
.nd-item-action .btn{min-height:36px;padding:8px 13px;font-size:11.5px;gap:8px}
.nd-pagination{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0 0}
.nd-pagination:empty{display:none}
.nd-pagination .btn{min-height:38px;padding:9px 13px;font-size:11.5px}
.nd-empty{max-width:780px;border-radius:17px;border:1px solid #e3eae2;background:#fff;padding:38px 22px;text-align:center;color:#748578}
.nd-empty>.icon{color:#718f78}
.nd-empty h2{font-size:17px;color:#304639;margin:9px 0 5px}
.nd-empty p{font-size:12.5px;line-height:1.6;margin:0}
.notices-dashboard .notices-manage{margin-bottom:19px}
.notices-dashboard .notices-manage .surface{margin-bottom:0}
.notices-dashboard a:focus-visible,.notices-dashboard button:focus-visible,.notices-dashboard input:focus-visible,.notices-dashboard select:focus-visible,.notices-dashboard textarea:focus-visible{outline:3px solid #2a7553;outline-offset:3px}
@media(max-width:760px){
 .main-content:has(> .notices-dashboard){padding:22px 18px 34px}
 .nd-header{align-items:stretch;gap:12px;margin-bottom:15px}
 .nd-header h1{font-size:27px}
 .nd-header p{font-size:12.5px}
 .nd-header-actions{flex:1 1 auto}
 .nd-header-actions .btn{min-height:44px;padding:10px 12px}
 .nd-filters{gap:4px;margin-bottom:14px;padding-bottom:8px}
 .nd-filter{min-height:44px;padding:9px 12px;font-size:12px}
 .nd-section-head h2{font-size:17px}
 .nd-list{padding:2px 15px}
 .nd-item{gap:10px;padding:14px 0}
 .nd-item-icon{width:32px;height:32px}
 .nd-item h3{font-size:13px}
 .nd-item-action .btn{min-height:44px}
 .nd-empty{padding:28px 16px}
 .notices-dashboard .notices-manage{display:block}
 .notices-dashboard .notices-manage .surface{margin-bottom:13px}
}
@media print{.nd-header-actions,.nd-filters,.nd-item-action,.nd-pagination{display:none!important}}


/* ESTUDO 2.18.5 — Certificados compactos. Componentes isolados, sem alterar PDF. */
.main-content:has(> .cert-dashboard){padding-top:34px;padding-bottom:42px}
.cert-dashboard{max-width:1160px;width:100%;margin:0 auto;min-width:0;color:var(--ink)}
.cert-dashboard-header{margin:0 0 20px}
.cert-dashboard-header h1{font-size:clamp(27px,2.6vw,35px);font-weight:670;line-height:1.14;letter-spacing:-.044em;margin:0 0 6px}
.cert-dashboard-header p{font-size:13px;line-height:1.55;color:#68786d;margin:0}
.cert-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:18px;margin-bottom:16px}
.cert-panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px 22px;min-width:0;box-shadow:0 10px 35px rgba(29,58,43,.025)}
.cert-panel h2{font-size:17px;line-height:1.3;letter-spacing:-.03em;font-weight:670;margin:0}
.cert-panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cert-count{font-size:11px;font-weight:660;color:#58745f;background:#eff4ed;border-radius:999px;padding:4px 9px;white-space:nowrap}
.cert-student-item{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 14px;padding:14px 0;border-top:1px solid #e9eee9;min-width:0}
.cert-student-main{display:flex;gap:11px;align-items:center;min-width:0;flex:1 1 175px}
.cert-student-symbol,.cert-verify-symbol{width:35px;height:35px;display:grid;place-items:center;flex:none;background:#edf3ec;color:#557762;border-radius:10px}
.cert-student-copy{min-width:0;overflow-wrap:anywhere}
.cert-student-copy strong{display:block;color:#263b2d;font-size:13px;line-height:1.4}
.cert-student-copy small{display:block;font-size:11px;line-height:1.5;color:#748276;margin-top:2px}
.cert-student-revoked{display:block;font-size:11px;color:#a34e43;margin-top:4px}
.cert-student-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.cert-student-actions form{margin:0}
.cert-student-actions .btn{min-height:39px;padding:9px 12px;font-size:11.5px;gap:8px;white-space:nowrap}
.cert-student-empty{border-top:1px solid #e9eee9;padding:18px 0 2px}
.cert-student-empty p{color:#728176;font-size:12px;margin:0 0 12px}
.cert-student-empty .btn{min-height:39px;padding:9px 13px;font-size:12px}
.cert-verify-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.cert-verify-symbol{width:31px;height:31px}
.cert-verify>p{font-size:12px;color:#66786b;line-height:1.6;margin:0 0 17px}
.cert-verify .form-stack{gap:12px}
.cert-verify .form-stack label{font-size:11.5px;line-height:1.5;gap:6px;min-width:0}
.cert-verify .form-stack input{min-width:0;width:100%;font-size:12px;min-height:43px;padding:10px 11px}
.cert-verify .form-stack .btn{align-self:flex-start;min-height:40px;padding:10px 15px;font-size:12px;gap:8px}
.cert-dashboard>.cert-verify{max-width:480px;margin-top:16px}
.cert-dashboard .cert-management{margin-top:0;margin-bottom:18px}
.cert-dashboard .cert-management>h2{font-size:18px}
.cert-dashboard a:focus-visible,.cert-dashboard button:focus-visible,.cert-dashboard input:focus-visible{outline:3px solid #2a7553;outline-offset:3px}
@media(max-width:1080px){.cert-dashboard-grid{grid-template-columns:1fr}.cert-dashboard>.cert-verify{max-width:100%}}
@media(max-width:760px){
 .main-content:has(> .cert-dashboard){padding:22px 18px 34px}
 .cert-dashboard-header{margin-bottom:15px}
 .cert-dashboard-header h1{font-size:27px}
 .cert-dashboard-header p{font-size:12.5px}
 .cert-dashboard-grid{gap:12px}
 .cert-panel{padding:17px 16px}
 .cert-student-item{padding:13px 0;gap:10px}
 .cert-student-main{flex-basis:100%}
 .cert-student-actions{width:100%}
 .cert-student-actions .btn,.cert-student-actions form,.cert-student-actions form .btn{min-height:44px}
 .cert-verify .form-stack .btn{min-height:44px}
 .cert-dashboard .cert-management{padding:17px 16px}
}
@media print{.cert-student-actions,.cert-verify form{display:none!important}}

/* ESTUDO 2.18.6 — Avaliações compactas. Apenas a apresentação desta rota.
   A lógica de notas, histórico, CSRF e gestão permanece no módulo de avaliações. */
.main-content:has(> .review-dashboard){padding-top:34px;padding-bottom:42px}
.review-dashboard{max-width:1160px;width:100%;margin:0 auto;min-width:0;color:var(--ink)}
.review-dashboard-header{margin:0 0 20px}
.review-dashboard-header h1{font-size:clamp(27px,2.6vw,35px);font-weight:670;line-height:1.14;letter-spacing:-.044em;margin:0 0 6px}
.review-dashboard-header p{font-size:13px;line-height:1.55;color:#68786d;margin:0}
.review-student-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px}
.review-student-header h2{font-size:17px;line-height:1.35;margin:0;letter-spacing:-.025em}
.review-course-count{color:#6c7b70;font-size:12px;white-space:nowrap}
.review-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.review-student-grid:has(> :only-child){grid-template-columns:minmax(0,625px)}
.review-dashboard .review-student-card{padding:21px 23px 18px;margin:0;min-width:0;border-radius:17px;box-shadow:0 10px 35px rgba(29,58,43,.025)}
.review-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px 14px;flex-wrap:wrap}
.review-card-heading{min-width:0;flex:1 1 145px}
.review-dashboard .review-card-heading h3{font-size:17px;line-height:1.35;font-weight:700;letter-spacing:-.025em;margin:0 0 7px;overflow-wrap:anywhere}
.review-status{display:inline-flex;align-items:center;border-radius:99px;padding:4px 9px;font-size:10.5px;font-weight:700;line-height:1.4}
.review-status-complete{color:#35674d;background:#edf3eb}
.review-status-pending{color:#7c612b;background:#f7f2e6}
.review-student .review-star-display{font-size:17px;letter-spacing:1px;line-height:1.4;white-space:nowrap}
.review-dashboard .review-card-meta{font-size:12px;line-height:1.55;color:#6a7b6f;margin:11px 0 14px}
.review-editor{border-top:1px solid #e9eee8;padding-top:11px}
.review-editor-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;cursor:pointer;color:#285a43;font-weight:720;font-size:12.5px;list-style:none;border:1px solid #dae5db;border-radius:10px;background:#fff;padding:9px 13px;user-select:none}
.review-editor-toggle::-webkit-details-marker{display:none}
.review-editor-toggle .icon{transition:transform .15s ease;transform:rotate(0)}
.review-editor[open] .review-editor-toggle .icon{transform:rotate(90deg)}
.review-editor-toggle:hover{background:#f5f9f4}
.review-editor-content{padding-top:17px}
.review-editor-content .form-stack{gap:9px}
.review-editor-content .review-star-picker{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 8px;min-width:0}
.review-editor-content .review-star-picker legend{margin-bottom:8px;font-size:12px}
.review-editor-content .review-star-picker label{display:inline-flex;flex-direction:row;gap:6px;min-height:43px;align-items:center;justify-content:center;padding:7px 10px;color:#71531b;font-size:15px}
.review-editor-content .review-star-picker label .review-rating-number{font-size:12px}
.review-editor-content .review-star-picker input[type=radio]{appearance:auto;-webkit-appearance:radio;width:16px;height:16px;min-height:0;margin:0;padding:0;flex:none;accent-color:#966918}
.review-editor-content .form-stack>label{font-size:12px;line-height:1.4}
.review-editor-content textarea{margin:0;min-height:86px;font-size:13px;line-height:1.5;padding:11px 12px}
.review-editor-content .review-comment-help{font-size:11px;line-height:1.55;color:#748175;margin:0 0 7px}
.review-editor-content button[type=submit]{min-height:43px;padding:10px 15px;font-size:12px}
.review-privacy-note{margin:13px 0 0;max-width:100ch;color:#728076;font-size:11.5px;line-height:1.65}
.review-student-empty{max-width:650px;background:#fff;border:1px dashed #dce6da;border-radius:15px;padding:24px;color:#284033}
.review-student-empty strong{display:block;font-size:15px;margin-bottom:6px}
.review-student-empty p{font-size:12.5px;color:#708074;line-height:1.65;margin:0 0 16px}
.review-dashboard summary:focus-visible,.review-dashboard a:focus-visible,.review-dashboard button:focus-visible,.review-dashboard input:focus-visible,.review-dashboard textarea:focus-visible{outline:3px solid #2a7553;outline-offset:3px}
/* Componentes administrativos mantêm suas classes e estrutura de relatórios. */
@media(max-width:900px){.review-student-grid{grid-template-columns:1fr}.review-student-grid:has(> :only-child){grid-template-columns:1fr}}
@media(max-width:760px){
 .main-content:has(> .review-dashboard){padding:22px 18px 34px}
 .review-dashboard-header{margin-bottom:16px}
 .review-dashboard-header h1{font-size:27px}
 .review-dashboard-header p{font-size:12.5px}
 .review-student-header{margin-bottom:11px}
 .review-dashboard .review-student-card{padding:17px 16px 15px}
 .review-editor-toggle{min-height:44px}
 .review-editor-content .review-star-picker label{min-height:46px;padding:9px 11px}
 .review-student-empty{padding:20px 17px}
}
@media(prefers-reduced-motion:reduce){.review-editor-toggle .icon{transition:none}}


/* ESTUDO 2.18.7 — Biblioteca de materiais compacta; somente esta página. */
.main-content:has(> .materials-dashboard){padding-top:34px;padding-bottom:42px}
.materials-dashboard{max-width:1160px;width:100%;min-width:0;margin:0 auto;color:var(--ink)}
.materials-dashboard-header{margin:0 0 20px}
.materials-dashboard-header h1{font-size:clamp(27px,2.6vw,35px);font-weight:670;line-height:1.14;letter-spacing:-.044em;margin:0 0 6px;overflow-wrap:anywhere}
.materials-dashboard-header p{font-size:13px;line-height:1.55;color:#68786d;margin:0}
.materials-dashboard-panel{padding:18px 24px;margin:0 0 15px;border-radius:17px;box-shadow:0 10px 35px rgba(29,58,43,.025)}
.materials-dashboard-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}
.materials-dashboard-panel-heading h2{font-size:17px;margin:0;letter-spacing:-.025em}
.materials-dashboard-count{font-size:12px;color:#68786d;white-space:nowrap}
.materials-dashboard-list{width:100%;margin-top:12px}
.materials-dashboard-row{display:flex;align-items:center;gap:14px;padding:12px 0;min-width:0;border-top:1px solid #edf0eb}
.materials-dashboard-icon{width:39px;height:39px;border-radius:11px;background:#eff4ee;color:#52755c;display:grid;place-items:center;flex-shrink:0}
.materials-dashboard-info{min-width:0;flex:1}
.materials-dashboard-info h3{font-size:15px;font-weight:710;letter-spacing:-.02em;line-height:1.4;margin:0 0 2px;overflow-wrap:anywhere}
.materials-dashboard-info p{font-size:12px;color:#718075;line-height:1.5;margin:0;overflow-wrap:anywhere}
.materials-dashboard .materials-dashboard-open{padding:9px 14px;min-height:40px;font-size:12px;white-space:normal;gap:8px;flex-shrink:0}
.materials-dashboard-hint{font-size:12px;line-height:1.55;color:#68786d;margin:7px 0 0}
.materials-dashboard-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 17px}
.materials-dashboard-actions .btn{min-height:40px;padding:9px 14px;font-size:12px;gap:8px}
.materials-dashboard-empty{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:20px 24px}
.materials-dashboard-empty-icon{color:#64806c;flex:none}
.materials-dashboard-empty div:nth-child(2){flex:1 1 220px}
.materials-dashboard-empty h2{margin:0 0 3px;font-size:17px}
.materials-dashboard-empty p{margin:0;font-size:12.5px;line-height:1.6;color:#68786d}
.materials-dashboard-empty .btn{min-height:41px;padding:9px 15px;font-size:12px}
.materials-dashboard a:focus-visible,.materials-dashboard button:focus-visible,.materials-dashboard input:focus-visible,.materials-dashboard select:focus-visible,.materials-dashboard textarea:focus-visible,.materials-dashboard summary:focus-visible{outline:3px solid #2a7553;outline-offset:3px}
@media(max-width:650px){
 .main-content:has(> .materials-dashboard){padding:22px 18px 34px}
 .materials-dashboard-header{margin-bottom:15px}
 .materials-dashboard-header h1{font-size:27px}
 .materials-dashboard-header p{font-size:12.5px}
 .materials-dashboard-panel{padding:16px;margin-bottom:12px}
 .materials-dashboard-panel-heading h2{font-size:16px}
 .materials-dashboard-row{gap:10px;flex-wrap:wrap;padding:13px 0}
 .materials-dashboard-icon{width:36px;height:36px}
 .materials-dashboard-info{flex:1 1 calc(100% - 52px)}
 .materials-dashboard .materials-dashboard-open{min-height:44px;margin-left:46px}
 .materials-dashboard-actions .btn{min-height:44px}
 .materials-dashboard-empty{padding:18px 16px}
}

/* ESTUDO 2.19.0 — currículo expandido; escopado à página de perfil. */
.profile-modern{max-width:1180px;margin:0 auto 24px}
.profile-modern .compact-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 20px;flex-wrap:wrap}
.profile-modern .compact-page-heading h1{font-size:clamp(28px,3vw,36px);letter-spacing:-.035em;line-height:1.15;margin:0 0 8px}
.profile-modern .compact-page-heading p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.profile-modern .profile-hero{padding:23px 27px;margin-bottom:16px}
.profile-modern .profile-hero-top{display:flex;align-items:center;gap:19px}
.profile-modern .profile-hero-avatar{display:flex;align-items:center;justify-content:center;width:76px;height:76px;flex:none;border-radius:50%;background:#dce9df;border:3px solid #fff;box-shadow:0 0 0 1px #d4e4d9;color:#245e49;font-size:27px;font-weight:750}
.profile-modern .profile-hero-identity{min-width:0;overflow-wrap:anywhere}
.profile-modern .profile-hero-identity h2{font-size:22px;line-height:1.3;margin:0 0 7px;letter-spacing:-.03em}
.profile-modern .profile-hero-identity .role-list{margin:0 0 5px}
.profile-modern .profile-hero-identity p{margin:5px 0 0;font-size:13px}
.profile-modern .profile-bio{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}
.profile-modern .profile-bio h3{font-size:13px;margin:0 0 6px}
.profile-modern .profile-bio p{font-size:14px;line-height:1.65;white-space:normal;overflow-wrap:anywhere;margin:0}
.profile-modern .profile-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.profile-modern .profile-col{min-width:0}
.profile-modern .profile-section{padding:20px 23px;margin:0 0 16px}
.profile-modern .profile-section h2{display:flex;gap:9px;align-items:center;font-size:17px;margin-bottom:17px;line-height:1.4}
.profile-modern .profile-kv{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding:11px 0;overflow-wrap:anywhere;font-size:13px}
.profile-modern .profile-kv:first-of-type{border-top:0;padding-top:0}
.profile-modern .profile-kv small{color:#66796c;font-size:11px;font-weight:700}
.profile-modern .profile-entry{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0}
.profile-modern .profile-entry:first-of-type{border-top:0}
.profile-modern .profile-entry-text{flex:1;min-width:170px;overflow-wrap:anywhere}
.profile-modern .profile-entry-text strong{display:block;font-size:14px;margin-bottom:4px}
.profile-modern .profile-entry-text small{display:block;color:var(--muted);font-size:12px;line-height:1.6}
.profile-modern .profile-entry-text p{font-size:13px;line-height:1.6;margin:9px 0 0}
.profile-modern .profile-entry-edit{width:100%}
.profile-modern .profile-entry-edit summary{font-size:12px;color:#275d49;cursor:pointer;font-weight:700}
.profile-modern .profile-entry-edit .form-stack,.profile-modern .profile-add-entry .form-stack{margin-top:15px}
.profile-modern .profile-add-entry{border-top:1px solid var(--line);padding:14px 0 0}
.profile-modern .profile-add-entry summary{cursor:pointer;font-size:13px;font-weight:700;color:#275d49}
.profile-modern .profile-delete-form{margin:12px 0 0}
.profile-modern .profile-external{margin:8px 0;font-size:13px;overflow-wrap:anywhere}
.profile-modern .profile-editor{margin:12px 0 16px;padding:0}
.profile-modern .profile-editor>details>summary{cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:21px 24px;font-size:16px;list-style-position:inside}
.profile-modern .profile-editor>details>summary small{font-size:12px;color:var(--muted);font-weight:450}
.profile-modern .profile-editor-form{padding:0 24px 24px;max-width:720px}
.profile-modern .profile-editor-form h3{font-size:15px;margin:0 0 10px}
.profile-modern .profile-account-settings .profile-editor-form+.profile-editor-form{border-top:1px solid var(--line);padding-top:20px}
.support-profile-link{margin:6px 0 16px}
.record a,.learning-roster-item a,.support-profile-link a,.report-table a{color:#205943;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.record a:hover,.learning-roster-item a:hover,.support-profile-link a:hover,.report-table a:hover{text-decoration-color:currentColor}
@media(max-width:850px){.profile-modern .profile-columns{grid-template-columns:minmax(0,1fr)}.profile-modern .profile-hero{padding:19px}.profile-modern .profile-hero-avatar{width:62px;height:62px;font-size:23px}.profile-modern .profile-section{padding:18px}.profile-modern .profile-editor>details>summary{padding:18px}.profile-modern .profile-editor-form{padding:0 18px 18px}}
@media(max-width:460px){.profile-modern .profile-hero-top{gap:11px}.profile-modern .profile-hero-identity h2{font-size:19px}.profile-modern .compact-page-heading{gap:12px}.profile-modern .compact-page-heading .btn{width:100%;justify-content:center}}

/* Links separados de perfil e conversa na fila de tutoria (2.19.0). */
.support-queue-item .support-queue-copy a{color:#245b47;text-decoration:none}
.support-queue-item .support-queue-copy a:hover{text-decoration:underline}
.support-queue-item .support-queue-open{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;color:#245b47;flex:none}

/* ESTUDO 2.20.0 — Central administrativa: compacta, acessível e responsiva. */
.admin-dashboard{display:grid;gap:18px;min-width:0}
.admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-kpi{min-width:0;background:#fff;border:1px solid var(--border,#dfe7df);border-radius:17px;padding:17px 19px;display:flex;flex-direction:column;gap:5px}
.admin-kpi span{font-size:.82rem;color:var(--muted,#5b7166)}
.admin-kpi strong{font-size:clamp(1.55rem,2.7vw,2.35rem);line-height:1.1;color:#265f4b;font-variant-numeric:tabular-nums}
.admin-kpi small{color:var(--muted,#5b7166);font-size:.76rem}
.admin-operations{padding:23px;min-width:0}
.admin-operations-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:15px}
.admin-operations-top h2{font-size:1.24rem;margin:0 0 4px}
.admin-operations-top p{margin:0;font-size:.86rem}
.admin-dashboard-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;align-items:end;margin-bottom:18px}
.admin-dashboard-filters label{font-size:.78rem;font-weight:600;color:#405b4e;min-width:0}
.admin-dashboard-filters input,.admin-dashboard-filters select{width:100%;min-width:0;height:43px;padding:7px 10px;margin-top:6px;border:1px solid #d9e3dc;border-radius:10px;background:#fff;color:#203a30;font:inherit;font-weight:400}
.admin-dashboard-filters .btn{min-height:43px;justify-content:center}
.admin-dashboard-table-wrap{max-height:600px;max-width:100%;overflow:auto;border:1px solid #e1e8e2;border-radius:13px}
.admin-dashboard-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.84rem;min-width:800px}
.admin-dashboard-table th{position:sticky;top:0;z-index:1;background:#f4f7f3;padding:12px 10px;text-align:left;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:#4f695a;border-bottom:1px solid #dfe5df}
.admin-dashboard-table td{padding:11px 10px;vertical-align:middle;border-bottom:1px solid #ecf0eb;line-height:1.4}
.admin-dashboard-table tbody tr:last-child td{border-bottom:none}
.admin-dashboard-table tbody tr:hover{background:#f9fbf9}
.admin-dashboard-table td small{display:block;color:#697a70;font-size:.73rem;margin-top:3px;overflow-wrap:anywhere}
.admin-dashboard-table td small a{color:inherit}
.admin-dashboard-table td strong{color:#305944;font-size:.82rem}
.admin-dashboard-table progress{display:block;width:100%;height:7px;margin-top:6px;accent-color:#517c60}
.admin-person-link{font-weight:700;color:#194936;text-decoration:none}
.admin-person-link:hover{text-decoration:underline}
.admin-assign{position:relative;margin-top:5px}
.admin-assign summary{font-size:.72rem;color:#285d47;cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:3px}
.admin-assign form{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:8px;min-width:160px}
.admin-assign select{width:160px;max-width:100%;padding:7px 5px;border:1px solid #d8e5da;border-radius:7px;background:#fff;font-size:.75rem}
.admin-assign .btn{font-size:.74rem;min-height:32px;padding:5px 9px}
.admin-message-link{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9e6dc;border-radius:10px;color:#22553f;text-decoration:none}
.admin-message-link:hover,.admin-message-link:focus-visible{background:#eaf2eb;outline-offset:3px}
.admin-dashboard-empty{text-align:center;padding:28px!important;color:#677a6c}
.admin-dashboard-pagination{display:flex;gap:16px;align-items:center;justify-content:flex-end;padding:15px 0 3px;font-size:.85rem}
.admin-dashboard-pagination a{color:#205640;font-weight:700}
.admin-dashboard-hint{font-size:.75rem;line-height:1.5;margin:12px 0 0}
.admin-dashboard-chart{display:grid;gap:9px;padding:20px 22px}
.admin-dashboard-chart h2{font-size:1.1rem;margin:0}
.admin-chart-row{display:grid;grid-template-columns:78px minmax(0,1fr) 55px;align-items:center;gap:12px;font-size:.8rem}
.admin-chart-track{height:12px;border-radius:8px;background:#edf3ee;overflow:hidden}
.admin-chart-fill{display:block;height:100%;background:#5a846c;border-radius:8px}
@media(max-width:1150px){.admin-dashboard-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-operations{padding:15px}.admin-dashboard-table{min-width:700px}}
@media(max-width:540px){.admin-kpi{padding:12px}.admin-kpi strong{font-size:1.6rem}.admin-dashboard-filters{grid-template-columns:1fr 1fr;gap:9px}.admin-dashboard-filters label:first-child,.admin-dashboard-filters label:nth-child(2),.admin-dashboard-filters label:nth-child(3),.admin-dashboard-filters label:nth-child(4){grid-column:1/-1}.admin-dashboard-table{min-width:0}.admin-dashboard-table-wrap{max-height:none;overflow:visible;border:none}.admin-dashboard-table,.admin-dashboard-table tbody,.admin-dashboard-table tr,.admin-dashboard-table td{display:block;width:100%}.admin-dashboard-table thead{display:none}.admin-dashboard-table tr{margin:0 0 12px;border:1px solid #dfe9df;border-radius:13px;background:#fff;padding:8px 10px}.admin-dashboard-table td{padding:5px 3px;border:none}.admin-dashboard-table td:nth-child(2):before{content:'Curso: ';font-weight:600}.admin-dashboard-table td:nth-child(3):before{content:'Tutor: ';font-weight:600}.admin-dashboard-table td:nth-child(4){max-width:220px}.admin-dashboard-table td:nth-child(4):before{content:'Progresso: ';font-size:.75rem}.admin-dashboard-table td:nth-child(6){text-align:right}.admin-dashboard-table .admin-assign{margin-left:4px}.admin-chart-row{grid-template-columns:55px minmax(0,1fr) 45px}}

.admin-dashboard-quick{display:flex;gap:8px;flex-wrap:wrap}
.admin-chart-progress{width:100%;height:12px;accent-color:#5a846c}

/* ESTUDO 2.20.0: painéis compactos, tabela visível sem grandes filtros. */
@media(min-width:1250px){.admin-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-kpi{padding:14px 12px}.admin-kpi strong{font-size:1.85rem}}
.admin-dashboard .compact-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.admin-dashboard .compact-page-heading h1{font-size:clamp(1.5rem,3vw,2.3rem);margin:0 0 4px}
.admin-dashboard .compact-page-heading p{margin:0}
.admin-dashboard-filters{grid-template-columns:repeat(4,minmax(0,1fr)) 110px;align-items:end}
.admin-filter-advanced{grid-column:1/5;align-self:center;font-size:.82rem}
.admin-filter-advanced summary{cursor:pointer;color:#235a43;font-weight:650;padding:6px 0;display:inline-block}
.admin-filter-advanced-grid{margin-top:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.admin-filter-reset{align-self:center;text-align:right;font-size:.82rem;color:#215941;font-weight:650;text-decoration:none}
@media(max-width:1150px){.admin-dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-advanced{grid-column:1/-1}.admin-filter-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.admin-dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-filters label:nth-child(2),.admin-dashboard-filters label:nth-child(3),.admin-dashboard-filters label:nth-child(4){grid-column:auto}.admin-filter-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-reset{font-size:.78rem}}
