.pdf-preview{min-height:12rem}.pdf-preview-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.pdf-preview-pages{display:grid;gap:1rem}.pdf-preview-pages canvas{display:block;width:100%;height:auto;box-shadow:0 2px 8px #0002}.cert-config{max-width:1060px}.cert-config-status{border:1px solid #e2c993;background:#fffbf0;border-radius:12px;padding:20px 24px;margin-bottom:24px;display:flex;justify-content:space-between;gap:24px}.cert-config-status.completo{border-color:#b4d7c2;background:#f3faf5}.cert-config-status strong{font-size:17px}.cert-config-status p{font-size:14px;margin:7px 0 0;line-height:1.6}.cert-config-status ul{margin:0;min-width:220px;font-size:13px;line-height:1.9}.cert-config-status a{color:inherit}.cert-config-base{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;background:var(--surface,#f7f8fa);padding:22px;border:1px solid var(--line,#e1e4eb);border-radius:12px;margin:22px 0}.cert-config-base span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.cert-config-base strong{font-size:15px}.cert-config-base>a{grid-column:1/-1;font-size:13px;width:fit-content}.cert-config-field{border:1px solid var(--line,#e1e4eb);border-radius:12px;padding:22px;margin:18px 0;scroll-margin-top:24px}.cert-config-field.pendente{border-left:3px solid #c79339}.cert-config-field-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cert-config-field-head label{font-weight:600}.cert-config-field-head span{font-size:12px;color:var(--muted);background:var(--surface,#f7f8fa);padding:5px 9px;border-radius:20px}.cert-config-source{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;flex-wrap:wrap}.cert-config-source select{width:auto;max-width:100%}.cert-config-field textarea{width:100%;box-sizing:border-box;line-height:1.65;resize:vertical}.cert-config-field textarea[readonly]{background:#f5f6f8;color:#565b69}.cert-config-field .hint{margin:9px 0 0;line-height:1.6}.cert-config-actions{flex-wrap:wrap}.cert-pendencia{display:flex;flex-direction:column;gap:6px;align-items:flex-start;max-width:260px}.cert-pendencia strong{font-size:13px;color:#8b641f}.cert-pendencia small{font-size:12px;color:var(--muted);line-height:1.5}.cert-pendencia a{font-size:12px}.cert-config .cert-preview{width:100%;height:75vh;border:0}@media(max-width:640px){.cert-config-status{flex-direction:column;gap:12px;padding:16px}.cert-config-status ul{min-width:0;padding-left:18px}.cert-config-field,.cert-config-base{padding:16px}.cert-config-base{grid-template-columns:1fr}.cert-config-field-head{align-items:flex-start;flex-direction:column}.cert-config-actions button{flex:1}.cert-config-source select{min-width:0;width:100%}}.cert-config-field{background:var(--paper);border-color:var(--border)}.cert-config-field textarea,.cert-config-source select{font:inherit;font-size:13px;color:var(--ink);border:1px solid var(--border);border-radius:8px;padding:11px 13px;background:var(--paper);min-width:0}.cert-config-field textarea:focus,.cert-config-source select:focus{outline:2px solid var(--blue);outline-offset:2px;background:#fff}.cert-config .hint{font-size:12px;color:var(--muted);line-height:1.6}.cert-config a{color:var(--blue)}.cert-config-signatures{min-width:0}.cert-config-signatures legend{font-weight:600;padding:0 6px}.cert-config-signatures .hint{margin-top:0}.cert-signatures-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.cert-signature-option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;min-width:0}.cert-signature-option:has(input:checked){border-color:var(--blue);background:#f5f8ff}.cert-signature-option input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--blue)}.cert-signature-option input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.cert-signature-option strong{display:block;font-size:14px}.cert-signature-option small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:5px}.cert-signatures-warning{font-size:13px;color:#8b641f;margin:12px 0 0}@media(max-width:640px){.cert-signatures-options{grid-template-columns:1fr}}.cert-status{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:10px;line-height:1.5}.cert-status:before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:currentColor}.cert-status--emitido{color:var(--ok);border-color:#c6ddca;background:#edf4eb}.cert-status--disponivel{color:var(--blue);border-color:#d5daf2;background:#eceef9}.cert-versao{color:var(--muted);font-size:10px}.cert-meta{display:block;flex-basis:100%;font-size:11px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.cert-acoes{display:flex;gap:6px;align-items:center;justify-content:flex-end;min-width:0}.cert-download,.cert-completar,.cert-mais-trigger{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:11px;font-weight:500;cursor:pointer}.cert-download{color:var(--blue);border-color:#d0d5ef;white-space:nowrap}.cert-presenca{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:6px 9px;border:1px solid #b5c9b9;border-radius:6px;background:#edf4eb;color:#205c37;font:inherit;font-size:11px;font-weight:500;cursor:pointer}.cert-presenca svg{width:16px;height:16px;flex:none}.cert-presenca:hover{border-color:var(--ok);background:var(--ok-bg)}.cert-aviso{padding:12px 16px;border:1px solid #c6ddca;border-radius:8px;background:var(--ok-bg);color:var(--ok);font-size:12px}.cert-download:hover{border-color:var(--blue);background:var(--blue-soft)}.cert-download svg,.cert-mais-trigger svg{width:15px;height:15px;flex:none}.cert-download-curto{display:none}.cert-mais{position:relative}.cert-mais-trigger{width:30px;padding:6px;border-color:transparent;color:var(--muted)}.cert-mais-trigger:hover,.cert-mais-trigger[aria-expanded=true]{background:var(--bg);color:var(--ink)}.cert-mais-panel{position:absolute;z-index:5;top:calc(100% + 4px);right:0;width:178px;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--paper);box-shadow:0 8px 24px #10194f1f}.cert-mais-panel button{width:100%;padding:9px 10px;border:0;border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}.cert-mais-panel button:hover{background:var(--bg)}.cert-mais-panel .cert-revogar{color:var(--danger)}.cert-preview{border:0;width:100%;min-height:65vh;background:#f4f5fa}.turma-toolbar,.turma-filtros,.turma-actions,.turma-badges{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.turma-toolbar{margin:20px 0}.turma-filtros{padding:18px 0;border-block:1px solid var(--line, #ddd);margin-bottom:22px}.turma-filtros input:not([type=checkbox]){min-width:220px;flex:1}.turma-filtros label{font-size:13px}.turmas-board{display:flex;gap:16px;overflow-x:auto;align-items:flex-start;padding:2px 2px 20px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.turmas-board--overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));overflow:visible;padding:0}.turma-column{flex:0 0 340px;min-width:0;background:var(--paper);border:1px solid var(--border);border-radius:12px;transition:border-color .15s ease,box-shadow .15s ease}.turma-column--summary:hover{border-color:#b8bbc9;box-shadow:0 4px 16px #10194f06}.turma-column--expanded{background:#e7e7df}.turma-column--droppable{border-color:var(--blue);outline:2px dashed var(--blue-soft);outline-offset:2px}.turma-card-header{padding:14px 16px 16px}.turma-card-topline,.turma-card-title,.turma-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.turma-card-topline{min-height:28px}.turma-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:500;color:var(--muted)}.turma-status>span{width:6px;height:6px;flex-shrink:0;background:currentColor;border-radius:50%}.turma-status--inscricoes{color:#3b4ca5}.turma-status--em_andamento{color:var(--warn)}.turma-status--concluida{color:var(--ok)}.turma-code{margin-left:auto;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.05em}.turma-more{position:relative;flex-shrink:0}.turma-more-trigger{width:28px;height:28px;padding:5px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer}.turma-more-trigger:hover,.turma-more-trigger[aria-expanded=true]{background:var(--bg);color:var(--ink);border-color:var(--border)}.turma-more-panel{position:absolute;top:calc(100% + 5px);right:0;z-index:10;width:214px;padding:6px;background:var(--paper);border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 28px #10194f1a}.turma-more-panel>a,.turma-more-panel>button{display:block;width:100%;padding:9px 10px;border:0;border-radius:5px;color:var(--ink);background:transparent;font:inherit;font-size:12px;line-height:1.4;text-align:left;cursor:pointer}.turma-more-panel>a:hover,.turma-more-panel>button:hover{background:var(--blue-soft);text-decoration:none}.turma-more-divider{height:1px;margin:4px 6px;background:var(--border)}.turma-card-title{margin:12px 0 14px;align-items:flex-start}.turma-card-title h3{min-width:0;margin:0;font-size:18px;font-weight:600;letter-spacing:-.035em;line-height:1.35}.turma-card-title h3 button{font:inherit;letter-spacing:inherit;text-align:left;color:inherit;border:0;background:none;cursor:pointer;padding:0;overflow-wrap:anywhere}.turma-count{display:inline-flex;align-items:center;flex-shrink:0;gap:5px;padding:4px 7px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:10px;line-height:1.4}.turma-count strong{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.turma-icon{width:15px;height:15px;flex-shrink:0}.turma-count .turma-icon{width:13px;height:13px}.turma-schedule{display:flex;flex-wrap:wrap;gap:7px 14px;margin-bottom:18px}.turma-schedule>span{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.turma-quick-links{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--border);padding-block:9px;margin-bottom:12px}.turma-quick-links a{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ink);font-size:12px;font-weight:500;min-height:24px}.turma-quick-links a+a{border-left:1px solid var(--border)}.turma-quick-links a:hover{color:var(--blue)}.turma-card-footer{gap:8px}.turma-add,.turma-open{display:inline-flex;align-items:center;justify-content:center;gap:5px;font:inherit;font-size:12px;font-weight:500;line-height:1.5;padding:8px;border:1px solid transparent;border-radius:6px;cursor:pointer}.turma-add{background:transparent;color:var(--ink)}.turma-add:hover{background:var(--bg);border-color:var(--border)}.turma-open{background:var(--ink);color:var(--paper);margin-left:auto}.turma-open:hover{background:var(--blue);text-decoration:none}.turma-column--expanded .turma-add{width:100%;border-color:var(--border)}.turma-column--expanded .turma-add:hover{background:var(--paper)}.turmas-central :is(button,a,select,input):focus-visible{outline:2px solid var(--blue);outline-offset:3px}.turma-participants{margin:0 12px;padding-top:12px;border-top:2px solid #bcc2df}.turma-aluno{background:var(--paper);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:10px}.turma-aluno[draggable=true]:hover{border-color:#b8bbc9}.turma-aluno-identity{display:flex;align-items:flex-start;gap:10px}.turma-aluno-identity>div{min-width:0}.turma-avatar{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #d4d8eb;background:#e6e8f3;color:#4e5884;font-size:10px;font-weight:600;border-radius:7px}.turma-aluno-nome{font:inherit;font-size:13px;font-weight:500;line-height:1.5;color:var(--ink);border:0;background:transparent;cursor:pointer;text-align:left;padding:0;overflow-wrap:anywhere}.turma-aluno .turma-aluno-company{font-size:11px;margin:12px 0;color:var(--muted)}.turma-aluno small{display:block;font-size:11px;margin-top:3px;line-height:1.6;overflow-wrap:anywhere;color:var(--muted)}.turma-badges{margin:14px 0}.turma-mover{display:flex;flex-direction:column;gap:5px;font-size:12px}.turma-mover select{width:100%;font-size:13px}.turma-actions{margin-top:12px;font-size:12px;justify-content:space-between}.turma-actions .btn-ghost{padding:7px 9px;font-size:12px}.turma-empty{font-size:13px;color:var(--muted);padding:16px 6px;line-height:1.5}.turma-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.turma-oferta{padding:14px 0;border-bottom:1px solid var(--line, #ddd)}.turma-oferta strong{font-size:14px}.turma-chamada{overflow-x:auto;margin:20px 0}.turma-chamada table{min-width:650px}.turma-chamada select{max-width:170px}@media(max-width:700px){.turma-column{flex-basis:min(340px,100%)}.turma-toolbar>*{flex:1}.turma-filtros>*{width:100%}.turma-filtros label{width:auto}}.turma-filtros input:not([type=checkbox]),.turma-filtros select,.turma-mover select,.turma-chamada select{font:inherit;font-size:13px;color:var(--ink, #191d4e);background:var(--paper, #fafaf5);border:1px solid var(--line, #d9d9ce);border-radius:9px;min-height:40px;padding:9px 11px}.turma-filtros input:not([type=checkbox]):focus,.turma-filtros select:focus,.turma-mover select:focus{outline:2px solid #373dff;outline-offset:2px}.turma-filtros label{display:flex;align-items:center;gap:7px}.turma-column .btn-ghost:disabled{opacity:.55}.turmas-course-group{margin:26px 0}.turmas-course-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.turmas-course-heading h2{font-size:14px;font-weight:600;letter-spacing:-.02em;line-height:1.5;min-width:0}.turmas-course-number{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--border);border-radius:6px;flex-shrink:0;font-size:10px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.turmas-course-total{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:11px}.turmas-course-empty{margin:0;padding:12px 14px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:11px}.turmas-central{min-width:0}.turmas-central .turma-toolbar input:not([type=checkbox]),.turmas-central .turma-toolbar select{min-width:0;max-width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit}.turma-toolbar .field{margin-bottom:0;flex:1;min-width:200px}@media(max-width:700px){.turma-toolbar>*{min-width:0}.turmas-course-heading h2{overflow-wrap:anywhere}.turma-card-header{padding-inline:12px}.turma-card-footer{flex-wrap:wrap}}.turmas-central input[aria-label="Buscar alunos"]{flex:1;max-width:360px;width:100%}.turma-view-toolbar .segmented{margin-left:auto}.turma-filter-panel{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--paper);margin-bottom:20px}.turma-filter-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(120px,.65fr) minmax(165px,.8fr);gap:12px}.turma-filter-grid--course{grid-template-columns:1.4fr 1fr 1fr}.turma-filter-panel .field{min-width:0;margin:0;display:grid;gap:6px;font-size:11px;font-weight:500;color:var(--muted)}.turma-filter-panel select,.turma-filter-panel input:not([type=checkbox]){width:100%;min-width:0;min-height:40px;padding:9px 10px;border:1px solid var(--border);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit;font-size:12px}.turma-filter-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}.turmas-central .turma-filter-bottom input[aria-label="Buscar alunos"]{flex:1 1 230px;max-width:none}.turma-filter-check{display:inline-flex;align-items:center;gap:6px;font-size:11px}.turma-filter-check input{accent-color:var(--blue)}.turma-filter-bottom .btn-ghost{font-size:11px}.turma-filter-bottom .btn-ghost:disabled{opacity:.45;cursor:default}.turma-list-summary{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:20px 0 14px;font-size:12px}.turma-list-summary strong{font-weight:500}.turma-list-summary>span{color:var(--muted);font-size:11px}.turma-list-context{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.turma-list-context .btn-ghost{font-size:11px}.turma-list-empty{padding:24px 16px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:13px}.turma-aluno-vinculos{display:grid;gap:6px;font-size:11px;color:var(--muted)}.turma-aluno-vinculos a{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;color:var(--ink)}.turma-aluno-vinculos a:hover{border-color:var(--blue);text-decoration:none}.turma-aluno-vinculos strong{font-weight:500}.turma-aluno-vinculos a span{color:var(--muted)}.turma-aluno-inativo{display:inline-block;padding:3px 7px;margin-bottom:10px;border-radius:4px;background:var(--warn-bg);color:var(--warn);font-size:10px}@media(max-width:520px){.turma-filter-grid{grid-template-columns:minmax(0,1fr)}.turma-filter-panel{padding:12px}.turma-view-toolbar .segmented{flex-basis:100%;margin-left:0}.turma-view-toolbar .seg-btn{flex:1}}.turma-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.turma-view-tabs{display:flex;gap:24px;align-self:stretch;border-bottom:1px solid var(--border);flex:1}.turma-view-tabs button{padding:14px 4px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}.turma-view-tabs button.active{border-bottom-color:var(--blue);color:var(--ink)}.turma-view-description{color:var(--muted);font-size:13px;margin:12px 0 22px}.turma-filter-grid{grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) minmax(170px,1.2fr) minmax(150px,1fr)}.turma-status-filter{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.turma-course-label{margin:0 0 14px;line-height:1.5;overflow-wrap:anywhere}@media(max-width:1100px){.turma-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.turma-view-toolbar{flex-wrap:wrap}.turma-view-tabs{flex-basis:100%}.turma-filter-grid{grid-template-columns:minmax(0,1fr)}.turma-status-filter{width:100%;justify-content:space-between}}.turma-filter-bottom>input[type=search]{flex:1 1 240px;width:auto;max-width:none}.turma-status-filter select{width:auto}.participacao-contexto{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 18px;font-size:12px}.participacao-contexto strong{font-weight:500}.participacao-contexto p{color:var(--muted);margin:5px 0 0;font-size:11px}.participacao-contexto time{color:var(--muted)}.participacao-contexto label{display:flex;gap:8px;align-items:center}.participacao-contexto select{font:inherit;padding:8px;background:var(--paper);border:1px solid var(--border);border-radius:6px;color:var(--ink)}.participacao-lista{--participacao-columns: minmax(160px, 1fr) 175px 195px 76px;container:participacao / inline-size;border:1px solid var(--border);border-radius:10px;background:var(--paper)}.participacao-toggle{display:flex;gap:12px;align-items:center;width:100%;padding:14px 16px;border:0;border-radius:9px;background:var(--card);color:var(--ink);text-align:left;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.participacao-toggle>span:last-child{margin-left:auto;font-size:11px;font-weight:400;color:var(--muted)}.participacao-colunas,.turma-aluno--compacta{display:grid;grid-template-columns:var(--participacao-columns);gap:14px;align-items:center;padding:12px 16px;border:0;border-top:1px solid var(--border);border-radius:0;margin:0}.participacao-colunas{color:var(--muted);font-size:10px;padding-block:8px}.turma-aluno--compacta{min-height:72px;position:relative}.turma-aluno--compacta:last-child{border-radius:0 0 9px 9px}.turma-aluno--compacta:hover,.turma-aluno--compacta:focus-within{background:#fff6}.turma-aluno--compacta .turma-aluno-nome{font-size:12px;font-weight:600}.participacao-espera{grid-column:span 2;color:var(--muted);font-size:11px}.participacao-presenca,.participacao-certificado{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}.participacao-certificado .cert-versao,.participacao-corrigir{flex-basis:100%;font-size:10px}.participacao-pendente{color:var(--muted);font-size:11px;line-height:1.5}.participacao-certificado .cert-download{font-size:11px;padding:7px 9px}.participacao-certificado .cert-mais{margin-left:auto}.turma-aluno-gestao{position:relative;font-size:11px}.turma-aluno-gestao summary{cursor:pointer;color:var(--muted);padding-block:10px}.turma-aluno-gestao-panel{position:absolute;z-index:6;right:0;top:100%;width:min(290px,75vw);padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--paper);box-shadow:0 8px 24px #10194f20}.participacao-lista button:disabled{cursor:wait;opacity:.55}.participacao-lista :is(button,a,summary):focus-visible{outline:2px solid var(--blue);outline-offset:3px}@container participacao (max-width: 820px){.participacao-colunas{display:none}.turma-aluno--compacta{grid-template-columns:1fr 1fr;gap:12px}.turma-aluno--compacta .turma-aluno-identity{grid-column:1;grid-row:1}.turma-aluno--compacta .turma-aluno-gestao{grid-column:2;grid-row:1;justify-self:end}.participacao-presenca,.participacao-certificado{grid-row:2}.participacao-certificado{justify-content:flex-end;text-align:right}.participacao-espera{grid-row:2}.participacao-certificado .cert-mais{margin-left:0}.participacao-presenca .cert-presenca,.participacao-certificado .cert-download{min-height:40px}}@container participacao (max-width: 480px){.turma-aluno--compacta{padding:12px;gap:10px}.turma-aluno--compacta .turma-aluno-identity{grid-column:1 / -1;padding-right:65px}.turma-aluno--compacta .turma-avatar{display:none}.turma-aluno--compacta .turma-aluno-gestao{align-self:start}.participacao-presenca .cert-presenca,.participacao-certificado .cert-download{font-size:10px;padding:6px}}.participacao-documento{display:flex;flex-direction:column;gap:4px;align-items:flex-start}@container participacao (max-width: 820px){.participacao-documento{align-items:flex-end}}.directory{padding-top:8px}.directory-heading{margin-bottom:24px}.directory-heading-actions,.directory-toolbar,.directory-count,.directory-chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.directory-heading-actions :is(a,button),.directory-toolbar .btn-primary,.directory-toolbar .btn-ghost{font-size:12px;padding:9px 14px;min-height:38px}.directory-toolbar{margin:12px 0 14px}.directory .directory-toolbar input{flex:1;max-width:none;min-width:180px}.directory :is(input[type=search],select),.td-search input[type=search],.td-session select,.td-enrollment select{font:inherit;font-size:12px;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:7px;padding:9px 12px;min-height:38px;min-width:0}.directory-toolbar input::placeholder,.td-search input::placeholder{color:var(--muted)}.directory-filters{display:grid;grid-template-columns:1.4fr 1.2fr .65fr;gap:16px;padding:14px 0 18px;border-bottom:1px solid var(--border)}.directory-filters label{display:grid;gap:7px;font-size:11px;color:var(--muted);min-width:0}.directory-filters select{width:100%}.directory-chips{gap:6px;margin-bottom:12px}.directory-chips button{font:inherit;font-size:11px;background:var(--blue-soft);color:var(--ink);padding:4px 9px;border:1px solid transparent;border-radius:5px;cursor:pointer}.directory-chips .directory-clear{color:var(--muted);background:transparent}.directory-count{justify-content:space-between;margin:14px 0 10px;color:var(--muted);font-size:11px}.directory-count select{border-color:transparent;background:transparent;padding:3px 5px;min-height:28px;font-size:11px}.student-directory,.course-class-list{background:var(--paper);border:1px solid var(--border);border-radius:10px;overflow:hidden}.student-directory-row{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(100px,.8fr) minmax(90px,.45fr) 20px;align-items:center;gap:20px;width:100%;padding:13px 18px;border:0;border-bottom:1px solid var(--border);min-height:66px;font:inherit;font-size:12px;color:var(--ink);background:transparent;text-align:left}button.student-directory-row{cursor:pointer}button.student-directory-row:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.student-directory-row:last-child,.course-class-row:last-child{border-bottom:0}.student-directory-row:hover:not(.directory-labels){background:#10194f03}.directory-labels,.course-class-labels{background:var(--bg);color:var(--muted);font-size:10px;min-height:auto;padding-block:10px}.directory-person{display:flex;gap:12px;align-items:center;min-width:0}.directory-person>:last-child{min-width:0}.directory-person strong{font-size:13px;font-weight:600}.directory-person button,.td-person button{border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:600;padding:0;cursor:pointer;text-align:left}.directory-person button:hover,.td-person button:hover{color:var(--blue)}.directory-person small,.td-person small{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere;margin-top:3px}.directory-company{color:var(--muted);overflow-wrap:anywhere}.directory-courses{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.directory-chevron{font:inherit;font-size:22px;color:var(--muted);background:transparent;border:0;padding:0;cursor:pointer}.course-class-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(180px,1.4fr) minmax(130px,1fr) minmax(130px,1fr) 50px 14px;gap:18px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--border);padding:17px 18px;background:transparent;color:var(--ink);font:inherit;font-size:12px;text-align:left}button.course-class-row{cursor:pointer}button.course-class-row:hover{background:var(--blue-soft)}.course-class-row strong{font-size:14px;font-weight:600}.course-class-row small{display:block;font-size:11px;margin-top:4px;color:var(--muted)}.course-class-row.course-class-labels{background:var(--bg);color:var(--muted);font-size:10px;padding-block:10px}.directory-empty{padding:38px 20px;font-size:13px;color:var(--muted);text-align:center}.turma-detail-sheet.sheet-panel{max-width:940px}.turma-form-sheet .sheet-title{font-family:inherit;font-weight:600;font-size:22px}.turma-form-sheet .turma-identificacao{background:var(--bg);border-style:dashed;font-weight:600;color:var(--muted);cursor:default}.turma-detail-sheet .sheet-title,.student-profile-sheet .sheet-title{font-family:inherit;font-weight:600;font-size:22px}.turma-detail-sheet .sheet-head{padding:24px 26px 18px}.turma-detail-sheet .sheet-body{padding:18px 26px 28px;gap:14px}.td-meta,.td-links,.td-roster-head,.td-search{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.td-meta{justify-content:space-between;font-size:12px;color:var(--muted)}.td-links{font-size:12px}.td-options{margin-left:auto;position:relative}.td-options summary{cursor:pointer;color:var(--muted);font-size:11px}.td-options>div{position:absolute;right:0;top:25px;width:230px;z-index:5;border:1px solid var(--border);border-radius:8px;background:var(--paper);padding:6px;box-shadow:0 8px 22px #10194f15}.td-options :is(a,button){display:block;width:100%;padding:9px 10px;color:var(--ink);background:transparent;border:0;border-radius:5px;font:inherit;font-size:12px;text-align:left;cursor:pointer}.td-options :is(a,button):hover{background:var(--blue-soft);text-decoration:none}.td-instructor{margin:0;color:var(--muted);font-size:11px}.td-roster-head{justify-content:space-between;padding-top:20px;border-top:1px solid var(--border);margin-top:4px}.td-roster-head strong{font-size:14px;font-weight:600}.td-roster-head span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.td-roster-head button{font-size:12px;padding:8px 12px}.td-search input[type=search]{flex:1}.td-search label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.td-search input[type=checkbox]{accent-color:var(--blue)}.td-session{display:flex;gap:10px;align-items:center;font-size:11px}.td-roster{border-top:1px solid var(--border)}.td-row{display:grid;grid-template-columns:minmax(180px,1fr) 160px 180px 24px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);min-height:64px}.td-labels{font-size:10px;color:var(--muted);min-height:auto;padding:9px 0}.td-person{min-width:0}.td-person button{font-size:12px}.td-person small{font-size:10px}.td-row .cert-status{font-size:10px;padding:4px 6px;background:transparent;border-color:transparent}.td-row :is(.cert-presenca,.cert-download,.cert-completar){min-height:32px;padding:5px 8px;font-size:10px}.td-row .cert-download{border-color:transparent}.td-row .cert-versao{display:none}.td-row .participacao-pendente,.td-pending{font-size:10px;color:var(--muted);line-height:1.5}.td-pending{grid-column:2 / 4}.td-row .participacao-documento{align-items:flex-start}.td-row .participacao-certificado{text-align:left}.td-manage{font-size:20px;border:0;padding:0;background:transparent;color:var(--muted);cursor:pointer}.td-enrollment{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;background:var(--bg);border-bottom:1px solid var(--border);font-size:11px}.td-enrollment button{font-size:11px;padding:7px 9px}.student-profile-sheet.sheet-panel{max-width:560px}.profile-back{background:none;border:0;color:var(--blue);font:inherit;font-size:12px;text-align:left;cursor:pointer;padding:0}.add-student{display:flex;flex-direction:column;gap:18px;padding:2px 0 24px}.add-student-intro{margin-top:8px}.add-student-intro h3{margin:0 0 6px;font-size:17px;font-weight:600}.add-student-intro p{margin:0;font-size:12px;color:var(--muted)}.student-combobox{position:relative}.student-combobox>label,.add-student-fields label{display:grid;gap:8px;font-size:12px;font-weight:500}.student-combobox>input,.add-student-fields input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:8px;padding:11px 13px;font:inherit;font-size:13px;color:var(--ink);background:var(--paper)}.student-combobox>input{margin-top:8px}.student-combobox-popup{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:6;padding:5px;background:var(--paper);border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 28px #10194f16;max-height:min(400px,40vh);overflow-y:auto}.student-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border-radius:5px;cursor:pointer}.student-option:hover,.student-option.active{background:var(--blue-soft)}.student-option strong,.add-student-identity strong{font-size:13px;font-weight:600}.student-option small,.add-student-identity small{display:block;margin-top:3px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.student-option>span{font-size:10px;color:var(--muted);flex-shrink:0}.student-combobox-popup>p{padding:8px 12px;margin:0;font-size:11px;color:var(--muted)}.add-student-hint{font-size:11px;color:var(--muted);margin:0}.add-student-selected{display:grid;gap:16px;border:1px solid var(--border);border-radius:9px;padding:18px}.add-student-identity{display:flex;justify-content:space-between;align-items:center;gap:14px}.add-student-selected>button{justify-self:start}.add-student-duplicate{margin:0;color:var(--ink);font-size:12px}.add-student-create{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:22px;border-top:1px solid var(--border)}.add-student-create>span{font-size:12px;color:var(--muted)}.add-student :is(.btn-primary,.btn-ghost){font-size:12px;padding:10px 14px}.add-student-fields{display:grid;gap:20px}.add-student button:disabled{cursor:default;opacity:.6}.td-remove-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.td-remove-confirm>span{flex-basis:100%}.profile-overview{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:6px 0 18px;border-bottom:1px solid var(--border)}.profile-overview p{font-size:13px;margin:6px 0 0}.profile-overview small{color:var(--muted);font-size:12px}.profile-overview button{font-size:11px;padding:7px 12px}.directory-eyebrow{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.profile-section-title{font-size:13px;margin:6px 0 0;font-weight:600}.profile-participations{display:grid;gap:12px}.profile-participation-card{border:1px solid var(--border);border-radius:9px;overflow:hidden}.profile-participation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px;background:transparent;border:0;color:var(--ink);cursor:pointer;font:inherit;text-align:left}.profile-participation-heading:hover{background:var(--blue-soft)}.profile-participation-heading strong{display:block;font-size:12px;font-weight:600;line-height:1.5}.profile-participation-heading small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.profile-participation-heading>span{color:var(--muted);font-size:15px}.profile-participation-chevron{transition:transform .15s}.profile-participation-heading[aria-expanded=true] .profile-participation-chevron{transform:rotate(90deg)}.profile-participation-footer{border-top:1px solid var(--border);padding:10px 15px}.profile-participation-footer .profile-back{font-size:10px;color:var(--muted)}.profile-participation-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 15px;border-top:1px solid var(--border)}.profile-attendance{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:10px}.profile-attendance.confirmed{color:#205c37}.profile-attendance>span{font-size:12px}.profile-participation-actions :is(.cert-download,.cert-presenca,.cert-completar){font-size:10px;min-height:34px;padding:7px 9px}.profile-participation-date{flex-basis:100%;font-size:11px;color:var(--muted);margin-bottom:3px}.profile-certificate-pending{color:var(--muted);font-size:10px}.profile-participation-empty{margin:0;padding:12px 15px;font-size:11px;color:var(--muted);border-top:1px solid var(--border)}.profile-participation-notice{color:#205c37;font-size:11px;margin:0;line-height:1.6}.student-profile-sheet button:disabled{opacity:.6;cursor:default}.profile-history{margin-top:12px;padding-top:16px;border-top:1px solid var(--border)}.profile-history summary{font-size:12px;color:var(--muted);cursor:pointer}.profile-history>div{padding:14px 0;border-bottom:1px solid var(--border)}.profile-history strong{font-size:11px;font-weight:500}.profile-history small{display:block;font-size:11px;color:var(--muted);margin-top:5px}@media(max-width:1000px){.course-class-row{grid-template-columns:minmax(90px,1fr) minmax(150px,1.3fr) 130px 40px 14px;gap:10px}.course-class-row .class-instructor,.course-class-labels>:nth-child(3){display:none}.student-directory-row{grid-template-columns:minmax(180px,1.5fr) minmax(90px,1fr) 70px 18px;gap:12px}}@media(max-width:640px){.directory-heading-actions{margin-top:12px}.directory-toolbar{gap:8px}.directory-filters{grid-template-columns:1fr;gap:12px}.student-directory-row{padding:13px 12px;grid-template-columns:minmax(0,1fr) 24px}.student-directory-row .directory-company{grid-column:1;grid-row:2;padding-left:44px;font-size:11px}.directory-courses{grid-column:1;grid-row:3;padding-left:44px}.student-directory-row>.directory-chevron{grid-column:2;grid-row:1}.directory-labels{display:none}.course-class-row{grid-template-columns:1fr 1fr 14px;padding:14px}.course-class-labels{display:none}.course-class-row>:nth-child(4){grid-row:2;grid-column:1}.course-class-row>:nth-child(5){grid-row:2;grid-column:2;color:var(--muted);font-size:11px}.course-class-row>:nth-child(5):after{content:" alunos"}.course-class-row .directory-chevron{grid-column:3;grid-row:1 / 3}.turma-detail-sheet.sheet-panel,.student-profile-sheet.sheet-panel{top:0;max-height:none;border-radius:0}.turma-detail-sheet .sheet-head{padding:20px 16px 16px}.turma-detail-sheet .sheet-body{padding:16px}.td-row{grid-template-columns:1fr 1fr 24px;gap:8px;padding:14px 0}.td-row .td-person{grid-column:1 / 3;grid-row:1}.td-row .participacao-presenca{grid-column:1;grid-row:2}.td-row .participacao-certificado{grid-column:2 / 4;grid-row:2;justify-content:flex-end}.td-manage{grid-column:3;grid-row:1}.td-pending{grid-column:1 / 3}.td-labels{display:none}}:root{--bg: #ecece2;--paper: #f4f4ec;--card: #f1f1e8;--ink: #10194f;--navy-box: #131b4d;--blue: #2b3ff3;--blue-soft: #dfe3fb;--muted: #6b7080;--line-strong: #10194f;--border: #d9d9cf;--danger: #a02020;--danger-bg: #fbeeee;--ok: #1c7a45;--ok-bg: #e9f7ef;--warn: #8a6210;--warn-bg: #fdf6e3;--serif: "Instrument Serif", Georgia, serif;--sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sidebar-w: 260px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px}#root{min-height:100vh}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}h1,h2,h3{margin:0}.kicker{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.kicker .dot{color:var(--blue)}.serif-accent{font-family:var(--serif);font-style:italic;color:var(--blue)}.hr-strong{border:0;border-top:2px solid var(--line-strong);margin:18px 0}.splash{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--muted);font-size:13px}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--blue-soft);border-top-color:var(--blue);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--paper);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px #10194f24;padding:30px 28px 28px;width:100%;max-width:380px;display:flex;flex-direction:column}.brand-row{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.brand-logo{display:block;width:92%;max-width:258px;aspect-ratio:512 / 96;background:var(--ink);mask-size:contain;mask-position:left center;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:left center;-webkit-mask-repeat:no-repeat}.topbar .brand-logo{width:173px}.brand-sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}.login-hint{font-size:12px;color:var(--muted);margin:16px 0 14px}.login-card label{font-size:11px;font-weight:600;margin:0 0 5px}.login-card input{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:9px 12px;font:inherit;font-size:13px;outline:none;margin-bottom:14px;width:100%}.login-card input:focus{border-color:var(--blue);background:#fff}.login-error{font-size:12px;color:var(--danger);background:var(--danger-bg);border:1px solid #eed4d4;border-radius:8px;padding:8px 10px;margin:0 0 14px}.btn-primary{background:var(--blue);border:0;color:#fff;font:inherit;font-size:13px;font-weight:500;padding:10px 16px;border-radius:8px;cursor:pointer}.btn-primary:hover{background:#1f30cf}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--ink);font:inherit;font-size:12.5px;font-weight:500;padding:8px 14px;border-radius:8px;cursor:pointer}.btn-ghost:hover{border-color:var(--ink)}.btn-danger{background:transparent;border:1px solid #eed4d4;color:var(--danger);font:inherit;font-size:12.5px;padding:8px 14px;border-radius:8px;cursor:pointer}.btn-danger:hover{background:var(--danger-bg)}.btn-icon{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:6px;line-height:1}.btn-icon:hover{color:var(--ink);background:var(--blue-soft)}.btn-icon:disabled{opacity:.3;cursor:default}.layout{display:flex;min-height:100vh}.topbar{display:none;position:fixed;top:0;left:0;right:0;height:56px;z-index:50;background:var(--paper);border-bottom:1px solid var(--border);align-items:center;justify-content:space-between;padding:0 16px;padding-top:env(safe-area-inset-top)}.topbar-burger{background:transparent;border:0;color:var(--ink);cursor:pointer;padding:8px;margin-right:-8px;border-radius:8px;line-height:0}.topbar-burger svg{width:20px;height:20px}.topbar-burger:hover{background:var(--blue-soft)}.topbar-burger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#10194f73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:55;animation:sheet-fade .18s ease}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--paper);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar-brand{margin:0 0 18px;padding:0 8px 16px;border-bottom:1px solid var(--border)}.nav-section-label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:16px 8px 6px}.nav-section-label:first-of-type{margin-top:0}.nav-link{display:flex;align-items:center;gap:10px;min-width:0;position:relative;padding:8px 10px;border-radius:8px;color:var(--ink);font-size:13px;font-weight:500;margin-bottom:2px;transition:background .14s ease,color .14s ease}.nav-link:hover{background:#2b3ff30f;text-decoration:none}.nav-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.nav-link.active{background:var(--blue-soft);color:var(--ink)}.nav-link.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:2px;background:var(--blue)}.nav-ico{width:16px;height:16px;flex-shrink:0;color:var(--muted);transition:color .14s ease}.nav-link:hover .nav-ico,.nav-link.active .nav-ico{color:var(--blue)}.nav-link .nav-num{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1;color:var(--blue);min-width:20px;text-align:right;flex-shrink:0}.nav-link .nav-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot{margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.foot-avatar{width:34px;height:34px;border-radius:50%;background:var(--navy-box);color:#e7e9f6;font-size:12px;font-weight:600;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0}.foot-id{min-width:0;flex:1}.foot-id strong{display:block;color:var(--ink);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foot-out{flex-shrink:0}.foot-out svg{width:16px;height:16px;display:block}.main{flex:1;min-width:0;padding:34px 42px 80px;max-width:1180px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:6px}.page-title{font-size:26px;font-weight:700;letter-spacing:-.01em}.page-title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--blue)}.page-sub{color:var(--muted);font-size:13px;margin:6px 0 0;max-width:640px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:22px 0}.stat-card{background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.stat-card .stat-num{font-family:var(--serif);font-size:34px;color:var(--blue);line-height:1}.stat-card .stat-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:8px}.stat-card .stat-detail{font-size:12.5px;color:var(--ink);margin-top:4px}.section-heading{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:30px 0 12px}.todo-list{display:flex;flex-direction:column;gap:8px}.todo-item{display:flex;align-items:center;gap:10px;background:var(--warn-bg);border:1px solid #efe2bb;color:var(--warn);border-radius:10px;padding:10px 14px;font-size:13px}.todo-item a{margin-left:auto;font-weight:600;font-size:12.5px}.todo-ok{background:var(--ok-bg);border:1px solid #cdebd9;color:var(--ok);border-radius:10px;padding:10px 14px;font-size:13px}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px;margin-top:20px}.module-card{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:22px;display:flex;gap:18px;color:var(--ink);transition:box-shadow .15s,transform .15s}.module-card:hover{text-decoration:none;box-shadow:0 10px 30px #10194f1f;transform:translateY(-2px)}.module-num{font-family:var(--serif);font-size:52px;line-height:.9;color:var(--blue);min-width:64px}.module-card-body{min-width:0}.module-card-body .kicker{margin-bottom:6px}.module-card-title{font-size:17px;font-weight:700;line-height:1.25}.module-card-title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--blue)}.module-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.chip{font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;border:1px solid var(--border);color:var(--muted);background:var(--bg)}.chip.blue{color:var(--blue);border-color:var(--blue-soft);background:var(--blue-soft)}.chip.ok{color:var(--ok);border-color:#cdebd9;background:var(--ok-bg)}.chip.warn{color:var(--warn);border-color:#efe2bb;background:var(--warn-bg)}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line-strong);margin:22px 0 24px;flex-wrap:wrap}.tab{background:transparent;border:0;font-size:13px;font-weight:500;color:var(--muted);padding:9px 14px;cursor:pointer;border-radius:8px 8px 0 0}.tab:hover{color:var(--ink)}.tab.active{background:var(--navy-box);color:#fff}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 18px}.form-grid .full{grid-column:1 / -1}.field{display:flex;flex-direction:column}.field label{font-size:11px;font-weight:600;margin-bottom:5px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid var(--border);background:var(--paper);border-radius:8px;padding:9px 12px;font-size:13px;outline:none;color:var(--ink)}.field textarea{resize:vertical;min-height:74px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);background:#fff}.field .hint{font-size:11px;color:var(--muted);margin-top:4px}.form-actions{display:flex;gap:10px;align-items:center;margin-top:20px}.save-note{font-size:12px;color:var(--ok)}.valor-box{background:var(--navy-box);color:#e7e9f6;border-radius:10px;padding:16px 18px;font-size:13px;line-height:1.5}.valor-box .valor-label{color:#7d8cf5;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:8px}.edit-list{display:flex;flex-direction:column;gap:8px}.edit-row{display:flex;align-items:flex-start;gap:10px;background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.edit-row .row-order{font-family:var(--serif);color:var(--blue);font-size:16px;min-width:22px;padding-top:8px;text-align:right}.edit-row .row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.edit-row .row-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.edit-row input,.edit-row select,.edit-row textarea{border:1px solid var(--border);background:var(--bg);border-radius:7px;padding:7px 10px;font-size:13px;outline:none;color:var(--ink)}.edit-row input:focus,.edit-row select:focus,.edit-row textarea:focus{border-color:var(--blue);background:#fff}.edit-row textarea{width:100%;resize:vertical;min-height:40px;line-height:1.45}.edit-row .grow{flex:1;min-width:180px}.edit-row .w-num{width:74px}.edit-row .row-actions{display:flex;flex-direction:column;gap:2px;padding-top:4px}.add-row{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.timeline{display:flex;height:14px;border-radius:7px;overflow:hidden;margin:14px 0 6px;border:1px solid var(--border)}.timeline .seg{height:100%}.timeline-sum{font-size:12.5px;margin-bottom:16px}.timeline-sum.ok{color:var(--ok)}.timeline-sum.warn{color:var(--warn);font-weight:600}.seg-abertura{background:#9daaf7}.seg-expositivo{background:#2b3ff3}.seg-demonstracao{background:#10194f}.seg-hands_on{background:#1c7a45}.seg-discussao{background:#8a6210}.seg-pausa{background:#d9d9cf}.seg-encerramento{background:#6b7080}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:14px}.legend .li{display:inline-flex;align-items:center;gap:5px}.legend .sw{width:10px;height:10px;border-radius:3px;display:inline-block}.rte{border:1px solid var(--border);border-radius:10px;background:var(--paper);overflow:hidden}.rte:focus-within{border-color:var(--blue)}.rte-toolbar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap}.rte-sep{width:1px;height:18px;background:var(--border);margin:0 6px}.rte-btn{background:transparent;border:0;border-radius:6px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease}.rte-btn svg{width:15px;height:15px}.rte-btn:hover{background:var(--blue-soft);color:var(--ink)}.rte-btn.active{background:var(--navy-box);color:#fff}.rte-btn:disabled{opacity:.5;cursor:default}.rte-linkbar{display:flex;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--border);background:var(--bg)}.rte-linkbar input{flex:1;border:1px solid var(--border);background:var(--paper);border-radius:7px;padding:7px 10px;font-size:13px;outline:none}.rte-linkbar input:focus{border-color:var(--blue)}.rte-erro{font-size:12px;color:var(--danger);background:var(--danger-bg);padding:7px 10px;border-bottom:1px solid #eed4d4}.rte-spin{width:13px;height:13px;border-radius:50%;border:2px solid var(--blue-soft);border-top-color:var(--blue);animation:spin .8s linear infinite;display:inline-block}.rte-content{min-height:220px;max-height:46vh;overflow-y:auto;padding:14px 16px;font-size:13.5px;line-height:1.6;color:var(--ink);outline:none}.rte-content p{margin:0 0 10px}.rte-content h2{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:18px 0 8px}.rte-content h3{font-size:15px;font-weight:600;margin:14px 0 6px}.rte-content ul,.rte-content ol{margin:0 0 10px;padding-left:22px}.rte-content li{margin-bottom:4px}.rte-content blockquote{border-left:3px solid var(--blue);margin:0 0 10px;padding:4px 0 4px 14px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--navy-box)}.rte-content a{color:var(--blue);text-decoration:underline}.rte-content img{max-width:100%;height:auto;border-radius:10px;border:1px solid var(--border);margin:6px 0 10px;display:block}.rte-content img.ProseMirror-selectednode{outline:2px solid var(--blue)}.sheet-panel.wide{max-width:720px}.plan-meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.plan-pub{color:var(--muted);font-weight:400}.plan-relogio{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-bottom:16px}.plan-relogio select{border:1px solid var(--border);background:var(--paper);border-radius:7px;padding:6px 8px;font:inherit;font-size:12.5px;color:var(--ink);outline:none}.plan-relogio select:focus{border-color:var(--blue)}.chip.relogio{color:var(--navy-box);border-color:var(--border);background:var(--paper);font-variant-numeric:tabular-nums}.drag-handle{cursor:grab;color:var(--border);font-size:15px;line-height:1;padding-top:6px;-webkit-user-select:none;user-select:none;transition:color .14s ease}.item-card:hover .drag-handle{color:var(--muted)}.item-card.dragging{opacity:.45}.item-card.drop-target{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.exercise-card{border-left:4px solid var(--border)}.exercise-card.hands_on{border-left-color:var(--ok)}.exercise-card.entregavel{border-left-color:var(--navy-box)}.ex-badge{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;margin-top:2px}.ex-badge.hands_on{background:var(--ok)}.ex-badge.entregavel{background:var(--navy-box)}.ex-pill{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:3px 10px;margin-bottom:7px}.ex-pill.hands_on{background:var(--ok-bg);color:var(--ok);border:1px solid #cdebd9}.ex-pill.entregavel{background:var(--navy-box);color:#e7e9f6;border:1px solid var(--navy-box)}.ex-enunciado{margin-top:10px;padding-left:12px;border-left:2px solid var(--border);font-size:12.5px;color:var(--muted);line-height:1.55;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dropzone{border:2px dashed var(--border);border-radius:12px;background:var(--paper);padding:26px;text-align:center;color:var(--muted);font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:var(--blue);background:#fff;color:var(--ink)}.mat-row{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:13px}.mat-row .mat-name{font-weight:600;color:var(--ink)}.mat-row .mat-meta{color:var(--muted);font-size:12px}.mat-row .spacer{flex:1}.toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{accent-color:var(--blue)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10194f73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;animation:sheet-fade .18s ease}.sheet-panel{position:fixed;top:0;right:0;bottom:0;z-index:61;width:100%;max-width:460px;background:var(--paper);border-left:1px solid var(--border);box-shadow:-18px 0 50px #10194f2e;display:flex;flex-direction:column;animation:sheet-right .22s ease}.sheet-handle{display:none}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px 14px;border-bottom:1px solid var(--border)}.sheet-title{font-family:var(--serif);font-size:21px;color:var(--ink);line-height:1.2}.sheet-title em{font-style:italic;color:var(--blue)}.sheet-desc{font-size:12.5px;color:var(--muted);margin-top:4px}.sheet-body{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:14px}.sheet-body>*{min-width:0}.sheet-foot{border-top:1px solid var(--border);background:var(--bg);padding:14px 22px;display:flex;gap:10px;align-items:center}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-right{0%{transform:translate(28px);opacity:0}}@keyframes sheet-up{0%{transform:translateY(28px);opacity:0}}@media(max-width:767px){.sheet-panel{top:auto;left:0;right:0;bottom:0;max-width:none;max-height:88vh;border-left:0;border-top:1px solid var(--border);border-radius:16px 16px 0 0;box-shadow:0 -18px 50px #10194f2e;animation:sheet-up .22s ease}.sheet-handle{display:block;width:44px;height:5px;border-radius:999px;background:var(--border);margin:10px auto 0;flex-shrink:0}}.item-list{display:flex;flex-direction:column;gap:10px}.item-card{display:flex;align-items:flex-start;gap:16px;background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:16px 18px;transition:box-shadow .15s,transform .15s}.item-card:hover{box-shadow:0 8px 24px #10194f1a;transform:translateY(-1px)}.item-card.pausa{background:var(--bg);border-style:dashed}.item-num{font-family:var(--serif);font-size:26px;line-height:1;color:var(--blue);min-width:32px;text-align:right;padding-top:2px}.item-body{flex:1;min-width:0}.item-title{font-weight:600;font-size:14px;color:var(--ink);line-height:1.35}.item-desc{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.55}.item-extra{font-size:12px;color:var(--muted);margin-top:6px}.item-extra strong{color:var(--ink);font-weight:600}.item-meta{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center}.tipo-dot{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:1px}.item-actions{display:flex;flex-direction:column;gap:2px;opacity:.4;transition:opacity .15s}.item-card:hover .item-actions,.item-actions:focus-within{opacity:1}.item-actions .row{display:flex;gap:2px}.segmented{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:3px;gap:3px}.seg-btn{background:transparent;border:0;font-size:12.5px;font-weight:500;color:var(--muted);padding:7px 16px;border-radius:7px;cursor:pointer}.seg-btn:hover{color:var(--ink)}.seg-btn.active{background:var(--navy-box);color:#fff}.cal-head{display:flex;align-items:center;gap:10px;margin:4px 0 14px}.cal-month{font-family:var(--serif);font-size:22px;color:var(--ink);min-width:190px}.cal-nav{background:var(--paper);border:1px solid var(--border);border-radius:8px;width:30px;height:30px;cursor:pointer;color:var(--ink);font-size:14px;line-height:1}.cal-nav:hover{border-color:var(--blue);color:var(--blue)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-weekday{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;padding-bottom:4px}.cal-day{min-height:88px;border:1px solid var(--border);border-radius:10px;background:var(--paper);padding:6px 7px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:border-color .15s,background .15s;position:relative}.cal-day:hover{border-color:var(--blue);background:#fff}.cal-day:hover .cal-add{opacity:1}.cal-day.empty{background:transparent;border-color:transparent;cursor:default}.cal-day.today{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.cal-day.past{background:var(--bg)}.cal-daynum{font-size:12px;font-weight:600;color:var(--ink)}.cal-day.today .cal-daynum{color:var(--blue)}.cal-day.past .cal-daynum{color:var(--muted)}.cal-add{position:absolute;right:6px;top:5px;font-size:13px;color:var(--blue);opacity:0;transition:opacity .15s;pointer-events:none}.cal-event{background:var(--blue);color:#fff;border:0;font:inherit;font-size:10.5px;font-weight:600;border-radius:6px;padding:4px 6px;text-align:left;cursor:pointer;line-height:1.3;width:100%}.cal-event:hover{background:#1f30cf}.cal-event.other{background:transparent;border:1px dashed var(--border);color:var(--muted);cursor:default;font-weight:500}.cal-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:14px}.cal-legend .li{display:inline-flex;align-items:center;gap:6px}.cal-legend .sw{width:12px;height:12px;border-radius:4px;display:inline-block}.cal-legend .sw.mine{background:var(--blue)}.cal-legend .sw.other{border:1px dashed var(--border)}.mod-c0{background:#2b3ff3}.mod-c1{background:#10194f}.mod-c2{background:#1c7a45}.mod-c3{background:#8a6210}.cal-event.mod-c0:hover{background:#1f30cf}.cal-event.mod-c1:hover{background:#1b2870}.cal-event.mod-c2:hover{background:#166138}.cal-event.mod-c3:hover{background:#6e4e0d}.course-dot{width:9px;height:9px;border-radius:3px;display:inline-block;flex-shrink:0}.filter-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.filter-chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;border-radius:999px;padding:6px 13px;border:1px solid var(--border);background:var(--paper);color:var(--muted);cursor:pointer}.filter-chip:hover{border-color:var(--ink);color:var(--ink)}.filter-chip.active{background:var(--navy-box);border-color:var(--navy-box);color:#fff}.session-course{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:4px}.session-course em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--blue)}.month-label{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px}.month-label:first-child{margin-top:0}.session-card{align-items:center;gap:18px}.session-card.past{opacity:.62}.session-date{min-width:62px;text-align:center;border-right:1px solid var(--border);padding-right:18px;flex-shrink:0}.session-date .dnum{font-family:var(--serif);font-size:32px;line-height:1;color:var(--blue)}.session-date .dmes{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px}.session-date .dsem{font-size:11px;color:var(--muted);margin-top:2px}.session-hora{font-size:15px;font-weight:600;color:var(--ink)}.session-local{font-size:12.5px;color:var(--muted);margin-top:3px}.sheet-warn{font-size:12px;border-radius:8px;padding:9px 11px;line-height:1.45}.sheet-warn.warn{background:var(--warn-bg);border:1px solid #efe2bb;color:var(--warn)}.sheet-warn.err{background:var(--danger-bg);border:1px solid #eed4d4;color:var(--danger)}.sheet-warn.ok{background:var(--ok-bg);border:1px solid #cdebd9;color:var(--ok)}@media(max-width:700px){.cal-day{min-height:62px}.cal-event{font-size:9.5px;padding:3px 4px}}.agenda-month{margin-bottom:8px}.agenda-row{display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:10px}.agenda-date{min-width:130px}.agenda-date .d{font-weight:700;font-size:14px}.agenda-date .h{color:var(--muted);font-size:12.5px}.agenda-mod{flex:1;min-width:0}.agenda-mod .t{font-weight:600;font-size:14px}.agenda-mod .t em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--blue)}.agenda-mod .l{color:var(--muted);font-size:12.5px;margin-top:2px}.agenda-conflict{background:var(--danger-bg);border:1px solid #eed4d4;color:var(--danger);border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:14px}.table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--border);border-radius:12px;overflow:hidden}.table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:2px solid var(--line-strong)}.table td{padding:11px 14px;border-bottom:1px solid var(--border);font-size:13px}.table tr:last-child td{border-bottom:0}@media(max-width:900px){.topbar{display:flex}.drawer-overlay{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:56;width:min(300px,84vw);height:100dvh;transform:translate(-100%);transition:transform .22s ease;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.sidebar.open{transform:translate(0);box-shadow:18px 0 50px #10194f2e}.nav-link{padding:12px 10px}.main{padding:calc(78px + env(safe-area-inset-top)) 18px 60px}.page-head{flex-wrap:wrap}.form-grid,.ex-grid{grid-template-columns:1fr}}.sheet-section{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:8px 0 -6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.roster-search,.add-row select{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;background:#fff;color:var(--ink)}.roster-search{min-width:240px}.roster-search:focus,.add-row select:focus{border-color:var(--blue);outline:none}.att-desktop{overflow-x:auto}.att-col{text-align:center}.att-date{display:block;font-size:11px}.att-all{border:0;background:none;color:var(--blue);font-size:10px;font-weight:600;cursor:pointer;padding:2px 5px;border-radius:6px;letter-spacing:0;text-transform:none}.att-all:hover{background:var(--blue-soft)}.att-cell{width:34px;height:34px;border-radius:9px;border:1px dashed var(--border);background:#fff;cursor:pointer;font-size:14px;line-height:1;color:var(--muted)}.att-cell:hover{border-color:var(--blue)}.att-cell:disabled{cursor:default;opacity:.5}.att-cell.presente{border:1px solid #cdebd9;background:var(--ok-bg);color:var(--ok)}.att-cell.falta{border:1px solid #eed4d4;background:var(--danger-bg);color:var(--danger)}.att-cell.falta_justificada{border:1px solid #efe2bb;background:var(--warn-bg);color:var(--warn)}.att-status{border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:12px;background:#fff;color:var(--ink)}.att-extras{width:54px;text-align:center;border:1px solid var(--border);border-radius:8px;padding:6px 4px;font-size:12.5px;background:#fff}.att-mobile{display:none;flex-direction:column;gap:10px}.att-card{background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.att-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.att-card-chips{display:flex;flex-wrap:wrap;gap:8px}.att-chip{border:1px dashed var(--border);background:#fff;border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer;color:var(--muted)}.att-chip.presente{border-style:solid;border-color:#cdebd9;background:var(--ok-bg);color:var(--ok)}.att-chip.falta{border-style:solid;border-color:#eed4d4;background:var(--danger-bg);color:var(--danger)}.att-chip.falta_justificada{border-style:solid;border-color:#efe2bb;background:var(--warn-bg);color:var(--warn)}@media(max-width:767px){.att-desktop{display:none}.att-mobile{display:flex}}.session-editor-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}.session-editor-actions>.btn-primary{width:100%}
