:root{--bg:#efecec;--card-border:#e2dede;--text-primary:#262223;--text-secondary:#756f70;--text-muted:#948e8f;--red:#eb012a;--purple:#af3f9e;--gradient-brand:linear-gradient(90deg, var(--red), var(--purple));--success:#1d9e75;--avulso:#e23b62;--avulso-tint:#fbe3ea;--gray:#756f70;--gray-bg:#efeded;--gray-pill-bg:#e2dede;--grad-pill-bg:#f6e7f3;--danger:#c23a3a;--danger-tint:#fbeaea;--stripe:#faf8f8;--special-tint:#fbf5fa;--font-family:"Poppins", system-ui, sans-serif}.room-state--vago{border-color:var(--gray);background:var(--gray-bg);border-style:dashed}.room-state--vazio{border-color:var(--gray);background:var(--gray-bg)}.room-state--normal{border-image:var(--gradient-brand) 1;background:#fff}.room-state--excedido{border-color:var(--red);background:linear-gradient(#fbe3e6,#fffffff0 55%)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-family);margin:0}button,input,select,textarea{font-family:inherit}a{color:var(--purple)}.page-title{margin:0 0 20px;font-size:22px;font-weight:700}.layout{flex-direction:column;min-height:100vh;display:flex}.layout-accent{background:var(--gradient-brand);flex:none;height:3px}.layout-header{box-shadow:0 1px 0 var(--card-border), 0 2px 8px #2622230a;z-index:10;background:#fff;align-items:stretch;gap:8px;padding:0 28px;display:flex;position:sticky;top:0}.layout-brand{border-right:1px solid var(--card-border);align-items:center;margin-right:8px;padding-right:24px;display:flex}.layout-logo{height:30px}.layout-nav{flex:1;align-items:stretch;gap:4px;display:flex}.layout-nav a{color:var(--text-secondary);border-bottom:3px solid #0000;align-items:center;padding:0 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.layout-nav a:hover{color:var(--text-primary)}.layout-nav a.active{color:var(--purple);border-bottom-color:#0000;border-image:var(--gradient-brand) 1}.layout-external{border-right:1px solid var(--card-border);align-items:center;gap:8px;margin-right:8px;padding-right:16px;display:flex}.layout-external-btn{background:var(--grad-pill-bg);color:var(--purple);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;text-decoration:none;display:flex}.layout-external-btn svg{width:12px;height:12px}.layout-external-btn:hover{background:var(--gradient-brand);color:#fff}.layout-external-btn.disabled{background:var(--gray-bg);color:var(--text-muted);cursor:default}.layout-user{align-items:center;gap:14px;display:flex}.layout-email{color:var(--text-muted);cursor:pointer;font-size:12.5px;text-decoration:none}.layout-email:hover{color:var(--purple);text-decoration:underline}.layout-sair{border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.layout-sair svg{width:14px;height:14px}.layout-sair:hover{color:var(--red);border-color:var(--red)}.layout-main{flex:1;padding:32px 40px 60px}.sem-acesso{background:var(--danger-tint);color:var(--danger);border-radius:14px;align-items:center;gap:12px;max-width:520px;margin:40px auto 0;padding:20px 24px;font-size:15px;font-weight:700;display:flex}.sem-acesso svg{flex-shrink:0;width:26px;height:26px}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{border:1px solid var(--card-border);background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:340px;padding:40px 36px;display:flex;box-shadow:0 4px 24px #0000000a}.login-card form{flex-direction:column;gap:14px;display:flex}.login-logo{align-self:center;height:48px;margin-bottom:14px}.login-card label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.login-card input{border:1px solid var(--card-border);border-radius:8px;padding:10px 12px;font-size:14px}.login-aviso{background:var(--gray-bg);color:var(--text-secondary);border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.login-erro{color:var(--red);margin:0;font-size:13px}.login-card form button{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:10px;font-weight:700}.login-card form button:disabled{opacity:.6;cursor:default}.login-alternar{color:var(--purple);cursor:pointer;text-align:center;background:0 0;border:none;font-size:12.5px;font-weight:600}.avatar--foto{cursor:zoom-in;padding:0;overflow:hidden}.avatar--foto img{object-fit:cover;width:100%;height:100%}.avatar-ampliada{border-radius:16px;max-width:90vw;max-height:90vh;box-shadow:0 8px 28px #0000004d}.room{border:1px solid var(--card-border);border-top:4px solid var(--purple);cursor:pointer;background:#fff;border-radius:16px;padding:18px 20px;position:relative;box-shadow:0 1px 3px #00000008}.room.vago{border-top-color:var(--text-muted);background:var(--gray-bg);box-shadow:none;text-align:center;cursor:default;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;min-height:150px;display:flex}.room.waiting{border-top-color:var(--card-border)}.room.occupied{border-top-color:var(--purple)}.room.exceeded{border-top-color:var(--red)}.room-num{margin-bottom:2px;font-size:16px;font-weight:700}.room-head-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.room-head-acoes{flex-shrink:0;align-items:center;gap:8px;display:flex}.room-gear,.room-finalizar{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;line-height:0}.room-gear svg,.room-finalizar svg{width:16px;height:16px}.room-gear:hover{color:var(--purple)}.room-finalizar:hover{color:var(--success)}.room-vago-btn{margin-top:10px}.room.drop-alvo{outline:2px dashed var(--purple);outline-offset:2px}.student-chip[draggable=true]{cursor:grab}.room-vago-tag{background:var(--gray-pill-bg);color:var(--text-secondary);border-radius:999px;margin-top:8px;padding:4px 12px;font-size:11.5px;font-weight:600;display:inline-block}.medico-chip{background:var(--gray-bg);cursor:grab;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;margin-bottom:10px;padding:8px 10px;display:flex}.medico-chip-info{flex-direction:column;min-width:0;display:flex}.medico-chip-nome{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.medico-chip-spec{color:var(--text-muted);font-size:11px;font-weight:500}.btn-chegada{background:var(--gradient-brand);color:#fff;white-space:nowrap;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.btn-chegada.aguardando-medico{background:var(--gray-pill-bg);color:var(--text-secondary);animation:1.6s ease-in-out infinite piscar-lento}@keyframes piscar-lento{0%,to{opacity:1}50%{opacity:.15}}.btn-chegada.chegou-medico{cursor:default}.btn-chegada.chegou-medico .rm{color:#fffc}.btn-chegada.chegou-medico .rm:hover{color:#fff}.btn-chegada.faltou-medico{background:var(--danger-tint);color:var(--danger);cursor:default}.chip-hora{color:inherit;opacity:.75;font-size:10.5px;font-weight:600}.medico-encerramento{border-top:1px solid var(--card-border);color:var(--text-muted);margin-top:12px;padding-top:10px;font-size:11px;font-weight:600}.medico-encerramento-desfazer{color:var(--purple);cursor:pointer;margin-left:8px;text-decoration:underline}.medico-encerramento-desfazer:hover{color:var(--red)}.room-waiting-tag{background:var(--gray-bg);color:var(--text-secondary);border-radius:999px;margin-bottom:10px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-block}.room-count{color:var(--purple);margin-bottom:8px;font-size:13.5px;font-weight:700}.room-count.over{color:var(--red)}.bar-track{background:#ece8e8;border-radius:999px;height:5px;margin-bottom:10px;overflow:hidden}.bar-fill{background:var(--gradient-brand);border-radius:999px;height:100%}.room.exceeded .bar-fill{background:var(--red)}.students{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.student-chip{background:var(--grad-pill-bg);color:var(--purple);border-radius:8px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12.5px;font-weight:600;display:flex}.student-chip-info{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.student-chip-info>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.student-chip.avulso{background:var(--avulso-tint)}.student-chip .aluno-avulso{color:var(--avulso)}.student-chip.aguardando{background:var(--gray-bg);color:var(--text-muted);opacity:.65;cursor:pointer}.student-chip.aguardando:hover{opacity:.9;background:var(--grad-pill-bg)}.student-chip.aguardando .chip-hora{font-style:italic}.student-chip.aguardando.enviando{opacity:.9;cursor:default}.student-chip.falta{background:var(--danger-tint);color:var(--danger)}.student-chip.falta .chip-hora{font-weight:700}.student-chip .rm{color:var(--text-muted);cursor:pointer;padding:0 4px;font-weight:700}.student-chip .rm:hover{color:var(--red)}.student-chip.solicitacao-pendente{cursor:pointer;flex-direction:column;align-items:stretch;gap:2px;animation:2.2s ease-in-out infinite piscar-alerta;display:flex}@keyframes piscar-alerta{0%,to{background:var(--danger-tint);color:var(--red)}50%{background:var(--red);color:#fff}}.solicitacao-linha-topo{align-items:center;gap:6px;display:flex}.solicitacao-alerta-icone{flex-shrink:0;width:14px;height:14px}.solicitacao-nome{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.student-chip.solicitacao-pendente .chip-hora{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.85;flex-shrink:0}.solicitacao-subtexto{opacity:.85;font-size:10.5px;font-style:italic}.room.tem-pendencia{animation:2.2s ease-in-out infinite piscar-borda}@keyframes piscar-borda{0%,to{border-top-color:var(--red)}50%{border-top-color:var(--danger-tint)}}.room.turno-encerrado{border-color:var(--card-border);opacity:.55;background:#fff;transition:opacity .15s}.room.turno-encerrado:hover{opacity:1}.room.turno-encerrado:not(.vago){border-top-color:var(--success)}.room.turno-encerrado.encerrado-sem-medico:not(.vago){border-top-color:var(--red)}.room.turno-encerrado .room-count,.room.turno-encerrado .room-count.over{color:var(--text-muted)}.room.turno-encerrado .bar-fill{background:var(--gray)}.room.turno-encerrado .auth-note{color:var(--text-muted)}.room.turno-encerrado .student-chip:not(.falta){color:var(--success);background:#e5f5ef}.room.turno-encerrado .student-chip .aluno-avulso{color:var(--success)}.room.turno-encerrado .btn-chegada.chegou-medico{color:var(--success);background:#e5f5ef}.room.turno-encerrado .btn-chegada.chegou-medico .rm{color:#1d9e7599}.room.turno-encerrado .btn-chegada.chegou-medico .rm:hover{color:var(--success)}.detalhe-solicitacao{text-align:left}.detalhe-cabecalho{align-items:center;gap:12px;margin-bottom:10px;display:flex}.detalhe-cabecalho .avatar{flex-shrink:0;width:56px;height:56px;font-size:18px}.detalhe-cabecalho .detalhe-linha{margin-bottom:0;font-size:15px}.detalhe-linha{color:var(--text-primary);margin-bottom:6px;font-size:13px}.detalhe-linha:last-child{margin-bottom:0}.detalhe-separador{border:none;border-top:1px solid var(--card-border);margin:10px 0}.auth-note{color:var(--red);margin-top:6px;font-size:11px;font-weight:600}.quick-add{cursor:default;flex-direction:column;gap:6px;margin-top:10px;display:flex}.quick-add-row{gap:6px;display:flex}.quick-add-row input{border:1px solid var(--card-border);background:#fbfafa;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:12.5px}.quick-add-resultados{z-index:5;border:1px solid var(--card-border);background:#fff;border-radius:8px;max-height:160px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.quick-add-resultados li{cursor:pointer;border-radius:6px;padding:8px;font-size:12.5px}.quick-add-resultados li:hover{background:var(--grad-pill-bg)}.toggle-group{border:1px solid var(--card-border);border-radius:8px;display:flex;overflow:hidden}.toggle-group button{color:var(--text-secondary);cursor:pointer;background:#fff;border:none;flex:1;padding:7px 8px;font-size:11.5px;font-weight:600}.toggle-group button.active{background:var(--purple);color:#fff}.btn-add{background:var(--gradient-brand);color:#fff;white-space:nowrap;cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600}.btn-add:disabled{opacity:.5;cursor:default}.add-hint{color:var(--purple);margin-top:8px;font-size:11px;font-weight:600}.add-hint.erro{color:var(--red)}.doc-tag.falta .name,.doc-tag.falta .status{color:var(--danger)}.responsavel-praca{border:1px solid var(--card-border);background:#fff;border-radius:16px;margin-bottom:20px;padding:18px 22px}.responsavel-boasvindas{color:var(--text-secondary);margin-bottom:14px;font-size:15px}.responsavel-boasvindas strong{color:var(--text-primary)}.responsavel-controle{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.responsavel-status{flex-wrap:wrap;align-items:center;gap:8px;min-height:39px;display:flex}.responsavel-carimbo{color:var(--success);background:#e5f5ef;border-radius:999px;padding:10px 16px;font-size:12.5px;font-weight:600}.responsavel-carimbo.aguardando{color:var(--text-muted);background:var(--gray-bg);animation:1.6s ease-in-out infinite piscar-lento}.responsavel-carimbo.encerrado{color:var(--danger);background:var(--danger-tint)}.responsavel-carimbo-btn{cursor:pointer;border:none;border-radius:999px;padding:10px 16px;font-size:12.5px;font-weight:600}.responsavel-carimbo-btn.iniciar{color:var(--success);background:#e5f5ef}.responsavel-carimbo-btn.iniciar:hover{background:var(--success);color:#fff}.responsavel-carimbo-btn.finalizar{color:var(--danger);background:var(--danger-tint)}.responsavel-carimbo-btn.finalizar:hover{background:var(--danger);color:#fff}.responsavel-carimbo-btn.desfazer{color:var(--text-secondary);background:var(--gray-bg);border:1px dashed var(--card-border);padding:9px 15px}.responsavel-carimbo-btn.desfazer:hover{border-color:var(--text-secondary)}.responsavel-carimbo-btn:disabled{opacity:.6;cursor:default}.grid.dia-passado .room{opacity:.55;transition:opacity .15s}.grid.dia-passado .room:hover{opacity:1}.modal-card--serio{border-top:4px solid var(--danger);max-width:420px}.modal-card--serio .modal-icon{width:52px;height:52px}.modal-card--serio .modal-icon svg{width:28px;height:28px}.modal-card--serio .modal-title{font-size:18px}.modal-card--serio .modal-body{font-size:13.5px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-secondary);font-size:12.5px;font-weight:600}.field input,.field select{border:1px solid var(--card-border);color:var(--text-primary);background:#fbfafa;border-radius:10px;padding:11px 14px;font-family:inherit;font-size:13.5px}.responsavel-controle .toggle-group{border-radius:10px}.responsavel-controle .toggle-group button{border-radius:9px;padding:11px 16px;font-size:13.5px}.dias-semana-nav{gap:6px;display:flex}.dias-semana-nav button{border:1px solid var(--card-border);min-width:40px;color:var(--text-secondary);cursor:pointer;background:#fbfafa;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:7px 8px;font-family:inherit;display:flex}.dias-semana-nav button .dia-nome{text-transform:uppercase;letter-spacing:.02em;font-size:10.5px;font-weight:700}.dias-semana-nav button .dia-numero{font-size:13px;font-weight:700}.dias-semana-nav button.hoje{border-color:var(--purple)}.dias-semana-nav button.active{background:var(--gradient-brand);color:#fff;border-color:#0000}.turno-erro{color:var(--red)}.manual-resultados{z-index:5;border:1px solid var(--card-border);background:#fff;border-radius:8px;max-height:200px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.manual-resultados li{cursor:pointer;border-radius:6px;padding:8px;font-size:13.5px}.manual-resultados li:hover{background:var(--grad-pill-bg)}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-bottom:6px;display:grid}.section-label{width:100%;color:var(--purple);text-transform:uppercase;letter-spacing:.04em;border-top:2px solid var(--purple);margin:30px 0 18px;padding-top:24px;font-size:12px;font-weight:700}.modal-select,.modal-input{border:1px solid var(--card-border);border-radius:9px;width:100%;margin-bottom:10px;padding:10px 12px;font-family:inherit;font-size:13px}.switch-linha{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:inline-flex}.switch{background:var(--card-border);border-radius:999px;flex:none;width:34px;height:20px;transition:background .15s;display:inline-block;position:relative}.switch--on{background:var(--gradient-brand)}.switch-bola{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.switch--on .switch-bola{left:16px}.doc-tag.falta .name,.doc-tag.falta .status{color:var(--danger)}.medicos-page{max-width:760px;margin:0 auto}.agenda-page{flex-direction:column;gap:10px;display:flex}.agenda-page .page-topbar{margin-bottom:0}.agenda-card{border:1px solid var(--card-border);background:#fff;border-radius:12px;padding:16px}.agenda-card h2{margin:0 0 12px;font-size:15px}.agenda-filtros{gap:10px;margin-bottom:12px;display:flex}.agenda-filtros input,.agenda-filtros select{border:1px solid var(--card-border);border-radius:8px;padding:8px 10px}.agenda-linha-add{gap:8px;margin-bottom:12px;display:flex;position:relative}.agenda-linha-add input,.agenda-linha-add select{border:1px solid var(--card-border);border-radius:8px;flex:1;padding:8px 10px}.agenda-linha-add button{background:var(--gradient-brand);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 14px;font-weight:700}.agenda-busca{flex:1;position:relative}.agenda-resultados{z-index:5;border:1px solid var(--card-border);background:#fff;border-radius:8px;max-height:180px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.agenda-resultados li{cursor:pointer;border-radius:6px;padding:8px;font-size:13px}.agenda-resultados li:hover{background:var(--grad-pill-bg)}.agenda-link-botao{color:var(--purple);cursor:pointer;background:0 0;border:none;padding:0 0 12px;font-size:13px;font-weight:600}.agenda-import{border:1px dashed var(--card-border);background:var(--gray-bg);border-radius:10px;margin-bottom:12px;padding:12px}.agenda-import p{color:var(--text-secondary);margin:0 0 8px;font-size:12.5px}.agenda-import textarea{border:1px solid var(--card-border);resize:vertical;border-radius:8px;width:100%;padding:10px;font-family:monospace;font-size:12.5px}.agenda-import-resumo{color:var(--purple);font-size:12.5px;font-weight:600;margin:8px 0!important}.agenda-import-acoes{align-items:center;gap:12px;display:flex}.agenda-import-acoes button[type=button]:first-child{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-weight:700}.agenda-import-acoes button:disabled{opacity:.5;cursor:default}.agenda-lista{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.agenda-lista li{border:1px solid var(--card-border);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13.5px;display:flex}.agenda-lista--grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.agenda-lista li select{border:1px solid var(--card-border);border-radius:6px;padding:6px 8px}.agenda-capacidade-editar{color:var(--text-secondary);align-items:center;gap:6px;font-size:12.5px;display:flex}.agenda-capacidade-input{text-align:center;flex:none!important;width:52px!important;padding:4px 6px!important}.agenda-lista li button{color:var(--purple);cursor:pointer;background:0 0;border:none;font-size:12.5px;font-weight:600}.summary{color:var(--text-secondary);font-size:12.5px;font-weight:500}.summary strong{color:var(--text-primary)}.hint{color:var(--text-muted);margin:0 0 14px;font-size:11.5px}.agenda-controles-card{border:1px solid var(--card-border);background:#fff;border-radius:16px;flex-direction:column;gap:16px;padding:18px 20px;display:flex;box-shadow:0 1px 3px #00000008}.agenda-controles-card .page-topbar{margin-bottom:0}.agenda-controles-linha{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.controle-grupo{flex-direction:column;gap:8px;display:flex}.controle-grupo-linha{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.divisor-vertical{background:var(--card-border);align-self:stretch;width:1px}.agenda-controles-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:10.5px;font-weight:700}.tamanho-controle{align-items:center;gap:8px;display:flex}.icone-tamanho{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.escala-slider{width:110px;accent-color:var(--purple);cursor:pointer}.uc-selecao{background:var(--gray-bg);border-radius:999px;flex-shrink:0;gap:2px;padding:3px;display:flex}.uc-selecao button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700}.uc-selecao button.active{background:var(--gradient-brand);color:#fff}.semanas-selecao{flex-wrap:wrap;gap:6px;display:flex}.semanas-selecao button{border:1.5px solid var(--card-border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:50%;padding:0;font-size:13px;font-weight:700}.semanas-selecao button.active{background:var(--gradient-brand);color:#fff;border-color:#0000}.semana-datas-pill{background:var(--grad-pill-bg);color:var(--purple);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700}.dias-selecao{flex-wrap:wrap;gap:4px;display:flex}.dias-selecao button{border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:600}.dias-selecao button.active{background:var(--grad-pill-bg);border-color:var(--purple);color:var(--purple)}.semestre-selecao{align-items:center;gap:8px;display:flex}.semestre-selecao select{border:1px solid var(--card-border);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600}.semestre-datas{gap:14px;margin:10px 0;display:flex}.semestre-datas label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.semestre-datas input{border:1px solid var(--card-border);border-radius:8px;padding:8px 10px;font-family:inherit}.modal-card--largo{max-width:520px}.cell-grupo{text-overflow:ellipsis;max-width:100%;font-size:calc(9.5px * var(--escala,1));color:var(--success);padding:calc(2px * var(--escala,1)) calc(7px * var(--escala,1));white-space:nowrap;background:#e5f5ef;border-radius:999px;align-self:center;font-weight:700;display:inline-block;overflow:hidden}.semana-panel th.corner-recolher{padding:0}.btn-recolher-tudo{width:100%;min-height:34px;color:var(--purple);cursor:pointer;text-transform:none;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;font-family:inherit;font-size:11.5px;font-weight:700;display:flex}.btn-recolher-tudo:hover{color:var(--red)}.chevron{flex-shrink:0;width:14px;height:14px;transition:transform .15s}.chevron.fechado{transform:rotate(-90deg)}.modal-card--medico{width:94%;max-width:620px;max-height:86vh;overflow-y:auto}.medico-disp-grid{border:1px solid var(--card-border);border-radius:10px;margin:10px 0 16px;overflow:hidden}.medico-disp-grid table{border-collapse:collapse;width:100%;font-size:12px}.medico-disp-grid th{background:var(--gray-bg);color:var(--text-secondary);text-align:center;padding:6px 4px;font-size:11px;font-weight:700}.medico-disp-grid td{text-align:center;border-top:1px solid var(--card-border);padding:5px 4px}.medico-disp-dia{font-weight:600;text-align:left!important;padding-left:10px!important}.medico-disp-grid input[type=checkbox]{cursor:pointer;width:16px;height:16px}.medico-secao-titulo{margin:0 0 8px;font-size:13px;font-weight:700}.medico-alocacoes{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.medico-aloc-linha{border:1px solid var(--card-border);border-radius:10px;padding:10px 12px}.medico-aloc-topo{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.medico-aloc-dia{min-width:130px;font-size:12.5px;font-weight:700}.medico-aloc-consultorio{color:var(--text-secondary);flex:1;font-size:12px}.subgrupo-badge{background:var(--grad-pill-bg);color:var(--purple);cursor:pointer;border:none;border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:700}.subgrupo-detalhe{border-top:1px dashed var(--card-border);margin-top:10px;padding-top:10px}.subgrupo-detalhe-linha{color:var(--text-secondary);margin:0 0 8px;font-size:12px}.subgrupo-alunos{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.subgrupo-alunos li{color:var(--text-primary);padding:3px 0;font-size:12px}.btn-link-add-grupo{color:var(--purple);cursor:pointer;background:0 0;border:none;padding:0;font-size:11.5px;font-weight:700}.novo-grupo-form{border-top:1px dashed var(--card-border);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.novo-grupo-form select{border:1px solid var(--card-border);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:12.5px}.novo-grupo-form .toggle-group{max-width:260px}.semana-panel{border:1px solid var(--card-border);background:#fff;border-radius:14px;overflow:auto;box-shadow:0 1px 3px #00000008}.semana-panel table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:12px}.semana-panel thead th{z-index:2;text-align:center;box-shadow:inset -1px -1px 0 0 var(--card-border);text-overflow:ellipsis;background:#fff;padding:5px 4px;font-weight:600;position:sticky;top:0;overflow:hidden}.semana-panel thead tr.days th{color:#fff;background:var(--gradient-brand);padding:8px 4px;font-size:12px}.semana-panel thead tr.days th.corner{background:#fff}.semana-panel thead tr.days th .dia-data{opacity:.85;margin-top:1px;font-size:8.5px;font-weight:500;display:block}.semana-panel thead tr.days th.hoje .dia-data{opacity:1;font-weight:800}.semana-panel thead tr.days th.hoje{border-top:1px solid #f2add0;border-left:1px solid #f2add0;border-right:1px solid #f2add0}.semana-panel thead tr.turnos th.coluna-hoje-esq{border-left:1px solid #f2add0}.semana-panel thead tr.turnos th.coluna-hoje-dir{border-right:1px solid #f2add0}.hoje-badge{color:var(--red);letter-spacing:.03em;background:#fff;border-radius:999px;margin-top:3px;padding:1px 8px;font-size:8.5px;font-weight:800;display:inline-block}.semana-panel thead tr.turnos th{color:var(--text-secondary);font-size:11px;top:44px}.semana-panel thead tr.responsaveis th{background:var(--stripe);box-shadow:inset -1px -1px 0 0 var(--card-border);padding:3px 4px;position:static}.responsavel-mini-select{width:100%;color:var(--text-muted);text-align:center;text-align-last:center;cursor:pointer;background:0 0;border:none;padding:1px 2px;font-family:inherit;font-size:9px;font-weight:500}.responsavel-mini-select:disabled{cursor:default;opacity:.75}.responsavel-mini-select:hover:not(:disabled),.responsavel-mini-select:focus{color:var(--purple)}.semana-panel td.room-label,.semana-panel th.corner{z-index:1;font-weight:600;font-size:calc(12px * var(--escala,1));padding:calc(8px * var(--escala,1));white-space:nowrap;text-overflow:ellipsis;box-shadow:inset -1px -1px 0 0 var(--card-border);text-align:left;vertical-align:middle;background:#fff;position:sticky;left:0;overflow:hidden}.semana-panel th.corner-legenda{color:var(--text-muted);text-align:right;padding-right:16px;font-size:10px;font-weight:600}.room-label-conteudo{align-items:center;gap:6px;max-width:100%;display:inline-flex}.semana-panel th.corner-recolher-baixo{box-shadow:inset -1px -1px 0 0 var(--card-border)}.linha-chevron{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.linha-chevron:hover{color:var(--purple)}.linha-chevron .chevron{width:12px;height:12px}.semana-panel tr.recolhida td.room-label{color:var(--text-muted)}.semana-panel td.cell.recolhida{padding:calc(6px * var(--escala,1)) calc(4px * var(--escala,1));cursor:default}.recolhida-texto{font-size:calc(10px * var(--escala,1));color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-weight:400;display:block;overflow:hidden}.semana-panel tbody tr:nth-child(2n) td.room-label,.semana-panel tbody tr:nth-child(2n) td.cell{background:var(--stripe)}.semana-panel td.cell{height:1px;min-height:calc(56px * var(--escala,1));box-sizing:border-box;padding:calc(12px * var(--escala,1)) calc(6px * var(--escala,1));text-align:center;box-shadow:inset -1px -1px 0 0 var(--card-border);cursor:pointer;overflow:hidden}.semana-panel td.cell.filled{padding:calc(6px * var(--escala,1)) calc(4px * var(--escala,1));cursor:default}.cell-card{box-sizing:border-box;justify-content:center;align-items:stretch;gap:calc(1px * var(--escala,1));height:100%;padding:calc(8px * var(--escala,1)) calc(6px * var(--escala,1));border-radius:calc(10px * var(--escala,1));cursor:grab;flex-direction:column;min-width:0;display:flex}.cell-card.ok{background:#e5f5ef}.cell-card.ok .cell-name{color:#1d6b4e}.cell-card.warn{background:#fbefe2}.cell-card.warn .cell-name{color:#8a5a1e}.cell-status{font-size:calc(9px * var(--escala,1));color:#c2791c;margin-top:calc(1px * var(--escala,1));align-self:center;font-weight:800;line-height:1.1}.semana-panel td.cell.split{cursor:default;padding:0}.cell-split-wrap{box-sizing:border-box;width:100%;height:100%;min-height:calc(56px * var(--escala,1));position:relative}.cell-split-wrap:after{content:"";background:linear-gradient(to bottom right, transparent calc(50% - 1px), var(--card-border) calc(50% - 1px), var(--card-border) calc(50% + 1px), transparent calc(50% + 1px));pointer-events:none;position:absolute;inset:0}.cell-half{cursor:grab;display:flex;position:absolute;inset:0;overflow:hidden}.cell-half-a{clip-path:polygon(0 0,100% 0,100% 100%);padding:calc(4px * var(--escala,1)) calc(4px * var(--escala,1)) 0 0;justify-content:flex-end;align-items:flex-start}.cell-half-b{clip-path:polygon(0 0,100% 100%,0 100%);padding:0 0 calc(4px * var(--escala,1)) calc(4px * var(--escala,1));justify-content:flex-start;align-items:flex-end}.cell-half.ok{background:#e5f5ef}.cell-half.warn{background:#fbefe2}.cell-half-nome{font-size:calc(9px * var(--escala,1));text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:65%;font-weight:800;line-height:1.05;overflow:hidden}.cell-half.ok .cell-half-nome{color:#1d6b4e}.cell-half.warn .cell-half-nome{color:#8a5a1e}.semana-panel .cell-name{text-align:center;width:100%;min-width:0;font-size:calc(12.5px * var(--escala,1));text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.1;display:block;overflow:hidden}.semana-panel .cell-spec{text-align:center;width:100%;min-width:0;font-size:calc(10px * var(--escala,1));color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.1;display:block;overflow:hidden}.semana-panel td.cell.vago{color:var(--text-muted);font-style:italic;font-weight:400;font-size:calc(12px * var(--escala,1))}.semana-panel td.cell.editing{padding:calc(8px * var(--escala,1)) calc(6px * var(--escala,1));cursor:default;background:var(--grad-pill-bg)!important}.semana-panel td.cell.drop-alvo{outline:2px dashed var(--purple);outline-offset:-2px}.semana-panel td.cell.coluna-hoje-esq{border-left:1px solid #f2add0}.semana-panel td.cell.coluna-hoje-dir{border-right:1px solid #f2add0}.semana-panel td.cell.coluna-hoje-base{border-bottom:1px solid #f2add0}.semana-panel .cell-select{width:100%;max-width:100%;font-family:inherit;font-size:calc(11px * var(--escala,1));color:var(--purple);border:1.5px solid var(--purple);padding:calc(4px * var(--escala,1));background:#fff;border-radius:6px;font-weight:600}.semana-panel tr.section-label td{color:var(--purple);text-transform:uppercase;letter-spacing:.03em;border-top:2px solid var(--purple);padding:6px 14px;font-size:11px;font-weight:700;background:var(--special-tint)!important}.semana-panel tr.special td.room-label,.semana-panel tr.special td.cell{background:var(--special-tint)}.semana-panel tfoot .footer-label{z-index:1;color:var(--text-primary);border-right:1px solid var(--card-border);border-top:3px solid var(--purple);vertical-align:top;white-space:nowrap;background:#fff;padding:10px 14px;font-size:11.5px;font-weight:700;position:sticky;left:0}.semana-panel tfoot .footer-cell{border-top:3px solid var(--purple);vertical-align:top;background:#fcfbfb;border-right:1px solid #eeebeb;padding:8px 6px}.doc-tag{border-radius:6px;flex-direction:column;margin-bottom:5px;padding:6px 7px;font-size:9.5px;line-height:1.35;display:flex}.doc-tag[draggable=true]{cursor:grab}.doc-tag .name{font-weight:700}.doc-tag .spec{color:var(--text-muted);margin-top:3px;font-size:8px;font-weight:600}.doc-tag .status{margin-top:3px;font-size:8.5px;font-weight:800}.doc-tag.ok{background:#e5f5ef}.doc-tag.ok .name{color:#1d6b4e}.doc-tag.ok .status{color:var(--success)}.doc-tag.warn{background:#fbefe2}.doc-tag.warn .name{color:#8a5a1e}.doc-tag.warn .status{color:#c2791c}.doc-tag.falta{background:var(--danger-tint)}.doc-tag.falta .name,.doc-tag.falta .status{color:var(--danger)}.doc-tag.empty{color:var(--text-muted);font-size:10.5px;font-style:italic}.modal-overlay{z-index:50;background:#26222373;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.show{display:flex}.modal-card{background:#fff;border-radius:16px;width:90%;max-width:380px;padding:24px 26px 22px;box-shadow:0 8px 28px #0000002e}.modal-icon{background:var(--danger-tint);width:42px;height:42px;color:var(--danger);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.modal-icon svg{width:22px;height:22px}.modal-title{margin-bottom:8px;font-size:15.5px;font-weight:700}.modal-body{color:var(--text-secondary);margin-bottom:10px;font-size:12.5px;line-height:1.5}.modal-body strong{color:var(--text-primary)}.modal-body.erro{color:var(--danger);font-weight:600}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.btn-danger{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:9px 18px;font-size:12.5px;font-weight:600}.page-topbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.page-topbar h1{margin:0;font-size:22px;font-weight:700}.btn-primary{background:var(--gradient-brand);color:#fff;white-space:nowrap;cursor:pointer;border:none;border-radius:10px;padding:11px 22px;font-size:13.5px;font-weight:600}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{color:var(--text-secondary);border:1px solid var(--card-border);cursor:pointer;background:0 0;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600}.btn-add-small{background:var(--grad-pill-bg);color:var(--purple);cursor:pointer;white-space:nowrap;border:none;border-radius:9px;padding:8px 14px;font-size:12px;font-weight:600}.btn-deactivate{color:var(--danger);background:var(--danger-tint);white-space:nowrap;cursor:pointer;border:none;border-radius:999px;flex:none;padding:7px 14px;font-size:12px;font-weight:600}.panel{border:1px solid var(--card-border);background:#fbfafa;border-radius:14px;margin-bottom:20px;padding:18px 20px}.panel h3{color:var(--text-secondary);margin:0 0 12px;font-size:13px;font-weight:600}.panel .add-row{gap:10px;margin-bottom:18px;display:flex}.panel .add-row input{border:1px solid var(--card-border);color:var(--text-primary);background:#fff;border-radius:10px;padding:11px 14px;font-family:inherit;font-size:13.5px}.panel .add-row input:first-child{flex:1.2}.panel .add-row input:nth-child(2){flex:1}.agenda-table{flex-direction:column;max-width:320px;margin-bottom:16px;display:flex}.agenda-row{align-items:center;display:flex}.agenda-row.header{padding-bottom:6px}.agenda-row .day-label{width:60px;color:var(--text-primary);font-size:13px;font-weight:600}.agenda-row .cell-label{width:100px;color:var(--text-secondary);text-align:center;font-size:12px;font-weight:600}.agenda-row .cell{justify-content:center;align-items:center;width:100px;padding:4px 0;display:flex}.chk{border:1.5px solid var(--card-border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.chk.on{background:var(--gradient-brand);border-color:#0000}.chk svg{width:12px;height:12px}.import-link{color:var(--purple);background:var(--grad-pill-bg);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.import-link svg{width:15px;height:15px}.list-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.list-head h3{margin:0;font-size:15px;font-weight:700}.list-head span{color:var(--text-muted);font-size:12.5px}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:start;gap:10px;display:grid}.doc-grid .doc-card{margin-bottom:0}.doc-card{border:1px solid var(--card-border);background:#fff;border-radius:14px;margin-bottom:10px;overflow:hidden}.doc-card.linha-inativa{opacity:.55}.doc-row{flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.avatar{background:var(--grad-pill-bg);width:40px;height:40px;color:var(--purple);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.doc-info{flex:1;min-width:0}.doc-name{font-size:14.5px;font-weight:700}.doc-spec{color:var(--text-secondary);font-size:12.5px;font-weight:500}.doc-sched{color:var(--purple);background:var(--grad-pill-bg);text-align:center;border-radius:999px;max-width:260px;padding:3px 10px;font-size:11.5px;font-weight:600}.doc-sched.none{color:var(--text-muted);background:var(--gray-bg)}.icon-btn{border:1px solid var(--card-border);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .15s;display:flex}.icon-btn svg{width:15px;height:15px;stroke:var(--text-secondary)}.icon-btn.open{background:var(--grad-pill-bg);border-color:#0000;transform:rotate(180deg)}.icon-btn.open svg{stroke:var(--purple)}.accordion{border-top:1px solid var(--card-border);background:#fbfafa;padding:20px 18px 22px}.accordion .add-row{gap:10px;margin-bottom:18px;display:flex}.accordion .add-row input{border:1px solid var(--card-border);background:#fff;border-radius:10px;flex:1;padding:11px 14px;font-family:inherit;font-size:13.5px}.accordion-actions{justify-content:flex-end;gap:10px;display:flex}.consultorio-row{gap:16px;padding-bottom:14px}.consultorio-nome{flex:1;font-size:14.5px;font-weight:700}.consultorio-capacidade{color:var(--text-secondary);align-items:center;gap:6px;font-size:12.5px;display:flex}.consultorio-capacidade input{border:1px solid var(--card-border);text-align:center;border-radius:8px;width:52px;padding:6px 8px;font-family:inherit}.consultorios-page .panel .add-row{max-width:480px}.captura-facial-card{width:92%;max-width:420px}.captura-video-wrap{aspect-ratio:1;background:#211c27;border-radius:16px;width:100%;margin:12px 0;position:relative;overflow:hidden}.captura-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.captura-overlay{color:#fff;background:#0006;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;inset:0}.captura-erro{color:var(--red);text-align:center}.alunos-page{flex-direction:column;gap:20px;max-width:1000px;margin:0 auto;display:flex}.list-head-right{align-items:center;gap:16px;display:flex}.alunos-erro{color:var(--red);margin:8px 0 0;font-size:13px}.form-grid{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.form-grid input,.form-grid select{border:1px solid var(--card-border);color:var(--text-primary);background:#fbfafa;border-radius:10px;padding:10px 13px;font-family:inherit;font-size:13px}.form-grid .f-nome{flex:1.6;min-width:200px}.form-grid .f-mat,.form-grid .f-tipo{flex:1;min-width:130px}.form-grid .f-turma{flex:.7;min-width:90px}.form-grid .f-ano{flex:.6;min-width:80px}.form-grid .f-sem{flex:.5;min-width:70px}.panel-footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.alunos-import{flex-basis:100%;order:3}.alunos-filters{gap:10px;margin-bottom:16px;display:flex}.alunos-filters input{flex:1.4}.alunos-filters select{flex:1}.alunos-filters input,.alunos-filters select{border:1px solid var(--card-border);color:var(--text-primary);background:#fbfafa;border-radius:10px;padding:10px 13px;font-family:inherit;font-size:13px}.aluno-card{border:1px solid var(--card-border);background:#fff;border-radius:14px;margin-bottom:8px;overflow:hidden}.aluno-card.linha-inativa{opacity:.55}.aluno-row{cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 16px;display:flex}.aluno-info{flex:1;min-width:0}.aluno-name{align-items:center;gap:6px;font-size:13.5px;font-weight:700;display:flex}.aluno-sub{color:var(--text-secondary);font-size:11.5px;font-weight:500}.tag{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.tag-tipo-internato{background:var(--grad-pill-bg);color:var(--purple)}.tag-tipo-ambulatorio{color:#3757a6;background:#e7eef9}.tag-periodo{background:var(--text-primary);color:#fff}.tag-subgrupo{background:var(--gray-bg);color:var(--text-secondary)}.tag-foto-ok{color:var(--success);background:#e5f5ef}.tag-foto-pending{color:#c2791c;background:#fbefe2}.accordion-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.accordion-field{flex-direction:column;gap:4px;display:flex}.accordion-field label{color:var(--text-secondary);font-size:11px;font-weight:600}.accordion-field input,.accordion-field select{border:1px solid var(--card-border);background:#fff;border-radius:10px;padding:11px 14px;font-family:inherit;font-size:13.5px}.ajuste-control{align-items:center;gap:6px;display:flex}.ajuste-control button{border:1px solid var(--card-border);width:26px;height:26px;color:var(--purple);cursor:pointer;background:#fff;border-radius:7px;font-size:14px;font-weight:700}.ajuste-control span{text-align:center;min-width:22px;font-size:13px;font-weight:700}.periodo-note{color:var(--text-muted);margin-top:4px;font-size:11px}.foto-status-row{align-items:center;gap:10px;margin-bottom:14px;display:flex}.grupos-page{flex-direction:column;gap:20px;max-width:1000px;margin:0 auto;display:flex}.page-sub{color:var(--text-secondary);margin-top:2px;font-size:12.5px;font-weight:500;display:block}.form-row{gap:10px;display:flex}.form-row input,.form-row select{border:1px solid var(--card-border);background:#fbfafa;border-radius:10px;padding:9px 12px;font-family:inherit;font-size:12.5px}.form-row .f-codigo{flex:.8;min-width:110px}.form-row .f-turma{flex:.8;min-width:100px}.grupo-card{border:1px solid var(--card-border);background:#fff;border-radius:14px;margin-bottom:10px;overflow:hidden}.grupo-row{cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;padding:13px 18px;display:flex}.codigo-badge{background:linear-gradient(135deg, var(--red), var(--purple));color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:14px;font-weight:800;display:flex}.grupo-info{flex:1;min-width:0}.grupo-title{font-size:14px;font-weight:700}.grupo-sub{color:var(--text-secondary);font-size:11.5px;font-weight:500}.tag-turma{background:var(--gray-bg);color:var(--text-secondary)}.tag-ativo{color:var(--success);background:#e5f5ef}.tag-inativo{background:var(--gray-bg);color:var(--text-muted);font-style:italic}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:14px 0 10px;font-size:12px;font-weight:700}.section-title:first-child{margin-top:0}.member-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.member-chip{background:var(--grad-pill-bg);color:var(--purple);border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 10px;font-size:12px;font-weight:600;display:flex}.member-chip .rm{cursor:pointer;color:var(--purple);opacity:.6;padding:0 3px;font-weight:700}.member-chip .rm:hover{opacity:1;color:var(--red)}.add-member-row{gap:8px;display:flex}.add-member-row input{border:1px solid var(--card-border);background:#fff;border-radius:10px;flex:1;padding:9px 12px;font-family:inherit;font-size:12.5px}.bloco-row{border:1px solid var(--card-border);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.bloco-dates{color:var(--text-primary);min-width:150px;font-size:11.5px;font-weight:600}.bloco-diaturno{color:var(--purple);background:var(--grad-pill-bg);text-align:center;border-radius:999px;min-width:100px;padding:3px 9px;font-size:11.5px;font-weight:600}.bloco-medico{flex:1;min-width:140px}.bloco-medico .nome{font-size:12.5px;font-weight:600}.bloco-medico .spec{color:var(--text-muted);font-size:10.5px}.bloco-status{font-size:10.5px;font-weight:700}.bloco-status.ativo{color:var(--success)}.bloco-status.futuro,.bloco-status.encerrado{color:var(--text-muted)}.bloco-rm{cursor:pointer;color:var(--text-muted);padding:0 4px;font-size:15px;font-weight:700}.bloco-rm:hover{color:var(--red)}.add-bloco-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:6px;display:flex}.add-bloco-form .field{flex-direction:column;gap:4px;display:flex}.add-bloco-form .campo-aluno,.add-bloco-form .campo-full{flex:100%}.add-bloco-form .par-datas{gap:8px;display:flex}.add-bloco-form label{color:var(--text-secondary);font-size:10.5px;font-weight:600}.add-bloco-form input,.add-bloco-form select{border:1px solid var(--card-border);background:#fff;border-radius:9px;padding:8px 10px;font-family:inherit;font-size:12px}.blocos-medicos{flex-direction:column;gap:8px;margin-top:4px;display:flex}.bloco-medico-form{border:1px solid var(--card-border);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.bloco-medico-form .campo-medico{flex:220px;min-width:200px}.medico-dias-pill{background:var(--gradient-brand);color:#fff;border-radius:6px;width:fit-content;margin-top:4px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.bloco-medico-form .bloco-rm{align-self:center}.btn-add-medico{color:var(--purple);border:1px dashed var(--purple);cursor:pointer;background:0 0;border-radius:9px;align-self:flex-start;width:fit-content;padding:7px 12px;font-size:12px;font-weight:600}.btn-add-medico:hover{background:var(--grad-pill-bg)}.checkin-page{background:radial-gradient(circle at 12% -5%, #eb012a12, transparent 42%), radial-gradient(circle at 88% 105%, #af3f9e17, transparent 48%), var(--bg);flex-direction:column;align-items:center;min-height:100vh;padding:48px 24px 56px;display:flex}.checkin-topo{flex-direction:column;align-items:center;margin-bottom:30px;display:flex}.checkin-logo{height:46px;margin-bottom:10px}.checkin-tagline{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);font-size:13px;font-weight:600}.checkin-video-wrap{aspect-ratio:1;background:linear-gradient(160deg,#3a3440,#211c27);border-radius:28px;width:100%;max-width:460px;margin-bottom:26px;position:relative;overflow:hidden;box-shadow:0 12px 32px #26222329}.checkin-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.checkin-video-msg{text-align:center;color:#fff;text-shadow:0 1px 4px #00000080;font-size:13px;font-weight:600;position:absolute;bottom:18px;left:0;right:0}.checkin-video-msg.erro{color:#ffb4b4}.checkin-corner{border:4px solid #ffffff59;border-radius:6px;width:46px;height:46px;transition:border-color .2s;position:absolute}.checkin-corner.tl{border-bottom:none;border-right:none;top:18px;left:18px}.checkin-corner.tr{border-bottom:none;border-left:none;top:18px;right:18px}.checkin-corner.bl{border-top:none;border-right:none;bottom:18px;left:18px}.checkin-corner.br{border-top:none;border-left:none;bottom:18px;right:18px}.checkin-corner.ok{border-color:var(--success)}.checkin-card{border:1px solid var(--card-border);text-align:center;background:#fff;border-radius:22px;width:100%;max-width:460px;padding:26px 28px 28px;box-shadow:0 2px 10px #0000000d}.checkin-card--sucesso{border-color:var(--success);background:#e5f5ef}.checkin-card-label{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:500}.checkin-card-name{margin-bottom:10px;font-size:28px;font-weight:700}.checkin-card-name--small{color:var(--text-secondary);margin-bottom:18px;font-size:15px}.checkin-card-room{background:var(--grad-pill-bg);color:var(--purple);border-radius:999px;align-items:center;gap:6px;margin-bottom:24px;padding:6px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.checkin-alerta-caixa{background:var(--danger-tint);color:var(--danger);text-align:left;border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.checkin-alerta-caixa svg{flex-shrink:0;width:22px;height:22px}.checkin-instrucoes{color:var(--text-secondary);text-align:left;margin:0 0 24px;font-size:13.5px;line-height:1.5}.checkin-info-caixa{background:var(--grad-pill-bg);color:var(--purple);text-align:left;border-radius:12px;align-items:center;gap:10px;margin-bottom:24px;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.checkin-info-caixa svg{flex-shrink:0;width:22px;height:22px}.checkin-select{border:1px solid var(--card-border);background:#fbfafa;border-radius:10px;width:100%;margin-bottom:18px;padding:11px 14px;font-family:inherit;font-size:13.5px}.checkin-mensagem{color:var(--red);margin-bottom:12px;font-size:13px}.btn-confirm{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-bottom:12px;padding:16px;font-size:17px;font-weight:700}.btn-confirm:disabled{opacity:.6;cursor:default}.btn-deny{width:100%;color:var(--text-secondary);border:1px solid var(--card-border);cursor:pointer;background:0 0;border-radius:14px;padding:12px;font-size:14.5px;font-weight:600}.checkin-manual{text-align:left;flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.checkin-manual-busca{position:relative}.checkin-manual-busca input{border:1px solid var(--card-border);border-radius:10px;width:100%;padding:11px 14px;font-family:inherit;font-size:13.5px}.checkin-manual-row{gap:8px;display:flex}.checkin-manual-row select{border:1px solid var(--card-border);border-radius:10px;flex:1;padding:10px 12px;font-family:inherit;font-size:13px}.checkin-primeiro-acesso{border:1px solid var(--card-border);color:var(--purple);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;margin-bottom:22px;padding:11px 22px;font-size:13.5px;font-weight:600;transition:border-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #2622230d}.checkin-primeiro-acesso svg{flex-shrink:0;width:17px;height:17px}.checkin-primeiro-acesso:hover{border-color:var(--purple);box-shadow:0 4px 14px #af3f9e2e}.checkin-hint{color:var(--text-muted);text-align:center;margin-top:18px;font-size:12.5px}.historico-abas{margin-bottom:16px}.historico-filtros{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.historico-filtros label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;display:flex}.historico-filtros input{border:1px solid var(--card-border);border-radius:8px;padding:8px 10px}.historico-filtros button{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;height:fit-content;padding:9px 16px;font-weight:700}.historico-exportar{color:var(--purple)!important;border:1px solid var(--purple)!important;background:#fff!important}.historico-exportar:disabled{opacity:.5;cursor:default}.historico-tabela{border-collapse:collapse;border:1px solid var(--card-border);background:#fff;border-radius:12px;width:100%;font-size:13.5px;overflow:hidden}.historico-tabela th,.historico-tabela td{text-align:left;border-bottom:1px solid var(--card-border);padding:8px 12px}.historico-tabela th{background:var(--gray-bg);color:var(--text-secondary);font-size:12px}.historico-matricula{color:var(--text-muted);font-size:12px}.linha-cancelada{opacity:.5;text-decoration:line-through}.historico-cancelar-falta{color:var(--red);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600;text-decoration:underline}
