html,
body{

overflow-x:hidden;
}
body{

background:
linear-gradient(
135deg,
#667eea,
#764ba2,
#ff6ec4
);

min-height:100vh;

font-family:Arial, Helvetica, sans-serif;
}

/* =========================
CONTENEDOR GENERAL
========================= */

.container{

max-width:100% !important;

padding-left:15px;

padding-right:15px;
}

/* =========================
CONTADOR FLOTANTE
========================= */

.contador-flotante{

position:fixed;

top:20px;

left:20px;

z-index:999999;

background:
rgba(255,255,255,0.96);

backdrop-filter:blur(15px);

padding:12px 18px;

border-radius:20px;

font-size:18px;

font-weight:bold;

color:#333;

box-shadow:
0 10px 30px rgba(0,0,0,0.25);

border:
2px solid rgba(255,255,255,0.8);
}

.contador-flotante span{

background:
linear-gradient(
135deg,
#667eea,
#764ba2
);

color:white;

padding:8px 16px;

border-radius:15px;

margin-right:10px;

font-size:20px;

font-weight:bold;
}

/* =========================
INDEX Y CURSOS
========================= */

.card-inicio{

max-width:900px;

margin:auto;

border:none;

border-radius:30px;

padding:50px;

background:white;

text-align:center;

box-shadow:
0 15px 40px rgba(0,0,0,0.2);
}

.btn-grado{

display:flex;

justify-content:center;

align-items:center;

height:120px;

width:100%;

background:#4facfe;

color:white;

font-size:28px;

font-weight:bold;

border-radius:25px;

text-decoration:none;

transition:0.3s;

box-shadow:
0 10px 20px rgba(0,0,0,0.15);
}

.btn-grado:hover{

transform:scale(1.05);

background:#00c6fb;

color:white;
}

.titulo-principal{

font-size:42px;

font-weight:bold;

margin-bottom:20px;

color:#333;
}

.subtitulo{

font-size:22px;

color:#666;

margin-bottom:40px;
}

/* =========================
HEADER DOCENTE
========================= */

.top-header-docente{

display:flex;

justify-content:flex-end;

align-items:center;

gap:15px;

margin-bottom:20px;
}

.usuario-mini{

background:
rgba(102,126,234,0.1);

padding:10px 18px;

border-radius:15px;

font-size:16px;

font-weight:600;

color:#555;
}

.btn-mini-salir{

background:
linear-gradient(
135deg,
#ff416c,
#ff4b2b
);

color:white;

padding:10px 18px;

border-radius:15px;

text-decoration:none;

font-size:15px;

font-weight:bold;

transition:0.3s;
}

.btn-mini-salir:hover{

transform:scale(1.05);

color:white;
}

/* =========================
EVALUACIÓN
========================= */

.card-evaluacion{

margin-top:120px;

width:100%;

max-width:100%;

border:none;

border-radius:35px;

padding:40px;

background:
rgba(255,255,255,0.95);

backdrop-filter:blur(10px);

box-shadow:
0 15px 40px rgba(0,0,0,0.2);
}

.curso-badge{

max-width:260px;

width:100%;

margin:auto;

margin-bottom:25px;

background:white;

padding:15px;

border-radius:25px;

text-align:center;

font-size:26px;

font-weight:bold;

box-shadow:
0 10px 25px rgba(0,0,0,0.15);
}

.progreso-box{

margin-bottom:35px;
}

.barra{

height:20px;

background:#eee;

border-radius:20px;

overflow:hidden;
}

.barra-interna{

height:100%;

background:
linear-gradient(
90deg,
#43cea2,
#185a9d
);

border-radius:20px;
}

.texto-progreso{

font-size:18px;

font-weight:bold;

margin-bottom:10px;

text-align:center;

color:#333;
}

.emoji-docente{

font-size:80px;

margin-bottom:15px;
}

.header-docente{

background:
linear-gradient(
135deg,
#ffffff,
#f3f6ff
);

border-radius:30px;

padding:30px;

margin-bottom:40px;

box-shadow:
0 10px 25px rgba(0,0,0,0.08);

border:
2px solid rgba(255,255,255,0.7);
}

.titulo-docente{

font-size:40px;

font-weight:900;

color:#333;

text-align:center;

letter-spacing:1px;

text-transform:uppercase;
}

.nombre-docente{

font-size:24px;

color:#666;

margin-top:10px;

margin-bottom:40px;

text-align:center;
}

.pregunta-box{

background:white;

border-radius:25px;

padding:25px;

margin-bottom:30px;

box-shadow:
0 8px 20px rgba(0,0,0,0.08);

transition:0.3s;
}

.pregunta-box:hover{

transform:translateY(-3px);
}

.pregunta{

font-size:24px;

font-weight:bold;

text-align:left;

margin-bottom:25px;

color:#333;

display:flex;

align-items:center;
}

.numero-pregunta{

display:inline-flex;

justify-content:center;

align-items:center;

width:40px;

height:40px;

background:
linear-gradient(
135deg,
#667eea,
#764ba2
);

color:white;

border-radius:50%;

font-size:20px;

font-weight:bold;

margin-right:12px;

box-shadow:
0 5px 10px rgba(0,0,0,0.15);
}

.opciones{

display:grid;

grid-template-columns:
repeat(2,1fr);

gap:20px;
}

.opcion input{

display:none;
}

.opcion span{

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

height:120px;

border-radius:25px;

font-size:24px;

font-weight:bold;

cursor:pointer;

transition:0.3s;

color:white;

box-shadow:
0 10px 20px rgba(0,0,0,0.12);
}

.opcion span:hover{

transform:scale(1.05);
}

.opcion input:checked + span{

transform:scale(1.08);

border:5px solid white;

box-shadow:
0 0 30px rgba(255,255,255,1),
0 10px 25px rgba(0,0,0,0.35);

filter:brightness(1.1);

position:relative;
}

.opcion input:checked + span::after{

content:"✓";

position:absolute;

top:10px;

right:15px;

background:white;

color:#333;

width:35px;

height:35px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:20px;

font-weight:bold;
}

.siempre{

background:
linear-gradient(
135deg,
#00c853,
#64dd17
);
}

.casi{

background:
linear-gradient(
135deg,
#2196f3,
#00b0ff
);
}

.aveces{

background:
linear-gradient(
135deg,
#ff9800,
#ffc107
);
}

.nunca{

background:
linear-gradient(
135deg,
#ff1744,
#ff5252
);
}

.btn-enviar{

height:80px;

font-size:28px;

font-weight:bold;

border:none;

border-radius:25px;

margin-top:30px;

background:
linear-gradient(
135deg,
#43cea2,
#185a9d
);

transition:0.3s;
}

.btn-enviar:hover{

transform:scale(1.03);
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:768px){

.container{

padding-left:10px !important;
padding-right:10px !important;
}

.card-evaluacion{

width:100% !important;

max-width:100% !important;

padding:18px;

border-radius:25px;

margin-top:110px;
}

.pregunta-box{

padding:20px;
}

.titulo-docente{

font-size:28px;
}

.nombre-docente{

font-size:20px;
}

.pregunta{

font-size:20px;
}

.opciones{

grid-template-columns:1fr;
}

.opcion span{

width:100%;

height:90px;

font-size:20px;
}

.titulo-principal{

font-size:30px;
}

.btn-grado{

height:90px;

font-size:22px;
}

.contador-flotante{

top:15px;

left:15px;

padding:10px 14px;

font-size:16px;
}

.contador-flotante span{

font-size:18px;

padding:6px 12px;
}

.curso-badge{

width:100%;

font-size:22px;
}

}