/* ==========================================================================
   equipo.css - Portal del equipo (/equipo): fichar horas, solicitudes y firma de documentos.
   Se apoya en portal.css (mismo tema oscuro, botones .pb, .login, .pill, .hist) y solo agrega
   lo propio del panel del empleado.
   ========================================================================== */
.eqm { padding: clamp(.75rem, 2vw, 1.5rem); max-inline-size: 46rem; margin-inline: auto; display: grid; gap: 1rem; }
.eqh { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; padding-block-end: .5rem; border-block-end: 1px solid var(--line); }
.eqh b { font: 800 1.15rem/1.1 var(--display); }
.eqh em { font-style: normal; color: var(--pink); }
.eqh span { color: var(--muted); font-size: .85rem; }
.eqh form { margin-inline-start: auto; }

.eq-card { background: var(--card); border: 1.5px solid var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; display: grid; gap: .7rem; }
.eq-card h2 { margin: 0; font: 800 1.05rem var(--display); }
.eq-card p { margin: 0; }

.eq-clock { display: grid; gap: .6rem; text-align: center; }
.eq-clock__status { font: 800 1.4rem/1.2 var(--display); }
.eq-clock__since { color: var(--muted); }

.eq-form { display: grid; gap: .6rem; }
.eq-form label { font-weight: 700; display: grid; gap: .3rem; }
.eq-form small { color: var(--muted); font-weight: 500; }
.eq-form input, .eq-form select, .eq-form textarea {
  font: 500 1rem var(--font); padding: .6rem .7rem; border-radius: 10px; border: 1.5px solid var(--line); background: var(--card-2); color: var(--text);
}
.eq-form textarea { resize: vertical; }

.eq-badge { display: inline-block; padding: .2rem .6rem; border-radius: 999px; font: 800 .78rem var(--font); }
.eq-badge--pendiente { background: #3a2a05; color: #ffe69a; }
.eq-badge--aprobado { background: #0f3b22; color: #bbf7d0; }
.eq-badge--rechazado { background: #4a1219; color: #fecdd3; }
.eq-badge--enviado { background: #16345a; color: #cfe3ff; }
.eq-badge--firmado { background: #0f3b22; color: #bbf7d0; }

.eq-doc { white-space: pre-wrap; background: var(--card-2); border-radius: 10px; padding: 1rem; line-height: 1.55; font-size: .95rem; }
.eq-sign { display: grid; gap: .6rem; }
.eq-sign__audit { color: var(--muted); font-size: .85rem; }

.eq-consent { display: grid; gap: .9rem; }
.eq-consent label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 600; }
.eq-consent input[type="checkbox"] { inline-size: 1.4rem; block-size: 1.4rem; accent-color: var(--pink-btn); flex: none; margin-top: .1rem; }
.eq-muted { color: var(--muted); }
.eq-check { display: flex; gap: .6rem; align-items: flex-start; font-weight: 600; }
.eq-check input[type="checkbox"] { inline-size: 1.4rem; block-size: 1.4rem; accent-color: var(--pink-btn); flex: none; margin-top: .1rem; }
