:root{
    --green-950:#0b2f25;--green-900:#103d30;--green-800:#14533f;--green-700:#17694d;
    --green-600:#1f7a57;--green-500:#2c9167;--green-100:#e7f4ed;--green-50:#f3faf6;
    --gold:#d9a514;--cream:#fffdf6;--ink:#17211d;--muted:#64706a;--line:#dce6e0;
    --white:#fff;--danger:#b42318;--warning:#b54708;--success:#067647;
    --shadow-sm:0 6px 20px rgba(11,47,37,.08);--shadow:0 18px 50px rgba(11,47,37,.14);
    --radius:20px;--radius-sm:12px;--container:min(1220px,calc(100% - 36px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.55 Inter,Segoe UI,Roboto,Arial,sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:var(--container);margin-inline:auto}.skip-link{position:fixed;left:14px;top:-80px;z-index:9999;background:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{top:14px}.utility-bar{background:var(--green-950);color:#dcefe6;font-size:.82rem}.utility-inner{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:16px}.utility-inner div{display:flex;gap:18px}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,230,224,.75)}.nav-shell{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.school-brand{display:flex;align-items:center;gap:12px;min-width:260px}.school-brand img{width:58px;height:58px;object-fit:contain}.school-brand strong,.school-brand small{display:block}.school-brand strong{font-size:1.08rem;color:var(--green-900)}.school-brand small{color:var(--muted);font-size:.78rem}.main-nav{display:flex;align-items:center;gap:4px}.main-nav a{padding:10px 12px;border-radius:10px;font-weight:700;font-size:.92rem;color:#33413b}.main-nav a:hover,.main-nav a.active{background:var(--green-50);color:var(--green-800)}.main-nav .nav-access{background:var(--green-800);color:#fff;margin-left:6px}.main-nav .nav-access:hover{background:var(--green-950);color:#fff}.nav-toggle{display:none;background:transparent;border:0;padding:8px}.nav-toggle span{display:block;width:26px;height:3px;background:var(--green-900);border-radius:9px;margin:5px}
.hero{position:relative;min-height:680px;display:grid;align-items:center;color:#fff;overflow:hidden;background:linear-gradient(90deg,rgba(7,40,30,.94) 0%,rgba(10,58,43,.77) 48%,rgba(10,58,43,.2) 100%),url('../img/hero-escola.jpg') center/cover}.hero:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#fff)}.hero-content{position:relative;z-index:2;max-width:720px;padding:76px 0 120px}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:850;color:var(--gold)}.hero h1{font-size:clamp(2.5rem,5.2vw,5.1rem);line-height:1.02;margin:18px 0 20px;letter-spacing:-.04em}.hero p{max-width:670px;font-size:clamp(1rem,2vw,1.25rem);color:#e7f4ed}.hero-actions,.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:12px 18px;font-weight:800;transition:.2s}.btn.primary{background:var(--green-700);color:#fff}.btn.primary:hover{background:var(--green-900);transform:translateY(-1px)}.btn.light{background:#fff;color:var(--green-900)}.btn.ghost{background:transparent;color:var(--green-800);border-color:var(--line)}.hero .btn.ghost{color:#fff;border-color:#ffffff6a;background:#ffffff10}.btn.danger{background:#fee4e2;color:var(--danger)}.btn.small{padding:8px 12px;font-size:.87rem}.section{padding:82px 0}.section.soft{background:var(--green-50)}.section.dark{background:var(--green-950);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-head h2,.page-hero h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.035em;margin:8px 0}.section-head p{max-width:670px;color:var(--muted);margin:0}.dark .section-head p{color:#c9ddd3}.stats-band{position:relative;z-index:5;margin-top:-70px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.stat-item{padding:28px;border-right:1px solid var(--line)}.stat-item:last-child{border:0}.stat-item strong{display:block;font-size:2rem;color:var(--green-800)}.stat-item span{color:var(--muted);font-size:.9rem}.course-grid,.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.course-card,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.course-card{position:relative;min-height:390px;color:#fff;display:flex;align-items:end;background-size:cover;background-position:center}.course-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(5,35,26,.92))}.course-card>div{position:relative;padding:26px}.course-card h3{font-size:1.55rem;margin:0 0 8px}.course-card p{color:#dcefe6;margin:0 0 18px}.course-card a{font-weight:850;color:#fff}.card-body{padding:22px}.card-body h3{margin:0 0 10px;color:var(--green-900)}.card-body p{color:var(--muted)}.media-card img{width:100%;height:230px;object-fit:cover}.tag,.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:var(--green-100);color:var(--green-800);font-size:.76rem;font-weight:800}.badge.pending{background:#fff1cf;color:#7a4b00}.badge.blocked{background:#fee4e2;color:var(--danger)}.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.feed-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:28px}.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:24px}.post-head{display:flex;align-items:center;gap:12px;padding:18px}.avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--green-100)}.post-author{flex:1}.post-author strong,.post-author small{display:block}.post-author small{color:var(--muted)}.post-media{background:#e9efec}.post-media img,.post-media video{width:100%;max-height:680px;object-fit:cover}.post-content{padding:18px}.post-content p{white-space:pre-line}.post-actions{display:flex;gap:10px;border-top:1px solid var(--line);padding:12px 18px}.icon-button{border:0;background:var(--green-50);color:var(--green-900);padding:9px 12px;border-radius:10px;font-weight:800}.icon-button.active{background:var(--green-800);color:#fff}.sidebar-card{position:sticky;top:118px;padding:22px}.sidebar-card h3{margin-top:0}.quick-links{display:grid;gap:10px}.quick-links a{padding:13px;border:1px solid var(--line);border-radius:10px;font-weight:750}.quick-links a:hover{border-color:var(--green-600);color:var(--green-800)}
.page-hero{background:linear-gradient(135deg,var(--green-950),var(--green-700));color:#fff;padding:80px 0}.page-hero p{max-width:760px;color:#d6e9df;font-size:1.08rem}.breadcrumb{font-size:.84rem;color:#cbe1d6}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.content-grid.reverse .visual{order:2}.visual img{border-radius:var(--radius);box-shadow:var(--shadow)}.prose h2{font-size:2.2rem;line-height:1.15;color:var(--green-900)}.prose p,.prose li{color:#4f5e57}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:0;list-style:none}.feature-list li{background:var(--green-50);border-radius:12px;padding:14px}.map-frame{width:100%;height:470px;border:0;border-radius:var(--radius);box-shadow:var(--shadow)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.team-card{text-align:center;padding:24px}.team-card img{width:120px;height:120px;object-fit:cover;border-radius:50%;margin:0 auto 18px}.team-card .role{color:var(--green-700);font-weight:800}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card img{height:250px;width:100%;object-fit:cover}.project-card .card-body{display:flex;flex-direction:column;min-height:250px}.project-card .card-body .btn{margin-top:auto;align-self:flex-start}
.form-card{max-width:760px;margin:40px auto;padding:28px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd8d1;border-radius:11px;padding:12px 13px;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #2c916722;border-color:var(--green-600)}.field small{color:var(--muted)}.alert{border:1px solid;border-radius:11px;padding:13px 15px;margin:16px 0}.alert.success{background:#ecfdf3;color:#067647;border-color:#abefc6}.alert.danger{background:#fef3f2;color:#b42318;border-color:#fecdca}.alert.warning{background:#fffaeb;color:#b54708;border-color:#fedf89}.flash-wrap{position:relative;z-index:20}.empty{text-align:center;padding:42px;color:var(--muted)}
.panel-shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 116px)}.panel-sidebar{background:var(--green-950);color:#fff;padding:24px;position:sticky;top:116px;height:calc(100vh - 116px)}.panel-sidebar h3{margin:0 0 20px}.panel-sidebar nav{display:grid;gap:7px}.panel-sidebar a{padding:11px 12px;border-radius:9px;color:#d7e8df;font-weight:700}.panel-sidebar a:hover,.panel-sidebar a.active{background:#ffffff17;color:#fff}.panel-content{padding:34px;min-width:0;background:#f6f9f7}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.panel-head h1{margin:0;font-size:2.2rem}.system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.system-card{padding:24px;min-height:220px;display:flex;flex-direction:column}.system-card .system-icon{font-size:2.3rem}.system-card .btn{margin-top:auto}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi{padding:20px}.kpi strong{display:block;font-size:1.8rem;color:var(--green-800)}.table-wrap{overflow:auto;border-radius:var(--radius);border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left}th{background:var(--green-50);color:var(--green-900);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.site-footer{background:#0a2d23;color:#d5e9df;padding:58px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:36px}.footer-grid h3{color:#fff}.footer-grid a,.footer-grid p{display:block;color:#bcd4c8;margin:8px 0}.footer-brand{display:flex;gap:16px}.footer-brand img{width:82px;height:82px;object-fit:contain;background:#fff;border-radius:14px}.footer-brand p{margin-top:6px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;margin-top:36px;padding-top:18px;color:#9fc1b0;font-size:.85rem}.consent-banner{position:fixed;z-index:2000;left:20px;right:20px;bottom:20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.consent-banner p{margin:4px 0 0;color:var(--muted)}.consent-actions{display:flex;gap:10px;flex-shrink:0}.chat-launcher{position:fixed;right:22px;bottom:22px;z-index:1900;width:58px;height:58px;border:0;border-radius:50%;background:var(--green-700);color:#fff;font-size:1.5rem;font-weight:900;box-shadow:var(--shadow)}.consent-banner:not([hidden])~.chat-launcher{bottom:132px}.chat-panel{position:fixed;right:22px;bottom:92px;z-index:1950;width:min(390px,calc(100vw - 28px));height:520px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.chat-panel header{background:var(--green-900);color:#fff;padding:15px 17px;display:flex;justify-content:space-between;align-items:center}.chat-panel header small{display:block;color:#cde2d8}.chat-panel header button{border:0;background:transparent;color:#fff;font-size:1.5rem}.chat-messages{height:390px;overflow:auto;padding:16px;background:#f5f8f6}.chat-message{max-width:85%;padding:10px 12px;border-radius:13px;margin:8px 0}.chat-message.bot{background:#fff;border:1px solid var(--line)}.chat-message.user{margin-left:auto;background:var(--green-700);color:#fff}.chat-panel form{display:flex;padding:12px;border-top:1px solid var(--line)}.chat-panel input{flex:1;border:1px solid var(--line);padding:10px;border-radius:10px 0 0 10px}.chat-panel form button{border:0;background:var(--green-700);color:#fff;padding:0 14px;border-radius:0 10px 10px 0}
@media(max-width:1050px){.main-nav{position:fixed;top:116px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:13px}.main-nav .nav-access{margin-left:0}.nav-toggle{display:block}.course-grid{grid-template-columns:repeat(2,1fr)}.cards-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.feed-grid{grid-template-columns:1fr}.sidebar-card{position:static}.system-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){:root{--container:min(100% - 24px,1220px)}.utility-bar{display:none}.nav-shell{min-height:76px}.school-brand{min-width:0}.school-brand img{width:48px;height:48px}.school-brand strong{font-size:.92rem}.school-brand small{font-size:.7rem}.main-nav{top:76px}.hero{min-height:630px;background-position:38% center}.hero-content{padding:64px 0 110px}.hero h1{font-size:2.75rem}.hero-actions .btn{width:100%}.stats-band{margin-top:-72px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-item{padding:20px}.stat-item:nth-child(2){border-right:0}.stat-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.section{padding:58px 0}.section-head{display:block}.section-head .btn{margin-top:16px}.course-grid,.cards-grid,.project-grid,.team-grid{grid-template-columns:1fr}.course-card{min-height:330px}.content-grid,.content-grid.reverse{grid-template-columns:1fr}.content-grid.reverse .visual{order:0}.feature-list{grid-template-columns:1fr}.media-card img{height:210px}.page-hero{padding:56px 0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-card{padding:20px;margin:20px auto}.panel-shell{display:block}.panel-sidebar{position:static;height:auto}.panel-sidebar nav{grid-template-columns:repeat(2,1fr)}.panel-content{padding:20px 12px}.panel-head{align-items:flex-start;flex-direction:column}.system-grid,.kpi-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}.consent-banner{left:10px;right:10px;bottom:10px;display:block}.consent-actions{margin-top:12px}.consent-actions .btn{flex:1}.chat-launcher{right:14px;bottom:14px}.consent-banner:not([hidden])~.chat-launcher{bottom:190px}.chat-panel{right:14px;bottom:82px;height:min(520px,calc(100vh - 100px))}.chat-messages{height:calc(100% - 118px)}.post-actions{overflow:auto}.map-frame{height:360px}.table-wrap{border:0;background:transparent;overflow:visible}.table-wrap table.responsive-table{min-width:0}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.responsive-table td{border:0;padding:8px 10px;display:grid;grid-template-columns:120px 1fr;gap:10px}.responsive-table td:before{content:attr(data-label);font-weight:800;color:var(--green-900)}}

/* Correção: o atributo HTML hidden deve prevalecer sobre o display flex do banner. */
.consent-banner[hidden],
#consentBanner[hidden] {
    display: none !important;
}
.consent-banner.is-hidden {
    display: none !important;
}

/* Gerenciamento central de usuários */
.user-management-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(520px,1.6fr);gap:24px;align-items:start;margin-top:26px}
.user-form-card,.user-list-card{min-width:0}
.user-form-card{position:sticky;top:100px}
.user-kpis{margin-top:22px}
.checkbox-row{display:flex;gap:20px;flex-wrap:wrap;padding:12px 0}
.checkbox-row label{display:flex;align-items:center;gap:8px;font-weight:700}
.checkbox-row input{width:18px;height:18px}
.form-divider{border:0;border-top:1px solid var(--border,#d9e2de);margin:26px 0}
.password-reset-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.user-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.7fr) minmax(130px,.6fr);gap:12px;align-items:end;margin-bottom:18px}
.user-filters .actions{grid-column:1/-1}
.user-table td:first-child strong,.user-table td:first-child small{display:block}
.user-table td:first-child small{color:var(--muted,#64748b);margin-top:3px}
.role-badge,.status-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}
.role-administrador{background:#ede9fe;color:#5b21b6}.role-coordenador{background:#dbeafe;color:#1d4ed8}.role-professor{background:#dcfce7;color:#166534}.role-aluno{background:#fef3c7;color:#92400e}.role-externo{background:#f1f5f9;color:#475569}
.status-pill.active{background:#dcfce7;color:#166534}.status-pill.inactive{background:#fee2e2;color:#991b1b}
.compact-admin-links{padding:18px 0 0}
[hidden]{display:none!important}
@media(max-width:1100px){.user-management-grid{grid-template-columns:1fr}.user-form-card{position:static}.user-filters{grid-template-columns:1fr 1fr}.user-filters .field:first-child{grid-column:1/-1}}
@media(max-width:720px){.user-filters{grid-template-columns:1fr}.user-filters .field:first-child{grid-column:auto}.password-reset-form{grid-template-columns:1fr}.user-table thead{display:none}.user-table,.user-table tbody,.user-table tr,.user-table td{display:block;width:100%}.user-table tr{border:1px solid var(--border,#d9e2de);border-radius:14px;padding:12px;margin-bottom:12px;background:#fff}.user-table td{border:0!important;padding:7px 4px!important;display:grid;grid-template-columns:110px 1fr;gap:10px}.user-table td::before{content:attr(data-label);font-weight:800;color:var(--muted,#64748b)}.user-table td .actions{justify-content:flex-start}.user-table td:first-child strong,.user-table td:first-child small{grid-column:2}.checkbox-row{flex-direction:column;gap:10px}}
