/* Estilo "fitness" para Cronómetro de Gimnasio */
.cg-container { font-family: 'Helvetica Neue', Arial, sans-serif; display:flex; justify-content:center; padding:30px; }
.cg-card { width:100%; max-width:820px; background: linear-gradient(180deg,#0f1724 0%, #111827 100%); border-radius:14px; box-shadow: 0 10px 30px rgba(2,6,23,0.6); color:#e6eef8; padding:22px; }
.cg-title { font-size:1.8rem; margin:0 0 10px 0; letter-spacing:1px; color:#fff; text-align:center; }
.cg-form { display:flex; flex-direction:column; gap:12px; }
.cg-label { font-size:0.95rem; color:#c9e8ff; }
.cg-input, .cg-select { padding:10px 12px; border-radius:10px; border:none; outline:none; font-size:1rem; }
.cg-input { background: rgba(255,255,255,0.06); color:#fff; }
.cg-select { background: rgba(255,255,255,0.04); color:#fff; }
.cg-periodos { margin-top:8px; }
.cg-periodos-list { display:flex; flex-direction:column; gap:10px; margin:8px 0; }
.cg-periodo { display:flex; gap:8px; align-items:center; }
.cg-eliminar { background:rgba(255,255,255,0.06); padding:8px 10px; border-radius:8px; cursor:pointer; }
.cg-actions { display:flex; gap:10px; margin-top:8px; }
.cg-btn { padding:10px 14px; border-radius:12px; border:none; cursor:pointer; background:#223249; color:#e6eef8; box-shadow: 0 6px 18px rgba(15,23,36,0.6); }
.cg-btn-primary { background: linear-gradient(90deg,#ff416c,#ff4b2b); color:white; font-weight:700; transform:translateY(0); transition: transform .12s ease; }
.cg-btn-primary:active { transform:translateY(2px); }
.cg-btn-outline { background:transparent; border:1px solid rgba(255,255,255,0.06); }
.cg-btn-sm { padding:6px 8px; border-radius:8px; font-size:0.9rem; }
.cg-btn-warning { background: #ffb020; color:#0b0920; }
.cg-btn-success { background: #00c851; color:white; }
.cg-btn-ghost { background:transparent; color:#cfeefd; border:1px solid rgba(255,255,255,0.04); }
.cg-desc { margin-top:16px; color:#cfeefd; opacity:0.9; }

/* Visor emergente */
.cg-visor { position:fixed; left:0; top:0; right:0; bottom:0; display:flex; align-items:center; justify-content:center; z-index:9999; background: rgba(2,6,23,0.6); }
.cg-visor-inner { width:100%; max-width:520px; border-radius:14px; padding:18px; color:white; text-align:center; background: linear-gradient(135deg,#ff416c,#ff4b2b); box-shadow: 0 10px 40px rgba(15,23,36,0.7); transform:translateY(-10px); transition: transform .28s cubic-bezier(.2,.9,.3,1); }
.cg-visor-title { margin:0; font-size:1.4rem; }
.cg-visor-header { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.cg-visor-subtitle { font-size:1.1rem; margin-top:8px; opacity:0.95; }
.cg-reloj { font-size:4.2rem; font-weight:800; margin:16px 0; letter-spacing:2px; }
.cg-visor-controls { display:flex; gap:12px; justify-content:center; }
.cg-repinfo { margin-top:8px; font-size:0.95rem; opacity:0.95; }

.oculto { display:none !important; }

/* Responsive */
@media (max-width:600px){
    .cg-reloj { font-size:3rem; }
    .cg-card { padding:14px; }
}
