/* Paquete P3 (Profesionales: horas extra y Mi perfil). Solo clases nuevas; sale del prototipo de Romi. */
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;margin:0}
.kv>div{display:grid;gap:2px;min-width:0}
.kv dt{font-size:13px;color:var(--muted)}
.kv dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sec-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.sec-h h3{margin:0}
.pie-t{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:13px;color:var(--muted)}
.he-total{font:700 14px var(--fb);color:var(--ink)}
.p3 .btn,.p3 select,.p3 input,.p3 textarea{min-height:44px}
.form-he{display:grid;gap:12px}
.form-he .dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-he .cont{font-size:12px;color:var(--muted);text-align:right}
.form-he textarea{min-height:64px;width:100%;font:15px var(--fb)}
.flag{display:flex;gap:8px;align-items:flex-start;background:var(--accent-soft);border-radius:10px;padding:10px 12px;font-size:14px}
.err-c{color:var(--bad);font-size:13px;font-weight:500}
.he-solo{margin:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.per{display:flex;gap:6px;align-items:center}
.per .mes{min-width:150px;text-align:center;font:700 16px var(--fb)}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 12px}
.cifra{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface);display:grid;gap:2px}
.cifra .n{font:700 24px var(--fd);color:var(--ink)}
.cifra .t{font-size:13px;color:var(--muted)}
.cifra.tot{background:var(--accent-soft);border-color:var(--ink)}
.vacio-p{text-align:center;padding:22px 12px;color:var(--ink)}
.vacio-p p{margin:4px 0 12px;color:var(--muted)}
.msg-e{display:grid;gap:8px;justify-items:start;padding:16px;border:1px solid var(--bad);border-radius:12px;background:var(--bad-soft);color:var(--bad)}
.esq{display:grid;gap:10px}
.esq i{display:block;height:44px;border-radius:10px;background:var(--idle)}
.pe-falta{background:#fff;color:var(--ink);border:1px dashed var(--muted)}
.sin-hor{display:inline-block;margin-left:6px}
@media(max-width:600px){
 .form-he .dos{grid-template-columns:1fr}
 .per .mes{min-width:0;flex:1}
 .cifras{grid-template-columns:1fr 1fr}.cifras .cifra.tot{grid-column:1/-1}
 .he-solo{white-space:normal}
}
.per .btn{min-width:44px}
