*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.tabs{background:#fff;border-bottom:2px solid #ddd;display:flex}.tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:15px}.tab.active{color:#333;border-bottom:2px solid #333;font-weight:600}.content{max-width:960px;margin:0 auto;padding:24px}h2{margin-bottom:16px;font-size:20px}h3{color:#555;margin-bottom:12px;font-size:16px}.data-hoje{color:#888;margin-bottom:16px;font-size:14px}.aviso{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px}.lista-presencas{list-style:none}.lista-presencas li{border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 16px;font-size:15px;display:flex}.estado-Presente{background:#d4edda;border-left:4px solid #28a745}.estado-Ausente{background:#f8d7da;border-left:4px solid #dc3545}.estado-Justificado{background:#fff3cd;border-left:4px solid #ffc107}.btn-scan{color:#fff;cursor:pointer;background:#333;border:none;border-radius:6px;margin-top:20px;padding:10px 20px;font-size:14px}.btn-scan:hover{background:#555}.btn-scan:disabled{cursor:not-allowed;background:#999}.historico-table{border-collapse:collapse;width:100%;font-size:13px}.historico-table th,.historico-table td{text-align:center;border:1px solid #ddd;padding:8px 10px}.historico-table th{background:#f0f0f0;font-weight:600}.historico-table td:first-child{text-align:left;background:#fafafa;font-weight:500}.celula-Presente{background:#d4edda}.celula-Ausente{background:#f8d7da}.celula-Justificado{background:#fff3cd}.ausencias-lista{margin-bottom:24px;list-style:none}.ausencias-lista li{background:#fff;border:1px solid #ddd;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 16px;font-size:14px;display:flex}.btn-apagar{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;padding:4px 12px;font-size:12px}.btn-apagar:hover{background:#c82333}.form-ausencia{background:#fff;border:1px solid #ddd;border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px;display:flex}.form-ausencia label{color:#555;flex-direction:column;gap:4px;font-size:13px;display:flex}.form-ausencia select,.form-ausencia input{border:1px solid #ccc;border-radius:4px;min-width:160px;padding:8px 10px;font-size:14px}.btn-adicionar{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.btn-adicionar:hover{background:#218838}.loading{color:#888;padding:20px 0;font-size:14px}.erro{color:#dc3545;background:#f8d7da;border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px}.justificacao-container{background:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.justificacao-card,.justificacao-erro,.justificacao-sucesso{background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;max-width:480px;padding:32px}.justificacao-card h2,.justificacao-erro h2,.justificacao-sucesso h2{margin-bottom:16px;font-size:22px}.justificacao-info{background:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:12px 16px}.justificacao-info p{margin-bottom:4px;font-size:14px}.justificacao-info p:last-child{margin-bottom:0}.justificacao-card label{color:#555;flex-direction:column;gap:6px;font-size:14px;display:flex}.justificacao-card textarea{resize:vertical;border:1px solid #ccc;border-radius:4px;padding:10px;font-family:inherit;font-size:14px}.btn-submeter{color:#fff;cursor:pointer;background:#333;border:none;border-radius:6px;width:100%;margin-top:16px;padding:10px;font-size:15px}.btn-submeter:hover{background:#555}.btn-submeter:disabled{cursor:not-allowed;background:#999}.justificacao-erro{border-color:#dc3545}.justificacao-erro h2{color:#dc3545}.justificacao-erro-info{color:#888;margin-top:12px;font-size:13px}.justificacao-sucesso{text-align:center;border-color:#28a745}.justificacao-sucesso h2{color:#28a745}.justificacao-sucesso p{margin-bottom:8px;font-size:15px}
