        :root { --primary: #2563eb; --dark: #2c3e50; --bg: #ecf0f1; }
        body { font-family: 'Segoe UI', Arial, sans-serif; margin: 0; padding: 0; display: flex; background: var(--bg); }
        
        /* Menu Lateral */
        .sidebar { width: 250px; background: var(--dark); color: white; height: 100vh; position: fixed; box-sizing: border-box; }
        .sidebar h2 { text-align: center; padding: 20px 0; border-bottom: 1px solid #34495e; margin: 0; }
        .aba { padding: 15px 20px; cursor: pointer; border-bottom: 1px solid #2c3e50; transition: 0.3s; }
        .aba:hover, .aba.ativa { background: #4ca1af; }
        
        /* Área Principal */
        .conteudo-container { flex-grow: 1; margin-left: 250px; padding: 40px; box-sizing: border-box; min-height: 100vh; }
        .secao-adm { display: none; }
        .secao-adm.ativa { display: block; animation: fadeIn 0.3s; }

        .barra-pesquisa { width: 100%; padding: 12px; font-size: 16px; margin-bottom: 20px; border: 1px solid #ccc; border-radius: 8px; }
        
        /* Tabelas */
        h2 { color: var(--dark); margin-top: 30px; border-bottom: 2px solid #cbd5e1; padding-bottom: 10px; }
        table { width: 100%; border-collapse: collapse; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.1); margin-bottom: 30px; }
        th, td { padding: 15px; text-align: left; border-bottom: 1px solid #ddd; }
        th { background-color: #34495e; color: white; }
        tr:hover { background-color: #f9f9f9; }
        
        .btn-acao { padding: 8px 12px; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; color: white; margin-right: 5px; }
        .btn-aprovar { background: #10b981; }
        .btn-rejeitar { background: #ef4444; }
        .badge-horas { background: #e0f2fe; color: #0369a1; padding: 4px 8px; border-radius: 4px; font-size: 13px; font-weight: bold; margin-right: 5px; }

        /* Cards do Dashboard */
        .grid-dashboard { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 40px; }
        .card-metrica { background: white; padding: 25px; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); text-align: center; border-bottom: 4px solid var(--primary); }
        .card-metrica h3 { margin: 0; color: #64748b; font-size: 14px; text-transform: uppercase; }
        .card-metrica .valor { font-size: 32px; font-weight: bold; color: var(--dark); margin: 10px 0; }

        /* Botão Voltar */
        .btn-voltar {
            display: block; /* Ocupa a linha toda */
            width: 100%;    /* Alinha com as bordas da sidebar */
            padding: 15px 20px; /* Exatamente o mesmo padding da classe .aba */
            background: #34495e; 
            color: white;
            text-decoration: none;
            font-weight: bold;
            font-size: 14px;
            border-top: 1px solid #2c3e50; 
            box-sizing: border-box; 
            transition: 0.3s;
            cursor: pointer;
        }
        .btn-voltar:hover {
            background: #4ca1af;
        }

        /* Seções do Dashboard */
        .sessao-atividades { margin-top: 40px; display: grid; grid-template-columns: 1fr; gap: 30px; }
        .coluna-atividades { background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
        .coluna-atividades h2 { font-size: 18px; margin-bottom: 20px; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; display: flex; align-items: center; gap: 10px; }

        /* Cards de Agendamento no Dash */
        .card-dash { border: 1px solid #e2e8f0; border-radius: 10px; padding: 15px; margin-bottom: 15px; position: relative; transition: 0.2s; }
        .card-dash:hover { border-color: var(--primary); box-shadow: 0 4px 12px rgba(0,0,0,0.05); }

        .dash-tutor { color: var(--primary); font-weight: 800; font-size: 16px; text-transform: uppercase; }
        .dash-dia-destaque { background: var(--dark); color: white; padding: 3px 8px; border-radius: 4px; font-size: 11px; font-weight: bold; }
        .dash-info-secundaria { font-size: 13px; color: #64748b; margin-top: 5px; line-height: 1.5; }
        .dash-badge-area { font-size: 10px; background: #f1f5f9; padding: 2px 6px; border-radius: 4px; font-weight: bold; color: #475569; }

        .gaveta-alunos-dash { display: none; margin-top: 10px; padding: 10px; background: #f8fafc; border-radius: 8px; border: 1px dashed #cbd5e1; font-size: 12px; }
        .btn-alunos-dash { background: none; border: 1px solid #cbd5e1; color: #64748b; font-size: 11px; font-weight: bold; padding: 4px 10px; border-radius: 5px; cursor: pointer; margin-top: 10px; }
        .btn-alunos-dash:hover { background: #f1f5f9; }

        /* Cores de Tempo */
        .tag-hoje { background: #ef4444 !important; }
        .tag-amanha { background: #f59e0b !important; }
        .tag-ontem { background: #64748b !important; }

        /* Sub-navegação do Dashboard */
        .nav-sub-dashboard { display: flex; gap: 10px; margin-bottom: 25px; border-bottom: 2px solid #e2e8f0; padding-bottom: 10px; }
        .btn-sub-dash { padding: 8px 16px; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; background: #f1f5f9; color: #64748b; transition: 0.3s; }
        .btn-sub-dash.ativa { background: var(--primary); color: white; }

        /* Container de Gráficos */
        .container-graficos { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; margin-top: 20px; }
        .card-grafico { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
        .canvas-container { position: relative; height: 300px; width: 100%; }

        /* Estilos para a seção de Avaliações */
        .grid-avaliacoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-top: 20px; }
        .card-nota { background: #f8fafc; border: 1px solid #e2e8f0; padding: 15px; border-radius: 10px; text-align: center; }
        .card-nota .label-pergunta { font-size: 12px; color: #64748b; font-weight: bold; display: block; margin-bottom: 8px; min-height: 32px; }
        .card-nota .valor-nota { font-size: 24px; font-weight: 800; color: var(--primary); }
        .card-nota .estrelas-media { color: #f59e0b; font-size: 14px; margin-top: 5px; }

        .nota-geral-container { margin-top: 25px; padding: 20px; background: var(--dark); color: white; border-radius: 12px; text-align: center; }
        .nota-geral-valor { font-size: 48px; font-weight: 900; color: #fbbf24; }

        @media (max-width: 768px) { .container-graficos { grid-template-columns: 1fr; } }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }