:root{font-family:Segoe UI,Arial,sans-serif;color:#193b36;background:#f5f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:24px 6%;border-bottom:1px solid #dbe4db;background:#fff}.brand{text-decoration:none;color:#1a6656;font-weight:800;font-size:30px;display:flex;align-items:center;gap:14px}.brand span{font-size:18px}.badge{font-size:12px;background:#edf2e9;padding:9px 13px;border-radius:20px}main{max-width:1240px;margin:auto;padding:46px 28px}.eyebrow{font-size:11px;letter-spacing:2px;color:#5d7a5f;font-weight:700}h1{font-size:48px;line-height:1.12;letter-spacing:-2px;margin:16px 0}p{line-height:1.6;color:#61716a}.intro p{font-size:17px}nav{display:flex;gap:8px;margin:30px 0 22px}button{font:inherit;border:1px solid #d7e1d9;border-radius:9px;background:white;padding:11px 17px;cursor:pointer;color:#204d41}button[aria-pressed=true]{background:#dfeadd;border-color:#9bb795}button:disabled{opacity:.4;cursor:default}button:hover:not(:disabled){filter:brightness(.96)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c79939;outline-offset:3px}.layout{display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:start}.card{background:#fff;border:1px solid #dfe7de;border-radius:18px;padding:28px;box-shadow:0 6px 24px #233c2705}h2{font-size:21px;margin:0 0 12px}h3{font-size:18px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;margin-bottom:18px}select,input{width:100%;padding:12px;border:1px solid #d7e1d9;border-radius:8px;background:#fff;color:#25493d;font:inherit}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notice{font-size:12px;line-height:1.6;background:#faf4e6;color:#775e2e;border-radius:9px;padding:13px;margin:8px 0 20px}.primary{background:#205c49;color:#fff;border:0;padding:14px 20px}#plan-form>.primary{width:100%}.output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.empty{text-align:center;padding:65px 18px}.empty span{font-size:45px;color:#83a777}.muted{font-size:12px}.lesson{border-top:1px solid #e2e8df;padding:18px 0}.lesson h3{margin:5px 0 10px}.lesson p{font-size:14px;margin:8px 0}.lesson small{color:#658351;font-weight:700}.cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end}.cost-grid button{margin-bottom:18px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.metric{padding:20px;background:#eff4eb;border-radius:12px}.metric strong{display:block;font-size:26px;margin-top:10px}footer{margin-top:28px;font-size:12px;color:#79877c}[hidden]{display:none!important}@media(max-width:850px){.layout{grid-template-columns:1fr}.cost-grid{grid-template-columns:1fr 1fr}h1{font-size:38px}header{gap:16px;flex-wrap:wrap}}@media(max-width:480px){main{padding:30px 16px}.card{padding:20px}.row,.cost-grid,.metrics{grid-template-columns:1fr}.badge{font-size:10px}}@media print{header,.intro,nav,#plan-form,footer,#print,#costs{display:none!important}.layout{display:block}main{padding:0}.card{border:0;box-shadow:none}.lesson{break-inside:avoid}}
.workspace-top{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:30px 0 20px}.workspace-top h2{margin-top:10px}.workspace-top p{font-size:12px}.selectors{display:flex;gap:18px;align-items:end;background:#fff;border:1px solid #dde5df;border-radius:14px;padding:20px}.selectors label{margin:0;min-width:140px}.selectors label:nth-child(2){flex:1}.download{font-size:13px;color:#205c49;padding:13px 5px}.preview-note{font-size:12px;max-width:900px}.slide-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;margin-top:24px}.slide-workspace aside{max-height:790px;overflow:auto}.slide-workspace aside h3{font-size:13px;margin:0 0 14px}#outline{list-style:none;padding:0;margin:0}#outline button{display:grid;grid-template-columns:25px 1fr;text-align:left;width:100%;gap:4px 8px;margin-bottom:9px;padding:13px;border-color:transparent;background:transparent;font-size:12px;line-height:1.5}#outline button small{grid-column:2;color:#6d7e78;font-size:10px}#outline button[aria-current=true]{background:#fff;border-color:#9ebbaa;box-shadow:0 3px 8px #173f3510}.slide-number{color:#7b9589;font-weight:bold}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px;font-size:12px}.viewer-toolbar button{padding:7px 12px}.teaching-slide{background:#fffdf7;border:1px solid #e3dfd1;border-radius:12px;min-height:510px;padding:34px;box-shadow:0 10px 32px #2e39250a;display:flex;flex-direction:column;overflow-wrap:anywhere}.slide-kicker{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#427887;margin-bottom:22px}.teaching-slide h2{color:#193f59;font-size:31px;line-height:1.15;max-width:95%;margin-bottom:22px;white-space:pre-line}.slide-content{display:grid;grid-template-columns:1fr;gap:22px;flex:1}.with-images .slide-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.slide-copy p{font-size:17px;line-height:1.48;margin:0 0 13px;white-space:pre-line;color:#304958}.slide-copy a{font-size:14px;color:#175d9c}.slide-images{display:flex;flex-direction:column;justify-content:center;gap:12px}.slide-images img{display:block;width:100%;max-height:330px;object-fit:contain;border-radius:7px}.slide-footer{font-size:10px;color:#79909d;margin-top:22px;padding-top:14px;border-top:1px solid #e6e5dc}.teaching-slide[data-role=Abertura] .slide-content{grid-template-columns:1fr}.teaching-slide[data-role=Abertura] .slide-images img{max-height:360px}.teaching-slide[data-role=Abertura] h2{font-size:38px}.keyboard-hint{font-size:11px;color:#7a8a80}.lesson-pattern{margin:32px 0;padding:20px 0;border-top:1px solid #dbe2d9}.lesson-pattern h3{font-size:16px}.lesson-pattern>p{font-size:14px}#viewer:fullscreen{background:#eef1ec;overflow:auto;padding:20px max(24px,calc((100vw - 1300px)/2))}#viewer:fullscreen .teaching-slide{min-height:calc(100vh - 125px)}#viewer:fullscreen .teaching-slide h2{font-size:42px}#viewer:fullscreen .slide-copy p{font-size:23px}#viewer:fullscreen .slide-images img{max-height:55vh}@media(max-width:900px){.slide-workspace{grid-template-columns:170px minmax(0,1fr)}.teaching-slide{padding:24px}.with-images .slide-content{grid-template-columns:1fr}.teaching-slide h2{font-size:27px}.selectors{flex-wrap:wrap}.workspace-top{display:block}}@media(max-width:600px){.slide-workspace{grid-template-columns:1fr}.slide-workspace aside{max-height:190px}.selectors{display:block}.selectors label{margin-bottom:16px}.teaching-slide{min-height:420px}.teaching-slide[data-role=Abertura] h2{font-size:30px}.slide-copy p{font-size:16px}.workspace-top p{margin-top:0}.viewer-toolbar{flex-wrap:wrap}}
.save-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0 8px}.save-actions .download{display:inline-block;border:1px solid #205c49;border-radius:9px;padding:13px 18px;background:white;text-decoration:none}#save-status{font-size:14px;color:#205c49}dialog{border:1px solid #d7e1d9;border-radius:18px;padding:28px;max-width:480px;width:calc(100% - 32px);max-height:90vh;overflow:auto;color:#193b36}dialog::backdrop{background:#10291e88}dialog p{font-size:13px}#account-error{color:#a12424}.saved-lesson{padding:18px 0;border-top:1px solid #dde5df}.saved-lesson h3{font-size:17px}#saved-list{margin-top:22px}nav{flex-wrap:wrap}
.history-panel{margin:22px 0}.history-panel .selectors{padding:0;border:0;align-items:end;flex-wrap:wrap}.history-panel .selectors label:first-child{flex:2}.history-panel .selectors label:nth-child(2){flex:1;max-width:150px}.history-panel .selectors button{margin-bottom:0}#continuity-result details{padding:12px 0;border-bottom:1px solid #e2e8df}#continuity-result summary{cursor:pointer;line-height:1.5}#continuity-result li{margin-bottom:8px}#class-status{font-size:13px}#account-area{margin-top:30px}
#network>.card{margin:22px 0}#network details{margin:16px 0;padding:14px 0;border-top:1px solid #dbe4db}#network summary{cursor:pointer;font-weight:600;line-height:1.6}#network textarea{width:100%;padding:12px;border:1px solid #d7e1d9;border-radius:8px;resize:vertical;font:inherit;line-height:1.5}#network .material-content{white-space:pre-wrap;max-height:320px;overflow:auto}#municipality-invitation{overflow-wrap:anywhere;margin:16px 0;color:#205c49}#municipality-error{color:#a12424}#generation-context{margin:16px 0;padding:0 16px;border-left:3px solid #9bb795}.slide-kicker{white-space:pre-line;line-height:1.7}#prepare-context{margin:8px 0}
/* Identidade visual e três sistemas de slides */
:root{color:#332c49;background:#f6f3fc}body{background:radial-gradient(ellipse at 95% 5%,#e8ddfc 0,transparent 35%),radial-gradient(ellipse at 0 38%,#ffe9dc 0,transparent 30%),#f6f3fc}body>header{background:#ffffffdb;border-color:#e8def4;padding:20px 6%}.brand{color:#59428c}.badge,.pill{background:#eee7fc;color:#62448f;border-radius:30px;padding:10px 16px;font-size:12px}.intro{padding:20px 0 10px}.intro h1{font-size:clamp(36px,5vw,64px);letter-spacing:-2.8px;color:#35234f;max-width:800px}.intro em{font-style:normal;color:#8460b8}.intro p{max-width:640px;color:#746781}.eyebrow{color:#8b5890}.card{border:1px solid #e8e0f1;border-radius:24px;box-shadow:0 12px 40px #48346807}.creator{padding:32px;background:linear-gradient(135deg,#fff 65%,#faf3ff)}.creator-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.creator-heading h2{font-size:26px;margin-top:9px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.wide{grid-column:span 2}.step-label,legend{font-size:14px;font-weight:750;color:#62448f;margin:22px 0 18px}input,select{min-height:46px;border-color:#dfd5ed;color:#433554;border-radius:12px}button{color:#62448f;border-color:#dfd5ed;border-radius:12px;transition:transform .15s,box-shadow .15s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #65478915}.primary{color:white;background:linear-gradient(120deg,#7654bd,#a167ba);box-shadow:0 5px 15px #7654bd22}nav button[aria-pressed=true]{background:#7654bd;color:white;border-color:#7654bd}.nav-link{padding:12px 17px;color:#62448f;text-decoration:none}.template-field{border:0;padding:0;margin:0}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.template-option{position:relative;border:2px solid #e8e0f1;padding:12px;border-radius:18px;cursor:pointer;margin:0;gap:7px}.template-option:has(input:checked){border-color:#9068c7;background:#f8f4ff;box-shadow:0 0 0 3px #ede2fa}.template-option input{position:absolute;right:19px;top:17px;width:18px;min-height:18px;accent-color:#7654bd}.template-option>span:last-child{font-size:12px;font-weight:400;color:#776783}.template-preview{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:190px;padding:22px;border-radius:10px;overflow:hidden}.template-preview small{font-size:8px;letter-spacing:1.4px;max-width:85%}.template-preview strong{font-size:25px;line-height:1.1}.template-preview>span{font-size:22px;letter-spacing:10px}.aurora{background:linear-gradient(135deg,#eee3ff,#ffe6df);color:#614184}.explorador{background:#16487c;color:#ffdf68;border-bottom:12px solid #ffca62}.editorial{background:#faf3df;color:#326757;font-family:Georgia,serif;border-left:8px solid #68a792}.generate-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}#allowance{font-size:13px;color:#76647e}#generate-status{color:#634486;font-weight:600}#teacher-plan{margin-top:22px}#teacher-plan details{padding:14px 0;border-bottom:1px solid #eee5f5}#teacher-plan summary{cursor:pointer;font-weight:600}#outline button[aria-current=true]{background:#eee5fa;border-color:#a37dca}.teaching-slide[data-template=aurora]{background:linear-gradient(135deg,#fbf7ff,#fff2eb);border-top:9px solid #b690d3}.teaching-slide[data-template=aurora] h2{color:#684584}.teaching-slide[data-template=explorador]{background:#123a65;border-top:12px solid #ffd166}.teaching-slide[data-template=explorador] h2{color:#ffdc72}.teaching-slide[data-template=explorador] p,.teaching-slide[data-template=explorador] .slide-kicker,.teaching-slide[data-template=explorador] .slide-footer{color:#edf6ff}.teaching-slide[data-template=explorador] .slide-copy{border-left:4px solid #5ec4d0;padding-left:22px}.teaching-slide[data-template=editorial]{background:#faf5e7;border-left:13px solid #3c7a65;border-radius:2px}.teaching-slide[data-template=editorial] h2{font-family:Georgia,serif;color:#2a644f;font-size:38px}.teaching-slide[data-template=editorial] .slide-kicker{color:#3e765c}.teaching-slide[data-template=editorial] .slide-copy p{color:#3d554b}.history-panel{background:#fdfbff}.history-panel h2{color:#664885}a{color:#7654ad}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b0761b;outline-offset:4px}@media(max-width:700px){.form-grid{grid-template-columns:1fr 1fr}.template-grid{grid-template-columns:1fr}.template-preview{min-height:165px}.creator{padding:22px}.creator-heading{display:block}.creator-heading .pill{display:inline-block;margin-top:8px}.wide{grid-column:1/-1}}@media(max-width:420px){.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.intro h1{letter-spacing:-1.5px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Formulário enxuto: ano, componente e tema livre. */
#generate-form>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.municipality-note{padding:12px 16px;background:#f0e9fa;border-radius:12px;color:#654784;font-size:14px}#lesson-result{margin-top:26px}#lesson-notice{color:#755321;background:#fff9e7;border-radius:10px;padding:12px}#lesson-notice:empty{display:none}@media(max-width:540px){#generate-form>.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}

[hidden]{display:none!important}.admin-main{max-width:1100px}.admin-library{margin-top:26px}.document-dialog{max-width:860px}.document-text{max-height:50vh;overflow:auto;padding:12px;background:#faf7ff;border-radius:12px}.document-text p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.document-text details{padding:12px;border-bottom:1px solid #e8e0f1}.document-text summary{cursor:pointer;font-weight:600}#preview-warning,#upload-status,#admin-status{overflow-wrap:anywhere}#preview-warning{color:#805720}.admin-main input[type=file]{padding:12px;max-width:100%}
 .table-scroll{overflow-x:auto;max-height:480px}table{border-collapse:collapse;width:100%}th,td{padding:10px;text-align:left;border-bottom:1px solid #ddd;white-space:nowrap}.metric-bar{display:flex;gap:16px;align-items:center}.metric-bar meter{flex:1;min-width:80px}#metrics-charts details{margin:16px 0}#metrics-details p{overflow-wrap:anywhere}

/* Acesso à conta no canto superior direito, também em telas de celular. */
body>.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:center}
.site-header .brand{min-width:0}
.header-account{justify-self:end}
.header-account button{display:flex;align-items:center;justify-content:center;gap:10px;min-width:48px;min-height:48px}
.header-account svg{flex-shrink:0}
@media(max-width:700px){body>.site-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px}.site-header .badge{display:none}.header-account #sign-in{padding:11px}.header-account #sign-in span{display:none}.site-header .brand{gap:10px}.site-header .brand span{font-size:16px}}

.inclusion-section{border:1px solid #dfd5ed;border-radius:14px;padding:18px;margin:20px 0}.inclusion-section legend{margin:0;padding:0 8px}.inclusion-section fieldset{border:1px solid #e8e0f1;border-radius:12px;padding:16px;margin:16px 0}.inclusion-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inclusion-choices label{display:flex;flex-direction:row;align-items:center;margin:0;font-weight:400}.inclusion-choices input{width:20px;min-height:20px;height:20px;flex-shrink:0;accent-color:#7654bd}@media(max-width:480px){.inclusion-choices{grid-template-columns:1fr}}

/* Keep dense content inside its own scrolling region, including grid cards. */
.card,.metric,.form-grid>*,.dashboard-charts>*{min-width:0}
.table-scroll{width:100%;max-width:100%;min-width:0;overflow:auto}
.metric,.card h2,.card h3{overflow-wrap:anywhere}
#platform-health table{table-layout:fixed}
#platform-health th,#platform-health td{white-space:normal;overflow-wrap:anywhere}
button{min-height:44px}
header a,nav a,.nav-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
@media(max-width:600px),(pointer:coarse){main a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;max-width:100%;overflow-wrap:anywhere}}
dialog{max-height:calc(100dvh - 32px)}
@media(max-width:600px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.viewer-toolbar button{min-width:44px}#account-dialog{padding:20px}}

/* Preparação da aula: animações decorativas sem progresso estimado. */
#generation-dialog{text-align:center;max-width:480px;padding:28px;background:#fffdfd;box-shadow:0 24px 90px #35234f33}
#generation-dialog[open]{animation:generation-enter .25s ease-out}
#generation-dialog::backdrop{background:#35234f80;backdrop-filter:blur(3px)}
#generation-dialog h2{font-size:clamp(20px,4vw,25px);color:#59428c;line-height:1.3}
#generation-dialog [role=status]{min-height:3.2em;color:#62448f;font-size:15px}
#generation-note{font-size:12px;color:#746781;margin-bottom:0}
.preparing-scene{display:block;width:100%;max-width:330px;height:auto;margin:0 auto 12px}
.study-head{transform-origin:180px 118px;animation:study-nod 3.6s ease-in-out infinite}
.study-page{transform-origin:180px 190px;animation:study-page 2.8s ease-in-out infinite}
.study-note{animation:study-float 4s ease-in-out infinite}.study-note.second{animation-delay:-2s}
#generation-dialog:not([data-state=generating]) svg *{animation-play-state:paused}
@keyframes generation-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes study-nod{50%{transform:rotate(5deg)}}
@keyframes study-page{0%,20%,100%{transform:scaleX(1)}60%,80%{transform:scaleX(-1)}}
@keyframes study-float{50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){#generation-dialog,.preparing-scene *{animation:none!important}}
@media(max-height:500px){.preparing-scene{max-width:190px}#generation-dialog{padding:16px}}
.institution-tab>.card{margin:22px 0}.institution-tab textarea{width:100%;min-height:85px;border:1px solid #dfd5ed;border-radius:10px;padding:12px;font:inherit;color:#433554}.institution-tab input[type=checkbox]{width:20px;min-height:20px;accent-color:#7654bd}.institution-tab fieldset{border:1px solid #dfd5ed;border-radius:12px;margin:16px 0;padding:16px}.institution-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.institution-filters label{flex:1;min-width:150px}.institution-filters button{margin-bottom:18px}.version-view{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.6 monospace;max-height:450px;overflow:auto;background:#faf7ff;padding:14px}#lesson-review button{margin:6px}#record-list button{margin-left:12px}#institution-status{position:sticky;top:0;background:#f6f3fc;padding:12px;z-index:2}#institution-status:empty{display:none}
/* Preserve readable mobile fields after the institutional textarea shorthand. */
@media(max-width:600px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea,.institution-tab textarea{font-size:16px}}
/* WebKit can propagate a selected option's intrinsic width beyond its control. */
select{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;appearance:none;-webkit-appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}

/* Shared action links: consistent controls for mouse, keyboard and touch. */
:is(a.action-link,.save-actions a,a.download,.nav-link,main a[href^="/api/"],#institution-result>a,#lesson-review>a,#library-actions>a),.save-actions button,.attachment-dialog>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;max-width:100%;padding:12px 18px;border:1px solid #d4c3ea;border-radius:12px;background:#f6f0ff;color:#583780;font:600 14px/1.4 Segoe UI,Arial,sans-serif;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;box-shadow:0 2px 5px #49306b08;transition:background .15s,border-color .15s,box-shadow .15s}
:is(a.action-link,.save-actions a,a.download,.nav-link,main a[href^="/api/"],#institution-result>a,#lesson-review>a,#library-actions>a):visited{color:#583780}
:is(a.action-link,.save-actions a,a.download,.nav-link,main a[href^="/api/"],#institution-result>a,#lesson-review>a,#library-actions>a):active{background:#e9dcf8;border-color:#9873bb;box-shadow:none}
:where(a.action-link,.save-actions a,a.download,.nav-link,main a[href^="/api/"],#institution-result>a,#lesson-review>a,#library-actions>a){margin:4px 8px 4px 0}.save-actions{gap:10px}.save-actions a{margin:0}.attachment-dialog>.action-link,.attachment-dialog>button{margin:6px 8px 0 0}
@media(hover:hover){:is(a.action-link,.save-actions a,a.download,.nav-link,main a[href^="/api/"],#institution-result>a,#lesson-review>a,#library-actions>a):hover{background:#eee2fc;border-color:#ad8acb;box-shadow:0 4px 10px #49306b12}}
@media(max-width:600px){.attachment-dialog>.action-link,.attachment-dialog>button{width:100%;margin:8px 0 0}.save-actions a,.save-actions button{flex:1 1 140px}}
