:root{--cor-primaria: #007bff;--cor-primaria-hover: #0056b3;--cor-perigo: #e53935;--cor-perigo-hover: #c62828;--cor-texto-titulo: #003366;--cor-fundo-cartao: #fff;--cor-fundo-geral: #f4f4f4;--cor-borda: #ccc;--raio-borda: 6px;--sombra-cartao: 0 0 10px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:var(--cor-fundo-geral);color:#000}.container{display:flex;flex-direction:column;align-items:center;width:100%;min-height:100vh;padding:16px}.container-home{justify-content:center}.card{background:var(--cor-fundo-cartao);padding:28px 32px;border-radius:8px;box-shadow:var(--sombra-cartao);width:100%;max-width:1100px;text-align:center;margin:auto}.titulo{font-size:24px;margin:0 0 10px;color:var(--cor-texto-titulo);text-align:center}.botoes{display:flex;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap}.btn{padding:10px 16px;border:none;border-radius:var(--raio-borda);font-size:14px;font-weight:700;cursor:pointer;transition:background-color .3s ease,transform .1s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primario{background:var(--cor-primaria);color:#fff}.btn-primario:hover{background:var(--cor-primaria-hover)}.btn-perigo{background:var(--cor-perigo);color:#fff;text-decoration:none!important}.btn-perigo:hover{background:var(--cor-perigo-hover);text-decoration:none!important}.btn-secundario{background:#6c757d;color:#fff}.btn-secundario:hover{background:#5a6268}.btn-disabled,.btn[disabled]{opacity:.55;cursor:not-allowed!important;pointer-events:none}.campo,.campo.campo--stack{display:flex;flex-direction:column;gap:6px;min-width:0}.campo label{display:block;position:static;line-height:1.2;font-weight:600;margin:0}.campo input,.campo select,.campo textarea{display:block;width:100%;max-width:100%;height:34px;box-sizing:border-box;padding:6px 8px;border:1px solid var(--cor-borda);border-radius:var(--raio-borda);font-size:14px;text-align:left}.select-sm{padding:2px!important;font-size:12.5px!important;line-height:1.2!important;height:30px!important;min-height:30px!important;max-width:130px!important}.linha-atividade-grid{display:grid;grid-template-columns:40px 100px 50px 135px 50px 105px 84px 1fr;-moz-column-gap:6px;column-gap:6px;row-gap:4px;width:100%;align-items:center;margin-bottom:10px}.linha-atividade-grid label{font-weight:700}.linha-atividade-grid>.campo{min-width:0}#campo-local{max-width:160px}.linha-tripla,.linha-quadrupla{display:flex;gap:10px;width:100%;margin-bottom:10px;flex-wrap:wrap;justify-content:space-between}.linha-tripla .campo,.linha-quadrupla .campo{flex:1;min-width:220px;margin-bottom:0}.box-dias{border:1px solid #dcdcdc;border-radius:10px;padding:12px 14px 10px;margin:0 0 10px;background:#fff;text-align:left}.box-dias>legend{font-weight:600;font-size:14px;padding:0 6px;color:#000}.box-dias .dias-container{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}.dia-item{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 6px;border-radius:8px;background:#fafafa;border:1px solid #eee;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;width:60px;font-size:13px}.dia-item input[type=checkbox]{margin:0}.dia-item span{flex:1;text-align:center}.sucesso{margin-top:12px;color:#2e7d32;font-weight:700;font-size:14px}.erro{margin-top:12px;color:var(--cor-perigo);font-weight:700;font-size:14px}.tabela{width:100%;border-collapse:collapse;margin:0 auto;display:block;overflow-x:auto;min-width:700px;table-layout:fixed}.tabela th,.tabela td{border:1px solid #929292;padding:5px;text-align:center;vertical-align:middle;word-wrap:break-word}.tabela th{background:#fff;color:#000}.tabela tbody tr:nth-child(2n){background:#fafaf0}.tabela tbody tr:nth-child(odd){background:#fff}.tabela-admin th,.tabela-admin td{font-size:14px;font-weight:400;padding:8px 6px}.acoes-grid{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center}.btn-acao{min-width:90px;padding:6px 8px;font-size:12px}.bg-mista{background-color:#f8cbad}.bg-engenharia{background-color:#d9d9d9}.bg-computacao{background-color:#b4c6e7}.bg-mestrado{background-color:#c6e0b4}.bg-evento{background-color:#ffca66;color:#000}.bg-reuniao{background-color:#007bff;color:#000}.bg-atencao{background-color:transparent;color:red}.container-quadro{display:flex;flex-direction:column;align-items:center;padding:5px 10px 20px;width:100%}.quadro-header{width:100%;max-width:none;display:flex;justify-content:space-between;align-items:center;margin:0;padding:8px 16px;background:var(--cor-fundo-cartao);border-radius:0;box-shadow:var(--sombra-cartao)}.dias-nav{display:flex;flex-wrap:wrap;gap:8px}.btn-dia{background:var(--cor-primaria);color:#fff;border:1px solid var(--cor-primaria-hover);padding:8px 15px;border-radius:var(--raio-borda);cursor:pointer;transition:background-color .3s ease,color .3s ease,border-color .3s ease;font-weight:700;white-space:nowrap;flex-shrink:0;font-size:13px}.btn-dia:hover:not(.ativo){background:var(--cor-primaria-hover);border-color:#bbb}.btn-dia.ativo{background:var(--cor-primaria-hover);color:#fff;border:1px solid var(--cor-primaria-hover)}.btn-login-quadro{padding:8px 15px;font-size:13px;flex-shrink:0}.tabela-dia-container{width:100%;max-width:none;margin:0 auto}.tabela-dia-container .tabela:not(.tabela-admin) th,.tabela-dia-container .tabela:not(.tabela-admin) td{width:6.25%;border:1px solid #000;font-size:16px}.tabela-dia-container .atividade-celula{padding:6px;border:none;box-shadow:none}.quadro-tabela thead .nome_sala,.tabela th.hora-atual{background:#000!important;color:#ffc702!important}.tabela .atividade-celula.inclui-hora-atual{box-shadow:inset 0 0 4px 2px #0000008c}.mensagem-carregando{font-size:15px;color:#666;width:100%;text-align:center;padding:12px}.quadro-tabela tfoot .legend-spacer td{height:16px;padding:0;border:none;background:transparent;border-color:transparent!important}.quadro-tabela tfoot .legend-flex-row td{padding:0;border:none;background:transparent;border-color:transparent!important}.legend-flex-container{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;padding:2px 0 6px}.clock-pill{height:40px;min-width:140px;padding:0 12px;display:flex;align-items:center;justify-content:center;border:3px solid transparent;box-sizing:border-box;font-size:14px;color:#000;white-space:nowrap}.legend-box{height:40px;width:140px;min-width:140px;display:flex;align-items:center;justify-content:center;border:3px solid transparent;box-sizing:border-box;font-size:18px;color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.quadro-tabela tfoot .legenda-row td{padding:4px 6px;font-size:12px;line-height:1.1;text-align:center;border-color:transparent!important;color:#000}.quadro-tabela .legend-cell{font-weight:600;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#000}.tabela-container.center{display:flex!important;justify-content:center!important;width:100%;padding:0;box-sizing:border-box}.tabela-container.center .tabela{width:auto!important;max-width:100%!important;table-layout:auto!important;margin:0 auto!important}.tabela-container.center .tabela th:last-child,.tabela-container.center .tabela td:last-child{text-align:center!important}.dashboard{display:flex;flex-direction:column;min-height:100vh;width:100%;background:var(--cor-fundo-geral)}.dashboard-header{background-color:#768fff;color:#fff;padding:15px;text-align:center;box-shadow:0 2px 5px #0000001a}.dashboard-actions{background:#e0f2f1;border-bottom:1px solid #ccc;padding:12px;position:sticky;top:0;z-index:5}.dashboard-main{padding:0 12px 20px;flex:1;display:flex;flex-direction:column;gap:12px}.tabela-wrapper{width:100%;overflow:auto}.dashboard-view-switch{display:flex;align-items:center;gap:12px;justify-content:center;padding:10px 12px;background:#f4f7f7;border-bottom:1px solid #e5e7eb}.dashboard-view-switch label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #cbd5e1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:14px}.dashboard-view-switch label.ativo{background:#e0f2f1;border-color:#94a3b8}.dashboard-view-switch input[type=radio]{accent-color:#0ea5e9}.select-local{min-width:220px;padding:6px 8px;border-radius:8px;border:1px solid #cbd5e1;background:#fff}.tabela-dia-container{width:100%;overflow:auto}.nome_sala{white-space:nowrap}.atividade-disciplina{display:inline-block;padding:4px 6px}.filters-bar{max-width:1100px;width:100%;margin:0 auto 12px}.filters-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}.linha-grid-a{display:grid;grid-template-columns:minmax(110px,150px) minmax(120px,180px) minmax(140px,200px) 2fr;gap:12px}.linha-grid-b{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr);gap:12px;margin-top:12px}.form-actions .btn,.acoes-grid .btn-acao{min-width:110px}.form-users .users-grid{display:grid;grid-template-columns:minmax(180px,2fr) minmax(200px,2fr) minmax(120px,1fr) minmax(120px,.8fr);gap:12px}.tabela-wrapper.vazio{display:flex;align-items:center;justify-content:center;min-height:45vh}.tabela-wrapper.vazio table{max-width:720px;margin:0 auto}.tabela-wrapper.vazio td{text-align:center;font-size:.975rem;color:#475569}.titulo--center{text-align:center}.auth-card--compact{max-width:420px;padding:16px 18px;margin:20px auto}.form-auth{display:flex;flex-direction:column;align-items:center;gap:10px}.campo--narrow{width:100%;max-width:280px;margin:0 auto}.campo--narrow input{width:100%;padding:10px 12px;border-radius:8px}.auth-actions{margin-top:10px;display:flex;gap:10px}.auth-actions--center{justify-content:center;align-items:center}.texto-menor{margin-top:10px;font-size:.9rem;text-align:center}@media (max-width: 768px){.container{padding:10px}.card{padding:22px 18px;border-radius:6px;max-width:100%}.titulo{font-size:20px;margin-bottom:12px}.botoes{flex-direction:column;gap:8px;align-items:stretch}.btn{width:100%;font-size:13px;padding:10px}.linha-tripla .campo,.linha-quadrupla .campo{width:100%;min-width:unset}.box-dias .dias-container{flex-wrap:wrap}.dashboard-grid{grid-template-columns:1fr;max-width:320px}.legend-box{width:120px;min-width:120px;font-size:12px}}.kiosk .quadro-header{display:none!important}
