:root { --primary: #3498db; --success: #27ae60; --danger: #e74c3c; --dark: #2c3e50; --light: #f4f7f6; }

        body { font-family: 'Segoe UI', sans-serif; background-color: var(--light); color: #333; padding: 10px; margin: 0; }
        .container { max-width: 600px; margin: 20px auto; background: white; padding: 25px; border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
        
        /* LOGIN */
        .login-box { text-align: center; padding: 20px; }
        input { width: 100%; padding: 14px; margin: 10px 0; border: 1px solid #ddd; border-radius: 8px; box-sizing: border-box; font-size: 1rem; }
        
        /* APP */
        .header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--light); padding-bottom: 10px; margin-bottom: 15px; }
        .status-box { background: #e8f4fd; padding: 20px; border-radius: 10px; text-align: center; margin-bottom: 15px; border: 1px solid #b3d7ff; }
        #timer { font-size: 2.5rem; color: var(--danger); font-weight: bold; margin: 5px 0; }
        
        /* TABLAS */
        .table-wrapper { overflow-x: auto; margin-top: 15px; }
        table { width: 100%; border-collapse: collapse; background: white; font-size: 0.9rem; }
        th, td { padding: 12px; text-align: left; border-bottom: 1px solid #eee; }
        th { background-color: var(--primary); color: white; }
        
        /* BOTONES */
        button { width: 100%; padding: 15px; margin: 8px 0; border: none; border-radius: 8px; font-weight: bold; cursor: pointer; font-size: 1rem; transition: 0.2s; }
        .btn-login { background: var(--primary); color: white; }
        .btn-in { background: var(--success); color: white; }
        .btn-out { background: var(--danger); color: white; }
        .btn-logout { background: none; color: var(--danger); width: auto; text-decoration: underline; font-size: 0.9rem; padding: 0; }
        
        .hidden { display: none !important; }
        .paciente-nombre { font-size: 1.3rem; font-weight: bold; color: var(--dark); display: block; margin-bottom: 5px; }
    